aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2023-03-31 17:31:46 +0200
committerLibravatar GitHub <noreply@github.com>2023-03-31 17:31:46 +0200
commit93f1d439f33a5139039fe93280bbfcae61a904ab (patch)
treee98eae681a866d2d0cd728885ed6c8f8fa65e9a2
parentrefactor: PartialInterpretation adapter naming (diff)
parentbuild: try to fix secret detection in workflow (diff)
downloadrefinery-93f1d439f33a5139039fe93280bbfcae61a904ab.tar.gz
refinery-93f1d439f33a5139039fe93280bbfcae61a904ab.tar.zst
refinery-93f1d439f33a5139039fe93280bbfcae61a904ab.zip
Merge pull request #24 from kris7t/partial-interpretation
Changes for supporting partial interpretation
-rw-r--r--.github/workflows/build.yml4
-rwxr-xr-x.yarn/releases/yarn-4.0.0-rc.42.cjs (renamed from .yarn/releases/yarn-4.0.0-rc.37.cjs)725
-rw-r--r--.yarn/sdks/eslint/package.json2
-rw-r--r--.yarn/sdks/typescript/lib/tsserver.js2
-rw-r--r--.yarn/sdks/typescript/lib/tsserverlibrary.js2
-rw-r--r--.yarn/sdks/typescript/package.json2
-rw-r--r--.yarnrc.yml5
-rw-r--r--gradle.properties4
-rw-r--r--gradle/libs.versions.toml24
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--package.json6
-rw-r--r--settings.gradle2
-rw-r--r--subprojects/frontend/package.json68
-rw-r--r--subprojects/frontend/src/Refinery.tsx1
-rw-r--r--subprojects/frontend/src/UpdateNotification.tsx4
-rw-r--r--subprojects/frontend/src/editor/scrollbarViewPlugin.ts1
-rw-r--r--subprojects/frontend/src/theme/ThemeProvider.tsx8
-rw-r--r--subprojects/frontend/src/utils/PendingTask.ts1
-rw-r--r--subprojects/frontend/src/utils/useDelayedSnackbar.ts1
-rw-r--r--subprojects/frontend/src/xtext/webSocketMachine.ts11
-rw-r--r--subprojects/frontend/tsconfig.base.json5
-rw-r--r--subprojects/language-model/META-INF/MANIFEST.MF2
-rw-r--r--subprojects/store-query-viatra/build.gradle2
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java15
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java79
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java86
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java29
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java19
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java31
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendOperationExecutor.java75
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendPositivePatternCall.java116
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/FlatCostFunction.java30
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/GenericTypeExtend.java136
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchBackendFactory.java55
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchResultProvider.java23
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalOperationCompiler.java65
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalCursor.java48
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalViatraMatcher.java91
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/IndexerUtils.java48
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/MatcherUtils.java50
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/OmitOutputViatraTupleLike.java23
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RawPatternMatcher.java15
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalCursor.java42
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalViatraMatcher.java89
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/UnsafeFunctionalCursor.java52
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/ViatraTupleLike.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraTupleLike.java)9
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/AssumptionEvaluator.java16
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/DNF2PQuery.java223
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/Dnf2PQuery.java256
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/QueryWrapperFactory.java173
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java1
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPatternMatcher.java72
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java5
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatefulMultisetAggregator.java60
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatelessMultisetAggregator.java50
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/TermEvaluator.java32
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/ValueProviderBasedValuation.java14
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java3
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java22
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java6
-rw-r--r--subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java5
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java471
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/FunctionalQueryTest.java607
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java564
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java387
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryAssertions.java52
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryBackendHint.java22
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEngineTest.java16
-rw-r--r--subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEvaluationHintSource.java19
-rw-r--r--subprojects/store-query/build.gradle9
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/AnyResultSet.java11
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/Constraint.java65
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/EmptyResultSet.java34
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQuery.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/ModelQuery.java)0
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java)8
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java)8
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java)3
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/ResultSet.java13
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/AnyQuery.java11
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Dnf.java194
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java110
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfClause.java23
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfUtils.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/DNFUtils.java)6
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalDependency.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/FunctionalDependency.java)2
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQuery.java103
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQueryBuilder.java46
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Query.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/QueryBuilder.java71
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java93
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DeepDnfEqualityChecker.java31
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DnfEqualityChecker.java8
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/equality/LiteralEqualityHelper.java48
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AbstractCallLiteral.java80
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AggregationLiteral.java113
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssignLiteral.java44
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssumeLiteral.java53
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/BooleanLiteral.java53
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallLiteral.java102
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallPolarity.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java)10
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CanNegate.java5
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java34
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CountLiteral.java83
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/EquivalenceLiteral.java52
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literal.java20
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/LiteralReduction.java26
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literals.java17
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/CompositeSubstitution.java10
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/MapBasedSubstitution.java13
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/RenewingSubstitution.java15
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/StatelessSubstitution.java18
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitution.java29
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitutions.java33
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/Aggregator.java13
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyDataVariable.java33
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyTerm.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryOperator.java26
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryTerm.java56
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryOperator.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryTerm.java51
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/AssignedValue.java8
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/BinaryTerm.java93
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonOperator.java20
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonTerm.java63
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ConstantTerm.java52
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataSort.java29
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataVariable.java87
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/ExtremeValueAggregator.java103
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeSort.java30
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeVariable.java48
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/OpaqueTerm.java80
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/Sort.java11
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregate.java17
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregator.java23
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatelessAggregator.java20
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/Term.java21
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/UnaryTerm.java68
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/Variable.java76
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolConstantTerm.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolLogicBinaryTerm.java78
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolNotTerm.java36
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolTerms.java30
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/LogicBinaryOperator.java17
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticBinaryTerm.java48
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticUnaryTerm.java30
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntComparisonTerm.java34
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntExtremeValueAggregator.java17
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntSumAggregator.java35
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntTerms.java81
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/RealToIntTerm.java36
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/IntToRealTerm.java36
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticBinaryTerm.java36
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticUnaryTerm.java30
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealComparisonTerm.java35
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealExtremeValueAggregator.java17
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealSumAggregator.java85
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealTerms.java81
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/RestrictedValuation.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/SubstitutedValuation.java11
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/Valuation.java23
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/AnyRelationView.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/view/AnyRelationView.java)8
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java)0
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/ForbiddenRelationView.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java)38
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java)0
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/MayRelationView.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/MustRelationView.java16
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationView.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/view/RelationView.java)27
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java)0
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java)13
-rw-r--r--subprojects/store-query/src/test/java/tools/refinery/store/query/DnfBuilderTest.java220
-rw-r--r--subprojects/store-query/src/test/java/tools/refinery/store/query/DnfToDefinitionStringTest.java174
-rw-r--r--subprojects/store-query/src/test/java/tools/refinery/store/query/tests/StructurallyEqualToTest.java77
-rw-r--r--subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/MismatchDescribingDnfEqualityChecker.java43
-rw-r--r--subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/QueryMatchers.java14
-rw-r--r--subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/StructurallyEqualTo.java36
-rw-r--r--subprojects/store-reasoning/build.gradle7
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/AnyPartialInterpretation.java13
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/MergeResult.java15
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/PartialInterpretation.java20
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/Reasoning.java24
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningAdapter.java22
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningBuilder.java28
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningStoreAdapter.java17
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningAdapterImpl.java38
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningBuilderImpl.java29
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningStoreAdapterImpl.java37
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/DnfLifter.java116
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/ModalDnf.java11
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java46
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/Modality.java (renamed from subprojects/store/src/main/java/tools/refinery/store/query/atom/Modality.java)11
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/PartialLiterals.java31
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialFunction.java4
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java11
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java32
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java56
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java12
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RelationRefinementAction.java36
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/Rule.java38
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleAction.java12
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleActionExecutor.java9
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleExecutor.java34
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/Seed.java14
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/UniformSeed.java22
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/Advice.java159
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/AdviceSlot.java25
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslatedRelation.java22
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslationUnit.java32
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionInterpretation.java88
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionTranslationUnit.java49
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/TranslatedBaseDecision.java49
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/EliminatedType.java6
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/ExtendedTypeInfo.java101
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeRelationView.java19
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeRelationView.java19
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredType.java30
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/PreservedType.java136
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalysisResult.java4
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzer.java202
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslationUnit.java32
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeInfo.java46
-rw-r--r--subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredTypeTest.java32
-rw-r--r--subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerExampleHierarchyTest.java203
-rw-r--r--subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTest.java200
-rw-r--r--subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTester.java51
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/map/Cursors.java36
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretation.java19
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationAdapter.java9
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationBuilder.java9
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationStoreAdapter.java9
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationAdapterImpl.java24
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationBuilderImpl.java17
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationStoreAdapterImpl.java23
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/DNF.java169
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/DNFAnd.java9
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/RelationLike.java11
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/ResultSet.java25
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/Variable.java43
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java80
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/atom/ConstantAtom.java12
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFAtom.java9
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFCallAtom.java32
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/atom/EquivalenceAtom.java17
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/query/atom/RelationViewAtom.java32
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/representation/AbstractDomain.java29
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/representation/AnyAbstractDomain.java7
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java6
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/representation/TruthValueDomain.java60
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java10
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java4
-rw-r--r--subprojects/store/src/main/java/tools/refinery/store/util/CycleDetectingMapper.java52
-rw-r--r--subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java2
-rw-r--r--yarn.lock1873
252 files changed, 11851 insertions, 2522 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ce42b9f1..64aa23e4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -16,7 +16,9 @@ jobs:
16 env: 16 env:
17 SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} 17 SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
18 run: | 18 run: |
19 echo "is_SONAR_TOKEN_set=${{ env.SONAR_TOKEN != '' }}" >> $GITHUB_OUTPUT 19 if [ "${SONAR_TOKEN}" != '' ]; then
20 echo 'is_SONAR_TOKEN_set=true' >> $GITHUB_OUTPUT
21 fi
20 - name: Checkout code 22 - name: Checkout code
21 uses: actions/checkout@v3 23 uses: actions/checkout@v3
22 with: 24 with:
diff --git a/.yarn/releases/yarn-4.0.0-rc.37.cjs b/.yarn/releases/yarn-4.0.0-rc.42.cjs
index e8f633a1..90459ca0 100755
--- a/.yarn/releases/yarn-4.0.0-rc.37.cjs
+++ b/.yarn/releases/yarn-4.0.0-rc.42.cjs
@@ -1,146 +1,146 @@
1#!/usr/bin/env node 1#!/usr/bin/env node
2/* eslint-disable */ 2/* eslint-disable */
3//prettier-ignore 3//prettier-ignore
4(()=>{var l_e=Object.create;var PR=Object.defineProperty;var c_e=Object.getOwnPropertyDescriptor;var u_e=Object.getOwnPropertyNames;var A_e=Object.getPrototypeOf,f_e=Object.prototype.hasOwnProperty;var Ie=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var dt=(t,e)=>()=>(t&&(e=t(t=0)),e);var U=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Yt=(t,e)=>{for(var r in e)PR(t,r,{get:e[r],enumerable:!0})},p_e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of u_e(e))!f_e.call(t,a)&&a!==r&&PR(t,a,{get:()=>e[a],enumerable:!(o=c_e(e,a))||o.enumerable});return t};var tt=(t,e,r)=>(r=t!=null?l_e(A_e(t)):{},p_e(e||!t||!t.__esModule?PR(r,"default",{value:t,enumerable:!0}):r,t));var Ii={};Yt(Ii,{SAFE_TIME:()=>E7,S_IFDIR:()=>eD,S_IFLNK:()=>tD,S_IFMT:()=>_u,S_IFREG:()=>bI});var _u,eD,bI,tD,E7,C7=dt(()=>{_u=61440,eD=16384,bI=32768,tD=40960,E7=456789e3});var sr={};Yt(sr,{EBADF:()=>Co,EBUSY:()=>h_e,EEXIST:()=>C_e,EINVAL:()=>d_e,EISDIR:()=>E_e,ENOENT:()=>m_e,ENOSYS:()=>g_e,ENOTDIR:()=>y_e,ENOTEMPTY:()=>w_e,EOPNOTSUPP:()=>B_e,EROFS:()=>I_e,ERR_DIR_CLOSED:()=>xR});function Tl(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function h_e(t){return Tl("EBUSY",t)}function g_e(t,e){return Tl("ENOSYS",`${t}, ${e}`)}function d_e(t){return Tl("EINVAL",`invalid argument, ${t}`)}function Co(t){return Tl("EBADF",`bad file descriptor, ${t}`)}function m_e(t){return Tl("ENOENT",`no such file or directory, ${t}`)}function y_e(t){return Tl("ENOTDIR",`not a directory, ${t}`)}function E_e(t){return Tl("EISDIR",`illegal operation on a directory, ${t}`)}function C_e(t){return Tl("EEXIST",`file already exists, ${t}`)}function I_e(t){return Tl("EROFS",`read-only filesystem, ${t}`)}function w_e(t){return Tl("ENOTEMPTY",`directory not empty, ${t}`)}function B_e(t){return Tl("EOPNOTSUPP",`operation not supported, ${t}`)}function xR(){return Tl("ERR_DIR_CLOSED","Directory handle was closed")}var rD=dt(()=>{});var Nl={};Yt(Nl,{BigIntStatsEntry:()=>Zm,DEFAULT_MODE:()=>kR,DirEntry:()=>bR,StatEntry:()=>Xm,areStatsEqual:()=>FR,clearStats:()=>nD,convertToBigIntStats:()=>D_e,makeDefaultStats:()=>I7,makeEmptyStats:()=>v_e});function I7(){return new Xm}function v_e(){return nD(I7())}function nD(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):QR.types.isDate(r)&&(t[e]=new Date(0))}return t}function D_e(t){let e=new Zm;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):QR.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function FR(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var QR,kR,bR,Xm,Zm,RR=dt(()=>{QR=tt(Ie("util")),kR=33188,bR=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Xm=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=kR;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Zm=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(kR);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function B7(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(x_e))t=e[1];else if(r=t.match(b_e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function TR(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(S_e))?t=`/${e[1]}`:(r=t.match(P_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function iD(t,e){return t===Ae?B7(e):TR(e)}function Li(t){if(Ae.parse(t).dir!==""||V.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var QI,wt,Lr,Ae,V,w7,S_e,P_e,x_e,b_e,ya=dt(()=>{QI=tt(Ie("path")),wt={root:"/",dot:".",parent:".."},Lr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml"},Ae=Object.create(QI.default),V=Object.create(QI.default.posix);Ae.cwd=()=>process.cwd();V.cwd=()=>TR(process.cwd());V.resolve=(...t)=>t.length>0&&V.isAbsolute(t[0])?QI.default.posix.resolve(...t):QI.default.posix.resolve(V.cwd(),...t);w7=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};Ae.fromPortablePath=B7;Ae.toPortablePath=TR;Ae.contains=(t,e)=>w7(Ae,t,e);V.contains=(t,e)=>w7(V,t,e);S_e=/^([a-zA-Z]:.*)$/,P_e=/^\/\/(\.\/)?(.*)$/,x_e=/^\/([a-zA-Z]:.*)$/,b_e=/^\/unc\/(\.dot\/)?(.*)$/});async function sD(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function v7(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:C}=a.stableTime?{atime:Qg,mtime:Qg}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,C]}),await NR(A,p,t,n,r,u,{...a,didParentExist:!0});for(let w of A)await w();await Promise.all(p.map(w=>w()))}async function NR(t,e,r,o,a,n,u){var v,b,E;let A=u.didParentExist?await D7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:C}=u.stableTime?{atime:Qg,mtime:Qg}:p,w;switch(!0){case p.isDirectory():w=await k_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():w=await T_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():w=await N_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(((v=u.linkStrategy)==null?void 0:v.type)!=="HardlinkFromIndex"||!p.isFile())&&((w||((b=A==null?void 0:A.mtime)==null?void 0:b.getTime())!==C.getTime()||((E=A==null?void 0:A.atime)==null?void 0:E.getTime())!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,C)),w=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),w=!0)),w}async function D7(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function k_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let C=await n.readdirPromise(u),w=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of C.sort())await NR(t,e,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),w)&&(h=!0);else(await Promise.all(C.map(async b=>{await NR(t,e,r,r.pathUtils.join(o,b),n,n.pathUtils.join(u,b),w)}))).some(b=>b)&&(h=!0);return h}async function F_e(t,e,r,o,a,n,u,A,p,h){let C=await n.checksumFilePromise(u,{algorithm:"sha1"}),w=r.pathUtils.join(h.indexPath,C.slice(0,2),`${C}.dat`),v;(re=>(re[re.Lock=0]="Lock",re[re.Rename=1]="Rename"))(v||(v={}));let b=1,E=await D7(r,w);if(a){let _=E&&a.dev===E.dev&&a.ino===E.ino,J=(E==null?void 0:E.mtimeMs)!==Q_e;if(_&&J&&h.autoRepair&&(b=0,E=null),!_)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let R=!E&&b===1?`${w}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,L=!1;return t.push(async()=>{if(!E&&(b===0&&await r.lockPromise(w,async()=>{let _=await n.readFilePromise(u);await r.writeFilePromise(w,_)}),b===1&&R)){let _=await n.readFilePromise(u);await r.writeFilePromise(R,_);try{await r.linkPromise(R,w)}catch(J){if(J.code==="EEXIST")L=!0,await r.unlinkPromise(R);else throw J}}a||await r.linkPromise(w,o)}),e.push(async()=>{E||await r.lutimesPromise(w,Qg,Qg),R&&!L&&await r.unlinkPromise(R)}),!1}async function R_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function T_e(t,e,r,o,a,n,u,A,p){var h;return((h=p.linkStrategy)==null?void 0:h.type)==="HardlinkFromIndex"?F_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):R_e(t,e,r,o,a,n,u,A,p)}async function N_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(iD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Qg,Q_e,LR=dt(()=>{ya();Qg=new Date(456789e3*1e3),Q_e=Qg.getTime()});function oD(t,e,r,o){let a=()=>{let n=r.shift();return typeof n>"u"?null:Object.assign(t.statSync(t.pathUtils.join(e,n)),{name:n})};return new OR(e,a,o)}var OR,S7=dt(()=>{rD();OR=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw xR()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}}});function P7(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var x7,$m,b7=dt(()=>{x7=Ie("events");RR();$m=class extends x7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new $m(r,o,a);return n.start(),n}start(){P7(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){P7(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new Zm:new Xm;return nD(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;FR(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function ey(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=aD.get(t);typeof p>"u"&&aD.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=$m.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function kg(t,e,r){let o=aD.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function Fg(t){let e=aD.get(t);if(!(typeof e>"u"))for(let r of e.keys())kg(t,r)}var aD,MR=dt(()=>{b7();aD=new WeakMap});function L_e(t){let e=t.match(/\r?\n/g);if(e===null)return k7.EOL;let r=e.filter(a=>a===`\r 4(()=>{var C_e=Object.create;var xR=Object.defineProperty;var E_e=Object.getOwnPropertyDescriptor;var I_e=Object.getOwnPropertyNames;var w_e=Object.getPrototypeOf,B_e=Object.prototype.hasOwnProperty;var Ie=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var dt=(t,e)=>()=>(t&&(e=t(t=0)),e);var U=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Yt=(t,e)=>{for(var r in e)xR(t,r,{get:e[r],enumerable:!0})},v_e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of I_e(e))!B_e.call(t,a)&&a!==r&&xR(t,a,{get:()=>e[a],enumerable:!(o=E_e(e,a))||o.enumerable});return t};var tt=(t,e,r)=>(r=t!=null?C_e(w_e(t)):{},v_e(e||!t||!t.__esModule?xR(r,"default",{value:t,enumerable:!0}):r,t));var Ii={};Yt(Ii,{SAFE_TIME:()=>D7,S_IFDIR:()=>aD,S_IFLNK:()=>lD,S_IFMT:()=>Hu,S_IFREG:()=>RI});var Hu,aD,RI,lD,D7,S7=dt(()=>{Hu=61440,aD=16384,RI=32768,lD=40960,D7=456789e3});var sr={};Yt(sr,{EBADF:()=>Eo,EBUSY:()=>D_e,EEXIST:()=>k_e,EINVAL:()=>P_e,EISDIR:()=>Q_e,ENOENT:()=>x_e,ENOSYS:()=>S_e,ENOTDIR:()=>b_e,ENOTEMPTY:()=>R_e,EOPNOTSUPP:()=>T_e,EROFS:()=>F_e,ERR_DIR_CLOSED:()=>bR});function Ol(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function D_e(t){return Ol("EBUSY",t)}function S_e(t,e){return Ol("ENOSYS",`${t}, ${e}`)}function P_e(t){return Ol("EINVAL",`invalid argument, ${t}`)}function Eo(t){return Ol("EBADF",`bad file descriptor, ${t}`)}function x_e(t){return Ol("ENOENT",`no such file or directory, ${t}`)}function b_e(t){return Ol("ENOTDIR",`not a directory, ${t}`)}function Q_e(t){return Ol("EISDIR",`illegal operation on a directory, ${t}`)}function k_e(t){return Ol("EEXIST",`file already exists, ${t}`)}function F_e(t){return Ol("EROFS",`read-only filesystem, ${t}`)}function R_e(t){return Ol("ENOTEMPTY",`directory not empty, ${t}`)}function T_e(t){return Ol("EOPNOTSUPP",`operation not supported, ${t}`)}function bR(){return Ol("ERR_DIR_CLOSED","Directory handle was closed")}var cD=dt(()=>{});var Ml={};Yt(Ml,{BigIntStatsEntry:()=>ny,DEFAULT_MODE:()=>FR,DirEntry:()=>QR,StatEntry:()=>ry,areStatsEqual:()=>RR,clearStats:()=>uD,convertToBigIntStats:()=>L_e,makeDefaultStats:()=>P7,makeEmptyStats:()=>N_e});function P7(){return new ry}function N_e(){return uD(P7())}function uD(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):kR.types.isDate(r)&&(t[e]=new Date(0))}return t}function L_e(t){let e=new ny;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):kR.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function RR(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var kR,FR,QR,ry,ny,TR=dt(()=>{kR=tt(Ie("util")),FR=33188,QR=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ry=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=FR;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ny=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(FR);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function b7(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(U_e))t=e[1];else if(r=t.match(__e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function NR(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(O_e))?t=`/${e[1]}`:(r=t.match(M_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function AD(t,e){return t===ue?b7(e):NR(e)}function Li(t){if(ue.parse(t).dir!==""||z.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var TI,wt,Lr,ue,z,x7,O_e,M_e,U_e,__e,Ca=dt(()=>{TI=tt(Ie("path")),wt={root:"/",dot:".",parent:".."},Lr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml"},ue=Object.create(TI.default),z=Object.create(TI.default.posix);ue.cwd=()=>process.cwd();z.cwd=()=>NR(process.cwd());z.resolve=(...t)=>t.length>0&&z.isAbsolute(t[0])?TI.default.posix.resolve(...t):TI.default.posix.resolve(z.cwd(),...t);x7=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};ue.fromPortablePath=b7;ue.toPortablePath=NR;ue.contains=(t,e)=>x7(ue,t,e);z.contains=(t,e)=>x7(z,t,e);O_e=/^([a-zA-Z]:.*)$/,M_e=/^\/\/(\.\/)?(.*)$/,U_e=/^\/([a-zA-Z]:.*)$/,__e=/^\/unc\/(\.dot\/)?(.*)$/});async function fD(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function Q7(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:Rg,mtime:Rg}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await LR(A,p,t,n,r,u,{...a,didParentExist:!0});for(let w of A)await w();await Promise.all(p.map(w=>w()))}async function LR(t,e,r,o,a,n,u){var v,b,C;let A=u.didParentExist?await k7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=u.stableTime?{atime:Rg,mtime:Rg}:p,w;switch(!0){case p.isDirectory():w=await q_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():w=await W_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():w=await Y_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(((v=u.linkStrategy)==null?void 0:v.type)!=="HardlinkFromIndex"||!p.isFile())&&((w||((b=A==null?void 0:A.mtime)==null?void 0:b.getTime())!==E.getTime()||((C=A==null?void 0:A.atime)==null?void 0:C.getTime())!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,E)),w=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),w=!0)),w}async function k7(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function q_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let E=await n.readdirPromise(u),w=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of E.sort())await LR(t,e,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),w)&&(h=!0);else(await Promise.all(E.map(async b=>{await LR(t,e,r,r.pathUtils.join(o,b),n,n.pathUtils.join(u,b),w)}))).some(b=>b)&&(h=!0);return h}async function j_e(t,e,r,o,a,n,u,A,p,h){let E=await n.checksumFilePromise(u,{algorithm:"sha1"}),w=r.pathUtils.join(h.indexPath,E.slice(0,2),`${E}.dat`),v;(re=>(re[re.Lock=0]="Lock",re[re.Rename=1]="Rename"))(v||(v={}));let b=1,C=await k7(r,w);if(a){let _=C&&a.dev===C.dev&&a.ino===C.ino,V=(C==null?void 0:C.mtimeMs)!==H_e;if(_&&V&&h.autoRepair&&(b=0,C=null),!_)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let R=!C&&b===1?`${w}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,L=!1;return t.push(async()=>{if(!C&&(b===0&&await r.lockPromise(w,async()=>{let _=await n.readFilePromise(u);await r.writeFilePromise(w,_)}),b===1&&R)){let _=await n.readFilePromise(u);await r.writeFilePromise(R,_);try{await r.linkPromise(R,w)}catch(V){if(V.code==="EEXIST")L=!0,await r.unlinkPromise(R);else throw V}}a||await r.linkPromise(w,o)}),e.push(async()=>{C||await r.lutimesPromise(w,Rg,Rg),R&&!L&&await r.unlinkPromise(R)}),!1}async function G_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function W_e(t,e,r,o,a,n,u,A,p){var h;return((h=p.linkStrategy)==null?void 0:h.type)==="HardlinkFromIndex"?j_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):G_e(t,e,r,o,a,n,u,A,p)}async function Y_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(AD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Rg,H_e,OR=dt(()=>{Ca();Rg=new Date(456789e3*1e3),H_e=Rg.getTime()});function pD(t,e,r,o){let a=()=>{let n=r.shift();return typeof n>"u"?null:Object.assign(t.statSync(t.pathUtils.join(e,n)),{name:n})};return new MR(e,a,o)}var MR,F7=dt(()=>{cD();MR=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw bR()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}}});function R7(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var T7,iy,N7=dt(()=>{T7=Ie("events");TR();iy=class extends T7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new iy(r,o,a);return n.start(),n}start(){R7(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){R7(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new ny:new ry;return uD(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;RR(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function sy(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=hD.get(t);typeof p>"u"&&hD.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=iy.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function Tg(t,e,r){let o=hD.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function Ng(t){let e=hD.get(t);if(!(typeof e>"u"))for(let r of e.keys())Tg(t,r)}var hD,UR=dt(()=>{N7();hD=new WeakMap});function K_e(t){let e=t.match(/\r?\n/g);if(e===null)return O7.EOL;let r=e.filter(a=>a===`\r
5`).length,o=e.length-r;return r>o?`\r 5`).length,o=e.length-r;return r>o?`\r
6`:` 6`:`
7`}function Rg(t,e){return e.replace(/\r?\n/g,L_e(t))}var Q7,k7,pf,Hu,Tg=dt(()=>{Q7=Ie("crypto"),k7=Ie("os");LR();ya();pf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,Q7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;n<o&&await new Promise(A=>setTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await v7(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(iD(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?Rg(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?Rg(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} 7`}function Lg(t,e){return e.replace(/\r?\n/g,K_e(t))}var L7,O7,gf,qu,Og=dt(()=>{L7=Ie("crypto"),O7=Ie("os");OR();Ca();gf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,L7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;n<o&&await new Promise(A=>setTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await Q7(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(AD(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?Lg(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?Lg(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)}
8`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} 8`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)}
9`)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},Hu=class extends pf{constructor(){super(V)}}});var vs,hf=dt(()=>{Tg();vs=class extends pf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var qu,F7=dt(()=>{hf();qu=class extends vs{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});var R7,xn,Ng=dt(()=>{R7=tt(Ie("fs"));Tg();ya();xn=class extends Hu{constructor(r=R7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return wt.root}resolve(r){return V.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(Ae.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(Ae.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0}))}opendirSync(r,o){let a=typeof o<"u"?this.realFs.opendirSync(Ae.fromPortablePath(r),o):this.realFs.opendirSync(Ae.fromPortablePath(r));return Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0})}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,C)=>{h?p(h):A(C)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?Ae.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?Ae.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(Ae.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>Ae.toPortablePath(o))}realpathSync(r){return Ae.toPortablePath(this.realFs.realpathSync(Ae.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(Ae.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(Ae.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(Ae.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(Ae.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(Ae.fromPortablePath(r),o):this.realFs.statSync(Ae.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(Ae.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(Ae.fromPortablePath(r),o):this.realFs.lstatSync(Ae.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(Ae.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(Ae.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(Ae.fromPortablePath(r),Ae.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(Ae.fromPortablePath(r),Ae.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(Ae.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(Ae.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(Ae.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(Ae.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(Ae.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(Ae.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(Ae.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(Ae.fromPortablePath(r),Ae.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(Ae.fromPortablePath(r.replace(/\/+$/,"")),Ae.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(Ae.fromPortablePath(r.replace(/\/+$/,"")),Ae.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?Ae.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?Ae.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o!=null&&o.withFileTypes?this.realFs.readdir(Ae.fromPortablePath(r),{withFileTypes:!0},this.makeCallback(a,n)):this.realFs.readdir(Ae.fromPortablePath(r),this.makeCallback(u=>a(u),n))})}readdirSync(r,o){return o!=null&&o.withFileTypes?this.realFs.readdirSync(Ae.fromPortablePath(r),{withFileTypes:!0}):this.realFs.readdirSync(Ae.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(Ae.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>Ae.toPortablePath(o))}readlinkSync(r){return Ae.toPortablePath(this.realFs.readlinkSync(Ae.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(Ae.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(Ae.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(Ae.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(Ae.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var An,T7=dt(()=>{Ng();hf();ya();An=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(V);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?V.normalize(r):this.baseFs.resolve(V.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var N7,ju,L7=dt(()=>{Ng();hf();ya();N7=wt.root,ju=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(V);this.target=this.pathUtils.resolve(wt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(wt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(N7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(N7,this.pathUtils.relative(this.target,r))}}});var ty,O7=dt(()=>{hf();ty=class extends vs{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var Lg,Ea,Mp,M7=dt(()=>{Lg=Ie("fs");Tg();Ng();MR();rD();ya();Ea=4278190080,Mp=class extends Hu{constructor({baseFs:r=new xn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=Lg.constants.S_IFREG,getMountPoint:h,factoryPromise:C,factorySync:w}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=C,this.factorySync=w,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){var r;if(Fg(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.saveAndClose)==null||r.call(a),this.mountInstances.delete(o)}discardAndClose(){var r;if(Fg(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.discardAndClose)==null||r.call(a),this.mountInstances.delete(o)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&Ea)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&Ea)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&Ea)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Co("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&Ea)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Co("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=Ae.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Co("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Co("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&Lg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Lg.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let C;try{C=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,C)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&Lg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Lg.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let C;try{C=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,C)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>ey(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>kg(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&Lg.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(wt.root,r.substring(o.length))}}}limitOpenFiles(r){var u,A,p;if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[h,{childFs:C,expiresAt:w,refCount:v}]of this.mountInstances.entries())if(!(v!==0||((u=C.hasOpenFileHandles)==null?void 0:u.call(C)))){if(o>=w){(A=C.saveAndClose)==null||A.call(C),this.mountInstances.delete(h),n-=1;continue}else if(r===null||n<=0){a=w;break}(p=C.saveAndClose)==null||p.call(C),this.mountInstances.delete(h),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);if(!n){let u=await this.factoryPromise(this.baseFs,r);n=this.mountInstances.get(r),n||(n={childFs:u(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await o(n.childFs)}finally{n.refCount-=1}}else{let n=(await this.factoryPromise(this.baseFs,r))();try{return await o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}getMountSync(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);return n||(n={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,o(n.childFs)}else{let n=this.factorySync(this.baseFs,r);try{return o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}}});var zt,UR,kI,U7=dt(()=>{Tg();ya();zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),UR=class extends pf{constructor(){super(V)}getExtractHint(){throw zt()}getRealPath(){throw zt()}resolve(){throw zt()}async openPromise(){throw zt()}openSync(){throw zt()}async opendirPromise(){throw zt()}opendirSync(){throw zt()}async readPromise(){throw zt()}readSync(){throw zt()}async writePromise(){throw zt()}writeSync(){throw zt()}async closePromise(){throw zt()}closeSync(){throw zt()}createWriteStream(){throw zt()}createReadStream(){throw zt()}async realpathPromise(){throw zt()}realpathSync(){throw zt()}async readdirPromise(){throw zt()}readdirSync(){throw zt()}async existsPromise(e){throw zt()}existsSync(e){throw zt()}async accessPromise(){throw zt()}accessSync(){throw zt()}async statPromise(){throw zt()}statSync(){throw zt()}async fstatPromise(e){throw zt()}fstatSync(e){throw zt()}async lstatPromise(e){throw zt()}lstatSync(e){throw zt()}async fchmodPromise(){throw zt()}fchmodSync(){throw zt()}async chmodPromise(){throw zt()}chmodSync(){throw zt()}async fchownPromise(){throw zt()}fchownSync(){throw zt()}async chownPromise(){throw zt()}chownSync(){throw zt()}async mkdirPromise(){throw zt()}mkdirSync(){throw zt()}async rmdirPromise(){throw zt()}rmdirSync(){throw zt()}async linkPromise(){throw zt()}linkSync(){throw zt()}async symlinkPromise(){throw zt()}symlinkSync(){throw zt()}async renamePromise(){throw zt()}renameSync(){throw zt()}async copyFilePromise(){throw zt()}copyFileSync(){throw zt()}async appendFilePromise(){throw zt()}appendFileSync(){throw zt()}async writeFilePromise(){throw zt()}writeFileSync(){throw zt()}async unlinkPromise(){throw zt()}unlinkSync(){throw zt()}async utimesPromise(){throw zt()}utimesSync(){throw zt()}async lutimesPromise(){throw zt()}lutimesSync(){throw zt()}async readFilePromise(){throw zt()}readFileSync(){throw zt()}async readlinkPromise(){throw zt()}readlinkSync(){throw zt()}async truncatePromise(){throw zt()}truncateSync(){throw zt()}async ftruncatePromise(e,r){throw zt()}ftruncateSync(e,r){throw zt()}watch(){throw zt()}watchFile(){throw zt()}unwatchFile(){throw zt()}},kI=UR;kI.instance=new UR});var Up,_7=dt(()=>{hf();ya();Up=class extends vs{constructor(r){super(Ae);this.baseFs=r}mapFromBase(r){return Ae.fromPortablePath(r)}mapToBase(r){return Ae.toPortablePath(r)}}});var O_e,_R,M_e,pi,H7=dt(()=>{Ng();hf();ya();O_e=/^[0-9]+$/,_R=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,M_e=/^([^/]+-)?[a-f0-9]+$/,pi=class extends vs{constructor({baseFs:r=new xn}={}){super(V);this.baseFs=r}static makeVirtualPath(r,o,a){if(V.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!V.basename(o).match(M_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=V.relative(V.dirname(r),a).split("/"),A=0;for(;A<u.length&&u[A]==="..";)A+=1;let p=u.slice(A);return V.join(r,o,String(A),...p)}static resolveVirtual(r){let o=r.match(_R);if(!o||!o[3]&&o[5])return r;let a=V.dirname(o[1]);if(!o[3]||!o[4])return a;if(!O_e.test(o[4]))return r;let u=Number(o[4]),A="../".repeat(u),p=o[5]||".";return pi.resolveVirtual(V.join(a,A,p))}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(r){let o=r.match(_R);if(!o)return this.baseFs.realpathSync(r);if(!o[5])return r;let a=this.baseFs.realpathSync(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}async realpathPromise(r){let o=r.match(_R);if(!o)return await this.baseFs.realpathPromise(r);if(!o[5])return r;let a=await this.baseFs.realpathPromise(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}mapToBase(r){if(r==="")return r;if(this.pathUtils.isAbsolute(r))return pi.resolveVirtual(r);let o=pi.resolveVirtual(this.baseFs.resolve(wt.dot)),a=pi.resolveVirtual(this.baseFs.resolve(r));return V.relative(o,a)||wt.dot}mapFromBase(r){return r}}});var cD,q7,lD,j7=dt(()=>{cD=Ie("url"),q7=Ie("util");hf();ya();lD=class extends vs{constructor(r){super(Ae);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof cD.URL)return(0,cD.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(Buffer.byteLength(o)!==r.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return o}throw new Error(`Unsupported path type: ${(0,q7.inspect)(r)}`)}}});var G7,Io,gf,_p,uD,AD,ry,Tc,Nc,U_e,__e,H_e,q_e,FI,W7=dt(()=>{G7=Ie("readline"),Io=Symbol("kBaseFs"),gf=Symbol("kFd"),_p=Symbol("kClosePromise"),uD=Symbol("kCloseResolve"),AD=Symbol("kCloseReject"),ry=Symbol("kRefs"),Tc=Symbol("kRef"),Nc=Symbol("kUnref"),FI=class{constructor(e,r){this[U_e]=1;this[__e]=void 0;this[H_e]=void 0;this[q_e]=void 0;this[Io]=r,this[gf]=e}get fd(){return this[gf]}async appendFile(e,r){try{this[Tc](this.appendFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;return await this[Io].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Nc]()}}async chown(e,r){try{return this[Tc](this.chown),await this[Io].fchownPromise(this.fd,e,r)}finally{this[Nc]()}}async chmod(e){try{return this[Tc](this.chmod),await this[Io].fchmodPromise(this.fd,e)}finally{this[Nc]()}}createReadStream(e){return this[Io].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Io].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[Tc](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??(e={}),n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??(r=0),o??(o=0),o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Io].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Nc]()}}async readFile(e){try{this[Tc](this.readFile);let r=(typeof e=="string"?e:e==null?void 0:e.encoding)??void 0;return await this[Io].readFilePromise(this.fd,r)}finally{this[Nc]()}}readLines(e){return(0,G7.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Tc](this.stat),await this[Io].fstatPromise(this.fd,e)}finally{this[Nc]()}}async truncate(e){try{return this[Tc](this.truncate),await this[Io].ftruncatePromise(this.fd,e)}finally{this[Nc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Tc](this.writeFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;await this[Io].writeFilePromise(this.fd,e,o)}finally{this[Nc]()}}async write(...e){try{if(this[Tc](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Nc]()}}async writev(e,r){try{this[Tc](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Nc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[gf]===-1)return Promise.resolve();if(this[_p])return this[_p];if(this[ry]--,this[ry]===0){let e=this[gf];this[gf]=-1,this[_p]=this[Io].closePromise(e).finally(()=>{this[_p]=void 0})}else this[_p]=new Promise((e,r)=>{this[uD]=e,this[AD]=r}).finally(()=>{this[_p]=void 0,this[AD]=void 0,this[uD]=void 0});return this[_p]}[(Io,gf,U_e=ry,__e=_p,H_e=uD,q_e=AD,Tc)](e){if(this[gf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[ry]++}[Nc](){if(this[ry]--,this[ry]===0){let e=this[gf];this[gf]=-1,this[Io].closePromise(e).then(this[uD],this[AD])}}}});function RI(t,e){e=new lD(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof(u==null?void 0:u[ny.promisify.custom])<"u"&&(n[ny.promisify.custom]=u[ny.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let C={};o.length<3?h=o[1]:(C=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=C}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(C=>{h(null,C,n)},C=>{h(C,0,n)})})});for(let o of Y7){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(C=>{h(null,C)},C=>{h(C)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of j_e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of Y7){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof FI?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new FI(n,e)})}t.read[ny.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[ny.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function fD(t,e){let r=Object.create(t);return RI(r,e),r}var ny,j_e,Y7,K7=dt(()=>{ny=Ie("util");j7();W7();j_e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),Y7=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function J7(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function V7(){if(HR)return HR;let t=Ae.toPortablePath(z7.default.tmpdir()),e=ae.realpathSync(t);return process.once("exit",()=>{ae.rmtempSync()}),HR={tmpdir:t,realTmpdir:e}}var z7,Lc,HR,ae,X7=dt(()=>{z7=tt(Ie("os"));Ng();ya();Lc=new Set,HR=null;ae=Object.assign(new xn,{detachTemp(t){Lc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=V7();for(;;){let o=J7("xfs-");try{this.mkdirSync(V.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=V.join(r,o);if(Lc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Lc.has(a)){Lc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=V7();for(;;){let o=J7("xfs-");try{await this.mkdirPromise(V.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=V.join(r,o);if(Lc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Lc.has(a)){Lc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Lc.values()).map(async t=>{try{await ae.removePromise(t,{maxRetries:0}),Lc.delete(t)}catch{}}))},rmtempSync(){for(let t of Lc)try{ae.removeSync(t),Lc.delete(t)}catch{}}})});var TI={};Yt(TI,{AliasFS:()=>qu,BasePortableFakeFS:()=>Hu,CwdFS:()=>An,FakeFS:()=>pf,Filename:()=>Lr,JailFS:()=>ju,LazyFS:()=>ty,MountFS:()=>Mp,NoFS:()=>kI,NodeFS:()=>xn,PortablePath:()=>wt,PosixFS:()=>Up,ProxiedFS:()=>vs,VirtualFS:()=>pi,constants:()=>Ii,errors:()=>sr,extendFs:()=>fD,normalizeLineEndings:()=>Rg,npath:()=>Ae,opendir:()=>oD,patchFs:()=>RI,ppath:()=>V,setupCopyIndex:()=>sD,statUtils:()=>Nl,toFilename:()=>Li,unwatchAllFiles:()=>Fg,unwatchFile:()=>kg,watchFile:()=>ey,xfs:()=>ae});var bt=dt(()=>{C7();rD();RR();LR();S7();MR();Tg();ya();ya();F7();Tg();T7();L7();O7();M7();U7();Ng();_7();hf();H7();K7();X7()});var rW=U((VSt,tW)=>{tW.exports=eW;eW.sync=W_e;var Z7=Ie("fs");function G_e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var a=r[o].toLowerCase();if(a&&t.substr(-a.length).toLowerCase()===a)return!0}return!1}function $7(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:G_e(e,r)}function eW(t,e,r){Z7.stat(t,function(o,a){r(o,o?!1:$7(a,t,e))})}function W_e(t,e){return $7(Z7.statSync(t),t,e)}});var aW=U((zSt,oW)=>{oW.exports=iW;iW.sync=Y_e;var nW=Ie("fs");function iW(t,e,r){nW.stat(t,function(o,a){r(o,o?!1:sW(a,e))})}function Y_e(t,e){return sW(nW.statSync(t),e)}function sW(t,e){return t.isFile()&&K_e(t,e)}function K_e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),C=A|p,w=r&h||r&p&&a===u||r&A&&o===n||r&C&&n===0;return w}});var cW=U((ZSt,lW)=>{var XSt=Ie("fs"),pD;process.platform==="win32"||global.TESTING_WINDOWS?pD=rW():pD=aW();lW.exports=qR;qR.sync=J_e;function qR(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){qR(t,e||{},function(n,u){n?a(n):o(u)})})}pD(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function J_e(t,e){try{return pD.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var dW=U(($St,gW)=>{var iy=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",uW=Ie("path"),V_e=iy?";":":",AW=cW(),fW=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),pW=(t,e)=>{let r=e.colon||V_e,o=t.match(/\//)||iy&&t.match(/\\/)?[""]:[...iy?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=iy?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=iy?a.split(r):[""];return iy&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},hW=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=pW(t,e),u=[],A=h=>new Promise((C,w)=>{if(h===o.length)return e.all&&u.length?C(u):w(fW(t));let v=o[h],b=/^".*"$/.test(v)?v.slice(1,-1):v,E=uW.join(b,t),R=!b&&/^\.[\\\/]/.test(t)?t.slice(0,2)+E:E;C(p(R,h,0))}),p=(h,C,w)=>new Promise((v,b)=>{if(w===a.length)return v(A(C+1));let E=a[w];AW(h+E,{pathExt:n},(R,L)=>{if(!R&&L)if(e.all)u.push(h+E);else return v(h+E);return v(p(h,C,w+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},z_e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=pW(t,e),n=[];for(let u=0;u<r.length;u++){let A=r[u],p=/^".*"$/.test(A)?A.slice(1,-1):A,h=uW.join(p,t),C=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;for(let w=0;w<o.length;w++){let v=C+o[w];try{if(AW.sync(v,{pathExt:a}))if(e.all)n.push(v);else return v}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw fW(t)};gW.exports=hW;hW.sync=z_e});var yW=U((ePt,jR)=>{"use strict";var mW=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};jR.exports=mW;jR.exports.default=mW});var wW=U((tPt,IW)=>{"use strict";var EW=Ie("path"),X_e=dW(),Z_e=yW();function CW(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=X_e.sync(t.command,{path:r[Z_e({env:r})],pathExt:e?EW.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=EW.resolve(a?t.options.cwd:"",u)),u}function $_e(t){return CW(t)||CW(t,!0)}IW.exports=$_e});var BW=U((rPt,WR)=>{"use strict";var GR=/([()\][%!^"`<>&|;, *?])/g;function e8e(t){return t=t.replace(GR,"^$1"),t}function t8e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(GR,"^$1"),e&&(t=t.replace(GR,"^$1")),t}WR.exports.command=e8e;WR.exports.argument=t8e});var DW=U((nPt,vW)=>{"use strict";vW.exports=/^#!(.*)/});var PW=U((iPt,SW)=>{"use strict";var r8e=DW();SW.exports=(t="")=>{let e=t.match(r8e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var bW=U((sPt,xW)=>{"use strict";var YR=Ie("fs"),n8e=PW();function i8e(t){let r=Buffer.alloc(150),o;try{o=YR.openSync(t,"r"),YR.readSync(o,r,0,150,0),YR.closeSync(o)}catch{}return n8e(r.toString())}xW.exports=i8e});var RW=U((oPt,FW)=>{"use strict";var s8e=Ie("path"),QW=wW(),kW=BW(),o8e=bW(),a8e=process.platform==="win32",l8e=/\.(?:com|exe)$/i,c8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u8e(t){t.file=QW(t);let e=t.file&&o8e(t.file);return e?(t.args.unshift(t.file),t.command=e,QW(t)):t.file}function A8e(t){if(!a8e)return t;let e=u8e(t),r=!l8e.test(e);if(t.options.forceShell||r){let o=c8e.test(e);t.command=s8e.normalize(t.command),t.command=kW.command(t.command),t.args=t.args.map(n=>kW.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function f8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:A8e(o)}FW.exports=f8e});var LW=U((aPt,NW)=>{"use strict";var KR=process.platform==="win32";function JR(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function p8e(t,e){if(!KR)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=TW(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function TW(t,e){return KR&&t===1&&!e.file?JR(e.original,"spawn"):null}function h8e(t,e){return KR&&t===1&&!e.file?JR(e.original,"spawnSync"):null}NW.exports={hookChildProcess:p8e,verifyENOENT:TW,verifyENOENTSync:h8e,notFoundError:JR}});var XR=U((lPt,sy)=>{"use strict";var OW=Ie("child_process"),VR=RW(),zR=LW();function MW(t,e,r){let o=VR(t,e,r),a=OW.spawn(o.command,o.args,o.options);return zR.hookChildProcess(a,o),a}function g8e(t,e,r){let o=VR(t,e,r),a=OW.spawnSync(o.command,o.args,o.options);return a.error=a.error||zR.verifyENOENTSync(a.status,o),a}sy.exports=MW;sy.exports.spawn=MW;sy.exports.sync=g8e;sy.exports._parse=VR;sy.exports._enoent=zR});function _W(t){UW=t}function NI(){return typeof ZR>"u"&&(ZR=UW()),ZR}var ZR,UW,$R=dt(()=>{UW=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var HW=U((hD,tT)=>{var d8e=Object.assign({},Ie("fs")),eT=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(Be,xe){o=Be,a=xe});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(Be,xe){throw xe},C=!1,w=!0,v="";function b(Be){return r.locateFile?r.locateFile(Be,v):v+Be}var E,R,L,_;w&&(C?v=Ie("path").dirname(v)+"/":v=__dirname+"/",E=function(xe,Je){var vt=Zn(xe);return vt?Je?vt:vt.toString():(L||(L=d8e),_||(_=Ie("path")),xe=_.normalize(xe),L.readFileSync(xe,Je?null:"utf8"))},R=function(xe){var Je=E(xe,!0);return Je.buffer||(Je=new Uint8Array(Je)),De(Je.buffer),Je},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(Be){process.exit(Be)},r.inspect=function(){return"[Emscripten Module object]"});var J=r.print||console.log.bind(console),re=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var oe=0,pe=function(Be){oe=Be},he;r.wasmBinary&&(he=r.wasmBinary);var ve=r.noExitRuntime||!0;typeof WebAssembly!="object"&&ki("no native wasm support detected");function ge(Be,xe,Je){switch(xe=xe||"i8",xe.charAt(xe.length-1)==="*"&&(xe="i32"),xe){case"i1":return Ue[Be>>0];case"i8":return Ue[Be>>0];case"i16":return ap((Be>>1)*2);case"i32":return ks((Be>>2)*4);case"i64":return ks((Be>>2)*4);case"float":return hu((Be>>2)*4);case"double":return op((Be>>3)*8);default:ki("invalid type for getValue: "+xe)}return null}var le,Pe=!1,g;function De(Be,xe){Be||ki("Assertion failed: "+xe)}function Ee(Be){var xe=r["_"+Be];return De(xe,"Cannot call unknown function "+Be+", make sure it is exported"),xe}function de(Be,xe,Je,vt,tr){var Zr={string:function(yi){var aa=0;if(yi!=null&&yi!==0){var Ha=(yi.length<<2)+1;aa=ee(Ha),ut(yi,aa,Ha)}return aa},array:function(yi){var aa=ee(yi.length);return Me(yi,aa),aa}};function Tn(yi){return xe==="string"?me(yi):xe==="boolean"?Boolean(yi):yi}var _r=Ee(Be),$n=[],Ti=0;if(vt)for(var Yn=0;Yn<vt.length;Yn++){var Ua=Zr[Je[Yn]];Ua?(Ti===0&&(Ti=Ma()),$n[Yn]=Ua(vt[Yn])):$n[Yn]=vt[Yn]}var oa=_r.apply(null,$n);return oa=Tn(oa),Ti!==0&&sa(Ti),oa}function ne(Be,xe,Je,vt){Je=Je||[];var tr=Je.every(function(Tn){return Tn==="number"}),Zr=xe!=="string";return Zr&&tr&&!vt?Ee(Be):function(){return de(Be,xe,Je,arguments,vt)}}var Z=new TextDecoder("utf8");function me(Be,xe){if(!Be)return"";for(var Je=Be+xe,vt=Be;!(vt>=Je)&&je[vt];)++vt;return Z.decode(je.subarray(Be,vt))}function be(Be,xe,Je,vt){if(!(vt>0))return 0;for(var tr=Je,Zr=Je+vt-1,Tn=0;Tn<Be.length;++Tn){var _r=Be.charCodeAt(Tn);if(_r>=55296&&_r<=57343){var $n=Be.charCodeAt(++Tn);_r=65536+((_r&1023)<<10)|$n&1023}if(_r<=127){if(Je>=Zr)break;xe[Je++]=_r}else if(_r<=2047){if(Je+1>=Zr)break;xe[Je++]=192|_r>>6,xe[Je++]=128|_r&63}else if(_r<=65535){if(Je+2>=Zr)break;xe[Je++]=224|_r>>12,xe[Je++]=128|_r>>6&63,xe[Je++]=128|_r&63}else{if(Je+3>=Zr)break;xe[Je++]=240|_r>>18,xe[Je++]=128|_r>>12&63,xe[Je++]=128|_r>>6&63,xe[Je++]=128|_r&63}}return xe[Je]=0,Je-tr}function ut(Be,xe,Je){return be(Be,je,xe,Je)}function H(Be){for(var xe=0,Je=0;Je<Be.length;++Je){var vt=Be.charCodeAt(Je);vt>=55296&&vt<=57343&&(vt=65536+((vt&1023)<<10)|Be.charCodeAt(++Je)&1023),vt<=127?++xe:vt<=2047?xe+=2:vt<=65535?xe+=3:xe+=4}return xe}function yt(Be){var xe=H(Be)+1,Je=Cl(xe);return Je&&be(Be,Ue,Je,xe),Je}function Me(Be,xe){Ue.set(Be,xe)}function Te(Be,xe){return Be%xe>0&&(Be+=xe-Be%xe),Be}var Qe,Ue,je,At,Le,x,I,P,y,F;function z(Be){Qe=Be,r.HEAP_DATA_VIEW=F=new DataView(Be),r.HEAP8=Ue=new Int8Array(Be),r.HEAP16=At=new Int16Array(Be),r.HEAP32=x=new Int32Array(Be),r.HEAPU8=je=new Uint8Array(Be),r.HEAPU16=Le=new Uint16Array(Be),r.HEAPU32=I=new Uint32Array(Be),r.HEAPF32=P=new Float32Array(Be),r.HEAPF64=y=new Float64Array(Be)}var X=r.INITIAL_MEMORY||16777216,$,ie=[],ke=[],Ne=[],st=!1;function ht(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Pt(r.preRun.shift());no(ie)}function Ut(){st=!0,no(ke)}function Xt(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Dr(r.postRun.shift());no(Ne)}function Pt(Be){ie.unshift(Be)}function tn(Be){ke.unshift(Be)}function Dr(Be){Ne.unshift(Be)}var fr=0,Br=null,jr=null;function Hn(Be){fr++,r.monitorRunDependencies&&r.monitorRunDependencies(fr)}function bs(Be){if(fr--,r.monitorRunDependencies&&r.monitorRunDependencies(fr),fr==0&&(Br!==null&&(clearInterval(Br),Br=null),jr)){var xe=jr;jr=null,xe()}}r.preloadedImages={},r.preloadedAudios={};function ki(Be){r.onAbort&&r.onAbort(Be),Be+="",re(Be),Pe=!0,g=1,Be="abort("+Be+"). Build with -s ASSERTIONS=1 for more info.";var xe=new WebAssembly.RuntimeError(Be);throw a(xe),xe}var gs="data:application/octet-stream;base64,";function to(Be){return Be.startsWith(gs)}var Di="data:application/octet-stream;base64,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AQsgAEEAOgAAQQAPCyAAKAIEIgNFBEBBAA8LIAAgAjcDECADIAGnaigAAAtVAgF+AX8gAARAAkAgACkDCFANAEIBIQEDQCAAKAIAIAJBBHRqEDogASAAKQMIWg0BIAGnIQIgAUIBfCEBDAALAAsgACgCABAGIAAoAigQECAAEAYLC2QBAn8CQAJAAkAgAEUEQCABpxAIIgNFDQJBGBAIIgJFDQEMAwsgACEDQRgQCCICDQJBAA8LIAMQBgtBAA8LIAJCADcDECACIAE3AwggAiADNgIEIAJBAToAACACIABFOgABIAILnQECAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCd1YNACACQgh8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUI4iDwAByAAIAFCMIg8AAYgACABQiiIPAAFIAAgAUIgiDwABCAAIAFCGIg8AAMgACABQhCIPAACIAAgAUIIiDwAASAAIAE8AAAL8AICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBBGsgADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQQhrIAA2AgAgAUEMayAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUEQayAANgIAIAFBFGsgADYCACABQRhrIAA2AgAgAUEcayAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK1CgYCAgBB+IQUgASADaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLC28BA38gAEEMaiECAkACfyAAKAIgIgFFBEBBfyEBQRIMAQsgACABQQFrIgM2AiBBACEBIAMNASAAQQBCAEECEA4aIAAoAgAiAEUNASAAEBtBf0oNAUEUCyEAIAIEQCACQQA2AgQgAiAANgIACwsgAQufAQIBfwF+An8CQAJ+IAAoAgAiAygCJEEBRkEA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RQ0AIAQtAAxFDQFBFyEFIAcNAQtBACECIAMgAEEIaiADGyIABEAgAEEANgIEIAAgBTYCAAsLIAILbgEBfyMAQYACayIFJAACQCAEQYDABHENACACIANMDQAgBSABQf8BcSACIANrIgJBgAIgAkGAAkkiARsQGiABRQRAA0AgACAFQYACEC4gAkGAAmsiAkH/AUsNAAsLIAAgBSACEC4LIAVBgAJqJAALUgECf0H0mAEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABADRQ0BC0H0mAEgADYCACABDwtB+JsBQTA2AgBBfwuGBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJkIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAkaAkAgAyAAKAJoIgFNBEAgACABIANrNgJoDAELIABCADcDaAsgACAAKAJkIANrIgE2AmQgACAAKAJUIANrNgJUIAEgACgCqC1JBEAgACABNgKoLQsgAEHQmAEoAgARBAAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJkaiAFaiEFIAEgBCACazYCBAJAIAEoAhwoAhRBAkYEQCABIAUgAhBADAELIAUgASgCACACEAkhBCABKAIcKAIUQQFHDQAgASABKAIwIAQgAkHImAEoAgARAAA2AjALIAEgASgCACACajYCACABIAEoAgggAmo2AgggACgCPAUgBQsgAmoiAjYCPAJAIAAoAqgtIgEgAmpBA0kNACAAKAJkIAFrIgEEQCAAIAFBAWtBxJgBKAIAEQEAGiAAKAI8IQILIAAoAqgtIAJBAUZrIgRFDQAgACABIARBwJgBKAIAEQcAIAAgACgCqC0gBGs2AqgtIAAoAjwhAgsgAkGFAksNACAAKAIAKAIERQ0AIAAoAjAhAQwBCwsCQCAAKAJEIgIgACgCQCIDTQ0AIAACfyAAKAI8IAAoAmRqIgEgA0sEQCAAKAJIIAFqQQAgAiABayIDQYICIANBggJJGyIDEBogASADagwBCyABQYICaiIBIANNDQEgACgCSCADakEAIAIgA2siAiABIANrIgMgAiADSRsiAxAaIAAoAkAgA2oLNgJACws3ACAAQn83AxAgAEEANgIIIABCADcDACAAQQA2AjAgAEL/////DzcDKCAAQgA3AxggAEIANwMgC6UBAQF/QdgAEAgiAUUEQEEADwsCQCAABEAgASAAQdgAEAkaDAELIAFCADcDICABQQA2AhggAUL/////DzcDECABQQA7AQwgAUG/hig2AgggAUEBOgAGIAFBADoABCABQgA3A0ggAUGAgNiNeDYCRCABQgA3AyggAUIANwMwIAFCADcDOCABQUBrQQA7AQAgAUIANwNQCyABQQE6AAUgAUEANgIAIAELWAICfgF/AkACQCAALQAARQ0AIAApAxAiAyACrXwiBCADVA0AIAQgACkDCFgNAQsgAEEAOgAADwsgACgCBCIFRQRADwsgACAENwMQIAUgA6dqIAEgAhAJGguWAQECfwJAAkAgAkUEQCABpxAIIgVFDQFBGBAIIgQNAiAFEAYMAQsgAiEFQRgQCCIEDQELIAMEQCADQQA2AgQgA0EONgIAC0EADwsgBEIANwMQIAQgATcDCCAEIAU2AgQgBEEBOgAAIAQgAkU6AAEgACAFIAEgAxBpQQBIBH8gBC0AAQRAIAQoAgQQBgsgBBAGQQAFIAQLC5sCAQN/IAAtAABBIHFFBEACQCABIQMCQCACIAAiASgCECIABH8gAAUCfyABIAEtAEoiAEEBayAAcjoASiABKAIAIgBBCHEEQCABIABBIHI2AgBBfwwBCyABQgA3AgQgASABKAIsIgA2AhwgASAANgIUIAEgACABKAIwajYCEEEACw0BIAEoAhALIAEoAhQiBWtLBEAgASADIAIgASgCJBEAABoMAgsCfyABLABLQX9KBEAgAiEAA0AgAiAAIgRFDQIaIAMgBEEBayIAai0AAEEKRw0ACyABIAMgBCABKAIkEQAAIARJDQIgAyAEaiEDIAEoAhQhBSACIARrDAELIAILIQAgBSADIAAQCRogASABKAIUIABqNgIUCwsLCxAAIAAoAggQBiAAQQA2AggLWQIBfwF+AkACf0EAIABFDQAaIACtIAGtfiIDpyICIAAgAXJBgIAESQ0AGkF/IAIgA0IgiKcbCyICEAgiAEUNACAAQQRrLQAAQQNxRQ0AIABBACACEBoLIAAL8AEBAn9BfyEBAkAgAC0AKA0AIAAoAiRBA0YEQCAAQQxqBEAgAEEANgIQIABB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DwsCQAJAIAAgASACIAMQhwEiBEUNAEEYEAgiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAgiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEjNgIEIABCPyACQQBCAEEOQSMRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALFAAgABBBIAAoAgAQICAAKAIEECALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQbycASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB0JwBakYaIAAoAgwiAyAERw0CQaicAUGonAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQbicASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QdieAWoiAigCAEYEQCACIAM2AgAgAw0BQaycAUGsnAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAg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ACIIQiCIpyEEIAinIQEMAwsgAUEHTQRAIAAgAmpBAWshByABIAJJBEAgA0EEaiEGA0AgByAAa0EBaiIEIAEgASAESxsiBUEITwRAA0AgACADKQAANwAAIANBCGohAyAAQQhqIQAMAAsACyAFQQRJBH8gAwUgACADKAAANgAAIAVBBGshBSAAQQRqIQAgBgshBCAFQQJPBEAgACAELwAAOwAAIAVBAmshBSAEQQJqIQQgAEECaiEACyAFQQFGBEAgACAELQAAOgAAIABBAWohAAsgAiABayICIAFLDQALIAJFDQULAkAgByAAa0EBaiIBIAIgASACSRsiAkEISQ0AIAJBCGsiBEEDdkEBakEHcSIBBEADQCAAIAMpAAA3AAAgAkEIayECIANBCGohAyAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAMpAAA3AAAgACADKQAINwAIIAAgAykAEDcAECAAIAMpABg3ABggACADKQAgNwAgIAAgAykAKDcAKCAAIAMpADA3ADAgACADKQA4NwA4IANBQGshAyAAQUBrIQAgAkFAaiICQQdLDQALCyACQQRPBEAgACADKAAANgAAIAJBBGshAiADQQRqIQMgAEEEaiEACyACQQJPBEAgACADLwAAOwAAIAJBAmshAiADQQJqIQMgAEECaiEACyACQQFHDQQgACADLQAAOgAAIABBAWoPCyAAIAMpAAA3AAAgACACQQFrIgFBB3FBAWoiAmohACABQQhJDQMgAiADaiEDIAFBA3YiAkEBayEEIAJBB3EiAQRAA0AgACADKQAANwAAIAJBAWshAiADQQhqIQMgAEEIaiEAIAFBAWsiAQ0ACwsgBEEHSQ0DA0AgACADKQAANwAAIAAgAykACDcACCAAIAMpABA3ABAgACADKQAYNwAYIAAgAykAIDcAICAAIAMpACg3ACggACADKQAwNwAwIAAgAykAODcAOCADQUBrIQMgAEFAayEAIAJBCGsiAg0ACwwDCyADLQAAQYGChAhsCyIBIQQLIAJBB3EhBgJAIAJBeHEiAkUNACABrSAErUIghoQhCCACQQhrIgRBA3ZBAWpBB3EiAQRAA0AgACAINwAAIAJBCGshAiAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAg3ADggACAINwAwIAAgCDcAKCAAIAg3ACAgACAINwAYIAAgCDcAECAAIAg3AAggACAINwAAIABBQGshACACQUBqIgINAAsLIAZFDQAgACADIAYQCSAGaiEACyAADwsgACADLQABOgABIAJBAkYEQCAAQQJqDwsgACADLQACOgACIAJBA0YEQCAAQQNqDwsgACADLQADOgADIAJBBEYEQCAAQQRqDwsgACADLQAEOgAEIAJBBUYEQCAAQQVqDwsgACADLQAFOgAFIAJBBkYEQCAAQQZqDwsgACADLQAGOgAGIABBB2oLAwABC2wBA38CQCABKAIAIgNBB0sNACADIAIoAgBPDQAgACADayEEA0AgACAEKQAANwAAIAIgAigCACABKAIAIgVrNgIAIAEgASgCAEEBdCIDNgIAIAAgBWohACADQQdLDQEgAyACKAIASQ0ACwsgAAu8AgEBfwJAIAMgAGtBAWoiAyACIAIgA0sbIgJBCEkNACACQQhrIgRBA3ZBAWpBB3EiAwRAA0AgACABKQAANwAAIAJBCGshAiABQQhqIQEgAEEIaiEAIANBAWsiAw0ACwsgBEE4SQ0AA0AgACABKQAANwAAIAAgASkACDcACCAAIAEpABA3ABAgACABKQAYNwAYIAAgASkAIDcAICAAIAEpACg3ACggACABKQAwNwAwIAAgASkAODcAOCABQUBrIQEgAEFAayEAIAJBQGoiAkEHSw0ACwsgAkEETwRAIAAgASgAADYAACACQQRrIQIgAUEEaiEBIABBBGohAAsgAkECTwRAIAAgAS8AADsAACACQQJrIQIgAUECaiEBIABBAmohAAsgAkEBRgR/IAAgAS0AADoAACAAQQFqBSAACwvnAQECfyAAIAEpAAA3AAAgACACQQFrIgJBB3FBAWoiA2ohAAJAIAJBCEkNACABIANqIQEgAkEDdiICQQFrIQQgAkEHcSIDBEADQCAAIAEpAAA3AAAgAkEBayECIAFBCGohASAAQQhqIQAgA0EBayIDDQALCyAEQQdJDQADQCAAIAEpAAA3AAAgACABKQAINwAIIAAgASkAEDcAECAAIAEpABg3ABggACABKQAgNwAgIAAgASkAKDcAKCAAIAEpADA3ADAgACABKQA4NwA4IAFBQGshASAAQUBrIQAgAkEIayICDQALCyAAC/wFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEB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ADYCBCACQQ42AgALDAELIANBARB0IAMgARBmEBIgAyAFIAQoAgwQLAJ/IAMtAABFBEAgAgRAIAJBADYCBCACQRQ2AgALQQAMAQsgACADLQAABH4gAykDEAVCAAunQf//A3EgAygCBBBICyEGIAMQBwsgBEEQaiQAIAYL4AECAn8BfkEwEAgiAkUEQCABBEAgAUEANgIEIAFBDjYCAAtBAA8LIAJCADcDCCACQQA2AgAgAkIANwMQIAJCADcDGCACQgA3AyAgAkIANwAlIABQBEAgAg8LAkAgAEL/////AFYNACAAp0EEdBAIIgNFDQAgAiADNgIAQQAhAUIBIQQDQCADIAFBBHRqIgFCADcCACABQgA3AAUgACAEUgRAIASnIQEgBEIBfCEEDAELCyACIAA3AwggAiAANwMQIAIPCyABBEAgAUEANgIEIAFBDjYCAAtBABAQIAIQBkEAC+4BAgN/AX4jAEEQayIEJAACQCAEQQxqQgQQGCIDRQRAQX8hAgwBCwJAIAEEQCACQYAGcSEFA0ACQCAFIAEoAgRxRQ0AAkAgAykDCEIAVARAIANBADoAAAwBCyADQgA3AxAgA0EBOgAACyADIAEvAQgQDSADIAEvAQoQDSADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALQX8hAgwEC0F/IQIgACAEQQxqQgQQHEEASA0DIAEzAQoiBlANACAAIAEoAgwgBhAcQQBIDQMLIAEoAgAiAQ0ACwtBACECCyADEAcLIARBEGokACACCzwBAX8gAARAIAFBgAZxIQEDQCABIAAoAgRxBEAgAiAALwEKakEEaiECCyAAKAIAIgANAAsLIAJB//8DcQucAQEDfyAARQRAQQAPCyAAIQMDQAJ/AkACQCAALwEIIgFB9OABTQRAIAFBAUYNASABQfXGAUYNAQwCCyABQYGyAkYNACABQfXgAUcNAQsgACgCACEBIABBADYCACAAKAIMEAYgABAGIAEgAyAAIANGGyEDAkAgAkUEQEEAIQIMAQsgAiABNgIACyABDAELIAAiAigCAAsiAA0ACyADC7IEAgV/AX4CQAJAAkAgACABrRAYIgEEQCABLQAADQFBACEADAILIAQEQCAEQQA2AgQgBEEONgIAC0EADwtBACEAA0AgAS0AAAR+IAEpAwggASkDEH0FQgALQgRUDQEgARALIQcgASABEAsiBq0QEyIIRQRAQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQMDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAwsCQAJAQRAQCCIFBEAgBSAGOwEKIAUgBzsBCCAFIAI2AgQgBUEANgIAIAZFDQEgBSAIIAYQZyIGNgIMIAYNAiAFEAYLQQAhAiAEBEAgBEEANgIEIARBDjYCAAsgARAHIABFDQQDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMBAsgBUEANgIMCwJAIABFBEAgBSEADAELIAkgBTYCAAsgBSEJIAEtAAANAAsLAkAgAS0AAAR/IAEpAxAgASkDCFEFQQALDQAgASABLQAABH4gASkDCCABKQMQfQVCAAsiCkL/////D4MQEyECAkAgCqciBUEDSw0AIAJFDQAgAkHBFCAFEDxFDQELQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQEDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAQsgARAHIAMEQCADIAA2AgBBAQ8LQQEhAiAARQ0AA0AgACgCACEBIAAoAgwQBiAAEAYgASIADQALCyACC74BAQV/IAAEfyAAIQIDQCACIgQoAgAiAg0ACyABBEADQCABIgMvAQghBiADKAIAIQEgACECAkACQANAAkAgAi8BCCAGRw0AIAIvAQoiBSADLwEKRw0AIAVFDQIgAigCDCADKAIMIAUQPEUNAgsgAigCACICDQALIANBADYCACAEIAM2AgAgAyEEDAELIAIgAigCBCADKAIEQYAGcXI2AgQgA0EANgIAIAMoAgwQBiADEAYLIAENAAsLIAAFIAELC1UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCAXwiAyACVA0AIAMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIAE6AAALWgICfgF/An8CQAJAIAAtAABFDQAgACkDECIBQgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADAELQQAgACgCBCIDRQ0AGiAAIAI3AxAgAyABp2otAAALC94BAQN/IAEgACkDMFoEQCAAQQhqBEAgAEEANgIMIABBEjYCCAtBfw8LIABBCGohAiAALQAYQQJxBEAg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DAELIAFBGU4EQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAApA7gtIgI8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAkIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCGIg8AAAgACAAQbwtajUCADcDuC0gACAAKALALUEgayIBNgLALQsgAUEJTgRAIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC0iAjwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCCIg8AAAgACAAKQO4LUIQiDcDuC0gACAAKALALUEQayIBNgLALQsgAUEBSA0AIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC08AAALIABBADYCwC0gAEIANwO4LQvwBAEDfyAAQYgBaiECA0AgAiABQQJ0IgNqQQA7AQAgAiADQQRyakEAOwEAIAFBAmoiAUGeAkcNAAsgAEEAOwHwFCAAQQA7AfwSIABBuBVqQQA7AQAgAEG0FWpBADsBACAAQbAVakEAOwEAIABBrBVqQQA7AQAgAEGoFWpBADsBACAAQaQVakEAOwEAIABBoBVqQQA7AQAgAEGcFWpBADsBACAAQZgVakEAOwEAIABBlBVqQQA7AQAgAEGQFWpBADsBACAAQYwVakEAOwEAIABBiBVqQQA7AQAgAEGEFWpBADsBACAAQYAVakEAOwEAIABB/BRqQQA7AQAgAEH4FGpBADsBACAAQfQUakEAOwEAIABB8BNqQQA7AQAgAEHsE2pBADsBACAAQegTakEAOwEAIABB5BNqQQA7AQAgAEHgE2pBADsBACAAQdwTakEAOwEAIABB2BNqQQA7AQAgAEHUE2pBADsBACAAQdATakEAOwEAIABBzBNqQQA7AQAgAEHIE2pBADsBACAAQcQTakEAOwEAIABBwBNqQQA7AQAgAEG8E2pBADsBACAAQbgTakEAOwEAIABBtBNqQQA7AQAgAEGwE2pBADsBACAAQawTakEAOwEAIABBqBNqQQA7AQAgAEGkE2pBADsBACAAQaATakEAOwEAIABBnBNqQQA7AQAgAEGYE2pBADsBACAAQZQTakEAOwEAIABBkBNqQQA7AQAgAEGME2pBADsBACAAQYgTakEAOwEA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AAwFCyABLQAPDQQgASgCrEAgASgCqEAoAggRAgCsIQUMBAsgA0IIWgR+IAIgASgCADYCACACIAEoAgQ2AgRCCAVCfwshBQwDCyABRQ0CIAEoAqxAIAEoAqhAKAIEEQQAIAEQLyABEAYMAgsgB0F/NgIAQRAgBxAkQj+EIQUMAQsgAQRAIAFBADYCBCABQRQ2AgALQn8hBQsgB0EQaiQAIAULYwBByAAQCCIARQRAQfibASgCACEBIAIEQCACIAE2AgQgAkEBNgIACyAADwsgAEEAOgAMIABBADoABCAAIAI2AgAgAEEANgI4IABCADcDMCAAIAFBCSABQQFrQQlJGzYCCCAAC0gBAX8gAEIANwIEIAAgATYCAAJAIAFBAEgNAEGwEygCACABTA0AIAFBAnRBwBNqKAIAQQFHDQBB+JsBKAIAIQILIAAgAjYCBAvuhwECJH8BfiACKQMAIScgACABNgIcIAAgJ0L/////DyAnQv////8PVBs+AiAgAEEQaiEKAn8gAC0ABARAAn8gAC0ADEECdCENQX4hAQJAAkACQCAKRQ0AIAooAiBFDQAgCigCJEUNACAKKAIcIgNFDQAgAygCACAKRw0AAkACQCADKAIgIgVBOWsOOQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAVBmgVGDQAgBUEqRw0BCyANQQVLDQACQAJAIAooAgxFDQAgCigCBCIEBEAgCigCAEUNAQsgBUGaBUcNASANQQRGDQELIApBkPEAKAIANgIYQX4MBAsgCigCEEUNASADKAIkIQEgAyANNgIkAkAgAygCEARAIAMQFAJAIAooAhAiBSADKAIQIgkgBSAJSRsiAUUNACAKKAIMIAMoAgggARAJGiAKIAooAgwgAWo2AgwgAyADKAIIIAFqNgIIIAogCigCFCABajYCFCAKIAooAhAgAWsiBTYCECADIAMoAhAgAWsiCTYCECAJDQAgAyADKAIENgIIQQAhCQsgBQRAIAMoAiAhBQwCCwwECyAEDQAgDUEBdEF3QQAgDUEESxtqIAFBAXRBd0EAIAFBBEobakoNACANQQRGDQAMAgsCQAJAAkACQAJAIAVBKkcEQCAFQZoFRw0BIAooAgRFDQMMBwsgAygCFEUEQCADQfEANgIgDAILIAMoAjRBDHRBgPABayEBAkAgAygCfEECTg0AIAMoAngiBEEBTA0AIARBBUwEQCABQcAAciEBDAELQYABQcABIARBBkYbIAFyIQELIAMgCUEBajYCECADKAIEIAlqIAFBIHIgASADKAJkGyIBQQh2OgAAIAMgAygCECIEQQFqNgIQIAQgAygCBGogAUEfcCABckEfczoAACADKAJkBEAgAyAKKAIwEF0LIApBATYCMCADQfEANgIgIAoQDCADKAIQDQcgAygCICEFCwJAAkACQAJAIAVBOUYEfyADKAIAQQA2AjAgAyADKAIQIgFBAWo2AhAgASADKAIEakEfOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBiwE6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEIOgAAAkAgAygCHCIBRQRAIANBABA0IAMgAygCECIBQQFqNgIQIAEgAygCBGpBADoAAEECIQEgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADIAMoAhAiAUEBajYCECABIAMoAgRqQQM6AAAgA0HxADYCICAKEAwgAygCEEUNAQwNCyABKAIkIQQgASgCHCEFIAEoAhAhByABKAIsIQkgASgCACELIAMgAygCECIIQQFqNgIQQQIhASAIIAMoAgRqIAlBAEdBAXQgC0EAR3IgB0EAR0ECdHIgBUEAR0EDdHIgBEEAR0EEdHI6AAAgAyADKAIcKAIEEDQgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADKAIcKAIMIQEgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABOgAAIAMoAhwiASgCEAR/IAEoAhQhASADIAMoAhAiBEEBajYCECAEIAMoAgRqIAE6AAAgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABQQh2OgAAIAMoAhwFIAELKAIsBEAgCgJ/IAooAjAhASADKAIQIQRBACADKAIEIgVFDQAaIAEgBSAErUHMmAEoAgARAwALNgIwCyADQcUANgIgIANBADYCGAwCCyADKAIgBSAFC0HFAGsOIwAEBAQBBAQEBAQEBAQEBAQEBAQEBAQCBAQEBAQEBAQEBAQDBAsgAygCHCIEKAIQIgUEQCADKAIMIgkgAygCECIBIAQvARQgAygCGCIHayIEakkEQANAIAMoAgQgAWogBSAHaiAJIAFrIgkQCRogAyADKAIMIgU2AhACQCADKAIcKAIsRQ0AIAEgBU8NACAKAn8gCigCMCEHQQAgAygCBCABaiILRQ0AGiAHIAsgBSABa61BzJgBKAIAEQMACzYCMAsgAyADKAIYIAlqNgIYIAooAhwiARAUAkAgCigCECIFIAEoAhAiByAFIAdJGyIFRQ0AIAooAgwgASgCCCAFEAkaIAogCigCDCAFajYCDCABIAEoAgggBWo2AgggCiAKKAIUIAVqNgIUIAogCigCECAFazYCECABIAEoAhAgBWsiBTYCECAFDQAgASABKAIENgIICyADKAIQDQwgAygCGCEHIAMoAhwoAhAhBUEAIQEgBCAJayIEIAMoAgwiCUsNAAsLIAMoAgQgAWogBSAHaiAEEAkaIAMgAygCECAEaiIENgIQAkAgAygCHCgCLEUNACABIARPDQAgCgJ/IAooAjAhBUEAIAMoAgQgAWoiB0UNABogBSAHIAQgAWutQcyYASgCABEDAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiASEEA0ACQCABIAMoAgxHDQACQCADKAIcKAIsRQ0AIAEgBE0NACAKAn8gCigCMCEFQQAgAygCBCAEaiIHRQ0AGiAFIAcgASAEa61BzJgBKAIAEQMACzYCMAsgCigCHCIBEBQCQCAKKAIQIgQgASgCECIFIAQgBUkbIgRFDQAgCigCDCABKAIIIAQQCRogCiAKKAIMIARqNgIMIAEgASgCCCAEajYCCCAKIAooAhQgBGo2AhQgCiAKKAIQIARrNgIQIAEgASgCECAEayIENgIQIAQNACABIAEoAgQ2AggLQQAhAUEAIQQgAygCEEUNAAwLCyADKAIcKAIcIQUgAyADKAIYIgdBAWo2AhggBSAHai0AACEFIAMgAUEBajYCECADKAIEIAFqIAU6AAAgBQRAIAMoAhAhAQwBCwsCQCADKAIcKAIsRQ0AIAMoAhAiASAETQ0AIAoCfyAKKAIwIQVBACADKAIEIARqIgdFDQAaIAUgByABIARrrUHMmAEoAgARAwALNgIwCyADQQA2AhgLIANB2wA2AiALAkAgAygCHCgCJEUNACADKAIQIgEhBANAAkAgASADKAIMRw0AAkAgAygCHCgCLEUNACABIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIAooAhwiARAUAkAgCigCECIEIAEoAhAiBSAEIAVJGyIERQ0AIAooAgwgASgCCCAEEAkaIAogCigCDCAEajYCDCABIAEoAgggBGo2AgggCiAKKAIUIARqNgIUIAogCigCECAEazYCECABIAEoAhAgBGsiBDYCECAEDQAgASABKAIENgIIC0EAIQFBACEEIAMoAhBFDQAMCgsgAygCHCgCJCEFIAMgAygCGCIHQQFqNgIYIAUgB2otAAAhBSADIAFBAWo2AhAgAygCBCABaiAFOgAAIAUEQCADKAIQIQEMAQsLIAMoAhwoAixFDQAgAygCECIBIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIANB5wA2AiALAkAgAygCHCgCLARAIAMoAgwgAygCECIBQQJqSQRAIAoQDCADKAIQDQJBACEBCyAKKAIwIQQgAyABQQFqNgIQIAMoAgQgAWogBDoAACADIAMoAhAiAUEBajYCECABIAMoAgRqIARBCHY6AAAgAygCAEEANgIwCyADQfEANgIgIAoQDCADKAIQRQ0BDAcLDAYLIAooAgQNAQsgAygCPA0AIA1FDQEgAygCIEGaBUYNAQsCfyADKAJ4IgFFBEAgAyANEFwMAQsCQAJAAkAgAygCfEECaw4CAAECCwJ/AkADQAJAIAMoAjwNACADECkgAygCPA0AIA0NAkEADAMLIAMoAkggAygCZGotAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiBDYCZCADKAKULSADKAKYLUcNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAQgAWtBABAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIICyADKAIAKAIQDQALQQAMAQsgA0EANgKoLSANQQRGBEAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQEQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAtBA0ECIAMoAgAoAhAbDAELAkAgAygClC1FDQAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQAQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAsgAygCACgCEA0AQQAMAQtBAQsMAgsCfwJAA0ACQAJAAkACQCADKAI8IghBggJLDQAgAxApAkAgAygCPCIIQYICSw0AIA0NAEEADAcLIAhFDQUgCEECSw0AIAMoAmQhCwwBCyADKAJkIgtFBEBBACELDAELIAMoAkggC2oiDEEBayIBLQAAIgkgDC0AAEcNACAJIAEtAAJHDQAgCSABLQADRw0AIAxBggJqIQ5BfyEBAkACQAJAAkACQAJAA0AgASAMaiIFLQAEIAlGBEAgCSAFLQAFRw0CIAkgBS0ABkcNAyAJIAUtAAdHDQQgCSAMIAFBCGoiBGoiBy0AAEcNByAJIAUtAAlHDQUgCSAFLQAKRw0GIAkgBUELaiIHLQAARw0HIAFB9wFIIQUgBCEBIAUNAQwHCwsgBUEEaiEHDAULIAVBBWohBwwECyAFQQZqIQcMAwsgBUEHaiEHDAILIAVBCWohBwwBCyAFQQpqIQcLIAggByAOa0GCAmoiASABIAhLGyIBQQJLDQELIAMoAkggC2otAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiCzYCZAwBCyADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQE6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAUEDazoAACADIAMoAqQtQQFqNgKkLSABQc3pAGotAABBAnQgA2pBjAlqIgQgBC8BAEEBajsBACADQdDlAC0AAEECdGpB/BJqIgQgBC8BAEEBajsBACADIAMoAjwgAWs2AjwgAyADKAJkIAFqIgs2AmQLIAMoApQtIAMoApgtRw0AIAMgAygCVCIBQQBOBH8gAygCSCABagVBAAsgCyABa0EAEA8gAyADKAJkNgJUIAMoAgAiASgCHCIEEBQCQCABKAIQIgUgBCgCECIHIAUgB0kbIgVFDQAgASgCDCAEKAIIIAUQCRogASABKAIMIAVqNgIMIAQgBCgCCCAFajYCCCABIAEoAhQgBWo2AhQgASABKAIQIAVrNgIQIAQgBCgCECAFayIBNgIQIAENACAEIAQoAgQ2AggLIAMoAgAoAhANAAtBAAwBCyADQQA2AqgtIA1BBEYEQCADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtBARAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIIC0EDQQIgAygCACgCEBsMAQsCQCADKAKULUUNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtB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ASABKAIodCIFIAEoAtA3akEBIAMoAiARAAAiAzYCOCADRQ0CIAMgBWpBACABKALQNxAaCyABKAIsIgVFBEAgAUIANwIwIAFBASABKAIodCIFNgIsCyAWIA5rIgMgBU8EQCABKAI4IBEgBWsgBRAJGiABQQA2AjQgASABKAIsNgIwDAELIAEoAjQiDSABKAI4aiARIANrIAMgBSANayIFIAMgBUkbIgUQCRogAyAFayIDBEAgASgCOCARIANrIAMQCRogASADNgI0IAEgASgCLDYCMAwBCyABQQAgASgCNCAFaiIDIAMgASgCLCINRhs2AjQgASgCMCIDIA1PDQAgASADIAVqNgIwCyAKIB8gCigCBGsiBSAKKAIIajYCCCAKIBYgCigCEGsiASAKKAIUajYCFCAGIAYoAiAgAWo2AiACQCAGLQAMQQRxRQ0AIAFFDQAgBgJ/IAYoAhQEQAJ/IAYoAhwhA0EAIAooAgwgAWsiDUUNABogAyANIAGtQcyYASgCABEDAAsMAQsgBigCHCAKKAIMIAFrIAFByJgBKAIAEQAACyIDNgIcIAogAzYCMAsgCiAGKAJAIAYoAghBAEdBBnRqIAYoAgQiA0G//gBGQQd0akGAAiADQcL+AEZBCHQgA0HH/gBGG2o2AiwgBCAEQXsgBBsgASAFchshFwwCCyAGQdL+ADYCBAtBfCEXCyAUQRBqJAAgFwshASACIAIpAwAgADUCIH03AwACQAJAAkACQCABQQVqDgcBAgICAgMAAgtBAQ8LIAAoAhQNAEEDDwsgACgCACIABEAgACABNgIEIABBDTYCAAtBAiEBCyABCwkAIABBAToADAtEAAJAIAJC/////w9YBEAgACgCFEUNAQsgACgCACIABEAgAEEANgIEIABBEjYCAAtBAA8LIAAgATYCECAAIAI+AhRBAQu6AQEEfyAAQRBqIQECfyAALQAEBEAgARBeDAELQX4hAwJAIAFFDQAgASgCIEUNACABKAIkIgRFDQAgASgCHCICRQ0AIAIoAgAgAUcNACACKAIEQbT+AGtBH0sNACACKAI4IgMEQCABKAIoIAMgBBEGACABKAIkIQQgASgCHCECCyABKAIoIAIgBBEGAEEAIQMgAUEANgIcCyADCyIBBEAgACgCACIABEAgACABNgIEIABBDTYCAAsLIAFFC5gMAQZ/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IAEQBiAABEAgAEEANgIEIABBDjYCAAsLIABBADYCFAwUCyADQgA3AwAgACABNgIUIAFBQGtCADcDACABQgA3AzgMFAsCQAJAIAJQBEBByAAQCCIDRQ0UIANCADcDACADQgA3AzAgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AzggA0EIEAgiATYCBCABDQEgAxAGIAAEQCAAQQA2AgQgAEEONgIACwwUCyACIAAoAhAiASkDMFYEQCAABEAgAEEANgIEIABBEjYCAAsMFAsgASgCKARAIAAEQCAAQQA2AgQgAEEdNgIACwwUCyABKAIEIQMCQCABKQMIIgZCAX0iB1ANAANAAkAgAiADIAcgBH1CAYggBHwiBadBA3RqKQMAVARAIAVCAX0hBwwBCyAFIAZRBEAgBiEFDAMLIAMgBUIBfCIEp0EDdGopAwAgAlYNAgsgBCEFIAQgB1QNAAsLAkAgAiADIAWnIgpBA3RqKQMAfSIEUEUEQCABKAIAIgMgCkEEdGopAwghBwwBCyABKAIAIgMgBUIBfSIFp0EEdGopAwgiByEECyACIAcgBH1UBEAgAARAIABBADYCBCAAQRw2AgALDBQLIAMgBUIBfCIFQQAgABCHASIDRQ0TIAMoAgAgAygCCCIKQQR0akEIayAENwMAIAMoAgQgCkEDdGogAjcDACADIAI3AzAgAyABKQMYIgYgAykDCCIEQgF9IgcgBiAHVBs3AxggASADNgIoIAMgATYCKCABIAQ3AyAgAyAFNwMgDAELIAFCADcDAAsgACADNgIUIAMgBDcDQCADIAI3AzhCACEEDBMLIAAoAhAiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAoAhQhASAAQQA2AhQgACABNgIQDBILIAJCCFoEfiABIAAoAgA2AgAgASAAKAIENgIEQggFQn8LIQQMEQsgACgCECIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgACgCFCIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgABAGDBALIAAoAhAiAEIANwM4IABBQGtCADcDAAwPCyACQn9XBEAgAARAIABBADYCBCAAQRI2AgALDA4LIAIgACgCECIDKQMwIAMpAzgiBn0iBSACIAVUGyIFUA0OIAEgAykDQCIHpyIAQQR0IgEgAygCAGoiCigCACAGIAMoAgQgAEEDdGopAwB9IgKnaiAFIAopAwggAn0iBiAFIAZUGyIEpxAJIQogByAEIAMoAgAiACABaikDCCACfVGtfCECIAUgBlYEQANAIAogBKdqIAAgAqdBBHQiAWoiACgCACAFIAR9IgYgACkDCCIHIAYgB1QbIganEAkaIAIgBiADKAIAIgAgAWopAwhRrXwhAiAFIAQgBnwiBFYNAAsLIAMgAjcDQCADIAMpAzggBHw3AzgMDgtCfyEEQcgAEAgiA0UNDSADQgA3AwAgA0IANwMwIANBADYCKCADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IANwM4IANBCBAIIgE2AgQgAUUEQCADEAYgAARAIABBADYCBCAAQQ42AgALDA4LIAFCADcDACAAKAIQIgEEQAJAIAEoAigiCkUEQCABKQMYIQQMAQsgCkEANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiBDcDGAsgASkDCCAEVgRAA0AgASgCACAEp0EEdGooAgAQBiAEQgF8IgQgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAIAM2AhBCACEEDA0LIAAoAhQiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKn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cm9yAFRlbGwgZXJyb3IASW50ZXJuYWwgZXJyb3IAU2VlayBlcnJvcgBXcml0ZSBlcnJvcgBmaWxlIGVycm9yAFJlYWQgZXJyb3IAWmxpYiBlcnJvcgBkYXRhIGVycm9yAENSQyBlcnJvcgBpbmNvbXBhdGlibGUgdmVyc2lvbgBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAMS4yLjExLnpsaWItbmcAaW52YWxpZCB3aW5kb3cgc2l6ZQBSZWFkLW9ubHkgYXJjaGl2ZQBOb3QgYSB6aXAgYXJjaGl2ZQBSZXNvdXJjZSBzdGlsbCBpbiB1c2UATWFsbG9jIGZhaWx1cmUAaW52YWxpZCBibG9jayB0eXBlAEZhaWx1cmUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlAENhbid0IG9wZW4gZmlsZQBObyBzdWNoIGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBmaWxlAENhbid0IHJlbW92ZSBmaWxlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAdW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QAc3RyZWFtIGVuZABDb21wcmVzc2VkIGRhdGEgaW52YWxpZABNdWx0aS1kaXNrIHppcCBhcmNoaXZlcyBub3Qgc3VwcG9ydGVkAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAEVuY3J5cHRpb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQAQ29tcHJlc3Npb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQARW50cnkgaGFzIGJlZW4gZGVsZXRlZABDb250YWluaW5nIHppcCBhcmNoaXZlIHdhcyBjbG9zZWQAQ2xvc2luZyB6aXAgYXJjaGl2ZSBmYWlsZWQAUmVuYW1pbmcgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkAEVudHJ5IGhhcyBiZWVuIGNoYW5nZWQATm8gcGFzc3dvcmQgcHJvdmlkZWQAV3JvbmcgcGFzc3dvcmQgcHJvdmlkZWQAVW5rbm93biBlcnJvciAlZABBRQAobnVsbCkAOiAAUEsGBwBQSwYGAFBLBQYAUEsDBABQSwECAAAAAD8FAADABwAAkwgAAHgIAABvBQAAkQUAAHoFAACyBQAAVggAABsHAADWBAAACwcAAOoGAACcBQAAyAYAALIIAAAeCAAAKAcAAEcEAACgBgAAYAUAAC4EAAA+BwAAPwgAAP4HAACOBgAAyQgAAN4IAADmBwAAsgYAAFUFAACoBwAAIABByBMLEQEAAAABAAAAAQAAAAEAAAABAEHsEwsJAQAAAAEAAAACAEGYFAsBAQBBuBQLAQEAQdIUC/5DOiY7JmUmZiZjJmAmIiDYJcsl2SVCJkAmaiZrJjwmuiXEJZUhPCC2AKcArCWoIZEhkyGSIZAhHyKUIbIlvCUgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AAiPHAPwA6QDiAOQA4ADlAOcA6gDrAOgA7wDuAOwAxADFAMkA5gDGAPQA9gDyAPsA+QD/ANYA3ACiAKMApQCnIJIB4QDtAPMA+gDxANEAqgC6AL8AECOsAL0AvAChAKsAuwCRJZIlkyUCJSQlYSViJVYlVSVjJVElVyVdJVwlWyUQJRQlNCUsJRwlACU8JV4lXyVaJVQlaSVmJWAlUCVsJWclaCVkJWUlWSVYJVIlUyVrJWolGCUMJYglhCWMJZAlgCWxA98AkwPAA6MDwwO1AMQDpgOYA6kDtAMeIsYDtQMpImEisQBlImQiICMhI/cASCKwABkitwAaIn8gsgCgJaAAAAAAAJYwB3csYQ7uulEJmRnEbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKXK0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdODVphsE8Coa2R6+WL97Mllik9cARTZbAZjYz0P+vUNCI3IIG47XhBpTORBYNVycWei0eQDPEfUBEv9hQ3Sa7UKpfqotTVsmLJC1sm720D5vKzjbNgydVzfRc8N1txZPdGrrDDZJjoA3lGAUdfIFmHQv7X0tCEjxLNWmZW6zw+lvbieuAIoCIgFX7LZDMYk6Quxh3xvLxFMaFirHWHBPS1mtpBB3HYGcdsBvCDSmCoQ1e+JhbFxH7W2BqXkv58z1LjooskHeDT5AA+OqAmWGJgO4bsNan8tPW0Il2xkkQFcY+b0UWtrYmFsHNgwZYVOAGLy7ZUGbHulARvB9AiCV8QP9cbZsGVQ6bcS6ri+i3yIufzfHd1iSS3aFfN804xlTNT7WGGyTc5RtTp0ALyj4jC71EGl30rXldg9bcTRpPv01tNq6WlD/NluNEaIZ63QuGDacy0EROUdAzNfTAqqyXwN3TxxBVCqQQInEBALvoYgDMkltWhXs4VvIAnUZrmf5GHODvneXpjJ2SkimNCwtKjXxxc9s1mBDbQuO1y9t61susAgg7jttrO/mgzitgOa0rF0OUfV6q930p0VJtsEgxbccxILY+OEO2SUPmptDahaanoLzw7knf8JkyeuAAqxngd9RJMP8NKjCIdo8gEe/sIGaV1XYvfLZ2WAcTZsGecGa252G9T+4CvTiVp62hDMSt1nb9+5+fnvvo5DvrcX1Y6wYOij1tZ+k9GhxMLYOFLy30/xZ7vRZ1e8pt0GtT9LNrJI2isN2EwbCq/2SgM2YHoEQcPvYN9V32eo745uMXm+aUaMs2HLGoNmvKDSbyU24mhSlXcMzANHC7u5FgIiLyYFVb47usUoC72yklq0KwRqs1yn/9fCMc/QtYue2Swdrt5bsMJkmybyY+yco2p1CpNtAqkGCZw/Ng7rhWcHchNXAAWCSr+VFHq44q4rsXs4G7YMm47Skg2+1eW379x8Id/bC9TS04ZC4tTx+LPdaG6D2h/NFr6BWya59uF3sG93R7cY5loIiHBqD//KOwZmXAsBEf+eZY9prmL40/9rYUXPbBZ44gqg7tIN11SDBE7CswM5YSZnp/cWYNBNR2lJ23duPkpq0a7cWtbZZgvfQPA72DdTrrypxZ673n/Pskfp/7UwHPK9vYrCusowk7NTpqO0JAU20LqTBtfNKVfeVL9n2SMuemazuEphxAIbaF2UK28qN74LtKGODMMb3wVaje8CLQAAAABBMRsZgmI2MsNTLSsExWxkRfR3fYanWlbHlkFPCIrZyEm7wtGK6O/6y9n04wxPtaxNfq61ji2Dns8cmIdREsJKECPZU9Nw9HiSQe9hVdeuLhTmtTfXtZgcloSDBVmYG4IYqQCb2/otsJrLNqldXXfmHGxs/98/QdSeDlrNoiSEleMVn4wgRrKnYXepvqbh6PHn0PPoJIPew2Wyxdqqrl1d659GRCjMa29p/XB2rmsxOe9aKiAsCQcLbTgcEvM2Rt+yB13GcVRw7TBla/T38yq7tsIxonWRHIk0oAeQ+7yfF7qNhA553qklOO+yPP9583O+SOhqfRvFQTwq3lgFT3nwRH5i6YctT8LGHFTbAYoVlEC7Do2D6COmwtk4vw3FoDhM9Lshj6eWCs6WjRMJAMxcSDHXRYti+m7KU+F3VF27uhVsoKPWP42Ilw6WkVCY194RqczH0vrh7JPL+vVc12JyHeZ5a961VECfhE9ZWBIOFhkjFQ/acDgkm0EjPadr/WXmWuZ8JQnLV2Q40E6jrpEB4p+KGCHMpzNg/bwqr+Ekre7QP7QtgxKfbLIJhqskSMnqFVPQKUZ++2h3ZeL2eT8vt0gkNnQbCR01KhIE8rxTS7ONSFJw3mV5Me9+YP7z5ue/wv3+fJHQ1T2gy8z6NoqDuweRmnhUvLE5ZaeoS5iDOwqpmCLJ+rUJiMuuEE9d718ObPRGzT/ZbYwOwnRDElrzAiNB6sFwbMGAQXfYR9c2lwbmLY7FtQClhIQbvBqKQXFbu1pomOh3Q9nZbFoeTy0VX342DJwtGyfdHAA+EgCYuVMxg6CQYq6L0VO1khbF9N1X9O/ElKfC79WW2fbpvAeuqI0ct2veMZwq7yqF7XlryqxIcNNvG134LipG4eE23magB8V/Y1ToVCJl803l87ICpMKpG2eRhDAmoJ8puK7F5Pmf3v06zPPWe/3oz7xrqYD9WrKZPgmfsn84hKuwJBws8RUHNTJGKh5zdzEHtOFwSPXQa1E2g0Z6d7JdY07X+ssP5uHSzLXM+Y2E1+BKEpavCyONtshwoJ2JQbuERl0jAwdsOBrEPxUxhQ4OKEKYT2cDqVR+wPp5VYHLYkwfxTiBXvQjmJ2nDrPclhWqGwBU5VoxT/yZYmLX2FN5zhdP4UlWfvpQlS3Xe9QczGITio0tUruWNJHoux/Q2aAG7PN+Xq3CZUdukUhsL6BTdeg2EjqpBwkjalQkCCtlPxHkeaeWpUi8j2YbkaQnKoq94LzL8qGN0Oti3v3AI+/m2b3hvBT80KcNP4OKJn6ykT+5JNBw+BXLaTtG5kJ6d/1btWtl3PRafsU3CVPudjhI97GuCbjwnxKhM8w/inL9JJMAAAAAN2rCAW7UhANZvkYC3KgJB+vCywayfI0EhRZPBbhREw6PO9EP1oWXDeHvVQxk+RoJU5PYCAotngo9R1wLcKMmHEfJ5B0ed6IfKR1gHqwLLxubYe0awt+rGPW1aRnI8jUS/5j3E6YmsRGRTHMQFFo8FSMw/hR6jrgWTeR6F+BGTTjXLI85jpLJO7n4Czo87kQ/C4SGPlI6wDxlUAI9WBdeNm99nDc2w9o1AakYNIS/VzGz1ZUw6mvTMt0BETOQ5Wskp4+pJf4x7yfJWy0mTE1iI3snoCIimeYgFfMkISi0eCof3rorRmD8KXEKPij0HHEtw3azLJrI9S6tojcvwI2acPfnWHGuWR5zmTPcchwlk3crT1F2cvEXdEWb1XV43Il+T7ZLfxYIDX0hYs98pHSAeZMeQnjKoAR6/crGe7AuvGyHRH5t3vo4b+mQ+m5shrVrW+x3agJSMWg1OPNpCH+vYj8VbWNmqythUcHpYNTXpmXjvWRkugMiZo1p4Gcgy9dIF6EVSU4fU0t5dZFK/GPeT8sJHE6St1pMpd2YTZiaxEav8AZH9k5ARcEkgkREMs1Bc1gPQCrmSUIdjItDUGjxVGcCM1U+vHVXCda3VozA+FO7qjpS4hR8UNV+vlHoOeJa31MgW4btZlmxh6RYNJHrXQP7KVxaRW9ebS+tX4AbNeG3cffg7s+x4tmlc+Ncszzma9n+5zJnuOUFDXrkOEom7w8g5O5WnqLsYfRg7eTiL+jTiO3pijar671caerwuBP9x9LR/J5sl/6pBlX/LBAa+ht62PtCxJ75da5c+EjpAPN/g8LyJj2E8BFXRvGUQQn0oyvL9fqVjffN/0/2YF142Vc3utgOifzaOeM+27z1cd6Ln7Pf0iH13eVLN9zYDGvX72ap1rbY79SBsi3VBKRi0DPOoNFqcObTXRok0hD+XsUnlJzEfiraxklAGMfMVlfC+zyVw6KC08GV6BHAqK9Ny5/Fj8rGe8nI8RELyXQHRMxDbYbNGtPAzy25As5Alq+Rd/xtkC5CK5IZKOmTnD6mlqtUZJfy6iKVxYDglPjHvJ/PrX6elhM4nKF5+p0kb7WYEwV3mUq7MZt90fOaMDWJjQdfS4xe4Q2OaYvPj+ydgIrb90KLgkkEibUjxoiIZJqDvw5YguawHoDR2tyBVMyThGOmUYU6GBeHDXLVhqDQ4qmXuiCozgRmqvlupKt8eOuuSxIprxKsb60lxq2sGIHxpy/rM6Z2VXWkQT+3pcQp+KDzQzqhqv18o52XvqLQc8S15xkGtL6nQLaJzYK3DNvNsjuxD7NiD0mxVWWLsGgi17tfSBW6BvZTuDGckbm0it68g+AcvdpeWr/tNJi+AAAAAGVnvLiLyAmq7q+1EleXYo8y8N433F9rJbk4153vKLTFik8IfWTgvW8BhwHXuL/WSt3YavIzd9/gVhBjWJ9XGVD6MKXoFJ8Q+nH4rELIwHvfrafHZ0MIcnUmb87NcH+tlRUYES37t6Q/ntAYhyfozxpCj3OirCDGsMlHegg+rzKgW8iOGLVnOwrQAIeyaThQLwxf7Jfi8FmFh5flPdGHhmW04DrdWk+Pzz8oM3eGEOTq43dYUg3Y7UBov1H4ofgr8MSfl0gqMCJaT1ee4vZvSX+TCPXHfadA1RjA/G1O0J81K7cjjcUYlp+gfyonGUf9unwgQQKSj/QQ9+hIqD1YFJtYP6gjtpAdMdP3oYlqz3YUD6jKrOEHf76EYMMG0nCgXrcXHOZZuKn0PN8VTIXnwtHggH5pDi/Le2tId8OiDw3Lx2ixcynHBGFMoLjZ9ZhvRJD/0/x+UGbuGzfaVk0nuQ4oQAW2xu+wpKOIDBwasNuBf9dnOZF40iv0H26TA/cmO2aQmoOIPy+R7ViTKVRgRLQxB/gM36hNHrrP8abs35L+ibguRmcXm1QCcCfsu0jwcd4vTMkwgPnbVedFY5ygP2v5x4PTF2g2wXIPinnLN13krlDhXED/VE4lmOj2c4iLrhbvNxb4QIIEnSc+vCQf6SFBeFWZr9fgi8qwXDM7tlntXtHlVbB+UEfVGez/bCE7YglGh9rn6TLIgo6OcNSe7Six+VGQX1bkgjoxWDqDCY+n5m4zHwjBhg1tpjq1pOFAvcGG/AUvKUkXSk71r/N2IjKWEZ6KeL4rmB3ZlyBLyfR4Lq5IwMAB/dKlZkFqHF6W93k5Kk+Xlp9d8vEj5QUZa01gftf1jtFi5+u23l9SjgnCN+m1etlGAGi8IbzQ6jHfiI9WYzBh+dYiBJ5qmr2mvQfYwQG/Nm60rVMJCBWaTnId/ynOpRGGe7d04ccPzdkQkqi+rCpGERk4I3algHVmxtgQAXpg/q7PcpvJc8oi8aRXR5YY76k5rf3MXhFFBu5NdmOJ8c6NJkTc6EH4ZFF5L/k0HpNB2rEmU7/WmuvpxvmzjKFFC2IO8BkHaUyhvlGbPNs2J4Q1mZKWUP4uLpm5VCb83uieEnFdjHcW4TTOLjapq0mKEUXmPwMggYO7dpHg4xP2XFv9WelJmD5V8SEGgmxEYT7Uqs6Lxs+pN344QX/WXSbDbrOJdnzW7srEb9YdWQqxoeHkHhTzgXmoS9dpyxOyDnerXKHCuTnGfgGA/qmc5ZkVJAs2oDZuURyOpxZmhsJx2j4s3m8sSbnTlPCBBAmV5rixe0kNox4usRtIPtJDLVlu+8P22+mmkWdRH6mwzHrODHSUYblm8QYF3gAAAAB3BzCW7g5hLJkJUboHbcQZcGr0j+ljpTWeZJWjDtuIMnncuKTg1ekel9LZiAm2TCt+sXy957gtB5C/HZEdtxBkarAg8vO5cUiEvkHeGtrUfW3d5Ov01LVRg9OFxxNsmFZka6jA/WL5eoplyewUAVxPYwZs2foPPWONCA31O24gyExpEF7VYEHkomdxcjwD5NFLBNRH0g2F/aUKtWs1taj6QrKYbNu7ydasvPlAMths40XfXHXc1g3Pq9E9WSbZMKxR3gA6yNdRgL/QYRYhtPS1VrPEI8+6lZm4vaUPKAK4nl8FiAjGDNmysQvpJC9vfIdYaEwRwWEdq7ZmLT123EGQAdtxBpjSILzv1RAqcbGFiQa2tR+fv+Sl6LjUM3gHyaIPAPk0lgmojuEOmBh/ag27CG09LZFkbJfmY1wBa2tR9BxsYWKFZTDY8mIATmwGle0bAaV7ggj0wfUPxFdlsNnGErfpUIu+uOr8uYh8Yt0d3xXaLUmM03zz+9RMZU2yYVg6tVHOo7wAdNS7MOJK36VBPdiV16TRxG3T1vT7Q2npajRu2fytZ4hG2mC40EQELXMzAx3lqgpMX90NfMlQBXE8JwJBqr4LEBDJDCCGV2i1JSBvhbO5ZtQJzmHkn17e+Q4p2cmYsNCYIsfXqLRZsz0XLrQNgbe9XDvAumyt7biDIJq/s7YDtuIMdLHSmurVRzmd0nevBNsmFXPcFoPjYwsSlGQ7hA1taj56alqo5A7PC5MJ/50KAK4nfQeesfAPk0SHCKPSHgHyaGkGwv73YlddgGVnyxlsNnFuawbn/tQbdonTK+AQ2npaZ91KzPm532+Ovu/5F7e+Q2CwjtXW1qPoodGTfjjYwsRP3/JS0btn8aa8V2c/tQbdSLI2S9gNK9qvChtMNgNK9kEEemDfYO/DqGffVTFuju9Gab55y2GzjLxmgxolb9KgUmjiNswMd5W7C0cDIgIWuVUFJi/Fuju+sr0LKCu0WpJcs2oEwtf/p7XQzzEs2Z6LW96uHZtkwrDsY/ImdWqjnAJtkwqcCQap6w42P3IHZ4UFAFcTlb9KguK4ehR7sSuuDLYbOJLSjpvl1b4NfNzvtwvb3yGG09LU8dTiQmjds/gf2oNugb4Wzfa5JltvsHfhGLdHd4gIWub/D2pwZgY7yhEBC1yPZZ7/+GKuaWFr/9MWbM9FoArieNcN0u5OBINUOQOzwqdnJmHQYBb3SWlHTT5ud9uu0WpK2dZa3EDfC2Y32DvwqbyuU967nsVHss9/MLX/6b298hzKusKKU7OTMCS0o6a60DYFzdcGk1TeVykj2We/s2Z6LsRhSrhdaBsCKm8rlLQLvjfDDI6hWgXfGy0C740AAAAAGRsxQTI2YoIrLVPDZGzFBH139EVWWqeGT0GWx8jZigjRwrtJ+u/oiuP02custU8Mta5+TZ6DLY6HmBzPSsISUVPZIxB49HDTYe9Bki6u11U3teYUHJi11wWDhJaCG5hZmwCpGLAt+tupNsua5nddXf9sbBzUQT/fzVoOnpWEJKKMnxXjp7JGIL6pd2Hx6OGm6PPQ58PegyTaxbJlXV2uqkRGn+tva8wodnD9aTkxa64gKlrvCwcJLBIcOG3fRjbzxl0Hsu1wVHH0a2Uwuyrz96IxwraJHJF1kAegNBefvPsOhI26JaneeTyy7zhz83n/auhIvkHFG31Y3io88HlPBelifkTCTy2H21QcxpQVigGNDrtApiPog7842cI4oMUNIbv0TAqWp48TjZbOXMwACUXXMUhu+mKLd+FTyrq7XVSjoGwViI0/1pGWDpfe15hQx8ypEezh+tL1+suTcmLXXGt55h1AVLXeWU+EnxYOElgPFSMZJDhw2j0jQZtl/WunfOZa5lfLCSVO0DhkAZGuoxiKn+Izp8whKrz9YK0k4a+0P9DunxKDLYYJsmzJSCSr0FMV6vt+RiniZXdoLz959jYkSLcdCRt0BBIqNUtTvPJSSI2zeWXecGB+7zHn5vP+/v3Cv9XQkXzMy6A9g4o2+pqRB7uxvFR4qKdlOTuDmEsimKkKCbX6yRCuy4hf711PRvRsDm3ZP810wg6M81oSQ+pBIwLBbHDB2HdBgJc210eOLeYGpQC1xbwbhIRxQYoaaFq7W0N36JhabNnZFS1PHgw2fl8nGy2cPgAc3bmYABKggzFTi65ikJK1U9Hd9MUWxO/0V+/Cp5T22ZbVrge86bccjaicMd5rhSrvKspree3TcEis+F0bb+FGKi5m3jbhf8UHoFToVGNN82UiArLz5RupwqQwhJFnKZ+gJuTFrrj93p/51vPMOs/o/XuAqWu8mbJa/bKfCT6rhDh/LBwksDUHFfEeKkYyBzF3c0hw4bRRa9D1ekaDNmNdsnfL+tdO0uHmD/nMtczg14SNr5YSSraNIwudoHDIhLtBiQMjXUYaOGwHMRU/xCgODoVnT5hCflSpA1V5+sBMYsuBgTjFH5gj9F6zDqedqhWW3OVUABv8TzFa12Jimc55U9hJ4U8XUPp+VnvXLZVizBzULY2KEzSWu1Ifu+iRBqDZ0F5+8+xHZcKtbEiRbnVToC86EjboIwkHqQgkVGoRP2Urlqd55I+8SKWkkRtmvYoqJ/LLvODr0I2hwP3eYtnm7yMUvOG9DafQ/CaKgz8/kbJ+cNAkuWnLFfhC5kY7W/13etxla7XFflr07lMJN/dIOHa4Ca6xoRKf8Io/zDOTJP1yAAAAAAHCajcDhNRuAka+WQcJqNwGy8LrBI18sgVPFoUOE1G4D9E7jw2XhdYMVe/hCRr5ZAjYk1MKni0KC1xHPRwmo3Ad5MlHH6J3Hh5gHSkbLwusGu1hmxir38IZabX1EjXyyBP3mP8RsSamEHNMkRU8WhQU/jAjFriOehd65E04TUbgOY8s1zvJko46C/i5P0TuPD6GhAs8wDpSPQJQZTZeF1g3nH1vNdrDNjQYqQExV7+EMJXVszLTa+ozEQHdJGvlkCWpj6cn7zH+Ji1bySNiTUwioCd7IOaZIiEk8xUqeLQoK7reHyn8YEYoPgpxLXEc9CyzdsMu9ciaLzeirXCajcBxWOf3cx5ZrnLcM5l3kyUcdlFPK3QX8XJ11ZtFfonceH9Ltk99DQgWfM9iIXmAdKR4Qh6TegSgynvGyv1svC6wbX5Eh284+t5u+pDpa7WGbGp37FtoMVICafM4NWKvfwhjbRU/YSurZmDpwVFlptfUZGS942YiA7pn4GmNSNfLIEkVoRdLUx9OSpF1eU/eY/xOHAnLTFq3kk2Y3aVGxJqYRwbwr0VATvZEgiTBQc0yREAPWHNCSeYqQ4uMHVTxaFBVMwJnV3W8Pla31glT+MCMUjqqu1B8FOJRvn7VWuI56FsgU99ZZu2GWKSHsV3rkTRcKfsDXm9FWl+tL23hNRuA4Pdxt+Kxz+7jc6XZ5jyzXOf+2WvluGcy5HoNBe8mSjju5CAP7KKeVu1g9GHoL+Lk6e2I0+urNorqaVy9/RO48PzR0sf+l2ye/1UGqfoaECz72Hob+Z7EQvhcrnXzAOlI8sKDf/CEPSbxRlcR9AlBlPXLK6P3jZX69k//zdl4XWDYujdX2vyJDts+4znecfW837Ofi931IdLcN0vl12sM2NapZu/U79i21S2ygdBipATRoM4z0+ZwatIkGl3FXv4QxJyUJ8baKn7HGEBJwldWzMOVPPvB04KiwBHolctNr6jKj8WfyMl7xskLEfHMRAd0zYZtQ8/A0xrOArktka+WQJBt/HeSK0Iuk+koGZamPpyXZFSrlSLq8pTggMWfvMf4nn6tz5w4E5ad+nmhmLVvJJl3BRObMbtKmvPRfY2JNTCMS18Hjg3hXo/Pi2mKgJ3si0L324kESYKIxiO1g5pkiIJYDr+AHrDmgdza0YSTzFSFUaZjhxcYOobVcg2p4tCgqCC6l6pmBM6rpG75rut4fK8pEkutb6wSrK3GJafxgRimM+svpHVVdqW3P0Gg+CnEoTpD86N8/aqivpedtcRz0LQGGee2QKe+t4LNibLN2wyzD7E7sUkPYrCLZVW71yJouhVIX7hT9ga5kZwxvN6KtL0c4IO/Wl7avpg07QAAAAC4vGdlqgnIixK1r+6PYpdXN97wMiVrX9yd1zi5xbQo730IT4pvveBk1wGHAUrWv7jyatjd4N93M1hjEFZQGVef6KUw+voQnxRCrPhx33vAyGfHp611cghDzc5vJpWtf3AtERgVP6S3+4cY0J4az+gnonOPQrDGIKwIekfJoDKvPhiOyFsKO2e1socA0C9QOGmX7F8MhVnw4j3ll4dlhofR3TrgtM+PT1p3Myg/6uQQhlJYd+NA7dgN+FG/aPAr+KFIl5/EWiIwKuKeV09/SW/2x/UIk9VAp31t/MAYNZ/QTo0jtyuflhjFJyp/oLr9RxkCQSB8EPSPkqhI6PebFFg9I6g/WDEdkLaJoffTFHbPaqzKqA++fwfhBsNghF6gcNLmHBe39Km4WUwV3zzRwueFaX6A4HvLLw7Dd0hryw0PonOxaMdhBMcp2bigTERvmPX80/+Q7mZQflbaNxsOuSdNtgVAKKSw78YcDIijgduwGjln138r0niRk24f9Dsm9wODmpBmkS8/iCmTWO20RGBUDPgHMR5NqN+m8c+6/pLf7EYuuIlUmxdn7CdwAnHwSLvJTC/e2/mAMGNF51VrP6Cc04PH+cE2aBd5ig9y5F03y1zhUK5OVP9A9uiYJa6LiHMWN+8WBIJA+Lw+J50h6R8kmVV4QYvg168zXLDK7Vm2O1Xl0V5HUH6w/+wZ1WI7IWzah0YJyDLp53COjoIo7Z7UkFH5sYLkVl86WDE6p48Jgx8zbuYNhsEItTqmbb1A4aQF/IbBF0kpL6/1TkoyInbzip4Rlpgrvnggl9kdePTJS8BIri7S/QHAakFmpfeWXhxPKjl5XZ+Wl+Uj8fJNaxkF9dd+YOdi0Y5f3rbrwgmOUnq16TdoAEbZ0LwhvIjfMeowY1aPItb5YZpqngQHvaa9vwHB2K20bjYVCAlTHXJOmqXOKf+3e4YRD8fhdJIQ2c0qrL6oOBkRRoCldiPYxmZ1YHoBEHLPrv7Kc8mbV6TxIu8Ylkf9rTmpRRFezHZN7gbO8Ylj3EQmjWT4Qej5L3lRQZMeNFMmsdrrmta/s/nG6QtFoYwZ8A5ioUxpBzybUb6EJzbblpKZNS4u/lAmVLmZnuje/IxdcRI04RZ3qTYuzhGKSasDP+ZFu4OBIOPgkXZbXPYTSelZ/fFVPphsggYh1D5hRMaLzqp+N6nP1n9BOG7DJl18domzxMru1lkd1m/hobEK8xQe5EuoeYETy2nXq3cOsrnCoVwBfsY5nKn+gCQVmeU2oDYLjhxRboZmFqc+2nHCLG/eLJTTuUkJBIHwsbjmlaMNSXsbsS4eQ9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvEAQfDYAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQeDZAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdjaAAttBAAAAAQABAAIAAQABQAAAAQABAAIAAQABgAAAAQABgAgACAABgAAAAQABAAQABAABwAAAAgAEAAgACAABwAAAAgAEACAAIAABwAAAAgAIACAAAABCAAAACAAgAACAQAECAAAACAAAgECAQAQCABB0NsAC/cJDAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJ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IGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAEHAmAELdRYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAABwUFAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQBB5JoBCwJQUABBoJsBCxD/////////////////////";to(Di)||(Di=b(Di));function Qs(Be){try{if(Be==Di&&he)return new Uint8Array(he);var xe=Zn(Be);if(xe)return xe;if(R)return R(Be);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(Je){ki(Je)}}function ro(Be,xe){var Je,vt,tr;try{tr=Qs(Be),vt=new WebAssembly.Module(tr),Je=new WebAssembly.Instance(vt,xe)}catch(Tn){var Zr=Tn.toString();throw re("failed to compile wasm module: "+Zr),(Zr.includes("imported Memory")||Zr.includes("memory import"))&&re("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Tn}return[Je,vt]}function uc(){var Be={a:La};function xe(tr,Zr){var Tn=tr.exports;r.asm=Tn,le=r.asm.g,z(le.buffer),$=r.asm.$,tn(r.asm.h),bs("wasm-instantiate")}if(Hn("wasm-instantiate"),r.instantiateWasm)try{var Je=r.instantiateWasm(Be,xe);return Je}catch(tr){return re("Module.instantiateWasm callback failed with error: "+tr),!1}var vt=ro(Di,Be);return xe(vt[0]),r.asm}function hu(Be){return F.getFloat32(Be,!0)}function op(Be){return F.getFloat64(Be,!0)}function ap(Be){return F.getInt16(Be,!0)}function ks(Be){return F.getInt32(Be,!0)}function Cn(Be,xe){F.setInt32(Be,xe,!0)}function no(Be){for(;Be.length>0;){var xe=Be.shift();if(typeof xe=="function"){xe(r);continue}var Je=xe.func;typeof Je=="number"?xe.arg===void 0?$.get(Je)():$.get(Je)(xe.arg):Je(xe.arg===void 0?null:xe.arg)}}function Fs(Be,xe){var Je=new Date(ks((Be>>2)*4)*1e3);Cn((xe>>2)*4,Je.getUTCSeconds()),Cn((xe+4>>2)*4,Je.getUTCMinutes()),Cn((xe+8>>2)*4,Je.getUTCHours()),Cn((xe+12>>2)*4,Je.getUTCDate()),Cn((xe+16>>2)*4,Je.getUTCMonth()),Cn((xe+20>>2)*4,Je.getUTCFullYear()-1900),Cn((xe+24>>2)*4,Je.getUTCDay()),Cn((xe+36>>2)*4,0),Cn((xe+32>>2)*4,0);var vt=Date.UTC(Je.getUTCFullYear(),0,1,0,0,0,0),tr=(Je.getTime()-vt)/(1e3*60*60*24)|0;return Cn((xe+28>>2)*4,tr),Fs.GMTString||(Fs.GMTString=yt("GMT")),Cn((xe+40>>2)*4,Fs.GMTString),xe}function dl(Be,xe){return Fs(Be,xe)}function ml(Be,xe,Je){je.copyWithin(Be,xe,xe+Je)}function io(Be){try{return le.grow(Be-Qe.byteLength+65535>>>16),z(le.buffer),1}catch{}}function _e(Be){var xe=je.length;Be=Be>>>0;var Je=2147483648;if(Be>Je)return!1;for(var vt=1;vt<=4;vt*=2){var tr=xe*(1+.2/vt);tr=Math.min(tr,Be+100663296);var Zr=Math.min(Je,Te(Math.max(Be,tr),65536)),Tn=io(Zr);if(Tn)return!0}return!1}function Fn(Be){pe(Be)}function Fi(Be){var xe=Date.now()/1e3|0;return Be&&Cn((Be>>2)*4,xe),xe}function Rn(){if(Rn.called)return;Rn.called=!0;var Be=new Date().getFullYear(),xe=new Date(Be,0,1),Je=new Date(Be,6,1),vt=xe.getTimezoneOffset(),tr=Je.getTimezoneOffset(),Zr=Math.max(vt,tr);Cn((mi()>>2)*4,Zr*60),Cn((es()>>2)*4,Number(vt!=tr));function Tn(Ua){var oa=Ua.toTimeString().match(/\(([A-Za-z ]+)\)$/);return oa?oa[1]:"GMT"}var _r=Tn(xe),$n=Tn(Je),Ti=yt(_r),Yn=yt($n);tr<vt?(Cn(($i()>>2)*4,Ti),Cn(($i()+4>>2)*4,Yn)):(Cn(($i()>>2)*4,Yn),Cn(($i()+4>>2)*4,Ti))}function Ui(Be){Rn();var xe=Date.UTC(ks((Be+20>>2)*4)+1900,ks((Be+16>>2)*4),ks((Be+12>>2)*4),ks((Be+8>>2)*4),ks((Be+4>>2)*4),ks((Be>>2)*4),0),Je=new Date(xe);Cn((Be+24>>2)*4,Je.getUTCDay());var vt=Date.UTC(Je.getUTCFullYear(),0,1,0,0,0,0),tr=(Je.getTime()-vt)/(1e3*60*60*24)|0;return Cn((Be+28>>2)*4,tr),Je.getTime()/1e3|0}var Zt=typeof atob=="function"?atob:function(Be){var xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Je="",vt,tr,Zr,Tn,_r,$n,Ti,Yn=0;Be=Be.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Tn=xe.indexOf(Be.charAt(Yn++)),_r=xe.indexOf(Be.charAt(Yn++)),$n=xe.indexOf(Be.charAt(Yn++)),Ti=xe.indexOf(Be.charAt(Yn++)),vt=Tn<<2|_r>>4,tr=(_r&15)<<4|$n>>2,Zr=($n&3)<<6|Ti,Je=Je+String.fromCharCode(vt),$n!==64&&(Je=Je+String.fromCharCode(tr)),Ti!==64&&(Je=Je+String.fromCharCode(Zr));while(Yn<Be.length);return Je};function Ri(Be){if(typeof w=="boolean"&&w){var xe;try{xe=Buffer.from(Be,"base64")}catch{xe=new Buffer(Be,"base64")}return new Uint8Array(xe.buffer,xe.byteOffset,xe.byteLength)}try{for(var Je=Zt(Be),vt=new Uint8Array(Je.length),tr=0;tr<Je.length;++tr)vt[tr]=Je.charCodeAt(tr);return vt}catch{throw new Error("Converting base64 string to bytes failed.")}}function Zn(Be){if(!!to(Be))return Ri(Be.slice(gs.length))}var La={e:dl,c:ml,d:_e,a:Fn,b:Fi,f:Ui},$t=uc(),Ac=r.___wasm_call_ctors=$t.h,gu=r._zip_ext_count_symlinks=$t.i,fc=r._zip_file_get_external_attributes=$t.j,yl=r._zipstruct_stat=$t.k,DA=r._zipstruct_statS=$t.l,du=r._zipstruct_stat_name=$t.m,Ce=r._zipstruct_stat_index=$t.n,Rt=r._zipstruct_stat_size=$t.o,pc=r._zipstruct_stat_mtime=$t.p,_i=r._zipstruct_stat_crc=$t.q,mu=r._zipstruct_error=$t.r,qt=r._zipstruct_errorS=$t.s,El=r._zipstruct_error_code_zip=$t.t,SA=r._zipstruct_stat_comp_size=$t.u,lp=r._zipstruct_stat_comp_method=$t.v,hc=r._zip_close=$t.w,PA=r._zip_delete=$t.x,Dn=r._zip_dir_add=$t.y,ui=r._zip_discard=$t.z,gc=r._zip_error_init_with_code=$t.A,xA=r._zip_get_error=$t.B,ta=r._zip_file_get_error=$t.C,Hi=r._zip_error_strerror=$t.D,Lo=r._zip_fclose=$t.E,$e=r._zip_file_add=$t.F,so=r._free=$t.G,Cl=r._malloc=$t.H,yu=r._zip_source_error=$t.I,qi=r._zip_source_seek=$t.J,Eu=r._zip_file_set_external_attributes=$t.K,bA=r._zip_file_set_mtime=$t.L,Oa=r._zip_fopen=$t.M,dc=r._zip_fopen_index=$t.N,ds=r._zip_fread=$t.O,Ot=r._zip_get_name=$t.P,Sn=r._zip_get_num_entries=$t.Q,di=r._zip_source_read=$t.R,ra=r._zip_name_locate=$t.S,oo=r._zip_open_from_source=$t.T,Rs=r._zip_set_file_compression=$t.U,na=r._zip_source_buffer=$t.V,ia=r._zip_source_buffer_create=$t.W,Oo=r._zip_source_close=$t.X,Zi=r._zip_source_free=$t.Y,Ts=r._zip_source_keep=$t.Z,Ns=r._zip_source_open=$t._,Ls=r._zip_source_set_mtime=$t.aa,ao=r._zip_source_tell=$t.ba,Wn=r._zip_stat=$t.ca,qn=r._zip_stat_index=$t.da,$i=r.__get_tzname=$t.ea,es=r.__get_daylight=$t.fa,mi=r.__get_timezone=$t.ga,Ma=r.stackSave=$t.ha,sa=r.stackRestore=$t.ia,ee=r.stackAlloc=$t.ja;r.cwrap=ne,r.getValue=ge;var we;jr=function Be(){we||qe(),we||(jr=Be)};function qe(Be){if(Be=Be||A,fr>0||(ht(),fr>0))return;function xe(){we||(we=!0,r.calledRun=!0,!Pe&&(Ut(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),Xt()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),xe()},1)):xe()}if(r.run=qe,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return qe(),e}}();typeof hD=="object"&&typeof tT=="object"?tT.exports=eT:typeof define=="function"&&define.amd?define([],function(){return eT}):typeof hD=="object"&&(hD.createModule=eT)});var df,qW,jW,GW=dt(()=>{df=["number","number"],qW=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(qW||{}),jW=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:qW,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...df,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...df,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...df,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...df,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...df,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...df,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...df,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...df,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...df,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function rT(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==V.sep);){if(t[r-1]===V.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==V.sep?null:t.slice(0,o)}var Ll,WW=dt(()=>{bt();bt();Oc();Ll=class extends Mp{static async openPromise(e,r){let o=new Ll(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>rT(A,".zip"):A=>{for(let p of r){let h=rT(A,p);if(h)return h}return null},n=(A,p)=>new os(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new os(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function m8e(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(YW.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function gD(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var qo,nT,YW,iT,oy,dD,os,sT=dt(()=>{bt();bt();bt();bt();bt();bt();qo=Ie("fs"),nT=Ie("stream"),YW=Ie("util"),iT=tt(Ie("zlib"));$R();oy="mixed";dD=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},os=class extends Hu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:oy,r??(r=gD()),typeof r=="string"){let{baseFs:A=new xn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Nl.makeDefaultStats();else throw A}else this.stats=Nl.makeDefaultStats();this.libzip=NI();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?gD():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(wt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;A<u;++A){let p=this.libzip.getName(this.zip,A,0);if(V.isAbsolute(p))continue;let h=V.resolve(wt.root,p);this.registerEntry(h,A),p.endsWith("/")&&this.registerListing(h)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(r){let o=this.libzip.struct.errorCodeZip(r),a=this.libzip.error.strerror(r),n=new dD(a,this.libzip.errors[o]);if(o===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${n.message}`);return n}getExtractHint(r){for(let o of this.entries.keys()){let a=this.pathUtils.extname(o);if(r.relevantExtensions.has(a))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error("ZipFS don't have real paths when loaded from a buffer");return this.path}prepareClose(){if(!this.ready)throw sr.EBUSY("archive closed, close");Fg(this)}getBufferAndClose(){if(this.prepareClose(),this.entries.size===0)return this.discardAndClose(),gD();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.source.tell(this.lzSource);if(r===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let o=this.libzip.malloc(r);if(!o)throw new Error("Couldn't allocate enough memory");try{let a=this.libzip.source.read(this.lzSource,o,r);if(a===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(a<r)throw new Error("Incomplete read");if(a>r)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(o,o+r);return Buffer.from(n)}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Nl.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return V.resolve(wt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return oD(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw sr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let C=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=C),C}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?sr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw sr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new nT.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new nT.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw sr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=V.resolve(wt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=qo.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`access '${r}'`);if(this.readOnly&&o&qo.constants.W_OK)throw sr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw sr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw sr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw sr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,C=this.libzip.struct.statSize(u)>>>0,w=512,v=Math.ceil(C/w),b=(this.libzip.struct.statMtime(u)>>>0)*1e3,E=b,R=b,L=b,_=new Date(E),J=new Date(R),re=new Date(L),oe=new Date(b),pe=this.listings.has(o)?qo.constants.S_IFDIR:this.isSymbolicLink(n)?qo.constants.S_IFLNK:qo.constants.S_IFREG,he=pe===qo.constants.S_IFDIR?493:420,ve=pe|this.getUnixMode(n,he)&511,ge=this.libzip.struct.statCrc(u),le=Object.assign(new Nl.StatEntry,{uid:p,gid:h,size:C,blksize:w,blocks:v,atime:_,birthtime:J,ctime:re,mtime:oe,atimeMs:E,birthtimeMs:R,ctimeMs:L,mtimeMs:b,mode:ve,crc:ge});return a.bigint===!0?Nl.convertToBigIntStats(le):le}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,C=0,w=this.stats.mtimeMs,v=this.stats.mtimeMs,b=this.stats.mtimeMs,E=this.stats.mtimeMs,R=new Date(w),L=new Date(v),_=new Date(b),J=new Date(E),re=qo.constants.S_IFDIR|493,oe=0,pe=Object.assign(new Nl.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:C,atime:R,birthtime:L,ctime:_,mtime:J,atimeMs:w,birthtimeMs:v,ctimeMs:b,mtimeMs:E,mode:re,crc:oe});return a.bigint===!0?Nl.convertToBigIntStats(pe):pe}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(V.dirname(r)).add(V.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(V.dirname(r)).add(V.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r);let o=this.listings.get(V.dirname(r));o==null||o.delete(V.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw sr.EBUSY(`archive closed, ${r}`);let u=V.resolve(wt.root,o);if(u==="/")return wt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,V.resolve(V.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,V.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),C=this.entries.has(p);if(!h&&!C){if(n===!1)return;throw sr.ENOENT(r)}if(!h)throw sr.ENOTDIR(r);if(u=V.resolve(p,V.basename(u)),!a||this.symlinkCount===0)break;let w=this.libzip.name.locate(this.zip,u.slice(1),0);if(w===-1)break;if(this.isSymbolicLink(w)){let v=this.getFileSource(w).toString();u=V.resolve(V.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=V.relative(wt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&qo.constants.S_IFMT)===qo.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let C=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(C===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let w=this.libzip.fread(C,h,A,0);if(w===-1)throw this.makeLibzipError(this.libzip.file.getError(C));if(w<A)throw new Error("Incomplete read");if(w>A)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),b=Buffer.from(v);if(p===0)return this.fileSources.set(r,b),b;if(o.asyncDecompress)return new Promise((E,R)=>{iT.default.inflateRaw(b,(L,_)=>{L?R(L):(this.fileSources.set(r,_),E(_))})});{let E=iT.default.inflateRawSync(b);return this.fileSources.set(r,E),E}}finally{this.libzip.fclose(C)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw sr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,qo.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw sr.EROFS(`copyfile '${r} -> '${o}'`);if((a&qo.constants.COPYFILE_FICLONE_FORCE)!==0)throw sr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw sr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(qo.constants.COPYFILE_EXCL|qo.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw sr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){var n;let a=(n=this.fds.get(r))==null?void 0:n.p;if(typeof a>"u")throw sr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw sr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw sr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw sr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw sr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw sr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,m8e(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw sr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw sr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,V.relative(wt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw sr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw sr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw sr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw sr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(qo.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw sr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`scandir '${r}'`);let u=[...n];return o!=null&&o.withFileTypes?u.map(A=>Object.assign(this.statImpl("lstat",V.join(r,A)),{name:A})):u}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw sr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw sr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=V.resolve(wt.root,r);return ey(this,n,o,a)}unwatchFile(r,o){let a=V.resolve(wt.root,r);return kg(this,a,o)}}});function JW(t,e,r=Buffer.alloc(0),o){let a=new os(r),n=w=>w===e||w.startsWith(`${e}/`)?w.slice(0,e.length):null,u=async(w,v)=>()=>a,A=(w,v)=>a,p={...t},h=new xn(p),C=new Mp({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o==null?void 0:o.typeCheck});return RI(KW.default,new Up(C)),a}var KW,VW=dt(()=>{bt();KW=tt(Ie("fs"));sT()});var zW=dt(()=>{WW();sT();VW()});var LI={};Yt(LI,{DEFAULT_COMPRESSION_LEVEL:()=>oy,LibzipError:()=>dD,ZipFS:()=>os,ZipOpenFS:()=>Ll,getArchivePart:()=>rT,getLibzipPromise:()=>E8e,getLibzipSync:()=>y8e,makeEmptyArchive:()=>gD,mountMemoryDrive:()=>JW});function y8e(){return NI()}async function E8e(){return NI()}var XW,Oc=dt(()=>{$R();XW=tt(HW());GW();zW();_W(()=>{let t=(0,XW.default)();return jW(t)})});var $W=U((VPt,ZW)=>{"use strict";function C8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Og(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Og)}C8e(Og,Error);Og.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function I8e(t,e){e=e!==void 0?e:{};var r={},o={Start:ag},a=ag,n=function(N){return N||[]},u=function(N,K,te){return[{command:N,type:K}].concat(te||[])},A=function(N,K){return[{command:N,type:K||";"}]},p=function(N){return N},h=";",C=yr(";",!1),w="&",v=yr("&",!1),b=function(N,K){return K?{chain:N,then:K}:{chain:N}},E=function(N,K){return{type:N,line:K}},R="&&",L=yr("&&",!1),_="||",J=yr("||",!1),re=function(N,K){return K?{...N,then:K}:N},oe=function(N,K){return{type:N,chain:K}},pe="|&",he=yr("|&",!1),ve="|",ge=yr("|",!1),le="=",Pe=yr("=",!1),g=function(N,K){return{name:N,args:[K]}},De=function(N){return{name:N,args:[]}},Ee="(",de=yr("(",!1),ne=")",Z=yr(")",!1),me=function(N,K){return{type:"subshell",subshell:N,args:K}},be="{",ut=yr("{",!1),H="}",yt=yr("}",!1),Me=function(N,K){return{type:"group",group:N,args:K}},Te=function(N,K){return{type:"command",args:K,envs:N}},Qe=function(N){return{type:"envs",envs:N}},Ue=function(N){return N},je=function(N){return N},At=/^[0-9]/,Le=ys([["0","9"]],!1,!1),x=function(N,K,te){return{type:"redirection",subtype:K,fd:N!==null?parseInt(N):null,args:[te]}},I=">>",P=yr(">>",!1),y=">&",F=yr(">&",!1),z=">",X=yr(">",!1),$="<<<",ie=yr("<<<",!1),ke="<&",Ne=yr("<&",!1),st="<",ht=yr("<",!1),Ut=function(N){return{type:"argument",segments:[].concat(...N)}},Xt=function(N){return N},Pt="$'",tn=yr("$'",!1),Dr="'",fr=yr("'",!1),Br=function(N){return[{type:"text",text:N}]},jr='""',Hn=yr('""',!1),bs=function(){return{type:"text",text:""}},ki='"',gs=yr('"',!1),to=function(N){return N},Di=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},Qs=function(N){return{type:"shell",shell:N,quoted:!0}},ro=function(N){return{type:"variable",...N,quoted:!0}},uc=function(N){return{type:"text",text:N}},hu=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},op=function(N){return{type:"shell",shell:N,quoted:!1}},ap=function(N){return{type:"variable",...N,quoted:!1}},ks=function(N){return{type:"glob",pattern:N}},Cn=/^[^']/,no=ys(["'"],!0,!1),Fs=function(N){return N.join("")},dl=/^[^$"]/,ml=ys(["$",'"'],!0,!1),io=`\\ 9`)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},qu=class extends gf{constructor(){super(z)}}});var vs,df=dt(()=>{Og();vs=class extends gf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var ju,M7=dt(()=>{df();ju=class extends vs{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});var U7,xn,Mg=dt(()=>{U7=tt(Ie("fs"));Og();Ca();xn=class extends qu{constructor(r=U7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return wt.root}resolve(r){return z.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(ue.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(ue.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0}))}opendirSync(r,o){let a=typeof o<"u"?this.realFs.opendirSync(ue.fromPortablePath(r),o):this.realFs.opendirSync(ue.fromPortablePath(r));return Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0})}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,E)=>{h?p(h):A(E)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(ue.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}realpathSync(r){return ue.toPortablePath(this.realFs.realpathSync(ue.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(ue.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(ue.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(ue.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(ue.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(ue.fromPortablePath(r),o):this.realFs.statSync(ue.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(ue.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(ue.fromPortablePath(r),o):this.realFs.lstatSync(ue.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(ue.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(ue.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(ue.fromPortablePath(r),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(ue.fromPortablePath(r),ue.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(ue.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(ue.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(ue.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(ue.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(ue.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(ue.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?ue.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?ue.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o!=null&&o.withFileTypes?this.realFs.readdir(ue.fromPortablePath(r),{withFileTypes:!0},this.makeCallback(a,n)):this.realFs.readdir(ue.fromPortablePath(r),this.makeCallback(u=>a(u),n))})}readdirSync(r,o){return o!=null&&o.withFileTypes?this.realFs.readdirSync(ue.fromPortablePath(r),{withFileTypes:!0}):this.realFs.readdirSync(ue.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(ue.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}readlinkSync(r){return ue.toPortablePath(this.realFs.readlinkSync(ue.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(ue.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(ue.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(ue.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(ue.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var An,_7=dt(()=>{Mg();df();Ca();An=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(z);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?z.normalize(r):this.baseFs.resolve(z.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var H7,Gu,q7=dt(()=>{Mg();df();Ca();H7=wt.root,Gu=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(z);this.target=this.pathUtils.resolve(wt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(wt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(H7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(H7,this.pathUtils.relative(this.target,r))}}});var oy,j7=dt(()=>{df();oy=class extends vs{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var Ug,Ea,Up,G7=dt(()=>{Ug=Ie("fs");Og();Mg();UR();cD();Ca();Ea=4278190080,Up=class extends qu{constructor({baseFs:r=new xn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=Ug.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:w}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=E,this.factorySync=w,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){var r;if(Ng(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.saveAndClose)==null||r.call(a),this.mountInstances.delete(o)}discardAndClose(){var r;if(Ng(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.discardAndClose)==null||r.call(a),this.mountInstances.delete(o)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&Ea)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&Ea)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&Ea)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Eo("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&Ea)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Eo("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=ue.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Eo("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Eo("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&Ug.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Ug.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&Ug.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Ug.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>sy(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>Tg(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&Ug.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(wt.root,r.substring(o.length))}}}limitOpenFiles(r){var u,A,p;if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[h,{childFs:E,expiresAt:w,refCount:v}]of this.mountInstances.entries())if(!(v!==0||((u=E.hasOpenFileHandles)==null?void 0:u.call(E)))){if(o>=w){(A=E.saveAndClose)==null||A.call(E),this.mountInstances.delete(h),n-=1;continue}else if(r===null||n<=0){a=w;break}(p=E.saveAndClose)==null||p.call(E),this.mountInstances.delete(h),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);if(!n){let u=await this.factoryPromise(this.baseFs,r);n=this.mountInstances.get(r),n||(n={childFs:u(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await o(n.childFs)}finally{n.refCount-=1}}else{let n=(await this.factoryPromise(this.baseFs,r))();try{return await o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}getMountSync(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);return n||(n={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,o(n.childFs)}else{let n=this.factorySync(this.baseFs,r);try{return o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}}});var zt,_R,NI,W7=dt(()=>{Og();Ca();zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),_R=class extends gf{constructor(){super(z)}getExtractHint(){throw zt()}getRealPath(){throw zt()}resolve(){throw zt()}async openPromise(){throw zt()}openSync(){throw zt()}async opendirPromise(){throw zt()}opendirSync(){throw zt()}async readPromise(){throw zt()}readSync(){throw zt()}async writePromise(){throw zt()}writeSync(){throw zt()}async closePromise(){throw zt()}closeSync(){throw zt()}createWriteStream(){throw zt()}createReadStream(){throw zt()}async realpathPromise(){throw zt()}realpathSync(){throw zt()}async readdirPromise(){throw zt()}readdirSync(){throw zt()}async existsPromise(e){throw zt()}existsSync(e){throw zt()}async accessPromise(){throw zt()}accessSync(){throw zt()}async statPromise(){throw zt()}statSync(){throw zt()}async fstatPromise(e){throw zt()}fstatSync(e){throw zt()}async lstatPromise(e){throw zt()}lstatSync(e){throw zt()}async fchmodPromise(){throw zt()}fchmodSync(){throw zt()}async chmodPromise(){throw zt()}chmodSync(){throw zt()}async fchownPromise(){throw zt()}fchownSync(){throw zt()}async chownPromise(){throw zt()}chownSync(){throw zt()}async mkdirPromise(){throw zt()}mkdirSync(){throw zt()}async rmdirPromise(){throw zt()}rmdirSync(){throw zt()}async linkPromise(){throw zt()}linkSync(){throw zt()}async symlinkPromise(){throw zt()}symlinkSync(){throw zt()}async renamePromise(){throw zt()}renameSync(){throw zt()}async copyFilePromise(){throw zt()}copyFileSync(){throw zt()}async appendFilePromise(){throw zt()}appendFileSync(){throw zt()}async writeFilePromise(){throw zt()}writeFileSync(){throw zt()}async unlinkPromise(){throw zt()}unlinkSync(){throw zt()}async utimesPromise(){throw zt()}utimesSync(){throw zt()}async lutimesPromise(){throw zt()}lutimesSync(){throw zt()}async readFilePromise(){throw zt()}readFileSync(){throw zt()}async readlinkPromise(){throw zt()}readlinkSync(){throw zt()}async truncatePromise(){throw zt()}truncateSync(){throw zt()}async ftruncatePromise(e,r){throw zt()}ftruncateSync(e,r){throw zt()}watch(){throw zt()}watchFile(){throw zt()}unwatchFile(){throw zt()}},NI=_R;NI.instance=new _R});var _p,Y7=dt(()=>{df();Ca();_p=class extends vs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return ue.fromPortablePath(r)}mapToBase(r){return ue.toPortablePath(r)}}});var V_e,HR,J_e,pi,K7=dt(()=>{Mg();df();Ca();V_e=/^[0-9]+$/,HR=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,J_e=/^([^/]+-)?[a-f0-9]+$/,pi=class extends vs{constructor({baseFs:r=new xn}={}){super(z);this.baseFs=r}static makeVirtualPath(r,o,a){if(z.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!z.basename(o).match(J_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=z.relative(z.dirname(r),a).split("/"),A=0;for(;A<u.length&&u[A]==="..";)A+=1;let p=u.slice(A);return z.join(r,o,String(A),...p)}static resolveVirtual(r){let o=r.match(HR);if(!o||!o[3]&&o[5])return r;let a=z.dirname(o[1]);if(!o[3]||!o[4])return a;if(!V_e.test(o[4]))return r;let u=Number(o[4]),A="../".repeat(u),p=o[5]||".";return pi.resolveVirtual(z.join(a,A,p))}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(r){let o=r.match(HR);if(!o)return this.baseFs.realpathSync(r);if(!o[5])return r;let a=this.baseFs.realpathSync(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}async realpathPromise(r){let o=r.match(HR);if(!o)return await this.baseFs.realpathPromise(r);if(!o[5])return r;let a=await this.baseFs.realpathPromise(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}mapToBase(r){if(r==="")return r;if(this.pathUtils.isAbsolute(r))return pi.resolveVirtual(r);let o=pi.resolveVirtual(this.baseFs.resolve(wt.dot)),a=pi.resolveVirtual(this.baseFs.resolve(r));return z.relative(o,a)||wt.dot}mapFromBase(r){return r}}});var dD,V7,gD,J7=dt(()=>{dD=Ie("url"),V7=Ie("util");df();Ca();gD=class extends vs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof dD.URL)return(0,dD.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(Buffer.byteLength(o)!==r.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return o}throw new Error(`Unsupported path type: ${(0,V7.inspect)(r)}`)}}});var z7,Io,mf,Hp,mD,yD,ay,Oc,Mc,z_e,X_e,Z_e,$_e,LI,X7=dt(()=>{z7=Ie("readline"),Io=Symbol("kBaseFs"),mf=Symbol("kFd"),Hp=Symbol("kClosePromise"),mD=Symbol("kCloseResolve"),yD=Symbol("kCloseReject"),ay=Symbol("kRefs"),Oc=Symbol("kRef"),Mc=Symbol("kUnref"),LI=class{constructor(e,r){this[z_e]=1;this[X_e]=void 0;this[Z_e]=void 0;this[$_e]=void 0;this[Io]=r,this[mf]=e}get fd(){return this[mf]}async appendFile(e,r){try{this[Oc](this.appendFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;return await this[Io].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Mc]()}}async chown(e,r){try{return this[Oc](this.chown),await this[Io].fchownPromise(this.fd,e,r)}finally{this[Mc]()}}async chmod(e){try{return this[Oc](this.chmod),await this[Io].fchmodPromise(this.fd,e)}finally{this[Mc]()}}createReadStream(e){return this[Io].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Io].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[Oc](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??(e={}),n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??(r=0),o??(o=0),o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Io].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Mc]()}}async readFile(e){try{this[Oc](this.readFile);let r=(typeof e=="string"?e:e==null?void 0:e.encoding)??void 0;return await this[Io].readFilePromise(this.fd,r)}finally{this[Mc]()}}readLines(e){return(0,z7.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Oc](this.stat),await this[Io].fstatPromise(this.fd,e)}finally{this[Mc]()}}async truncate(e){try{return this[Oc](this.truncate),await this[Io].ftruncatePromise(this.fd,e)}finally{this[Mc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Oc](this.writeFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;await this[Io].writeFilePromise(this.fd,e,o)}finally{this[Mc]()}}async write(...e){try{if(this[Oc](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Mc]()}}async writev(e,r){try{this[Oc](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Mc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[mf]===-1)return Promise.resolve();if(this[Hp])return this[Hp];if(this[ay]--,this[ay]===0){let e=this[mf];this[mf]=-1,this[Hp]=this[Io].closePromise(e).finally(()=>{this[Hp]=void 0})}else this[Hp]=new Promise((e,r)=>{this[mD]=e,this[yD]=r}).finally(()=>{this[Hp]=void 0,this[yD]=void 0,this[mD]=void 0});return this[Hp]}[(Io,mf,z_e=ay,X_e=Hp,Z_e=mD,$_e=yD,Oc)](e){if(this[mf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[ay]++}[Mc](){if(this[ay]--,this[ay]===0){let e=this[mf];this[mf]=-1,this[Io].closePromise(e).then(this[mD],this[yD])}}}});function OI(t,e){e=new gD(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof(u==null?void 0:u[ly.promisify.custom])<"u"&&(n[ly.promisify.custom]=u[ly.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let E={};o.length<3?h=o[1]:(E=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=E}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let o of Z7){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of e8e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of Z7){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof LI?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new LI(n,e)})}t.read[ly.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[ly.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function CD(t,e){let r=Object.create(t);return OI(r,e),r}var ly,e8e,Z7,$7=dt(()=>{ly=Ie("util");J7();X7();e8e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),Z7=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function eW(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function tW(){if(qR)return qR;let t=ue.toPortablePath(rW.default.tmpdir()),e=ae.realpathSync(t);return process.once("exit",()=>{ae.rmtempSync()}),qR={tmpdir:t,realTmpdir:e}}var rW,Uc,qR,ae,nW=dt(()=>{rW=tt(Ie("os"));Mg();Ca();Uc=new Set,qR=null;ae=Object.assign(new xn,{detachTemp(t){Uc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=tW();for(;;){let o=eW("xfs-");try{this.mkdirSync(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Uc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Uc.has(a)){Uc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=tW();for(;;){let o=eW("xfs-");try{await this.mkdirPromise(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Uc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Uc.has(a)){Uc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Uc.values()).map(async t=>{try{await ae.removePromise(t,{maxRetries:0}),Uc.delete(t)}catch{}}))},rmtempSync(){for(let t of Uc)try{ae.removeSync(t),Uc.delete(t)}catch{}}})});var MI={};Yt(MI,{AliasFS:()=>ju,BasePortableFakeFS:()=>qu,CwdFS:()=>An,FakeFS:()=>gf,Filename:()=>Lr,JailFS:()=>Gu,LazyFS:()=>oy,MountFS:()=>Up,NoFS:()=>NI,NodeFS:()=>xn,PortablePath:()=>wt,PosixFS:()=>_p,ProxiedFS:()=>vs,VirtualFS:()=>pi,constants:()=>Ii,errors:()=>sr,extendFs:()=>CD,normalizeLineEndings:()=>Lg,npath:()=>ue,opendir:()=>pD,patchFs:()=>OI,ppath:()=>z,setupCopyIndex:()=>fD,statUtils:()=>Ml,toFilename:()=>Li,unwatchAllFiles:()=>Ng,unwatchFile:()=>Tg,watchFile:()=>sy,xfs:()=>ae});var bt=dt(()=>{S7();cD();TR();OR();F7();UR();Og();Ca();Ca();M7();Og();_7();q7();j7();G7();W7();Mg();Y7();df();K7();$7();nW()});var lW=U((cPt,aW)=>{aW.exports=oW;oW.sync=r8e;var iW=Ie("fs");function t8e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var a=r[o].toLowerCase();if(a&&t.substr(-a.length).toLowerCase()===a)return!0}return!1}function sW(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:t8e(e,r)}function oW(t,e,r){iW.stat(t,function(o,a){r(o,o?!1:sW(a,t,e))})}function r8e(t,e){return sW(iW.statSync(t),t,e)}});var pW=U((uPt,fW)=>{fW.exports=uW;uW.sync=n8e;var cW=Ie("fs");function uW(t,e,r){cW.stat(t,function(o,a){r(o,o?!1:AW(a,e))})}function n8e(t,e){return AW(cW.statSync(t),e)}function AW(t,e){return t.isFile()&&i8e(t,e)}function i8e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=A|p,w=r&h||r&p&&a===u||r&A&&o===n||r&E&&n===0;return w}});var gW=U((fPt,hW)=>{var APt=Ie("fs"),ED;process.platform==="win32"||global.TESTING_WINDOWS?ED=lW():ED=pW();hW.exports=jR;jR.sync=s8e;function jR(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){jR(t,e||{},function(n,u){n?a(n):o(u)})})}ED(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function s8e(t,e){try{return ED.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var wW=U((pPt,IW)=>{var cy=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",dW=Ie("path"),o8e=cy?";":":",mW=gW(),yW=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),CW=(t,e)=>{let r=e.colon||o8e,o=t.match(/\//)||cy&&t.match(/\\/)?[""]:[...cy?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=cy?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=cy?a.split(r):[""];return cy&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},EW=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=CW(t,e),u=[],A=h=>new Promise((E,w)=>{if(h===o.length)return e.all&&u.length?E(u):w(yW(t));let v=o[h],b=/^".*"$/.test(v)?v.slice(1,-1):v,C=dW.join(b,t),R=!b&&/^\.[\\\/]/.test(t)?t.slice(0,2)+C:C;E(p(R,h,0))}),p=(h,E,w)=>new Promise((v,b)=>{if(w===a.length)return v(A(E+1));let C=a[w];mW(h+C,{pathExt:n},(R,L)=>{if(!R&&L)if(e.all)u.push(h+C);else return v(h+C);return v(p(h,E,w+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},a8e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=CW(t,e),n=[];for(let u=0;u<r.length;u++){let A=r[u],p=/^".*"$/.test(A)?A.slice(1,-1):A,h=dW.join(p,t),E=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;for(let w=0;w<o.length;w++){let v=E+o[w];try{if(mW.sync(v,{pathExt:a}))if(e.all)n.push(v);else return v}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw yW(t)};IW.exports=EW;EW.sync=a8e});var vW=U((hPt,GR)=>{"use strict";var BW=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};GR.exports=BW;GR.exports.default=BW});var xW=U((gPt,PW)=>{"use strict";var DW=Ie("path"),l8e=wW(),c8e=vW();function SW(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=l8e.sync(t.command,{path:r[c8e({env:r})],pathExt:e?DW.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=DW.resolve(a?t.options.cwd:"",u)),u}function u8e(t){return SW(t)||SW(t,!0)}PW.exports=u8e});var bW=U((dPt,YR)=>{"use strict";var WR=/([()\][%!^"`<>&|;, *?])/g;function A8e(t){return t=t.replace(WR,"^$1"),t}function f8e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(WR,"^$1"),e&&(t=t.replace(WR,"^$1")),t}YR.exports.command=A8e;YR.exports.argument=f8e});var kW=U((mPt,QW)=>{"use strict";QW.exports=/^#!(.*)/});var RW=U((yPt,FW)=>{"use strict";var p8e=kW();FW.exports=(t="")=>{let e=t.match(p8e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var NW=U((CPt,TW)=>{"use strict";var KR=Ie("fs"),h8e=RW();function g8e(t){let r=Buffer.alloc(150),o;try{o=KR.openSync(t,"r"),KR.readSync(o,r,0,150,0),KR.closeSync(o)}catch{}return h8e(r.toString())}TW.exports=g8e});var UW=U((EPt,MW)=>{"use strict";var d8e=Ie("path"),LW=xW(),OW=bW(),m8e=NW(),y8e=process.platform==="win32",C8e=/\.(?:com|exe)$/i,E8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function I8e(t){t.file=LW(t);let e=t.file&&m8e(t.file);return e?(t.args.unshift(t.file),t.command=e,LW(t)):t.file}function w8e(t){if(!y8e)return t;let e=I8e(t),r=!C8e.test(e);if(t.options.forceShell||r){let o=E8e.test(e);t.command=d8e.normalize(t.command),t.command=OW.command(t.command),t.args=t.args.map(n=>OW.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function B8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:w8e(o)}MW.exports=B8e});var qW=U((IPt,HW)=>{"use strict";var VR=process.platform==="win32";function JR(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function v8e(t,e){if(!VR)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=_W(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function _W(t,e){return VR&&t===1&&!e.file?JR(e.original,"spawn"):null}function D8e(t,e){return VR&&t===1&&!e.file?JR(e.original,"spawnSync"):null}HW.exports={hookChildProcess:v8e,verifyENOENT:_W,verifyENOENTSync:D8e,notFoundError:JR}});var ZR=U((wPt,uy)=>{"use strict";var jW=Ie("child_process"),zR=UW(),XR=qW();function GW(t,e,r){let o=zR(t,e,r),a=jW.spawn(o.command,o.args,o.options);return XR.hookChildProcess(a,o),a}function S8e(t,e,r){let o=zR(t,e,r),a=jW.spawnSync(o.command,o.args,o.options);return a.error=a.error||XR.verifyENOENTSync(a.status,o),a}uy.exports=GW;uy.exports.spawn=GW;uy.exports.sync=S8e;uy.exports._parse=zR;uy.exports._enoent=XR});function YW(t){WW=t}function UI(){return typeof $R>"u"&&($R=WW()),$R}var $R,WW,eT=dt(()=>{WW=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var KW=U((ID,rT)=>{var P8e=Object.assign({},Ie("fs")),tT=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(Be,xe){o=Be,a=xe});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(Be,xe){throw xe},E=!1,w=!0,v="";function b(Be){return r.locateFile?r.locateFile(Be,v):v+Be}var C,R,L,_;w&&(E?v=Ie("path").dirname(v)+"/":v=__dirname+"/",C=function(xe,Ve){var vt=$n(xe);return vt?Ve?vt:vt.toString():(L||(L=P8e),_||(_=Ie("path")),xe=_.normalize(xe),L.readFileSync(xe,Ve?null:"utf8"))},R=function(xe){var Ve=C(xe,!0);return Ve.buffer||(Ve=new Uint8Array(Ve)),De(Ve.buffer),Ve},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(Be){process.exit(Be)},r.inspect=function(){return"[Emscripten Module object]"});var V=r.print||console.log.bind(console),re=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var oe=0,pe=function(Be){oe=Be},he;r.wasmBinary&&(he=r.wasmBinary);var ve=r.noExitRuntime||!0;typeof WebAssembly!="object"&&ki("no native wasm support detected");function ge(Be,xe,Ve){switch(xe=xe||"i8",xe.charAt(xe.length-1)==="*"&&(xe="i32"),xe){case"i1":return _e[Be>>0];case"i8":return _e[Be>>0];case"i16":return lp((Be>>1)*2);case"i32":return ks((Be>>2)*4);case"i64":return ks((Be>>2)*4);case"float":return gu((Be>>2)*4);case"double":return ap((Be>>3)*8);default:ki("invalid type for getValue: "+xe)}return null}var le,Pe=!1,g;function De(Be,xe){Be||ki("Assertion failed: "+xe)}function Ce(Be){var xe=r["_"+Be];return De(xe,"Cannot call unknown function "+Be+", make sure it is exported"),xe}function de(Be,xe,Ve,vt,tr){var Zr={string:function(yi){var la=0;if(yi!=null&&yi!==0){var ja=(yi.length<<2)+1;la=ee(ja),ut(yi,la,ja)}return la},array:function(yi){var la=ee(yi.length);return Me(yi,la),la}};function Tn(yi){return xe==="string"?me(yi):xe==="boolean"?Boolean(yi):yi}var _r=Ce(Be),ei=[],Ti=0;if(vt)for(var Kn=0;Kn<vt.length;Kn++){var qa=Zr[Ve[Kn]];qa?(Ti===0&&(Ti=Ha()),ei[Kn]=qa(vt[Kn])):ei[Kn]=vt[Kn]}var aa=_r.apply(null,ei);return aa=Tn(aa),Ti!==0&&oa(Ti),aa}function ne(Be,xe,Ve,vt){Ve=Ve||[];var tr=Ve.every(function(Tn){return Tn==="number"}),Zr=xe!=="string";return Zr&&tr&&!vt?Ce(Be):function(){return de(Be,xe,Ve,arguments,vt)}}var Z=new TextDecoder("utf8");function me(Be,xe){if(!Be)return"";for(var Ve=Be+xe,vt=Be;!(vt>=Ve)&&qe[vt];)++vt;return Z.decode(qe.subarray(Be,vt))}function be(Be,xe,Ve,vt){if(!(vt>0))return 0;for(var tr=Ve,Zr=Ve+vt-1,Tn=0;Tn<Be.length;++Tn){var _r=Be.charCodeAt(Tn);if(_r>=55296&&_r<=57343){var ei=Be.charCodeAt(++Tn);_r=65536+((_r&1023)<<10)|ei&1023}if(_r<=127){if(Ve>=Zr)break;xe[Ve++]=_r}else if(_r<=2047){if(Ve+1>=Zr)break;xe[Ve++]=192|_r>>6,xe[Ve++]=128|_r&63}else if(_r<=65535){if(Ve+2>=Zr)break;xe[Ve++]=224|_r>>12,xe[Ve++]=128|_r>>6&63,xe[Ve++]=128|_r&63}else{if(Ve+3>=Zr)break;xe[Ve++]=240|_r>>18,xe[Ve++]=128|_r>>12&63,xe[Ve++]=128|_r>>6&63,xe[Ve++]=128|_r&63}}return xe[Ve]=0,Ve-tr}function ut(Be,xe,Ve){return be(Be,qe,xe,Ve)}function H(Be){for(var xe=0,Ve=0;Ve<Be.length;++Ve){var vt=Be.charCodeAt(Ve);vt>=55296&&vt<=57343&&(vt=65536+((vt&1023)<<10)|Be.charCodeAt(++Ve)&1023),vt<=127?++xe:vt<=2047?xe+=2:vt<=65535?xe+=3:xe+=4}return xe}function yt(Be){var xe=H(Be)+1,Ve=Bl(xe);return Ve&&be(Be,_e,Ve,xe),Ve}function Me(Be,xe){_e.set(Be,xe)}function Te(Be,xe){return Be%xe>0&&(Be+=xe-Be%xe),Be}var Qe,_e,qe,At,Oe,x,I,P,y,F;function J(Be){Qe=Be,r.HEAP_DATA_VIEW=F=new DataView(Be),r.HEAP8=_e=new Int8Array(Be),r.HEAP16=At=new Int16Array(Be),r.HEAP32=x=new Int32Array(Be),r.HEAPU8=qe=new Uint8Array(Be),r.HEAPU16=Oe=new Uint16Array(Be),r.HEAPU32=I=new Uint32Array(Be),r.HEAPF32=P=new Float32Array(Be),r.HEAPF64=y=new Float64Array(Be)}var X=r.INITIAL_MEMORY||16777216,$,ie=[],ke=[],Ne=[],st=!1;function ht(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Pt(r.preRun.shift());no(ie)}function Ut(){st=!0,no(ke)}function Xt(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Dr(r.postRun.shift());no(Ne)}function Pt(Be){ie.unshift(Be)}function tn(Be){ke.unshift(Be)}function Dr(Be){Ne.unshift(Be)}var fr=0,Br=null,jr=null;function Hn(Be){fr++,r.monitorRunDependencies&&r.monitorRunDependencies(fr)}function bs(Be){if(fr--,r.monitorRunDependencies&&r.monitorRunDependencies(fr),fr==0&&(Br!==null&&(clearInterval(Br),Br=null),jr)){var xe=jr;jr=null,xe()}}r.preloadedImages={},r.preloadedAudios={};function ki(Be){r.onAbort&&r.onAbort(Be),Be+="",re(Be),Pe=!0,g=1,Be="abort("+Be+"). Build with -s ASSERTIONS=1 for more info.";var xe=new WebAssembly.RuntimeError(Be);throw a(xe),xe}var gs="data:application/octet-stream;base64,";function to(Be){return Be.startsWith(gs)}var Di="data:application/octet-stream;base64,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AQsgAEEAOgAAQQAPCyAAKAIEIgNFBEBBAA8LIAAgAjcDECADIAGnaigAAAtVAgF+AX8gAARAAkAgACkDCFANAEIBIQEDQCAAKAIAIAJBBHRqEDogASAAKQMIWg0BIAGnIQIgAUIBfCEBDAALAAsgACgCABAGIAAoAigQECAAEAYLC2QBAn8CQAJAAkAgAEUEQCABpxAIIgNFDQJBGBAIIgJFDQEMAwsgACEDQRgQCCICDQJBAA8LIAMQBgtBAA8LIAJCADcDECACIAE3AwggAiADNgIEIAJBAToAACACIABFOgABIAILnQECAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCd1YNACACQgh8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUI4iDwAByAAIAFCMIg8AAYgACABQiiIPAAFIAAgAUIgiDwABCAAIAFCGIg8AAMgACABQhCIPAACIAAgAUIIiDwAASAAIAE8AAAL8AICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBBGsgADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQQhrIAA2AgAgAUEMayAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUEQayAANgIAIAFBFGsgADYCACABQRhrIAA2AgAgAUEcayAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK1CgYCAgBB+IQUgASADaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLC28BA38gAEEMaiECAkACfyAAKAIgIgFFBEBBfyEBQRIMAQsgACABQQFrIgM2AiBBACEBIAMNASAAQQBCAEECEA4aIAAoAgAiAEUNASAAEBtBf0oNAUEUCyEAIAIEQCACQQA2AgQgAiAANgIACwsgAQufAQIBfwF+An8CQAJ+IAAoAgAiAygCJEEBRkEA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RQ0AIAQtAAxFDQFBFyEFIAcNAQtBACECIAMgAEEIaiADGyIABEAgAEEANgIEIAAgBTYCAAsLIAILbgEBfyMAQYACayIFJAACQCAEQYDABHENACACIANMDQAgBSABQf8BcSACIANrIgJBgAIgAkGAAkkiARsQGiABRQRAA0AgACAFQYACEC4gAkGAAmsiAkH/AUsNAAsLIAAgBSACEC4LIAVBgAJqJAALUgECf0H0mAEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABADRQ0BC0H0mAEgADYCACABDwtB+JsBQTA2AgBBfwuGBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJkIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAkaAkAgAyAAKAJoIgFNBEAgACABIANrNgJoDAELIABCADcDaAsgACAAKAJkIANrIgE2AmQgACAAKAJUIANrNgJUIAEgACgCqC1JBEAgACABNgKoLQsgAEHQmAEoAgARBAAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJkaiAFaiEFIAEgBCACazYCBAJAIAEoAhwoAhRBAkYEQCABIAUgAhBADAELIAUgASgCACACEAkhBCABKAIcKAIUQQFHDQAgASABKAIwIAQgAkHImAEoAgARAAA2AjALIAEgASgCACACajYCACABIAEoAgggAmo2AgggACgCPAUgBQsgAmoiAjYCPAJAIAAoAqgtIgEgAmpBA0kNACAAKAJkIAFrIgEEQCAAIAFBAWtBxJgBKAIAEQEAGiAAKAI8IQILIAAoAqgtIAJBAUZrIgRFDQAgACABIARBwJgBKAIAEQcAIAAgACgCqC0gBGs2AqgtIAAoAjwhAgsgAkGFAksNACAAKAIAKAIERQ0AIAAoAjAhAQwBCwsCQCAAKAJEIgIgACgCQCIDTQ0AIAACfyAAKAI8IAAoAmRqIgEgA0sEQCAAKAJIIAFqQQAgAiABayIDQYICIANBggJJGyIDEBogASADagwBCyABQYICaiIBIANNDQEgACgCSCADakEAIAIgA2siAiABIANrIgMgAiADSRsiAxAaIAAoAkAgA2oLNgJACws3ACAAQn83AxAgAEEANgIIIABCADcDACAAQQA2AjAgAEL/////DzcDKCAAQgA3AxggAEIANwMgC6UBAQF/QdgAEAgiAUUEQEEADwsCQCAABEAgASAAQdgAEAkaDAELIAFCADcDICABQQA2AhggAUL/////DzcDECABQQA7AQwgAUG/hig2AgggAUEBOgAGIAFBADoABCABQgA3A0ggAUGAgNiNeDYCRCABQgA3AyggAUIANwMwIAFCADcDOCABQUBrQQA7AQAgAUIANwNQCyABQQE6AAUgAUEANgIAIAELWAICfgF/AkACQCAALQAARQ0AIAApAxAiAyACrXwiBCADVA0AIAQgACkDCFgNAQsgAEEAOgAADwsgACgCBCIFRQRADwsgACAENwMQIAUgA6dqIAEgAhAJGguWAQECfwJAAkAgAkUEQCABpxAIIgVFDQFBGBAIIgQNAiAFEAYMAQsgAiEFQRgQCCIEDQELIAMEQCADQQA2AgQgA0EONgIAC0EADwsgBEIANwMQIAQgATcDCCAEIAU2AgQgBEEBOgAAIAQgAkU6AAEgACAFIAEgAxBpQQBIBH8gBC0AAQRAIAQoAgQQBgsgBBAGQQAFIAQLC5sCAQN/IAAtAABBIHFFBEACQCABIQMCQCACIAAiASgCECIABH8gAAUCfyABIAEtAEoiAEEBayAAcjoASiABKAIAIgBBCHEEQCABIABBIHI2AgBBfwwBCyABQgA3AgQgASABKAIsIgA2AhwgASAANgIUIAEgACABKAIwajYCEEEACw0BIAEoAhALIAEoAhQiBWtLBEAgASADIAIgASgCJBEAABoMAgsCfyABLABLQX9KBEAgAiEAA0AgAiAAIgRFDQIaIAMgBEEBayIAai0AAEEKRw0ACyABIAMgBCABKAIkEQAAIARJDQIgAyAEaiEDIAEoAhQhBSACIARrDAELIAILIQAgBSADIAAQCRogASABKAIUIABqNgIUCwsLCxAAIAAoAggQBiAAQQA2AggLWQIBfwF+AkACf0EAIABFDQAaIACtIAGtfiIDpyICIAAgAXJBgIAESQ0AGkF/IAIgA0IgiKcbCyICEAgiAEUNACAAQQRrLQAAQQNxRQ0AIABBACACEBoLIAAL8AEBAn9BfyEBAkAgAC0AKA0AIAAoAiRBA0YEQCAAQQxqBEAgAEEANgIQIABB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DwsCQAJAIAAgASACIAMQhwEiBEUNAEEYEAgiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAgiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEjNgIEIABCPyACQQBCAEEOQSMRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALFAAgABBBIAAoAgAQICAAKAIEECALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQbycASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB0JwBakYaIAAoAgwiAyAERw0CQaicAUGonAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQbicASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QdieAWoiAigCAEYEQCACIAM2AgAgAw0BQaycAUGsnAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAg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ACIIQiCIpyEEIAinIQEMAwsgAUEHTQRAIAAgAmpBAWshByABIAJJBEAgA0EEaiEGA0AgByAAa0EBaiIEIAEgASAESxsiBUEITwRAA0AgACADKQAANwAAIANBCGohAyAAQQhqIQAMAAsACyAFQQRJBH8gAwUgACADKAAANgAAIAVBBGshBSAAQQRqIQAgBgshBCAFQQJPBEAgACAELwAAOwAAIAVBAmshBSAEQQJqIQQgAEECaiEACyAFQQFGBEAgACAELQAAOgAAIABBAWohAAsgAiABayICIAFLDQALIAJFDQULAkAgByAAa0EBaiIBIAIgASACSRsiAkEISQ0AIAJBCGsiBEEDdkEBakEHcSIBBEADQCAAIAMpAAA3AAAgAkEIayECIANBCGohAyAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAMpAAA3AAAgACADKQAINwAIIAAgAykAEDcAECAAIAMpABg3ABggACADKQAgNwAgIAAgAykAKDcAKCAAIAMpADA3ADAgACADKQA4NwA4IANBQGshAyAAQUBrIQAgAkFAaiICQQdLDQALCyACQQRPBEAgACADKAAANgAAIAJBBGshAiADQQRqIQMgAEEEaiEACyACQQJPBEAgACADLwAAOwAAIAJBAmshAiADQQJqIQMgAEECaiEACyACQQFHDQQgACADLQAAOgAAIABBAWoPCyAAIAMpAAA3AAAgACACQQFrIgFBB3FBAWoiAmohACABQQhJDQMgAiADaiEDIAFBA3YiAkEBayEEIAJBB3EiAQRAA0AgACADKQAANwAAIAJBAWshAiADQQhqIQMgAEEIaiEAIAFBAWsiAQ0ACwsgBEEHSQ0DA0AgACADKQAANwAAIAAgAykACDcACCAAIAMpABA3ABAgACADKQAYNwAYIAAgAykAIDcAICAAIAMpACg3ACggACADKQAwNwAwIAAgAykAODcAOCADQUBrIQMgAEFAayEAIAJBCGsiAg0ACwwDCyADLQAAQYGChAhsCyIBIQQLIAJBB3EhBgJAIAJBeHEiAkUNACABrSAErUIghoQhCCACQQhrIgRBA3ZBAWpBB3EiAQRAA0AgACAINwAAIAJBCGshAiAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAg3ADggACAINwAwIAAgCDcAKCAAIAg3ACAgACAINwAYIAAgCDcAECAAIAg3AAggACAINwAAIABBQGshACACQUBqIgINAAsLIAZFDQAgACADIAYQCSAGaiEACyAADwsgACADLQABOgABIAJBAkYEQCAAQQJqDwsgACADLQACOgACIAJBA0YEQCAAQQNqDwsgACADLQADOgADIAJBBEYEQCAAQQRqDwsgACADLQAEOgAEIAJBBUYEQCAAQQVqDwsgACADLQAFOgAFIAJBBkYEQCAAQQZqDwsgACADLQAGOgAGIABBB2oLAwABC2wBA38CQCABKAIAIgNBB0sNACADIAIoAgBPDQAgACADayEEA0AgACAEKQAANwAAIAIgAigCACABKAIAIgVrNgIAIAEgASgCAEEBdCIDNgIAIAAgBWohACADQQdLDQEgAyACKAIASQ0ACwsgAAu8AgEBfwJAIAMgAGtBAWoiAyACIAIgA0sbIgJBCEkNACACQQhrIgRBA3ZBAWpBB3EiAwRAA0AgACABKQAANwAAIAJBCGshAiABQQhqIQEgAEEIaiEAIANBAWsiAw0ACwsgBEE4SQ0AA0AgACABKQAANwAAIAAgASkACDcACCAAIAEpABA3ABAgACABKQAYNwAYIAAgASkAIDcAICAAIAEpACg3ACggACABKQAwNwAwIAAgASkAODcAOCABQUBrIQEgAEFAayEAIAJBQGoiAkEHSw0ACwsgAkEETwRAIAAgASgAADYAACACQQRrIQIgAUEEaiEBIABBBGohAAsgAkECTwRAIAAgAS8AADsAACACQQJrIQIgAUECaiEBIABBAmohAAsgAkEBRgR/IAAgAS0AADoAACAAQQFqBSAACwvnAQECfyAAIAEpAAA3AAAgACACQQFrIgJBB3FBAWoiA2ohAAJAIAJBCEkNACABIANqIQEgAkEDdiICQQFrIQQgAkEHcSIDBEADQCAAIAEpAAA3AAAgAkEBayECIAFBCGohASAAQQhqIQAgA0EBayIDDQALCyAEQQdJDQADQCAAIAEpAAA3AAAgACABKQAINwAIIAAgASkAEDcAECAAIAEpABg3ABggACABKQAgNwAgIAAgASkAKDcAKCAAIAEpADA3ADAgACABKQA4NwA4IAFBQGshASAAQUBrIQAgAkEIayICDQALCyAAC/wFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEB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ADYCBCACQQ42AgALDAELIANBARB0IAMgARBmEBIgAyAFIAQoAgwQLAJ/IAMtAABFBEAgAgRAIAJBADYCBCACQRQ2AgALQQAMAQsgACADLQAABH4gAykDEAVCAAunQf//A3EgAygCBBBICyEGIAMQBwsgBEEQaiQAIAYL4AECAn8BfkEwEAgiAkUEQCABBEAgAUEANgIEIAFBDjYCAAtBAA8LIAJCADcDCCACQQA2AgAgAkIANwMQIAJCADcDGCACQgA3AyAgAkIANwAlIABQBEAgAg8LAkAgAEL/////AFYNACAAp0EEdBAIIgNFDQAgAiADNgIAQQAhAUIBIQQDQCADIAFBBHRqIgFCADcCACABQgA3AAUgACAEUgRAIASnIQEgBEIBfCEEDAELCyACIAA3AwggAiAANwMQIAIPCyABBEAgAUEANgIEIAFBDjYCAAtBABAQIAIQBkEAC+4BAgN/AX4jAEEQayIEJAACQCAEQQxqQgQQGCIDRQRAQX8hAgwBCwJAIAEEQCACQYAGcSEFA0ACQCAFIAEoAgRxRQ0AAkAgAykDCEIAVARAIANBADoAAAwBCyADQgA3AxAgA0EBOgAACyADIAEvAQgQDSADIAEvAQoQDSADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALQX8hAgwEC0F/IQIgACAEQQxqQgQQHEEASA0DIAEzAQoiBlANACAAIAEoAgwgBhAcQQBIDQMLIAEoAgAiAQ0ACwtBACECCyADEAcLIARBEGokACACCzwBAX8gAARAIAFBgAZxIQEDQCABIAAoAgRxBEAgAiAALwEKakEEaiECCyAAKAIAIgANAAsLIAJB//8DcQucAQEDfyAARQRAQQAPCyAAIQMDQAJ/AkACQCAALwEIIgFB9OABTQRAIAFBAUYNASABQfXGAUYNAQwCCyABQYGyAkYNACABQfXgAUcNAQsgACgCACEBIABBADYCACAAKAIMEAYgABAGIAEgAyAAIANGGyEDAkAgAkUEQEEAIQIMAQsgAiABNgIACyABDAELIAAiAigCAAsiAA0ACyADC7IEAgV/AX4CQAJAAkAgACABrRAYIgEEQCABLQAADQFBACEADAILIAQEQCAEQQA2AgQgBEEONgIAC0EADwtBACEAA0AgAS0AAAR+IAEpAwggASkDEH0FQgALQgRUDQEgARALIQcgASABEAsiBq0QEyIIRQRAQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQMDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAwsCQAJAQRAQCCIFBEAgBSAGOwEKIAUgBzsBCCAFIAI2AgQgBUEANgIAIAZFDQEgBSAIIAYQZyIGNgIMIAYNAiAFEAYLQQAhAiAEBEAgBEEANgIEIARBDjYCAAsgARAHIABFDQQDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMBAsgBUEANgIMCwJAIABFBEAgBSEADAELIAkgBTYCAAsgBSEJIAEtAAANAAsLAkAgAS0AAAR/IAEpAxAgASkDCFEFQQALDQAgASABLQAABH4gASkDCCABKQMQfQVCAAsiCkL/////D4MQEyECAkAgCqciBUEDSw0AIAJFDQAgAkHBFCAFEDxFDQELQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQEDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAQsgARAHIAMEQCADIAA2AgBBAQ8LQQEhAiAARQ0AA0AgACgCACEBIAAoAgwQBiAAEAYgASIADQALCyACC74BAQV/IAAEfyAAIQIDQCACIgQoAgAiAg0ACyABBEADQCABIgMvAQghBiADKAIAIQEgACECAkACQANAAkAgAi8BCCAGRw0AIAIvAQoiBSADLwEKRw0AIAVFDQIgAigCDCADKAIMIAUQPEUNAgsgAigCACICDQALIANBADYCACAEIAM2AgAgAyEEDAELIAIgAigCBCADKAIEQYAGcXI2AgQgA0EANgIAIAMoAgwQBiADEAYLIAENAAsLIAAFIAELC1UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCAXwiAyACVA0AIAMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIAE6AAALWgICfgF/An8CQAJAIAAtAABFDQAgACkDECIBQgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADAELQQAgACgCBCIDRQ0AGiAAIAI3AxAgAyABp2otAAALC94BAQN/IAEgACkDMFoEQCAAQQhqBEAgAEEANgIMIABBEjYCCAtBfw8LIABBCGohAiAALQAYQQJxBEAg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DAELIAFBGU4EQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAApA7gtIgI8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAkIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCGIg8AAAgACAAQbwtajUCADcDuC0gACAAKALALUEgayIBNgLALQsgAUEJTgRAIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC0iAjwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCCIg8AAAgACAAKQO4LUIQiDcDuC0gACAAKALALUEQayIBNgLALQsgAUEBSA0AIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC08AAALIABBADYCwC0gAEIANwO4LQvwBAEDfyAAQYgBaiECA0AgAiABQQJ0IgNqQQA7AQAgAiADQQRyakEAOwEAIAFBAmoiAUGeAkcNAAsgAEEAOwHwFCAAQQA7AfwSIABBuBVqQQA7AQAgAEG0FWpBADsBACAAQbAVakEAOwEAIABBrBVqQQA7AQAgAEGoFWpBADsBACAAQaQVakEAOwEAIABBoBVqQQA7AQAgAEGcFWpBADsBACAAQZgVakEAOwEAIABBlBVqQQA7AQAgAEGQFWpBADsBACAAQYwVakEAOwEAIABBiBVqQQA7AQAgAEGEFWpBADsBACAAQYAVakEAOwEAIABB/BRqQQA7AQAgAEH4FGpBADsBACAAQfQUakEAOwEAIABB8BNqQQA7AQAgAEHsE2pBADsBACAAQegTakEAOwEAIABB5BNqQQA7AQAgAEHgE2pBADsBACAAQdwTakEAOwEAIABB2BNqQQA7AQAgAEHUE2pBADsBACAAQdATakEAOwEAIABBzBNqQQA7AQAgAEHIE2pBADsBACAAQcQTakEAOwEAIABBwBNqQQA7AQAgAEG8E2pBADsBACAAQbgTakEAOwEAIABBtBNqQQA7AQAgAEGwE2pBADsBACAAQawTakEAOwEAIABBqBNqQQA7AQAgAEGkE2pBADsBACAAQaATakEAOwEAIABBnBNqQQA7AQAgAEGYE2pBADsBACAAQZQTakEAOwEAIABBkBNqQQA7AQAgAEGME2pBADsBACAAQYgTakEAOwEA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AAwFCyABLQAPDQQgASgCrEAgASgCqEAoAggRAgCsIQUMBAsgA0IIWgR+IAIgASgCADYCACACIAEoAgQ2AgRCCAVCfwshBQwDCyABRQ0CIAEoAqxAIAEoAqhAKAIEEQQAIAEQLyABEAYMAgsgB0F/NgIAQRAgBxAkQj+EIQUMAQsgAQRAIAFBADYCBCABQRQ2AgALQn8hBQsgB0EQaiQAIAULYwBByAAQCCIARQRAQfibASgCACEBIAIEQCACIAE2AgQgAkEBNgIACyAADwsgAEEAOgAMIABBADoABCAAIAI2AgAgAEEANgI4IABCADcDMCAAIAFBCSABQQFrQQlJGzYCCCAAC0gBAX8gAEIANwIEIAAgATYCAAJAIAFBAEgNAEGwEygCACABTA0AIAFBAnRBwBNqKAIAQQFHDQBB+JsBKAIAIQILIAAgAjYCBAvuhwECJH8BfiACKQMAIScgACABNgIcIAAgJ0L/////DyAnQv////8PVBs+AiAgAEEQaiEKAn8gAC0ABARAAn8gAC0ADEECdCENQX4hAQJAAkACQCAKRQ0AIAooAiBFDQAgCigCJEUNACAKKAIcIgNFDQAgAygCACAKRw0AAkACQCADKAIgIgVBOWsOOQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAVBmgVGDQAgBUEqRw0BCyANQQVLDQACQAJAIAooAgxFDQAgCigCBCIEBEAgCigCAEUNAQsgBUGaBUcNASANQQRGDQELIApBkPEAKAIANgIYQX4MBAsgCigCEEUNASADKAIkIQEgAyANNgIkAkAgAygCEARAIAMQFAJAIAooAhAiBSADKAIQIgkgBSAJSRsiAUUNACAKKAIMIAMoAgggARAJGiAKIAooAgwgAWo2AgwgAyADKAIIIAFqNgIIIAogCigCFCABajYCFCAKIAooAhAgAWsiBTYCECADIAMoAhAgAWsiCTYCECAJDQAgAyADKAIENgIIQQAhCQsgBQRAIAMoAiAhBQwCCwwECyAEDQAgDUEBdEF3QQAgDUEESxtqIAFBAXRBd0EAIAFBBEobakoNACANQQRGDQAMAgsCQAJAAkACQAJAIAVBKkcEQCAFQZoFRw0BIAooAgRFDQMMBwsgAygCFEUEQCADQfEANgIgDAILIAMoAjRBDHRBgPABayEBAkAgAygCfEECTg0AIAMoAngiBEEBTA0AIARBBUwEQCABQcAAciEBDAELQYABQcABIARBBkYbIAFyIQELIAMgCUEBajYCECADKAIEIAlqIAFBIHIgASADKAJkGyIBQQh2OgAAIAMgAygCECIEQQFqNgIQIAQgAygCBGogAUEfcCABckEfczoAACADKAJkBEAgAyAKKAIwEF0LIApBATYCMCADQfEANgIgIAoQDCADKAIQDQcgAygCICEFCwJAAkACQAJAIAVBOUYEfyADKAIAQQA2AjAgAyADKAIQIgFBAWo2AhAgASADKAIEakEfOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBiwE6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEIOgAAAkAgAygCHCIBRQRAIANBABA0IAMgAygCECIBQQFqNgIQIAEgAygCBGpBADoAAEECIQEgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADIAMoAhAiAUEBajYCECABIAMoAgRqQQM6AAAgA0HxADYCICAKEAwgAygCEEUNAQwNCyABKAIkIQQgASgCHCEFIAEoAhAhByABKAIsIQkgASgCACELIAMgAygCECIIQQFqNgIQQQIhASAIIAMoAgRqIAlBAEdBAXQgC0EAR3IgB0EAR0ECdHIgBUEAR0EDdHIgBEEAR0EEdHI6AAAgAyADKAIcKAIEEDQgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADKAIcKAIMIQEgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABOgAAIAMoAhwiASgCEAR/IAEoAhQhASADIAMoAhAiBEEBajYCECAEIAMoAgRqIAE6AAAgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABQQh2OgAAIAMoAhwFIAELKAIsBEAgCgJ/IAooAjAhASADKAIQIQRBACADKAIEIgVFDQAaIAEgBSAErUHMmAEoAgARAwALNgIwCyADQcUANgIgIANBADYCGAwCCyADKAIgBSAFC0HFAGsOIwAEBAQBBAQEBAQEBAQEBAQEBAQEBAQCBAQEBAQEBAQEBAQDBAsgAygCHCIEKAIQIgUEQCADKAIMIgkgAygCECIBIAQvARQgAygCGCIHayIEakkEQANAIAMoAgQgAWogBSAHaiAJIAFrIgkQCRogAyADKAIMIgU2AhACQCADKAIcKAIsRQ0AIAEgBU8NACAKAn8gCigCMCEHQQAgAygCBCABaiILRQ0AGiAHIAsgBSABa61BzJgBKAIAEQMACzYCMAsgAyADKAIYIAlqNgIYIAooAhwiARAUAkAgCigCECIFIAEoAhAiByAFIAdJGyIFRQ0AIAooAgwgASgCCCAFEAkaIAogCigCDCAFajYCDCABIAEoAgggBWo2AgggCiAKKAIUIAVqNgIUIAogCigCECAFazYCECABIAEoAhAgBWsiBTYCECAFDQAgASABKAIENgIICyADKAIQDQwgAygCGCEHIAMoAhwoAhAhBUEAIQEgBCAJayIEIAMoAgwiCUsNAAsLIAMoAgQgAWogBSAHaiAEEAkaIAMgAygCECAEaiIENgIQAkAgAygCHCgCLEUNACABIARPDQAgCgJ/IAooAjAhBUEAIAMoAgQgAWoiB0UNABogBSAHIAQgAWutQcyYASgCABEDAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiASEEA0ACQCABIAMoAgxHDQACQCADKAIcKAIsRQ0AIAEgBE0NACAKAn8gCigCMCEFQQAgAygCBCAEaiIHRQ0AGiAFIAcgASAEa61BzJgBKAIAEQMACzYCMAsgCigCHCIBEBQCQCAKKAIQIgQgASgCECIFIAQgBUkbIgRFDQAgCigCDCABKAIIIAQQCRogCiAKKAIMIARqNgIMIAEgASgCCCAEajYCCCAKIAooAhQgBGo2AhQgCiAKKAIQIARrNgIQIAEgASgCECAEayIENgIQIAQNACABIAEoAgQ2AggLQQAhAUEAIQQgAygCEEUNAAwLCyADKAIcKAIcIQUgAyADKAIYIgdBAWo2AhggBSAHai0AACEFIAMgAUEBajYCECADKAIEIAFqIAU6AAAgBQRAIAMoAhAhAQwBCwsCQCADKAIcKAIsRQ0AIAMoAhAiASAETQ0AIAoCfyAKKAIwIQVBACADKAIEIARqIgdFDQAaIAUgByABIARrrUHMmAEoAgARAwALNgIwCyADQQA2AhgLIANB2wA2AiALAkAgAygCHCgCJEUNACADKAIQIgEhBANAAkAgASADKAIMRw0AAkAgAygCHCgCLEUNACABIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIAooAhwiARAUAkAgCigCECIEIAEoAhAiBSAEIAVJGyIERQ0AIAooAgwgASgCCCAEEAkaIAogCigCDCAEajYCDCABIAEoAgggBGo2AgggCiAKKAIUIARqNgIUIAogCigCECAEazYCECABIAEoAhAgBGsiBDYCECAEDQAgASABKAIENgIIC0EAIQFBACEEIAMoAhBFDQAMCgsgAygCHCgCJCEFIAMgAygCGCIHQQFqNgIYIAUgB2otAAAhBSADIAFBAWo2AhAgAygCBCABaiAFOgAAIAUEQCADKAIQIQEMAQsLIAMoAhwoAixFDQAgAygCECIBIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIANB5wA2AiALAkAgAygCHCgCLARAIAMoAgwgAygCECIBQQJqSQRAIAoQDCADKAIQDQJBACEBCyAKKAIwIQQgAyABQQFqNgIQIAMoAgQgAWogBDoAACADIAMoAhAiAUEBajYCECABIAMoAgRqIARBCHY6AAAgAygCAEEANgIwCyADQfEANgIgIAoQDCADKAIQRQ0BDAcLDAYLIAooAgQNAQsgAygCPA0AIA1FDQEgAygCIEGaBUYNAQsCfyADKAJ4IgFFBEAgAyANEFwMAQsCQAJAAkAgAygCfEECaw4CAAECCwJ/AkADQAJAIAMoAjwNACADECkgAygCPA0AIA0NAkEADAMLIAMoAkggAygCZGotAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiBDYCZCADKAKULSADKAKYLUcNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAQgAWtBABAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIICyADKAIAKAIQDQALQQAMAQsgA0EANgKoLSANQQRGBEAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQEQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAtBA0ECIAMoAgAoAhAbDAELAkAgAygClC1FDQAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQAQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAsgAygCACgCEA0AQQAMAQtBAQsMAgsCfwJAA0ACQAJAAkACQCADKAI8IghBggJLDQAgAxApAkAgAygCPCIIQYICSw0AIA0NAEEADAcLIAhFDQUgCEECSw0AIAMoAmQhCwwBCyADKAJkIgtFBEBBACELDAELIAMoAkggC2oiDEEBayIBLQAAIgkgDC0AAEcNACAJIAEtAAJHDQAgCSABLQADRw0AIAxBggJqIQ5BfyEBAkACQAJAAkACQAJAA0AgASAMaiIFLQAEIAlGBEAgCSAFLQAFRw0CIAkgBS0ABkcNAyAJIAUtAAdHDQQgCSAMIAFBCGoiBGoiBy0AAEcNByAJIAUtAAlHDQUgCSAFLQAKRw0GIAkgBUELaiIHLQAARw0HIAFB9wFIIQUgBCEBIAUNAQwHCwsgBUEEaiEHDAULIAVBBWohBwwECyAFQQZqIQcMAwsgBUEHaiEHDAILIAVBCWohBwwBCyAFQQpqIQcLIAggByAOa0GCAmoiASABIAhLGyIBQQJLDQELIAMoAkggC2otAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiCzYCZAwBCyADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQE6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAUEDazoAACADIAMoAqQtQQFqNgKkLSABQc3pAGotAABBAnQgA2pBjAlqIgQgBC8BAEEBajsBACADQdDlAC0AAEECdGpB/BJqIgQgBC8BAEEBajsBACADIAMoAjwgAWs2AjwgAyADKAJkIAFqIgs2AmQLIAMoApQtIAMoApgtRw0AIAMgAygCVCIBQQBOBH8gAygCSCABagVBAAsgCyABa0EAEA8gAyADKAJkNgJUIAMoAgAiASgCHCIEEBQCQCABKAIQIgUgBCgCECIHIAUgB0kbIgVFDQAgASgCDCAEKAIIIAUQCRogASABKAIMIAVqNgIMIAQgBCgCCCAFajYCCCABIAEoAhQgBWo2AhQgASABKAIQIAVrNgIQIAQgBCgCECAFayIBNgIQIAENACAEIAQoAgQ2AggLIAMoAgAoAhANAAtBAAwBCyADQQA2AqgtIA1BBEYEQCADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtBARAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIIC0EDQQIgAygCACgCEBsMAQsCQCADKAKULUUNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtB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ASABKAIodCIFIAEoAtA3akEBIAMoAiARAAAiAzYCOCADRQ0CIAMgBWpBACABKALQNxAaCyABKAIsIgVFBEAgAUIANwIwIAFBASABKAIodCIFNgIsCyAWIA5rIgMgBU8EQCABKAI4IBEgBWsgBRAJGiABQQA2AjQgASABKAIsNgIwDAELIAEoAjQiDSABKAI4aiARIANrIAMgBSANayIFIAMgBUkbIgUQCRogAyAFayIDBEAgASgCOCARIANrIAMQCRogASADNgI0IAEgASgCLDYCMAwBCyABQQAgASgCNCAFaiIDIAMgASgCLCINRhs2AjQgASgCMCIDIA1PDQAgASADIAVqNgIwCyAKIB8gCigCBGsiBSAKKAIIajYCCCAKIBYgCigCEGsiASAKKAIUajYCFCAGIAYoAiAgAWo2AiACQCAGLQAMQQRxRQ0AIAFFDQAgBgJ/IAYoAhQEQAJ/IAYoAhwhA0EAIAooAgwgAWsiDUUNABogAyANIAGtQcyYASgCABEDAAsMAQsgBigCHCAKKAIMIAFrIAFByJgBKAIAEQAACyIDNgIcIAogAzYCMAsgCiAGKAJAIAYoAghBAEdBBnRqIAYoAgQiA0G//gBGQQd0akGAAiADQcL+AEZBCHQgA0HH/gBGG2o2AiwgBCAEQXsgBBsgASAFchshFwwCCyAGQdL+ADYCBAtBfCEXCyAUQRBqJAAgFwshASACIAIpAwAgADUCIH03AwACQAJAAkACQCABQQVqDgcBAgICAgMAAgtBAQ8LIAAoAhQNAEEDDwsgACgCACIABEAgACABNgIEIABBDTYCAAtBAiEBCyABCwkAIABBAToADAtEAAJAIAJC/////w9YBEAgACgCFEUNAQsgACgCACIABEAgAEEANgIEIABBEjYCAAtBAA8LIAAgATYCECAAIAI+AhRBAQu6AQEEfyAAQRBqIQECfyAALQAEBEAgARBeDAELQX4hAwJAIAFFDQAgASgCIEUNACABKAIkIgRFDQAgASgCHCICRQ0AIAIoAgAgAUcNACACKAIEQbT+AGtBH0sNACACKAI4IgMEQCABKAIoIAMgBBEGACABKAIkIQQgASgCHCECCyABKAIoIAIgBBEGAEEAIQMgAUEANgIcCyADCyIBBEAgACgCACIABEAgACABNgIEIABBDTYCAAsLIAFFC5gMAQZ/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IAEQBiAABEAgAEEANgIEIABBDjYCAAsLIABBADYCFAwUCyADQgA3AwAgACABNgIUIAFBQGtCADcDACABQgA3AzgMFAsCQAJAIAJQBEBByAAQCCIDRQ0UIANCADcDACADQgA3AzAgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AzggA0EIEAgiATYCBCABDQEgAxAGIAAEQCAAQQA2AgQgAEEONgIACwwUCyACIAAoAhAiASkDMFYEQCAABEAgAEEANgIEIABBEjYCAAsMFAsgASgCKARAIAAEQCAAQQA2AgQgAEEdNgIACwwUCyABKAIEIQMCQCABKQMIIgZCAX0iB1ANAANAAkAgAiADIAcgBH1CAYggBHwiBadBA3RqKQMAVARAIAVCAX0hBwwBCyAFIAZRBEAgBiEFDAMLIAMgBUIBfCIEp0EDdGopAwAgAlYNAgsgBCEFIAQgB1QNAAsLAkAgAiADIAWnIgpBA3RqKQMAfSIEUEUEQCABKAIAIgMgCkEEdGopAwghBwwBCyABKAIAIgMgBUIBfSIFp0EEdGopAwgiByEECyACIAcgBH1UBEAgAARAIABBADYCBCAAQRw2AgALDBQLIAMgBUIBfCIFQQAgABCHASIDRQ0TIAMoAgAgAygCCCIKQQR0akEIayAENwMAIAMoAgQgCkEDdGogAjcDACADIAI3AzAgAyABKQMYIgYgAykDCCIEQgF9IgcgBiAHVBs3AxggASADNgIoIAMgATYCKCABIAQ3AyAgAyAFNwMgDAELIAFCADcDAAsgACADNgIUIAMgBDcDQCADIAI3AzhCACEEDBMLIAAoAhAiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAoAhQhASAAQQA2AhQgACABNgIQDBILIAJCCFoEfiABIAAoAgA2AgAgASAAKAIENgIEQggFQn8LIQQMEQsgACgCECIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgACgCFCIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgABAGDBALIAAoAhAiAEIANwM4IABBQGtCADcDAAwPCyACQn9XBEAgAARAIABBADYCBCAAQRI2AgALDA4LIAIgACgCECIDKQMwIAMpAzgiBn0iBSACIAVUGyIFUA0OIAEgAykDQCIHpyIAQQR0IgEgAygCAGoiCigCACAGIAMoAgQgAEEDdGopAwB9IgKnaiAFIAopAwggAn0iBiAFIAZUGyIEpxAJIQogByAEIAMoAgAiACABaikDCCACfVGtfCECIAUgBlYEQANAIAogBKdqIAAgAqdBBHQiAWoiACgCACAFIAR9IgYgACkDCCIHIAYgB1QbIganEAkaIAIgBiADKAIAIgAgAWopAwhRrXwhAiAFIAQgBnwiBFYNAAsLIAMgAjcDQCADIAMpAzggBHw3AzgMDgtCfyEEQcgAEAgiA0UNDSADQgA3AwAgA0IANwMwIANBADYCKCADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IANwM4IANBCBAIIgE2AgQgAUUEQCADEAYgAARAIABBADYCBCAAQQ42AgALDA4LIAFCADcDACAAKAIQIgEEQAJAIAEoAigiCkUEQCABKQMYIQQMAQsgCkEANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiBDcDGAsgASkDCCAEVgRAA0AgASgCACAEp0EEdGooAgAQBiAEQgF8IgQgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAIAM2AhBCACEEDA0LIAAoAhQiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKn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cm9yAFRlbGwgZXJyb3IASW50ZXJuYWwgZXJyb3IAU2VlayBlcnJvcgBXcml0ZSBlcnJvcgBmaWxlIGVycm9yAFJlYWQgZXJyb3IAWmxpYiBlcnJvcgBkYXRhIGVycm9yAENSQyBlcnJvcgBpbmNvbXBhdGlibGUgdmVyc2lvbgBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAMS4yLjExLnpsaWItbmcAaW52YWxpZCB3aW5kb3cgc2l6ZQBSZWFkLW9ubHkgYXJjaGl2ZQBOb3QgYSB6aXAgYXJjaGl2ZQBSZXNvdXJjZSBzdGlsbCBpbiB1c2UATWFsbG9jIGZhaWx1cmUAaW52YWxpZCBibG9jayB0eXBlAEZhaWx1cmUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlAENhbid0IG9wZW4gZmlsZQBObyBzdWNoIGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBmaWxlAENhbid0IHJlbW92ZSBmaWxlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAdW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QAc3RyZWFtIGVuZABDb21wcmVzc2VkIGRhdGEgaW52YWxpZABNdWx0aS1kaXNrIHppcCBhcmNoaXZlcyBub3Qgc3VwcG9ydGVkAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAEVuY3J5cHRpb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQAQ29tcHJlc3Npb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQARW50cnkgaGFzIGJlZW4gZGVsZXRlZABDb250YWluaW5nIHppcCBhcmNoaXZlIHdhcyBjbG9zZWQAQ2xvc2luZyB6aXAgYXJjaGl2ZSBmYWlsZWQAUmVuYW1pbmcgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkAEVudHJ5IGhhcyBiZWVuIGNoYW5nZWQATm8gcGFzc3dvcmQg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AQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQeDZAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdjaAAttBAAAAAQABAAIAAQABQAAAAQABAAIAAQABgAAAAQABgAgACAABgAAAAQABAAQABAABwAAAAgAEAAgACAABwAAAAgAEACAAIAABwAAAAgAIACAAAABCAAAACAAgAACAQAECAAAACAAAgECAQAQCABB0NsAC/cJDAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJ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IGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAEHAmAELdRYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAABwUFAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQBB5JoBCwJQUABBoJsBCxD/////////////////////";to(Di)||(Di=b(Di));function Qs(Be){try{if(Be==Di&&he)return new Uint8Array(he);var xe=$n(Be);if(xe)return xe;if(R)return R(Be);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(Ve){ki(Ve)}}function ro(Be,xe){var Ve,vt,tr;try{tr=Qs(Be),vt=new WebAssembly.Module(tr),Ve=new WebAssembly.Instance(vt,xe)}catch(Tn){var Zr=Tn.toString();throw re("failed to compile wasm module: "+Zr),(Zr.includes("imported Memory")||Zr.includes("memory import"))&&re("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Tn}return[Ve,vt]}function pc(){var Be={a:Ma};function xe(tr,Zr){var Tn=tr.exports;r.asm=Tn,le=r.asm.g,J(le.buffer),$=r.asm.$,tn(r.asm.h),bs("wasm-instantiate")}if(Hn("wasm-instantiate"),r.instantiateWasm)try{var Ve=r.instantiateWasm(Be,xe);return Ve}catch(tr){return re("Module.instantiateWasm callback failed with error: "+tr),!1}var vt=ro(Di,Be);return xe(vt[0]),r.asm}function gu(Be){return F.getFloat32(Be,!0)}function ap(Be){return F.getFloat64(Be,!0)}function lp(Be){return F.getInt16(Be,!0)}function ks(Be){return F.getInt32(Be,!0)}function En(Be,xe){F.setInt32(Be,xe,!0)}function no(Be){for(;Be.length>0;){var xe=Be.shift();if(typeof xe=="function"){xe(r);continue}var Ve=xe.func;typeof Ve=="number"?xe.arg===void 0?$.get(Ve)():$.get(Ve)(xe.arg):Ve(xe.arg===void 0?null:xe.arg)}}function Fs(Be,xe){var Ve=new Date(ks((Be>>2)*4)*1e3);En((xe>>2)*4,Ve.getUTCSeconds()),En((xe+4>>2)*4,Ve.getUTCMinutes()),En((xe+8>>2)*4,Ve.getUTCHours()),En((xe+12>>2)*4,Ve.getUTCDate()),En((xe+16>>2)*4,Ve.getUTCMonth()),En((xe+20>>2)*4,Ve.getUTCFullYear()-1900),En((xe+24>>2)*4,Ve.getUTCDay()),En((xe+36>>2)*4,0),En((xe+32>>2)*4,0);var vt=Date.UTC(Ve.getUTCFullYear(),0,1,0,0,0,0),tr=(Ve.getTime()-vt)/(1e3*60*60*24)|0;return En((xe+28>>2)*4,tr),Fs.GMTString||(Fs.GMTString=yt("GMT")),En((xe+40>>2)*4,Fs.GMTString),xe}function Cl(Be,xe){return Fs(Be,xe)}function El(Be,xe,Ve){qe.copyWithin(Be,xe,xe+Ve)}function io(Be){try{return le.grow(Be-Qe.byteLength+65535>>>16),J(le.buffer),1}catch{}}function Ue(Be){var xe=qe.length;Be=Be>>>0;var Ve=2147483648;if(Be>Ve)return!1;for(var vt=1;vt<=4;vt*=2){var tr=xe*(1+.2/vt);tr=Math.min(tr,Be+100663296);var Zr=Math.min(Ve,Te(Math.max(Be,tr),65536)),Tn=io(Zr);if(Tn)return!0}return!1}function Fn(Be){pe(Be)}function Fi(Be){var xe=Date.now()/1e3|0;return Be&&En((Be>>2)*4,xe),xe}function Rn(){if(Rn.called)return;Rn.called=!0;var Be=new Date().getFullYear(),xe=new Date(Be,0,1),Ve=new Date(Be,6,1),vt=xe.getTimezoneOffset(),tr=Ve.getTimezoneOffset(),Zr=Math.max(vt,tr);En((mi()>>2)*4,Zr*60),En((es()>>2)*4,Number(vt!=tr));function Tn(qa){var aa=qa.toTimeString().match(/\(([A-Za-z ]+)\)$/);return aa?aa[1]:"GMT"}var _r=Tn(xe),ei=Tn(Ve),Ti=yt(_r),Kn=yt(ei);tr<vt?(En(($i()>>2)*4,Ti),En(($i()+4>>2)*4,Kn)):(En(($i()>>2)*4,Kn),En(($i()+4>>2)*4,Ti))}function Ui(Be){Rn();var xe=Date.UTC(ks((Be+20>>2)*4)+1900,ks((Be+16>>2)*4),ks((Be+12>>2)*4),ks((Be+8>>2)*4),ks((Be+4>>2)*4),ks((Be>>2)*4),0),Ve=new Date(xe);En((Be+24>>2)*4,Ve.getUTCDay());var vt=Date.UTC(Ve.getUTCFullYear(),0,1,0,0,0,0),tr=(Ve.getTime()-vt)/(1e3*60*60*24)|0;return En((Be+28>>2)*4,tr),Ve.getTime()/1e3|0}var Zt=typeof atob=="function"?atob:function(Be){var xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ve="",vt,tr,Zr,Tn,_r,ei,Ti,Kn=0;Be=Be.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Tn=xe.indexOf(Be.charAt(Kn++)),_r=xe.indexOf(Be.charAt(Kn++)),ei=xe.indexOf(Be.charAt(Kn++)),Ti=xe.indexOf(Be.charAt(Kn++)),vt=Tn<<2|_r>>4,tr=(_r&15)<<4|ei>>2,Zr=(ei&3)<<6|Ti,Ve=Ve+String.fromCharCode(vt),ei!==64&&(Ve=Ve+String.fromCharCode(tr)),Ti!==64&&(Ve=Ve+String.fromCharCode(Zr));while(Kn<Be.length);return Ve};function Ri(Be){if(typeof w=="boolean"&&w){var xe;try{xe=Buffer.from(Be,"base64")}catch{xe=new Buffer(Be,"base64")}return new Uint8Array(xe.buffer,xe.byteOffset,xe.byteLength)}try{for(var Ve=Zt(Be),vt=new Uint8Array(Ve.length),tr=0;tr<Ve.length;++tr)vt[tr]=Ve.charCodeAt(tr);return vt}catch{throw new Error("Converting base64 string to bytes failed.")}}function $n(Be){if(!!to(Be))return Ri(Be.slice(gs.length))}var Ma={e:Cl,c:El,d:Ue,a:Fn,b:Fi,f:Ui},$t=pc(),hc=r.___wasm_call_ctors=$t.h,du=r._zip_ext_count_symlinks=$t.i,gc=r._zip_file_get_external_attributes=$t.j,Il=r._zipstruct_stat=$t.k,PA=r._zipstruct_statS=$t.l,mu=r._zipstruct_stat_name=$t.m,Ee=r._zipstruct_stat_index=$t.n,Rt=r._zipstruct_stat_size=$t.o,dc=r._zipstruct_stat_mtime=$t.p,_i=r._zipstruct_stat_crc=$t.q,yu=r._zipstruct_error=$t.r,qt=r._zipstruct_errorS=$t.s,wl=r._zipstruct_error_code_zip=$t.t,xA=r._zipstruct_stat_comp_size=$t.u,cp=r._zipstruct_stat_comp_method=$t.v,mc=r._zip_close=$t.w,bA=r._zip_delete=$t.x,Dn=r._zip_dir_add=$t.y,ui=r._zip_discard=$t.z,yc=r._zip_error_init_with_code=$t.A,QA=r._zip_get_error=$t.B,ra=r._zip_file_get_error=$t.C,Hi=r._zip_error_strerror=$t.D,Oo=r._zip_fclose=$t.E,$e=r._zip_file_add=$t.F,so=r._free=$t.G,Bl=r._malloc=$t.H,Cu=r._zip_source_error=$t.I,qi=r._zip_source_seek=$t.J,Eu=r._zip_file_set_external_attributes=$t.K,kA=r._zip_file_set_mtime=$t.L,Ua=r._zip_fopen=$t.M,Cc=r._zip_fopen_index=$t.N,ds=r._zip_fread=$t.O,Ot=r._zip_get_name=$t.P,Sn=r._zip_get_num_entries=$t.Q,di=r._zip_source_read=$t.R,na=r._zip_name_locate=$t.S,oo=r._zip_open_from_source=$t.T,Rs=r._zip_set_file_compression=$t.U,ia=r._zip_source_buffer=$t.V,sa=r._zip_source_buffer_create=$t.W,Mo=r._zip_source_close=$t.X,Zi=r._zip_source_free=$t.Y,Ts=r._zip_source_keep=$t.Z,Ns=r._zip_source_open=$t._,Ls=r._zip_source_set_mtime=$t.aa,ao=r._zip_source_tell=$t.ba,Yn=r._zip_stat=$t.ca,qn=r._zip_stat_index=$t.da,$i=r.__get_tzname=$t.ea,es=r.__get_daylight=$t.fa,mi=r.__get_timezone=$t.ga,Ha=r.stackSave=$t.ha,oa=r.stackRestore=$t.ia,ee=r.stackAlloc=$t.ja;r.cwrap=ne,r.getValue=ge;var we;jr=function Be(){we||je(),we||(jr=Be)};function je(Be){if(Be=Be||A,fr>0||(ht(),fr>0))return;function xe(){we||(we=!0,r.calledRun=!0,!Pe&&(Ut(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),Xt()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),xe()},1)):xe()}if(r.run=je,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return je(),e}}();typeof ID=="object"&&typeof rT=="object"?rT.exports=tT:typeof define=="function"&&define.amd?define([],function(){return tT}):typeof ID=="object"&&(ID.createModule=tT)});var yf,VW,JW,zW=dt(()=>{yf=["number","number"],VW=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(VW||{}),JW=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:VW,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...yf,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...yf,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...yf,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...yf,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...yf,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...yf,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...yf,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...yf,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...yf,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function nT(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==z.sep);){if(t[r-1]===z.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==z.sep?null:t.slice(0,o)}var Ul,XW=dt(()=>{bt();bt();_c();Ul=class extends Up{static async openPromise(e,r){let o=new Ul(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>nT(A,".zip"):A=>{for(let p of r){let h=nT(A,p);if(h)return h}return null},n=(A,p)=>new os(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new os(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function x8e(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(ZW.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function wD(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var jo,iT,ZW,sT,Ay,BD,os,oT=dt(()=>{bt();bt();bt();bt();bt();bt();jo=Ie("fs"),iT=Ie("stream"),ZW=Ie("util"),sT=tt(Ie("zlib"));eT();Ay="mixed";BD=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},os=class extends qu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:Ay,r??(r=wD()),typeof r=="string"){let{baseFs:A=new xn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Ml.makeDefaultStats();else throw A}else this.stats=Ml.makeDefaultStats();this.libzip=UI();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?wD():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(wt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;A<u;++A){let p=this.libzip.getName(this.zip,A,0);if(z.isAbsolute(p))continue;let h=z.resolve(wt.root,p);this.registerEntry(h,A),p.endsWith("/")&&this.registerListing(h)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(r){let o=this.libzip.struct.errorCodeZip(r),a=this.libzip.error.strerror(r),n=new BD(a,this.libzip.errors[o]);if(o===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${n.message}`);return n}getExtractHint(r){for(let o of this.entries.keys()){let a=this.pathUtils.extname(o);if(r.relevantExtensions.has(a))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error("ZipFS don't have real paths when loaded from a buffer");return this.path}prepareClose(){if(!this.ready)throw sr.EBUSY("archive closed, close");Ng(this)}getBufferAndClose(){if(this.prepareClose(),this.entries.size===0)return this.discardAndClose(),wD();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.source.tell(this.lzSource);if(r===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let o=this.libzip.malloc(r);if(!o)throw new Error("Couldn't allocate enough memory");try{let a=this.libzip.source.read(this.lzSource,o,r);if(a===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(a<r)throw new Error("Incomplete read");if(a>r)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(o,o+r);return Buffer.from(n)}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Ml.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return z.resolve(wt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return pD(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw sr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=E),E}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?sr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw sr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new iT.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new iT.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw sr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=z.resolve(wt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=jo.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`access '${r}'`);if(this.readOnly&&o&jo.constants.W_OK)throw sr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw sr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw sr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw sr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,E=this.libzip.struct.statSize(u)>>>0,w=512,v=Math.ceil(E/w),b=(this.libzip.struct.statMtime(u)>>>0)*1e3,C=b,R=b,L=b,_=new Date(C),V=new Date(R),re=new Date(L),oe=new Date(b),pe=this.listings.has(o)?jo.constants.S_IFDIR:this.isSymbolicLink(n)?jo.constants.S_IFLNK:jo.constants.S_IFREG,he=pe===jo.constants.S_IFDIR?493:420,ve=pe|this.getUnixMode(n,he)&511,ge=this.libzip.struct.statCrc(u),le=Object.assign(new Ml.StatEntry,{uid:p,gid:h,size:E,blksize:w,blocks:v,atime:_,birthtime:V,ctime:re,mtime:oe,atimeMs:C,birthtimeMs:R,ctimeMs:L,mtimeMs:b,mode:ve,crc:ge});return a.bigint===!0?Ml.convertToBigIntStats(le):le}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,E=0,w=this.stats.mtimeMs,v=this.stats.mtimeMs,b=this.stats.mtimeMs,C=this.stats.mtimeMs,R=new Date(w),L=new Date(v),_=new Date(b),V=new Date(C),re=jo.constants.S_IFDIR|493,oe=0,pe=Object.assign(new Ml.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:E,atime:R,birthtime:L,ctime:_,mtime:V,atimeMs:w,birthtimeMs:v,ctimeMs:b,mtimeMs:C,mode:re,crc:oe});return a.bigint===!0?Ml.convertToBigIntStats(pe):pe}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(z.dirname(r)).add(z.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(z.dirname(r)).add(z.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r);let o=this.listings.get(z.dirname(r));o==null||o.delete(z.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw sr.EBUSY(`archive closed, ${r}`);let u=z.resolve(wt.root,o);if(u==="/")return wt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,z.resolve(z.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,z.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw sr.ENOENT(r)}if(!h)throw sr.ENOTDIR(r);if(u=z.resolve(p,z.basename(u)),!a||this.symlinkCount===0)break;let w=this.libzip.name.locate(this.zip,u.slice(1),0);if(w===-1)break;if(this.isSymbolicLink(w)){let v=this.getFileSource(w).toString();u=z.resolve(z.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=z.relative(wt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&jo.constants.S_IFMT)===jo.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let E=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(E===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let w=this.libzip.fread(E,h,A,0);if(w===-1)throw this.makeLibzipError(this.libzip.file.getError(E));if(w<A)throw new Error("Incomplete read");if(w>A)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),b=Buffer.from(v);if(p===0)return this.fileSources.set(r,b),b;if(o.asyncDecompress)return new Promise((C,R)=>{sT.default.inflateRaw(b,(L,_)=>{L?R(L):(this.fileSources.set(r,_),C(_))})});{let C=sT.default.inflateRawSync(b);return this.fileSources.set(r,C),C}}finally{this.libzip.fclose(E)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw sr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,jo.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw sr.EROFS(`copyfile '${r} -> '${o}'`);if((a&jo.constants.COPYFILE_FICLONE_FORCE)!==0)throw sr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw sr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(jo.constants.COPYFILE_EXCL|jo.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw sr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){var n;let a=(n=this.fds.get(r))==null?void 0:n.p;if(typeof a>"u")throw sr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw sr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw sr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw sr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw sr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw sr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,x8e(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw sr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw sr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,z.relative(wt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw sr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw sr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw sr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw sr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(jo.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw sr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`scandir '${r}'`);let u=[...n];return o!=null&&o.withFileTypes?u.map(A=>Object.assign(this.statImpl("lstat",z.join(r,A)),{name:A})):u}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw sr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw sr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=z.resolve(wt.root,r);return sy(this,n,o,a)}unwatchFile(r,o){let a=z.resolve(wt.root,r);return Tg(this,a,o)}}});function eY(t,e,r=Buffer.alloc(0),o){let a=new os(r),n=w=>w===e||w.startsWith(`${e}/`)?w.slice(0,e.length):null,u=async(w,v)=>()=>a,A=(w,v)=>a,p={...t},h=new xn(p),E=new Up({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o==null?void 0:o.typeCheck});return OI($W.default,new _p(E)),a}var $W,tY=dt(()=>{bt();$W=tt(Ie("fs"));oT()});var rY=dt(()=>{XW();oT();tY()});var _I={};Yt(_I,{DEFAULT_COMPRESSION_LEVEL:()=>Ay,LibzipError:()=>BD,ZipFS:()=>os,ZipOpenFS:()=>Ul,getArchivePart:()=>nT,getLibzipPromise:()=>Q8e,getLibzipSync:()=>b8e,makeEmptyArchive:()=>wD,mountMemoryDrive:()=>eY});function b8e(){return UI()}async function Q8e(){return UI()}var nY,_c=dt(()=>{eT();nY=tt(KW());zW();rY();YW(()=>{let t=(0,nY.default)();return JW(t)})});var sY=U((cxt,iY)=>{"use strict";function k8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function _g(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,_g)}k8e(_g,Error);_g.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function F8e(t,e){e=e!==void 0?e:{};var r={},o={Start:ug},a=ug,n=function(N){return N||[]},u=function(N,K,te){return[{command:N,type:K}].concat(te||[])},A=function(N,K){return[{command:N,type:K||";"}]},p=function(N){return N},h=";",E=yr(";",!1),w="&",v=yr("&",!1),b=function(N,K){return K?{chain:N,then:K}:{chain:N}},C=function(N,K){return{type:N,line:K}},R="&&",L=yr("&&",!1),_="||",V=yr("||",!1),re=function(N,K){return K?{...N,then:K}:N},oe=function(N,K){return{type:N,chain:K}},pe="|&",he=yr("|&",!1),ve="|",ge=yr("|",!1),le="=",Pe=yr("=",!1),g=function(N,K){return{name:N,args:[K]}},De=function(N){return{name:N,args:[]}},Ce="(",de=yr("(",!1),ne=")",Z=yr(")",!1),me=function(N,K){return{type:"subshell",subshell:N,args:K}},be="{",ut=yr("{",!1),H="}",yt=yr("}",!1),Me=function(N,K){return{type:"group",group:N,args:K}},Te=function(N,K){return{type:"command",args:K,envs:N}},Qe=function(N){return{type:"envs",envs:N}},_e=function(N){return N},qe=function(N){return N},At=/^[0-9]/,Oe=ys([["0","9"]],!1,!1),x=function(N,K,te){return{type:"redirection",subtype:K,fd:N!==null?parseInt(N):null,args:[te]}},I=">>",P=yr(">>",!1),y=">&",F=yr(">&",!1),J=">",X=yr(">",!1),$="<<<",ie=yr("<<<",!1),ke="<&",Ne=yr("<&",!1),st="<",ht=yr("<",!1),Ut=function(N){return{type:"argument",segments:[].concat(...N)}},Xt=function(N){return N},Pt="$'",tn=yr("$'",!1),Dr="'",fr=yr("'",!1),Br=function(N){return[{type:"text",text:N}]},jr='""',Hn=yr('""',!1),bs=function(){return{type:"text",text:""}},ki='"',gs=yr('"',!1),to=function(N){return N},Di=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},Qs=function(N){return{type:"shell",shell:N,quoted:!0}},ro=function(N){return{type:"variable",...N,quoted:!0}},pc=function(N){return{type:"text",text:N}},gu=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},ap=function(N){return{type:"shell",shell:N,quoted:!1}},lp=function(N){return{type:"variable",...N,quoted:!1}},ks=function(N){return{type:"glob",pattern:N}},En=/^[^']/,no=ys(["'"],!0,!1),Fs=function(N){return N.join("")},Cl=/^[^$"]/,El=ys(["$",'"'],!0,!1),io=`\\
10`,_e=yr(`\\ 10`,Ue=yr(`\\
11`,!1),Fn=function(){return""},Fi="\\",Rn=yr("\\",!1),Ui=/^[\\$"`]/,Zt=ys(["\\","$",'"',"`"],!1,!1),Ri=function(N){return N},Zn="\\a",La=yr("\\a",!1),$t=function(){return"a"},Ac="\\b",gu=yr("\\b",!1),fc=function(){return"\b"},yl=/^[Ee]/,DA=ys(["E","e"],!1,!1),du=function(){return"\x1B"},Ce="\\f",Rt=yr("\\f",!1),pc=function(){return"\f"},_i="\\n",mu=yr("\\n",!1),qt=function(){return` 11`,!1),Fn=function(){return""},Fi="\\",Rn=yr("\\",!1),Ui=/^[\\$"`]/,Zt=ys(["\\","$",'"',"`"],!1,!1),Ri=function(N){return N},$n="\\a",Ma=yr("\\a",!1),$t=function(){return"a"},hc="\\b",du=yr("\\b",!1),gc=function(){return"\b"},Il=/^[Ee]/,PA=ys(["E","e"],!1,!1),mu=function(){return"\x1B"},Ee="\\f",Rt=yr("\\f",!1),dc=function(){return"\f"},_i="\\n",yu=yr("\\n",!1),qt=function(){return`
12`},El="\\r",SA=yr("\\r",!1),lp=function(){return"\r"},hc="\\t",PA=yr("\\t",!1),Dn=function(){return" "},ui="\\v",gc=yr("\\v",!1),xA=function(){return"\v"},ta=/^[\\'"?]/,Hi=ys(["\\","'",'"',"?"],!1,!1),Lo=function(N){return String.fromCharCode(parseInt(N,16))},$e="\\x",so=yr("\\x",!1),Cl="\\u",yu=yr("\\u",!1),qi="\\U",Eu=yr("\\U",!1),bA=function(N){return String.fromCodePoint(parseInt(N,16))},Oa=/^[0-7]/,dc=ys([["0","7"]],!1,!1),ds=/^[0-9a-fA-f]/,Ot=ys([["0","9"],["a","f"],["A","f"]],!1,!1),Sn=ng(),di="{}",ra=yr("{}",!1),oo=function(){return"{}"},Rs="-",na=yr("-",!1),ia="+",Oo=yr("+",!1),Zi=".",Ts=yr(".",!1),Ns=function(N,K,te){return{type:"number",value:(N==="-"?-1:1)*parseFloat(K.join("")+"."+te.join(""))}},Ls=function(N,K){return{type:"number",value:(N==="-"?-1:1)*parseInt(K.join(""))}},ao=function(N){return{type:"variable",...N}},Wn=function(N){return{type:"variable",name:N}},qn=function(N){return N},$i="*",es=yr("*",!1),mi="/",Ma=yr("/",!1),sa=function(N,K,te){return{type:K==="*"?"multiplication":"division",right:te}},ee=function(N,K){return K.reduce((te,ue)=>({left:te,...ue}),N)},we=function(N,K,te){return{type:K==="+"?"addition":"subtraction",right:te}},qe="$((",Be=yr("$((",!1),xe="))",Je=yr("))",!1),vt=function(N){return N},tr="$(",Zr=yr("$(",!1),Tn=function(N){return N},_r="${",$n=yr("${",!1),Ti=":-",Yn=yr(":-",!1),Ua=function(N,K){return{name:N,defaultValue:K}},oa=":-}",yi=yr(":-}",!1),aa=function(N){return{name:N,defaultValue:[]}},Ha=":+",lo=yr(":+",!1),QA=function(N,K){return{name:N,alternativeValue:K}},mc=":+}",la=yr(":+}",!1),$h=function(N){return{name:N,alternativeValue:[]}},yc=function(N){return{name:N}},vm="$",eg=yr("$",!1),Kn=function(N){return e.isGlobPattern(N)},cp=function(N){return N},tg=/^[a-zA-Z0-9_]/,kA=ys([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Os=function(){return rg()},Cu=/^[$@*?#a-zA-Z0-9_\-]/,qa=ys(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),ji=/^[()}<>$|&; \t"']/,ca=ys(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Iu=/^[<>&; \t"']/,ms=ys(["<",">","&",";"," "," ",'"',"'"],!1,!1),Ec=/^[ \t]/,Cc=ys([" "," "],!1,!1),G=0,Dt=0,Il=[{line:1,column:1}],Si=0,Ic=[],lt=0,wu;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function rg(){return t.substring(Dt,G)}function sI(){return wc(Dt,G)}function FA(N,K){throw K=K!==void 0?K:wc(Dt,G),og([sg(N)],t.substring(Dt,G),K)}function up(N,K){throw K=K!==void 0?K:wc(Dt,G),Dm(N,K)}function yr(N,K){return{type:"literal",text:N,ignoreCase:K}}function ys(N,K,te){return{type:"class",parts:N,inverted:K,ignoreCase:te}}function ng(){return{type:"any"}}function ig(){return{type:"end"}}function sg(N){return{type:"other",description:N}}function Ap(N){var K=Il[N],te;if(K)return K;for(te=N-1;!Il[te];)te--;for(K=Il[te],K={line:K.line,column:K.column};te<N;)t.charCodeAt(te)===10?(K.line++,K.column=1):K.column++,te++;return Il[N]=K,K}function wc(N,K){var te=Ap(N),ue=Ap(K);return{start:{offset:N,line:te.line,column:te.column},end:{offset:K,line:ue.line,column:ue.column}}}function mt(N){G<Si||(G>Si&&(Si=G,Ic=[]),Ic.push(N))}function Dm(N,K){return new Og(N,null,null,K)}function og(N,K,te){return new Og(Og.buildMessage(N,K),N,K,te)}function ag(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=Bu(),te===r&&(te=null),te!==r?(Dt=N,K=n(te),N=K):(G=N,N=r)):(G=N,N=r),N}function Bu(){var N,K,te,ue,ze;if(N=G,K=vu(),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();te!==r?(ue=lg(),ue!==r?(ze=Sm(),ze===r&&(ze=null),ze!==r?(Dt=N,K=u(K,ue,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;if(N===r)if(N=G,K=vu(),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();te!==r?(ue=lg(),ue===r&&(ue=null),ue!==r?(Dt=N,K=A(K,ue),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function Sm(){var N,K,te,ue,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Bu(),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=p(te),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function lg(){var N;return t.charCodeAt(G)===59?(N=h,G++):(N=r,lt===0&&mt(C)),N===r&&(t.charCodeAt(G)===38?(N=w,G++):(N=r,lt===0&&mt(v))),N}function vu(){var N,K,te;return N=G,K=ua(),K!==r?(te=oI(),te===r&&(te=null),te!==r?(Dt=N,K=b(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function oI(){var N,K,te,ue,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Pm(),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=vu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=E(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function Pm(){var N;return t.substr(G,2)===R?(N=R,G+=2):(N=r,lt===0&&mt(L)),N===r&&(t.substr(G,2)===_?(N=_,G+=2):(N=r,lt===0&&mt(J))),N}function ua(){var N,K,te;return N=G,K=cg(),K!==r?(te=Bc(),te===r&&(te=null),te!==r?(Dt=N,K=re(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function Bc(){var N,K,te,ue,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=wl(),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=ua(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=oe(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function wl(){var N;return t.substr(G,2)===pe?(N=pe,G+=2):(N=r,lt===0&&mt(he)),N===r&&(t.charCodeAt(G)===124?(N=ve,G++):(N=r,lt===0&&mt(ge))),N}function Du(){var N,K,te,ue,ze,gt;if(N=G,K=pg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r)if(ue=Mo(),ue!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(Dt=N,K=g(K,ue),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;else G=N,N=r;if(N===r)if(N=G,K=pg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=De(K),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function cg(){var N,K,te,ue,ze,gt,ur,gr,hn,ti,Ni;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===40?(te=Ee,G++):(te=r,lt===0&&mt(de)),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=Bu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===41?(ur=ne,G++):(ur=r,lt===0&&mt(Z)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ti=ja();ti!==r;)hn.push(ti),ti=ja();if(hn!==r){for(ti=[],Ni=kt();Ni!==r;)ti.push(Ni),Ni=kt();ti!==r?(Dt=N,K=me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===123?(te=be,G++):(te=r,lt===0&&mt(ut)),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=Bu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===125?(ur=H,G++):(ur=r,lt===0&&mt(yt)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ti=ja();ti!==r;)hn.push(ti),ti=ja();if(hn!==r){for(ti=[],Ni=kt();Ni!==r;)ti.push(Ni),Ni=kt();ti!==r?(Dt=N,K=Me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){for(te=[],ue=Du();ue!==r;)te.push(ue),ue=Du();if(te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r){if(ze=[],gt=fp(),gt!==r)for(;gt!==r;)ze.push(gt),gt=fp();else ze=r;if(ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=Te(te,ze),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r}else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],ue=Du(),ue!==r)for(;ue!==r;)te.push(ue),ue=Du();else te=r;if(te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=Qe(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}}}return N}function RA(){var N,K,te,ue,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],ue=pp(),ue!==r)for(;ue!==r;)te.push(ue),ue=pp();else te=r;if(te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=Ue(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r;return N}function fp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r?(te=ja(),te!==r?(Dt=N,K=je(te),N=K):(G=N,N=r)):(G=N,N=r),N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();K!==r?(te=pp(),te!==r?(Dt=N,K=je(te),N=K):(G=N,N=r)):(G=N,N=r)}return N}function ja(){var N,K,te,ue,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(At.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Le)),te===r&&(te=null),te!==r?(ue=ug(),ue!==r?(ze=pp(),ze!==r?(Dt=N,K=x(te,ue,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function ug(){var N;return t.substr(G,2)===I?(N=I,G+=2):(N=r,lt===0&&mt(P)),N===r&&(t.substr(G,2)===y?(N=y,G+=2):(N=r,lt===0&&mt(F)),N===r&&(t.charCodeAt(G)===62?(N=z,G++):(N=r,lt===0&&mt(X)),N===r&&(t.substr(G,3)===$?(N=$,G+=3):(N=r,lt===0&&mt(ie)),N===r&&(t.substr(G,2)===ke?(N=ke,G+=2):(N=r,lt===0&&mt(Ne)),N===r&&(t.charCodeAt(G)===60?(N=st,G++):(N=r,lt===0&&mt(ht))))))),N}function pp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=Mo(),te!==r?(Dt=N,K=je(te),N=K):(G=N,N=r)):(G=N,N=r),N}function Mo(){var N,K,te;if(N=G,K=[],te=Es(),te!==r)for(;te!==r;)K.push(te),te=Es();else K=r;return K!==r&&(Dt=N,K=Ut(K)),N=K,N}function Es(){var N,K;return N=G,K=Ei(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=xm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=bm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=Uo(),K!==r&&(Dt=N,K=Xt(K)),N=K))),N}function Ei(){var N,K,te,ue;return N=G,t.substr(G,2)===Pt?(K=Pt,G+=2):(K=r,lt===0&&mt(tn)),K!==r?(te=rn(),te!==r?(t.charCodeAt(G)===39?(ue=Dr,G++):(ue=r,lt===0&&mt(fr)),ue!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function xm(){var N,K,te,ue;return N=G,t.charCodeAt(G)===39?(K=Dr,G++):(K=r,lt===0&&mt(fr)),K!==r?(te=gp(),te!==r?(t.charCodeAt(G)===39?(ue=Dr,G++):(ue=r,lt===0&&mt(fr)),ue!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function bm(){var N,K,te,ue;if(N=G,t.substr(G,2)===jr?(K=jr,G+=2):(K=r,lt===0&&mt(Hn)),K!==r&&(Dt=N,K=bs()),N=K,N===r)if(N=G,t.charCodeAt(G)===34?(K=ki,G++):(K=r,lt===0&&mt(gs)),K!==r){for(te=[],ue=TA();ue!==r;)te.push(ue),ue=TA();te!==r?(t.charCodeAt(G)===34?(ue=ki,G++):(ue=r,lt===0&&mt(gs)),ue!==r?(Dt=N,K=to(te),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function Uo(){var N,K,te;if(N=G,K=[],te=hp(),te!==r)for(;te!==r;)K.push(te),te=hp();else K=r;return K!==r&&(Dt=N,K=to(K)),N=K,N}function TA(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=Di(K)),N=K,N===r&&(N=G,K=dp(),K!==r&&(Dt=N,K=Qs(K)),N=K,N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=ro(K)),N=K,N===r&&(N=G,K=Ag(),K!==r&&(Dt=N,K=uc(K)),N=K))),N}function hp(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=hu(K)),N=K,N===r&&(N=G,K=dp(),K!==r&&(Dt=N,K=op(K)),N=K,N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=ap(K)),N=K,N===r&&(N=G,K=aI(),K!==r&&(Dt=N,K=ks(K)),N=K,N===r&&(N=G,K=fa(),K!==r&&(Dt=N,K=uc(K)),N=K)))),N}function gp(){var N,K,te;for(N=G,K=[],Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));te!==r;)K.push(te),Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function Ag(){var N,K,te;if(N=G,K=[],te=Aa(),te===r&&(dl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(ml))),te!==r)for(;te!==r;)K.push(te),te=Aa(),te===r&&(dl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(ml)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function Aa(){var N,K,te;return N=G,t.substr(G,2)===io?(K=io,G+=2):(K=r,lt===0&&mt(_e)),K!==r&&(Dt=N,K=Fn()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(Ui.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Zt)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r)),N}function rn(){var N,K,te;for(N=G,K=[],te=co(),te===r&&(Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));te!==r;)K.push(te),te=co(),te===r&&(Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function co(){var N,K,te;return N=G,t.substr(G,2)===Zn?(K=Zn,G+=2):(K=r,lt===0&&mt(La)),K!==r&&(Dt=N,K=$t()),N=K,N===r&&(N=G,t.substr(G,2)===Ac?(K=Ac,G+=2):(K=r,lt===0&&mt(gu)),K!==r&&(Dt=N,K=fc()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(yl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(DA)),te!==r?(Dt=N,K=du(),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Ce?(K=Ce,G+=2):(K=r,lt===0&&mt(Rt)),K!==r&&(Dt=N,K=pc()),N=K,N===r&&(N=G,t.substr(G,2)===_i?(K=_i,G+=2):(K=r,lt===0&&mt(mu)),K!==r&&(Dt=N,K=qt()),N=K,N===r&&(N=G,t.substr(G,2)===El?(K=El,G+=2):(K=r,lt===0&&mt(SA)),K!==r&&(Dt=N,K=lp()),N=K,N===r&&(N=G,t.substr(G,2)===hc?(K=hc,G+=2):(K=r,lt===0&&mt(PA)),K!==r&&(Dt=N,K=Dn()),N=K,N===r&&(N=G,t.substr(G,2)===ui?(K=ui,G+=2):(K=r,lt===0&&mt(gc)),K!==r&&(Dt=N,K=xA()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(ta.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Hi)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=NA()))))))))),N}function NA(){var N,K,te,ue,ze,gt,ur,gr,hn,ti,Ni,gg;return N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(te=Ga(),te!==r?(Dt=N,K=Lo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===$e?(K=$e,G+=2):(K=r,lt===0&&mt(so)),K!==r?(te=G,ue=G,ze=Ga(),ze!==r?(gt=ei(),gt!==r?(ze=[ze,gt],ue=ze):(G=ue,ue=r)):(G=ue,ue=r),ue===r&&(ue=Ga()),ue!==r?te=t.substring(te,G):te=ue,te!==r?(Dt=N,K=Lo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Cl?(K=Cl,G+=2):(K=r,lt===0&&mt(yu)),K!==r?(te=G,ue=G,ze=ei(),ze!==r?(gt=ei(),gt!==r?(ur=ei(),ur!==r?(gr=ei(),gr!==r?(ze=[ze,gt,ur,gr],ue=ze):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r),ue!==r?te=t.substring(te,G):te=ue,te!==r?(Dt=N,K=Lo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===qi?(K=qi,G+=2):(K=r,lt===0&&mt(Eu)),K!==r?(te=G,ue=G,ze=ei(),ze!==r?(gt=ei(),gt!==r?(ur=ei(),ur!==r?(gr=ei(),gr!==r?(hn=ei(),hn!==r?(ti=ei(),ti!==r?(Ni=ei(),Ni!==r?(gg=ei(),gg!==r?(ze=[ze,gt,ur,gr,hn,ti,Ni,gg],ue=ze):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r),ue!==r?te=t.substring(te,G):te=ue,te!==r?(Dt=N,K=bA(te),N=K):(G=N,N=r)):(G=N,N=r)))),N}function Ga(){var N;return Oa.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(dc)),N}function ei(){var N;return ds.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(Ot)),N}function fa(){var N,K,te,ue,ze;if(N=G,K=[],te=G,t.charCodeAt(G)===92?(ue=Fi,G++):(ue=r,lt===0&&mt(Rn)),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(ue=di,G+=2):(ue=r,lt===0&&mt(ra)),ue!==r&&(Dt=te,ue=oo()),te=ue,te===r&&(te=G,ue=G,lt++,ze=Qm(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r))),te!==r)for(;te!==r;)K.push(te),te=G,t.charCodeAt(G)===92?(ue=Fi,G++):(ue=r,lt===0&&mt(Rn)),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(ue=di,G+=2):(ue=r,lt===0&&mt(ra)),ue!==r&&(Dt=te,ue=oo()),te=ue,te===r&&(te=G,ue=G,lt++,ze=Qm(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function vc(){var N,K,te,ue,ze,gt;if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(na)),K===r&&(t.charCodeAt(G)===43?(K=ia,G++):(K=r,lt===0&&mt(Oo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le)),ue!==r)for(;ue!==r;)te.push(ue),At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le));else te=r;if(te!==r)if(t.charCodeAt(G)===46?(ue=Zi,G++):(ue=r,lt===0&&mt(Ts)),ue!==r){if(ze=[],At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Le)),gt!==r)for(;gt!==r;)ze.push(gt),At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Le));else ze=r;ze!==r?(Dt=N,K=Ns(K,te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;if(N===r){if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(na)),K===r&&(t.charCodeAt(G)===43?(K=ia,G++):(K=r,lt===0&&mt(Oo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le)),ue!==r)for(;ue!==r;)te.push(ue),At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le));else te=r;te!==r?(Dt=N,K=Ls(K,te),N=K):(G=N,N=r)}else G=N,N=r;if(N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=ao(K)),N=K,N===r&&(N=G,K=Wa(),K!==r&&(Dt=N,K=Wn(K)),N=K,N===r)))if(N=G,t.charCodeAt(G)===40?(K=Ee,G++):(K=r,lt===0&&mt(de)),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();if(te!==r)if(ue=ts(),ue!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.charCodeAt(G)===41?(gt=ne,G++):(gt=r,lt===0&&mt(Z)),gt!==r?(Dt=N,K=qn(ue),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r}return N}function Bl(){var N,K,te,ue,ze,gt,ur,gr;if(N=G,K=vc(),K!==r){for(te=[],ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ma))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=vc(),gr!==r?(Dt=ue,ze=sa(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r;for(;ue!==r;){for(te.push(ue),ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ma))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=vc(),gr!==r?(Dt=ue,ze=sa(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function ts(){var N,K,te,ue,ze,gt,ur,gr;if(N=G,K=Bl(),K!==r){for(te=[],ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=ia,G++):(gt=r,lt===0&&mt(Oo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(na))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Bl(),gr!==r?(Dt=ue,ze=we(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r;for(;ue!==r;){for(te.push(ue),ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=ia,G++):(gt=r,lt===0&&mt(Oo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(na))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Bl(),gr!==r?(Dt=ue,ze=we(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function Hr(){var N,K,te,ue,ze,gt;if(N=G,t.substr(G,3)===qe?(K=qe,G+=3):(K=r,lt===0&&mt(Be)),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();if(te!==r)if(ue=ts(),ue!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.substr(G,2)===xe?(gt=xe,G+=2):(gt=r,lt===0&&mt(Je)),gt!==r?(Dt=N,K=vt(ue),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;return N}function dp(){var N,K,te,ue;return N=G,t.substr(G,2)===tr?(K=tr,G+=2):(K=r,lt===0&&mt(Zr)),K!==r?(te=Bu(),te!==r?(t.charCodeAt(G)===41?(ue=ne,G++):(ue=r,lt===0&&mt(Z)),ue!==r?(Dt=N,K=Tn(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Dc(){var N,K,te,ue,ze,gt;return N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,2)===Ti?(ue=Ti,G+=2):(ue=r,lt===0&&mt(Yn)),ue!==r?(ze=RA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=Ua(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,3)===oa?(ue=oa,G+=3):(ue=r,lt===0&&mt(yi)),ue!==r?(Dt=N,K=aa(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,2)===Ha?(ue=Ha,G+=2):(ue=r,lt===0&&mt(lo)),ue!==r?(ze=RA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=QA(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,3)===mc?(ue=mc,G+=3):(ue=r,lt===0&&mt(la)),ue!==r?(Dt=N,K=$h(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.charCodeAt(G)===125?(ue=H,G++):(ue=r,lt===0&&mt(yt)),ue!==r?(Dt=N,K=yc(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.charCodeAt(G)===36?(K=vm,G++):(K=r,lt===0&&mt(eg)),K!==r?(te=Wa(),te!==r?(Dt=N,K=yc(te),N=K):(G=N,N=r)):(G=N,N=r)))))),N}function aI(){var N,K,te;return N=G,K=fg(),K!==r?(Dt=G,te=Kn(K),te?te=void 0:te=r,te!==r?(Dt=N,K=cp(K),N=K):(G=N,N=r)):(G=N,N=r),N}function fg(){var N,K,te,ue,ze;if(N=G,K=[],te=G,ue=G,lt++,ze=hg(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r),te!==r)for(;te!==r;)K.push(te),te=G,ue=G,lt++,ze=hg(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r);else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function pg(){var N,K,te;if(N=G,K=[],tg.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(kA)),te!==r)for(;te!==r;)K.push(te),tg.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(kA));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Wa(){var N,K,te;if(N=G,K=[],Cu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(qa)),te!==r)for(;te!==r;)K.push(te),Cu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(qa));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Qm(){var N;return ji.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ca)),N}function hg(){var N;return Iu.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ms)),N}function kt(){var N,K;if(N=[],Ec.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Cc)),K!==r)for(;K!==r;)N.push(K),Ec.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Cc));else N=r;return N}if(wu=a(),wu!==r&&G===t.length)return wu;throw wu!==r&&G<t.length&&mt(ig()),og(Ic,Si<t.length?t.charAt(Si):null,Si<t.length?wc(Si,Si+1):wc(Si,Si))}ZW.exports={SyntaxError:Og,parse:I8e}});function yD(t,e={isGlobPattern:()=>!1}){try{return(0,eY.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function ay(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${ED(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function ED(t){return`${ly(t.chain)}${t.then?` ${oT(t.then)}`:""}`}function oT(t){return`${t.type} ${ED(t.line)}`}function ly(t){return`${lT(t)}${t.then?` ${aT(t.then)}`:""}`}function aT(t){return`${t.type} ${ly(t.chain)}`}function lT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>mD(e)).join(" ")} `:""}${t.args.map(e=>cT(e)).join(" ")}`;case"subshell":return`(${ay(t.subshell)})${t.args.length>0?` ${t.args.map(e=>OI(e)).join(" ")}`:""}`;case"group":return`{ ${ay(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>OI(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>mD(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function mD(t){return`${t.name}=${t.args[0]?Mg(t.args[0]):""}`}function cT(t){switch(t.type){case"redirection":return OI(t);case"argument":return Mg(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function OI(t){return`${t.subtype} ${t.args.map(e=>Mg(e)).join(" ")}`}function Mg(t){return t.segments.map(e=>uT(e)).join("")}function uT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?'""':o.match(/[(){}<>$|&; \t"']/)?`$'${o.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${ay(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>Mg(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>Mg(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${CD(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function CD(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(CD(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var eY,tY=dt(()=>{eY=tt($W())});var nY=U((cxt,rY)=>{"use strict";function w8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Ug(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ug)}w8e(Ug,Error);Ug.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function B8e(t,e){e=e!==void 0?e:{};var r={},o={resolution:Te},a=Te,n="/",u=Ee("/",!1),A=function(Le,x){return{from:Le,descriptor:x}},p=function(Le){return{descriptor:Le}},h="@",C=Ee("@",!1),w=function(Le,x){return{fullName:Le,description:x}},v=function(Le){return{fullName:Le}},b=function(){return le()},E=/^[^\/@]/,R=de(["/","@"],!0,!1),L=/^[^\/]/,_=de(["/"],!0,!1),J=0,re=0,oe=[{line:1,column:1}],pe=0,he=[],ve=0,ge;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function le(){return t.substring(re,J)}function Pe(){return ut(re,J)}function g(Le,x){throw x=x!==void 0?x:ut(re,J),Me([me(Le)],t.substring(re,J),x)}function De(Le,x){throw x=x!==void 0?x:ut(re,J),yt(Le,x)}function Ee(Le,x){return{type:"literal",text:Le,ignoreCase:x}}function de(Le,x,I){return{type:"class",parts:Le,inverted:x,ignoreCase:I}}function ne(){return{type:"any"}}function Z(){return{type:"end"}}function me(Le){return{type:"other",description:Le}}function be(Le){var x=oe[Le],I;if(x)return x;for(I=Le-1;!oe[I];)I--;for(x=oe[I],x={line:x.line,column:x.column};I<Le;)t.charCodeAt(I)===10?(x.line++,x.column=1):x.column++,I++;return oe[Le]=x,x}function ut(Le,x){var I=be(Le),P=be(x);return{start:{offset:Le,line:I.line,column:I.column},end:{offset:x,line:P.line,column:P.column}}}function H(Le){J<pe||(J>pe&&(pe=J,he=[]),he.push(Le))}function yt(Le,x){return new Ug(Le,null,null,x)}function Me(Le,x,I){return new Ug(Ug.buildMessage(Le,x),Le,x,I)}function Te(){var Le,x,I,P;return Le=J,x=Qe(),x!==r?(t.charCodeAt(J)===47?(I=n,J++):(I=r,ve===0&&H(u)),I!==r?(P=Qe(),P!==r?(re=Le,x=A(x,P),Le=x):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r),Le===r&&(Le=J,x=Qe(),x!==r&&(re=Le,x=p(x)),Le=x),Le}function Qe(){var Le,x,I,P;return Le=J,x=Ue(),x!==r?(t.charCodeAt(J)===64?(I=h,J++):(I=r,ve===0&&H(C)),I!==r?(P=At(),P!==r?(re=Le,x=w(x,P),Le=x):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r),Le===r&&(Le=J,x=Ue(),x!==r&&(re=Le,x=v(x)),Le=x),Le}function Ue(){var Le,x,I,P,y;return Le=J,t.charCodeAt(J)===64?(x=h,J++):(x=r,ve===0&&H(C)),x!==r?(I=je(),I!==r?(t.charCodeAt(J)===47?(P=n,J++):(P=r,ve===0&&H(u)),P!==r?(y=je(),y!==r?(re=Le,x=b(),Le=x):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r),Le===r&&(Le=J,x=je(),x!==r&&(re=Le,x=b()),Le=x),Le}function je(){var Le,x,I;if(Le=J,x=[],E.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(R)),I!==r)for(;I!==r;)x.push(I),E.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(R));else x=r;return x!==r&&(re=Le,x=b()),Le=x,Le}function At(){var Le,x,I;if(Le=J,x=[],L.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(_)),I!==r)for(;I!==r;)x.push(I),L.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(_));else x=r;return x!==r&&(re=Le,x=b()),Le=x,Le}if(ge=a(),ge!==r&&J===t.length)return ge;throw ge!==r&&J<t.length&&H(Z()),Me(he,pe<t.length?t.charAt(pe):null,pe<t.length?ut(pe,pe+1):ut(pe,pe))}rY.exports={SyntaxError:Ug,parse:B8e}});function ID(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,iY.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function wD(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var iY,sY=dt(()=>{iY=tt(nY())});var Hg=U((Axt,_g)=>{"use strict";function oY(t){return typeof t>"u"||t===null}function v8e(t){return typeof t=="object"&&t!==null}function D8e(t){return Array.isArray(t)?t:oY(t)?[]:[t]}function S8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r<o;r+=1)a=n[r],t[a]=e[a];return t}function P8e(t,e){var r="",o;for(o=0;o<e;o+=1)r+=t;return r}function x8e(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}_g.exports.isNothing=oY;_g.exports.isObject=v8e;_g.exports.toArray=D8e;_g.exports.repeat=P8e;_g.exports.isNegativeZero=x8e;_g.exports.extend=S8e});var cy=U((fxt,aY)=>{"use strict";function MI(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}MI.prototype=Object.create(Error.prototype);MI.prototype.constructor=MI;MI.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};aY.exports=MI});var uY=U((pxt,cY)=>{"use strict";var lY=Hg();function AT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}AT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r 12`},wl="\\r",xA=yr("\\r",!1),cp=function(){return"\r"},mc="\\t",bA=yr("\\t",!1),Dn=function(){return" "},ui="\\v",yc=yr("\\v",!1),QA=function(){return"\v"},ra=/^[\\'"?]/,Hi=ys(["\\","'",'"',"?"],!1,!1),Oo=function(N){return String.fromCharCode(parseInt(N,16))},$e="\\x",so=yr("\\x",!1),Bl="\\u",Cu=yr("\\u",!1),qi="\\U",Eu=yr("\\U",!1),kA=function(N){return String.fromCodePoint(parseInt(N,16))},Ua=/^[0-7]/,Cc=ys([["0","7"]],!1,!1),ds=/^[0-9a-fA-f]/,Ot=ys([["0","9"],["a","f"],["A","f"]],!1,!1),Sn=og(),di="{}",na=yr("{}",!1),oo=function(){return"{}"},Rs="-",ia=yr("-",!1),sa="+",Mo=yr("+",!1),Zi=".",Ts=yr(".",!1),Ns=function(N,K,te){return{type:"number",value:(N==="-"?-1:1)*parseFloat(K.join("")+"."+te.join(""))}},Ls=function(N,K){return{type:"number",value:(N==="-"?-1:1)*parseInt(K.join(""))}},ao=function(N){return{type:"variable",...N}},Yn=function(N){return{type:"variable",name:N}},qn=function(N){return N},$i="*",es=yr("*",!1),mi="/",Ha=yr("/",!1),oa=function(N,K,te){return{type:K==="*"?"multiplication":"division",right:te}},ee=function(N,K){return K.reduce((te,Ae)=>({left:te,...Ae}),N)},we=function(N,K,te){return{type:K==="+"?"addition":"subtraction",right:te}},je="$((",Be=yr("$((",!1),xe="))",Ve=yr("))",!1),vt=function(N){return N},tr="$(",Zr=yr("$(",!1),Tn=function(N){return N},_r="${",ei=yr("${",!1),Ti=":-",Kn=yr(":-",!1),qa=function(N,K){return{name:N,defaultValue:K}},aa=":-}",yi=yr(":-}",!1),la=function(N){return{name:N,defaultValue:[]}},ja=":+",lo=yr(":+",!1),FA=function(N,K){return{name:N,alternativeValue:K}},Ec=":+}",ca=yr(":+}",!1),rg=function(N){return{name:N,alternativeValue:[]}},Ic=function(N){return{name:N}},bm="$",ng=yr("$",!1),Vn=function(N){return e.isGlobPattern(N)},up=function(N){return N},ig=/^[a-zA-Z0-9_]/,RA=ys([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Os=function(){return sg()},Iu=/^[$@*?#a-zA-Z0-9_\-]/,Ga=ys(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),ji=/^[()}<>$|&; \t"']/,ua=ys(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),wu=/^[<>&; \t"']/,ms=ys(["<",">","&",";"," "," ",'"',"'"],!1,!1),wc=/^[ \t]/,Bc=ys([" "," "],!1,!1),G=0,Dt=0,vl=[{line:1,column:1}],Si=0,vc=[],lt=0,Bu;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function sg(){return t.substring(Dt,G)}function cI(){return Dc(Dt,G)}function TA(N,K){throw K=K!==void 0?K:Dc(Dt,G),cg([lg(N)],t.substring(Dt,G),K)}function Ap(N,K){throw K=K!==void 0?K:Dc(Dt,G),Qm(N,K)}function yr(N,K){return{type:"literal",text:N,ignoreCase:K}}function ys(N,K,te){return{type:"class",parts:N,inverted:K,ignoreCase:te}}function og(){return{type:"any"}}function ag(){return{type:"end"}}function lg(N){return{type:"other",description:N}}function fp(N){var K=vl[N],te;if(K)return K;for(te=N-1;!vl[te];)te--;for(K=vl[te],K={line:K.line,column:K.column};te<N;)t.charCodeAt(te)===10?(K.line++,K.column=1):K.column++,te++;return vl[N]=K,K}function Dc(N,K){var te=fp(N),Ae=fp(K);return{start:{offset:N,line:te.line,column:te.column},end:{offset:K,line:Ae.line,column:Ae.column}}}function mt(N){G<Si||(G>Si&&(Si=G,vc=[]),vc.push(N))}function Qm(N,K){return new _g(N,null,null,K)}function cg(N,K,te){return new _g(_g.buildMessage(N,K),N,K,te)}function ug(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=vu(),te===r&&(te=null),te!==r?(Dt=N,K=n(te),N=K):(G=N,N=r)):(G=N,N=r),N}function vu(){var N,K,te,Ae,ze;if(N=G,K=Du(),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();te!==r?(Ae=Ag(),Ae!==r?(ze=km(),ze===r&&(ze=null),ze!==r?(Dt=N,K=u(K,Ae,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;if(N===r)if(N=G,K=Du(),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();te!==r?(Ae=Ag(),Ae===r&&(Ae=null),Ae!==r?(Dt=N,K=A(K,Ae),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function km(){var N,K,te,Ae,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=vu(),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=p(te),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function Ag(){var N;return t.charCodeAt(G)===59?(N=h,G++):(N=r,lt===0&&mt(E)),N===r&&(t.charCodeAt(G)===38?(N=w,G++):(N=r,lt===0&&mt(v))),N}function Du(){var N,K,te;return N=G,K=Aa(),K!==r?(te=uI(),te===r&&(te=null),te!==r?(Dt=N,K=b(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function uI(){var N,K,te,Ae,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Fm(),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=Du(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=C(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function Fm(){var N;return t.substr(G,2)===R?(N=R,G+=2):(N=r,lt===0&&mt(L)),N===r&&(t.substr(G,2)===_?(N=_,G+=2):(N=r,lt===0&&mt(V))),N}function Aa(){var N,K,te;return N=G,K=fg(),K!==r?(te=Sc(),te===r&&(te=null),te!==r?(Dt=N,K=re(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function Sc(){var N,K,te,Ae,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Dl(),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=Aa(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=oe(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function Dl(){var N;return t.substr(G,2)===pe?(N=pe,G+=2):(N=r,lt===0&&mt(he)),N===r&&(t.charCodeAt(G)===124?(N=ve,G++):(N=r,lt===0&&mt(ge))),N}function Su(){var N,K,te,Ae,ze,gt;if(N=G,K=dg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r)if(Ae=Uo(),Ae!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(Dt=N,K=g(K,Ae),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;else G=N,N=r;if(N===r)if(N=G,K=dg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=De(K),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function fg(){var N,K,te,Ae,ze,gt,ur,gr,hn,ri,Ni;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===40?(te=Ce,G++):(te=r,lt===0&&mt(de)),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=vu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===41?(ur=ne,G++):(ur=r,lt===0&&mt(Z)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ri=Wa();ri!==r;)hn.push(ri),ri=Wa();if(hn!==r){for(ri=[],Ni=kt();Ni!==r;)ri.push(Ni),Ni=kt();ri!==r?(Dt=N,K=me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===123?(te=be,G++):(te=r,lt===0&&mt(ut)),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=vu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===125?(ur=H,G++):(ur=r,lt===0&&mt(yt)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ri=Wa();ri!==r;)hn.push(ri),ri=Wa();if(hn!==r){for(ri=[],Ni=kt();Ni!==r;)ri.push(Ni),Ni=kt();ri!==r?(Dt=N,K=Me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){for(te=[],Ae=Su();Ae!==r;)te.push(Ae),Ae=Su();if(te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r){if(ze=[],gt=pp(),gt!==r)for(;gt!==r;)ze.push(gt),gt=pp();else ze=r;if(ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=Te(te,ze),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r}else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],Ae=Su(),Ae!==r)for(;Ae!==r;)te.push(Ae),Ae=Su();else te=r;if(te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=Qe(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}}}return N}function NA(){var N,K,te,Ae,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],Ae=hp(),Ae!==r)for(;Ae!==r;)te.push(Ae),Ae=hp();else te=r;if(te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=_e(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r;return N}function pp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r?(te=Wa(),te!==r?(Dt=N,K=qe(te),N=K):(G=N,N=r)):(G=N,N=r),N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();K!==r?(te=hp(),te!==r?(Dt=N,K=qe(te),N=K):(G=N,N=r)):(G=N,N=r)}return N}function Wa(){var N,K,te,Ae,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(At.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Oe)),te===r&&(te=null),te!==r?(Ae=pg(),Ae!==r?(ze=hp(),ze!==r?(Dt=N,K=x(te,Ae,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function pg(){var N;return t.substr(G,2)===I?(N=I,G+=2):(N=r,lt===0&&mt(P)),N===r&&(t.substr(G,2)===y?(N=y,G+=2):(N=r,lt===0&&mt(F)),N===r&&(t.charCodeAt(G)===62?(N=J,G++):(N=r,lt===0&&mt(X)),N===r&&(t.substr(G,3)===$?(N=$,G+=3):(N=r,lt===0&&mt(ie)),N===r&&(t.substr(G,2)===ke?(N=ke,G+=2):(N=r,lt===0&&mt(Ne)),N===r&&(t.charCodeAt(G)===60?(N=st,G++):(N=r,lt===0&&mt(ht))))))),N}function hp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=Uo(),te!==r?(Dt=N,K=qe(te),N=K):(G=N,N=r)):(G=N,N=r),N}function Uo(){var N,K,te;if(N=G,K=[],te=Cs(),te!==r)for(;te!==r;)K.push(te),te=Cs();else K=r;return K!==r&&(Dt=N,K=Ut(K)),N=K,N}function Cs(){var N,K;return N=G,K=Ci(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=Rm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=Tm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=_o(),K!==r&&(Dt=N,K=Xt(K)),N=K))),N}function Ci(){var N,K,te,Ae;return N=G,t.substr(G,2)===Pt?(K=Pt,G+=2):(K=r,lt===0&&mt(tn)),K!==r?(te=rn(),te!==r?(t.charCodeAt(G)===39?(Ae=Dr,G++):(Ae=r,lt===0&&mt(fr)),Ae!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Rm(){var N,K,te,Ae;return N=G,t.charCodeAt(G)===39?(K=Dr,G++):(K=r,lt===0&&mt(fr)),K!==r?(te=dp(),te!==r?(t.charCodeAt(G)===39?(Ae=Dr,G++):(Ae=r,lt===0&&mt(fr)),Ae!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Tm(){var N,K,te,Ae;if(N=G,t.substr(G,2)===jr?(K=jr,G+=2):(K=r,lt===0&&mt(Hn)),K!==r&&(Dt=N,K=bs()),N=K,N===r)if(N=G,t.charCodeAt(G)===34?(K=ki,G++):(K=r,lt===0&&mt(gs)),K!==r){for(te=[],Ae=LA();Ae!==r;)te.push(Ae),Ae=LA();te!==r?(t.charCodeAt(G)===34?(Ae=ki,G++):(Ae=r,lt===0&&mt(gs)),Ae!==r?(Dt=N,K=to(te),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function _o(){var N,K,te;if(N=G,K=[],te=gp(),te!==r)for(;te!==r;)K.push(te),te=gp();else K=r;return K!==r&&(Dt=N,K=to(K)),N=K,N}function LA(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=Di(K)),N=K,N===r&&(N=G,K=mp(),K!==r&&(Dt=N,K=Qs(K)),N=K,N===r&&(N=G,K=xc(),K!==r&&(Dt=N,K=ro(K)),N=K,N===r&&(N=G,K=hg(),K!==r&&(Dt=N,K=pc(K)),N=K))),N}function gp(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=gu(K)),N=K,N===r&&(N=G,K=mp(),K!==r&&(Dt=N,K=ap(K)),N=K,N===r&&(N=G,K=xc(),K!==r&&(Dt=N,K=lp(K)),N=K,N===r&&(N=G,K=AI(),K!==r&&(Dt=N,K=ks(K)),N=K,N===r&&(N=G,K=pa(),K!==r&&(Dt=N,K=pc(K)),N=K)))),N}function dp(){var N,K,te;for(N=G,K=[],En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));te!==r;)K.push(te),En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function hg(){var N,K,te;if(N=G,K=[],te=fa(),te===r&&(Cl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(El))),te!==r)for(;te!==r;)K.push(te),te=fa(),te===r&&(Cl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(El)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function fa(){var N,K,te;return N=G,t.substr(G,2)===io?(K=io,G+=2):(K=r,lt===0&&mt(Ue)),K!==r&&(Dt=N,K=Fn()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(Ui.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Zt)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r)),N}function rn(){var N,K,te;for(N=G,K=[],te=co(),te===r&&(En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));te!==r;)K.push(te),te=co(),te===r&&(En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function co(){var N,K,te;return N=G,t.substr(G,2)===$n?(K=$n,G+=2):(K=r,lt===0&&mt(Ma)),K!==r&&(Dt=N,K=$t()),N=K,N===r&&(N=G,t.substr(G,2)===hc?(K=hc,G+=2):(K=r,lt===0&&mt(du)),K!==r&&(Dt=N,K=gc()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(Il.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(PA)),te!==r?(Dt=N,K=mu(),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Ee?(K=Ee,G+=2):(K=r,lt===0&&mt(Rt)),K!==r&&(Dt=N,K=dc()),N=K,N===r&&(N=G,t.substr(G,2)===_i?(K=_i,G+=2):(K=r,lt===0&&mt(yu)),K!==r&&(Dt=N,K=qt()),N=K,N===r&&(N=G,t.substr(G,2)===wl?(K=wl,G+=2):(K=r,lt===0&&mt(xA)),K!==r&&(Dt=N,K=cp()),N=K,N===r&&(N=G,t.substr(G,2)===mc?(K=mc,G+=2):(K=r,lt===0&&mt(bA)),K!==r&&(Dt=N,K=Dn()),N=K,N===r&&(N=G,t.substr(G,2)===ui?(K=ui,G+=2):(K=r,lt===0&&mt(yc)),K!==r&&(Dt=N,K=QA()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(ra.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Hi)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=OA()))))))))),N}function OA(){var N,K,te,Ae,ze,gt,ur,gr,hn,ri,Ni,yg;return N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(te=Ya(),te!==r?(Dt=N,K=Oo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===$e?(K=$e,G+=2):(K=r,lt===0&&mt(so)),K!==r?(te=G,Ae=G,ze=Ya(),ze!==r?(gt=ti(),gt!==r?(ze=[ze,gt],Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r),Ae===r&&(Ae=Ya()),Ae!==r?te=t.substring(te,G):te=Ae,te!==r?(Dt=N,K=Oo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Bl?(K=Bl,G+=2):(K=r,lt===0&&mt(Cu)),K!==r?(te=G,Ae=G,ze=ti(),ze!==r?(gt=ti(),gt!==r?(ur=ti(),ur!==r?(gr=ti(),gr!==r?(ze=[ze,gt,ur,gr],Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r),Ae!==r?te=t.substring(te,G):te=Ae,te!==r?(Dt=N,K=Oo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===qi?(K=qi,G+=2):(K=r,lt===0&&mt(Eu)),K!==r?(te=G,Ae=G,ze=ti(),ze!==r?(gt=ti(),gt!==r?(ur=ti(),ur!==r?(gr=ti(),gr!==r?(hn=ti(),hn!==r?(ri=ti(),ri!==r?(Ni=ti(),Ni!==r?(yg=ti(),yg!==r?(ze=[ze,gt,ur,gr,hn,ri,Ni,yg],Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r),Ae!==r?te=t.substring(te,G):te=Ae,te!==r?(Dt=N,K=kA(te),N=K):(G=N,N=r)):(G=N,N=r)))),N}function Ya(){var N;return Ua.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(Cc)),N}function ti(){var N;return ds.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(Ot)),N}function pa(){var N,K,te,Ae,ze;if(N=G,K=[],te=G,t.charCodeAt(G)===92?(Ae=Fi,G++):(Ae=r,lt===0&&mt(Rn)),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(Ae=di,G+=2):(Ae=r,lt===0&&mt(na)),Ae!==r&&(Dt=te,Ae=oo()),te=Ae,te===r&&(te=G,Ae=G,lt++,ze=Nm(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r))),te!==r)for(;te!==r;)K.push(te),te=G,t.charCodeAt(G)===92?(Ae=Fi,G++):(Ae=r,lt===0&&mt(Rn)),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(Ae=di,G+=2):(Ae=r,lt===0&&mt(na)),Ae!==r&&(Dt=te,Ae=oo()),te=Ae,te===r&&(te=G,Ae=G,lt++,ze=Nm(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function Pc(){var N,K,te,Ae,ze,gt;if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(ia)),K===r&&(t.charCodeAt(G)===43?(K=sa,G++):(K=r,lt===0&&mt(Mo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe)),Ae!==r)for(;Ae!==r;)te.push(Ae),At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe));else te=r;if(te!==r)if(t.charCodeAt(G)===46?(Ae=Zi,G++):(Ae=r,lt===0&&mt(Ts)),Ae!==r){if(ze=[],At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Oe)),gt!==r)for(;gt!==r;)ze.push(gt),At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Oe));else ze=r;ze!==r?(Dt=N,K=Ns(K,te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;if(N===r){if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(ia)),K===r&&(t.charCodeAt(G)===43?(K=sa,G++):(K=r,lt===0&&mt(Mo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe)),Ae!==r)for(;Ae!==r;)te.push(Ae),At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe));else te=r;te!==r?(Dt=N,K=Ls(K,te),N=K):(G=N,N=r)}else G=N,N=r;if(N===r&&(N=G,K=xc(),K!==r&&(Dt=N,K=ao(K)),N=K,N===r&&(N=G,K=Ka(),K!==r&&(Dt=N,K=Yn(K)),N=K,N===r)))if(N=G,t.charCodeAt(G)===40?(K=Ce,G++):(K=r,lt===0&&mt(de)),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();if(te!==r)if(Ae=ts(),Ae!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.charCodeAt(G)===41?(gt=ne,G++):(gt=r,lt===0&&mt(Z)),gt!==r?(Dt=N,K=qn(Ae),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r}return N}function Sl(){var N,K,te,Ae,ze,gt,ur,gr;if(N=G,K=Pc(),K!==r){for(te=[],Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ha))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Pc(),gr!==r?(Dt=Ae,ze=oa(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r;for(;Ae!==r;){for(te.push(Ae),Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ha))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Pc(),gr!==r?(Dt=Ae,ze=oa(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function ts(){var N,K,te,Ae,ze,gt,ur,gr;if(N=G,K=Sl(),K!==r){for(te=[],Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=sa,G++):(gt=r,lt===0&&mt(Mo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(ia))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Sl(),gr!==r?(Dt=Ae,ze=we(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r;for(;Ae!==r;){for(te.push(Ae),Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=sa,G++):(gt=r,lt===0&&mt(Mo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(ia))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Sl(),gr!==r?(Dt=Ae,ze=we(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function Hr(){var N,K,te,Ae,ze,gt;if(N=G,t.substr(G,3)===je?(K=je,G+=3):(K=r,lt===0&&mt(Be)),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();if(te!==r)if(Ae=ts(),Ae!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.substr(G,2)===xe?(gt=xe,G+=2):(gt=r,lt===0&&mt(Ve)),gt!==r?(Dt=N,K=vt(Ae),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;return N}function mp(){var N,K,te,Ae;return N=G,t.substr(G,2)===tr?(K=tr,G+=2):(K=r,lt===0&&mt(Zr)),K!==r?(te=vu(),te!==r?(t.charCodeAt(G)===41?(Ae=ne,G++):(Ae=r,lt===0&&mt(Z)),Ae!==r?(Dt=N,K=Tn(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function xc(){var N,K,te,Ae,ze,gt;return N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,2)===Ti?(Ae=Ti,G+=2):(Ae=r,lt===0&&mt(Kn)),Ae!==r?(ze=NA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=qa(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,3)===aa?(Ae=aa,G+=3):(Ae=r,lt===0&&mt(yi)),Ae!==r?(Dt=N,K=la(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,2)===ja?(Ae=ja,G+=2):(Ae=r,lt===0&&mt(lo)),Ae!==r?(ze=NA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=FA(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,3)===Ec?(Ae=Ec,G+=3):(Ae=r,lt===0&&mt(ca)),Ae!==r?(Dt=N,K=rg(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.charCodeAt(G)===125?(Ae=H,G++):(Ae=r,lt===0&&mt(yt)),Ae!==r?(Dt=N,K=Ic(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.charCodeAt(G)===36?(K=bm,G++):(K=r,lt===0&&mt(ng)),K!==r?(te=Ka(),te!==r?(Dt=N,K=Ic(te),N=K):(G=N,N=r)):(G=N,N=r)))))),N}function AI(){var N,K,te;return N=G,K=gg(),K!==r?(Dt=G,te=Vn(K),te?te=void 0:te=r,te!==r?(Dt=N,K=up(K),N=K):(G=N,N=r)):(G=N,N=r),N}function gg(){var N,K,te,Ae,ze;if(N=G,K=[],te=G,Ae=G,lt++,ze=mg(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r),te!==r)for(;te!==r;)K.push(te),te=G,Ae=G,lt++,ze=mg(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r);else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function dg(){var N,K,te;if(N=G,K=[],ig.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(RA)),te!==r)for(;te!==r;)K.push(te),ig.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(RA));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Ka(){var N,K,te;if(N=G,K=[],Iu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Ga)),te!==r)for(;te!==r;)K.push(te),Iu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Ga));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Nm(){var N;return ji.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ua)),N}function mg(){var N;return wu.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ms)),N}function kt(){var N,K;if(N=[],wc.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Bc)),K!==r)for(;K!==r;)N.push(K),wc.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Bc));else N=r;return N}if(Bu=a(),Bu!==r&&G===t.length)return Bu;throw Bu!==r&&G<t.length&&mt(ag()),cg(vc,Si<t.length?t.charAt(Si):null,Si<t.length?Dc(Si,Si+1):Dc(Si,Si))}iY.exports={SyntaxError:_g,parse:F8e}});function DD(t,e={isGlobPattern:()=>!1}){try{return(0,oY.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function fy(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${SD(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function SD(t){return`${py(t.chain)}${t.then?` ${aT(t.then)}`:""}`}function aT(t){return`${t.type} ${SD(t.line)}`}function py(t){return`${cT(t)}${t.then?` ${lT(t.then)}`:""}`}function lT(t){return`${t.type} ${py(t.chain)}`}function cT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>vD(e)).join(" ")} `:""}${t.args.map(e=>uT(e)).join(" ")}`;case"subshell":return`(${fy(t.subshell)})${t.args.length>0?` ${t.args.map(e=>HI(e)).join(" ")}`:""}`;case"group":return`{ ${fy(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>HI(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>vD(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function vD(t){return`${t.name}=${t.args[0]?Hg(t.args[0]):""}`}function uT(t){switch(t.type){case"redirection":return HI(t);case"argument":return Hg(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function HI(t){return`${t.subtype} ${t.args.map(e=>Hg(e)).join(" ")}`}function Hg(t){return t.segments.map(e=>AT(e)).join("")}function AT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?'""':o.match(/[(){}<>$|&; \t"']/)?`$'${o.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${fy(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>Hg(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>Hg(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${PD(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function PD(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(PD(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var oY,aY=dt(()=>{oY=tt(sY())});var cY=U((Bxt,lY)=>{"use strict";function R8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function qg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,qg)}R8e(qg,Error);qg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function T8e(t,e){e=e!==void 0?e:{};var r={},o={resolution:Te},a=Te,n="/",u=Ce("/",!1),A=function(Oe,x){return{from:Oe,descriptor:x}},p=function(Oe){return{descriptor:Oe}},h="@",E=Ce("@",!1),w=function(Oe,x){return{fullName:Oe,description:x}},v=function(Oe){return{fullName:Oe}},b=function(){return le()},C=/^[^\/@]/,R=de(["/","@"],!0,!1),L=/^[^\/]/,_=de(["/"],!0,!1),V=0,re=0,oe=[{line:1,column:1}],pe=0,he=[],ve=0,ge;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function le(){return t.substring(re,V)}function Pe(){return ut(re,V)}function g(Oe,x){throw x=x!==void 0?x:ut(re,V),Me([me(Oe)],t.substring(re,V),x)}function De(Oe,x){throw x=x!==void 0?x:ut(re,V),yt(Oe,x)}function Ce(Oe,x){return{type:"literal",text:Oe,ignoreCase:x}}function de(Oe,x,I){return{type:"class",parts:Oe,inverted:x,ignoreCase:I}}function ne(){return{type:"any"}}function Z(){return{type:"end"}}function me(Oe){return{type:"other",description:Oe}}function be(Oe){var x=oe[Oe],I;if(x)return x;for(I=Oe-1;!oe[I];)I--;for(x=oe[I],x={line:x.line,column:x.column};I<Oe;)t.charCodeAt(I)===10?(x.line++,x.column=1):x.column++,I++;return oe[Oe]=x,x}function ut(Oe,x){var I=be(Oe),P=be(x);return{start:{offset:Oe,line:I.line,column:I.column},end:{offset:x,line:P.line,column:P.column}}}function H(Oe){V<pe||(V>pe&&(pe=V,he=[]),he.push(Oe))}function yt(Oe,x){return new qg(Oe,null,null,x)}function Me(Oe,x,I){return new qg(qg.buildMessage(Oe,x),Oe,x,I)}function Te(){var Oe,x,I,P;return Oe=V,x=Qe(),x!==r?(t.charCodeAt(V)===47?(I=n,V++):(I=r,ve===0&&H(u)),I!==r?(P=Qe(),P!==r?(re=Oe,x=A(x,P),Oe=x):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r),Oe===r&&(Oe=V,x=Qe(),x!==r&&(re=Oe,x=p(x)),Oe=x),Oe}function Qe(){var Oe,x,I,P;return Oe=V,x=_e(),x!==r?(t.charCodeAt(V)===64?(I=h,V++):(I=r,ve===0&&H(E)),I!==r?(P=At(),P!==r?(re=Oe,x=w(x,P),Oe=x):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r),Oe===r&&(Oe=V,x=_e(),x!==r&&(re=Oe,x=v(x)),Oe=x),Oe}function _e(){var Oe,x,I,P,y;return Oe=V,t.charCodeAt(V)===64?(x=h,V++):(x=r,ve===0&&H(E)),x!==r?(I=qe(),I!==r?(t.charCodeAt(V)===47?(P=n,V++):(P=r,ve===0&&H(u)),P!==r?(y=qe(),y!==r?(re=Oe,x=b(),Oe=x):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r),Oe===r&&(Oe=V,x=qe(),x!==r&&(re=Oe,x=b()),Oe=x),Oe}function qe(){var Oe,x,I;if(Oe=V,x=[],C.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(R)),I!==r)for(;I!==r;)x.push(I),C.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(R));else x=r;return x!==r&&(re=Oe,x=b()),Oe=x,Oe}function At(){var Oe,x,I;if(Oe=V,x=[],L.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(_)),I!==r)for(;I!==r;)x.push(I),L.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(_));else x=r;return x!==r&&(re=Oe,x=b()),Oe=x,Oe}if(ge=a(),ge!==r&&V===t.length)return ge;throw ge!==r&&V<t.length&&H(Z()),Me(he,pe<t.length?t.charAt(pe):null,pe<t.length?ut(pe,pe+1):ut(pe,pe))}lY.exports={SyntaxError:qg,parse:T8e}});function xD(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,uY.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function bD(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var uY,AY=dt(()=>{uY=tt(cY())});var Gg=U((Dxt,jg)=>{"use strict";function fY(t){return typeof t>"u"||t===null}function N8e(t){return typeof t=="object"&&t!==null}function L8e(t){return Array.isArray(t)?t:fY(t)?[]:[t]}function O8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r<o;r+=1)a=n[r],t[a]=e[a];return t}function M8e(t,e){var r="",o;for(o=0;o<e;o+=1)r+=t;return r}function U8e(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}jg.exports.isNothing=fY;jg.exports.isObject=N8e;jg.exports.toArray=L8e;jg.exports.repeat=M8e;jg.exports.isNegativeZero=U8e;jg.exports.extend=O8e});var hy=U((Sxt,pY)=>{"use strict";function qI(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}qI.prototype=Object.create(Error.prototype);qI.prototype.constructor=qI;qI.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};pY.exports=qI});var dY=U((Pxt,gY)=>{"use strict";var hY=Gg();function fT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}fT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r
13\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;u<this.buffer.length&&`\0\r 13\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;u<this.buffer.length&&`\0\r
14\x85\u2028\u2029`.indexOf(this.buffer.charAt(u))===-1;)if(u+=1,u-this.position>r/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),lY.repeat(" ",e)+o+A+n+` 14\x85\u2028\u2029`.indexOf(this.buffer.charAt(u))===-1;)if(u+=1,u-this.position>r/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),hY.repeat(" ",e)+o+A+n+`
15`+lY.repeat(" ",e+this.position-a+o.length)+"^"};AT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: 15`+hY.repeat(" ",e+this.position-a+o.length)+"^"};fT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`:
16`+r)),o};cY.exports=AT});var as=U((hxt,fY)=>{"use strict";var AY=cy(),b8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Q8e=["scalar","sequence","mapping"];function k8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function F8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(b8e.indexOf(r)===-1)throw new AY('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),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.defaultStyle=e.defaultStyle||null,this.styleAliases=k8e(e.styleAliases||null),Q8e.indexOf(this.kind)===-1)throw new AY('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}fY.exports=F8e});var qg=U((gxt,hY)=>{"use strict";var pY=Hg(),BD=cy(),R8e=as();function fT(t,e,r){var o=[];return t.include.forEach(function(a){r=fT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function T8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(o);return t}function uy(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!=="scalar")throw new BD("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=fT(this,"implicit",[]),this.compiledExplicit=fT(this,"explicit",[]),this.compiledTypeMap=T8e(this.compiledImplicit,this.compiledExplicit)}uy.DEFAULT=null;uy.create=function(){var e,r;switch(arguments.length){case 1:e=uy.DEFAULT,r=arguments[0];break;case 2:e=arguments[0],r=arguments[1];break;default:throw new BD("Wrong number of arguments for Schema.create function")}if(e=pY.toArray(e),r=pY.toArray(r),!e.every(function(o){return o instanceof uy}))throw new BD("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!r.every(function(o){return o instanceof R8e}))throw new BD("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new uy({include:e,explicit:r})};hY.exports=uy});var dY=U((dxt,gY)=>{"use strict";var N8e=as();gY.exports=new N8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var yY=U((mxt,mY)=>{"use strict";var L8e=as();mY.exports=new L8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var CY=U((yxt,EY)=>{"use strict";var O8e=as();EY.exports=new O8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var vD=U((Ext,IY)=>{"use strict";var M8e=qg();IY.exports=new M8e({explicit:[dY(),yY(),CY()]})});var BY=U((Cxt,wY)=>{"use strict";var U8e=as();function _8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function H8e(){return null}function q8e(t){return t===null}wY.exports=new U8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:_8e,construct:H8e,predicate:q8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var DY=U((Ixt,vY)=>{"use strict";var j8e=as();function G8e(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")}function W8e(t){return t==="true"||t==="True"||t==="TRUE"}function Y8e(t){return Object.prototype.toString.call(t)==="[object Boolean]"}vY.exports=new j8e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:G8e,construct:W8e,predicate:Y8e,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var PY=U((wxt,SY)=>{"use strict";var K8e=Hg(),J8e=as();function V8e(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function z8e(t){return 48<=t&&t<=55}function X8e(t){return 48<=t&&t<=57}function Z8e(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(a!=="0"&&a!=="1")return!1;o=!0}return o&&a!=="_"}if(a==="x"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(!V8e(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}for(;r<e;r++)if(a=t[r],a!=="_"){if(!z8e(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}if(a==="_")return!1;for(;r<e;r++)if(a=t[r],a!=="_"){if(a===":")break;if(!X8e(t.charCodeAt(r)))return!1;o=!0}return!o||a==="_"?!1:a!==":"?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(r))}function $8e(t){var e=t,r=1,o,a,n=[];return e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),o=e[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),e=e.slice(1),o=e[0]),e==="0"?0:o==="0"?e[1]==="b"?r*parseInt(e.slice(2),2):e[1]==="x"?r*parseInt(e,16):r*parseInt(e,8):e.indexOf(":")!==-1?(e.split(":").forEach(function(u){n.unshift(parseInt(u,10))}),e=0,a=1,n.forEach(function(u){e+=u*a,a*=60}),r*e):r*parseInt(e,10)}function eHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!K8e.isNegativeZero(t)}SY.exports=new J8e("tag:yaml.org,2002:int",{kind:"scalar",resolve:Z8e,construct:$8e,predicate:eHe,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var QY=U((Bxt,bY)=>{"use strict";var xY=Hg(),tHe=as(),rHe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function nHe(t){return!(t===null||!rHe.test(t)||t[t.length-1]==="_")}function iHe(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var sHe=/^[-+]?[0-9]+e/;function oHe(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(xY.isNegativeZero(t))return"-0.0";return r=t.toString(10),sHe.test(r)?r.replace("e",".e"):r}function aHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||xY.isNegativeZero(t))}bY.exports=new tHe("tag:yaml.org,2002:float",{kind:"scalar",resolve:nHe,construct:iHe,predicate:aHe,represent:oHe,defaultStyle:"lowercase"})});var pT=U((vxt,kY)=>{"use strict";var lHe=qg();kY.exports=new lHe({include:[vD()],implicit:[BY(),DY(),PY(),QY()]})});var hT=U((Dxt,FY)=>{"use strict";var cHe=qg();FY.exports=new cHe({include:[pT()]})});var LY=U((Sxt,NY)=>{"use strict";var uHe=as(),RY=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),TY=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 AHe(t){return t===null?!1:RY.exec(t)!==null||TY.exec(t)!==null}function fHe(t){var e,r,o,a,n,u,A,p=0,h=null,C,w,v;if(e=RY.exec(t),e===null&&(e=TY.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(C=+e[10],w=+(e[11]||0),h=(C*60+w)*6e4,e[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function pHe(t){return t.toISOString()}NY.exports=new uHe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:AHe,construct:fHe,instanceOf:Date,represent:pHe})});var MY=U((Pxt,OY)=>{"use strict";var hHe=as();function gHe(t){return t==="<<"||t===null}OY.exports=new hHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:gHe})});var HY=U((xxt,_Y)=>{"use strict";var jg;try{UY=Ie,jg=UY("buffer").Buffer}catch{}var UY,dHe=as(),gT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= 16`+r)),o};gY.exports=fT});var as=U((xxt,yY)=>{"use strict";var mY=hy(),_8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],H8e=["scalar","sequence","mapping"];function q8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function j8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(_8e.indexOf(r)===-1)throw new mY('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),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.defaultStyle=e.defaultStyle||null,this.styleAliases=q8e(e.styleAliases||null),H8e.indexOf(this.kind)===-1)throw new mY('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}yY.exports=j8e});var Wg=U((bxt,EY)=>{"use strict";var CY=Gg(),QD=hy(),G8e=as();function pT(t,e,r){var o=[];return t.include.forEach(function(a){r=pT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function W8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(o);return t}function gy(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!=="scalar")throw new QD("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=pT(this,"implicit",[]),this.compiledExplicit=pT(this,"explicit",[]),this.compiledTypeMap=W8e(this.compiledImplicit,this.compiledExplicit)}gy.DEFAULT=null;gy.create=function(){var e,r;switch(arguments.length){case 1:e=gy.DEFAULT,r=arguments[0];break;case 2:e=arguments[0],r=arguments[1];break;default:throw new QD("Wrong number of arguments for Schema.create function")}if(e=CY.toArray(e),r=CY.toArray(r),!e.every(function(o){return o instanceof gy}))throw new QD("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!r.every(function(o){return o instanceof G8e}))throw new QD("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new gy({include:e,explicit:r})};EY.exports=gy});var wY=U((Qxt,IY)=>{"use strict";var Y8e=as();IY.exports=new Y8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var vY=U((kxt,BY)=>{"use strict";var K8e=as();BY.exports=new K8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var SY=U((Fxt,DY)=>{"use strict";var V8e=as();DY.exports=new V8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var kD=U((Rxt,PY)=>{"use strict";var J8e=Wg();PY.exports=new J8e({explicit:[wY(),vY(),SY()]})});var bY=U((Txt,xY)=>{"use strict";var z8e=as();function X8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Z8e(){return null}function $8e(t){return t===null}xY.exports=new z8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:X8e,construct:Z8e,predicate:$8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var kY=U((Nxt,QY)=>{"use strict";var eHe=as();function tHe(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")}function rHe(t){return t==="true"||t==="True"||t==="TRUE"}function nHe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}QY.exports=new eHe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:tHe,construct:rHe,predicate:nHe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var RY=U((Lxt,FY)=>{"use strict";var iHe=Gg(),sHe=as();function oHe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function aHe(t){return 48<=t&&t<=55}function lHe(t){return 48<=t&&t<=57}function cHe(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(a!=="0"&&a!=="1")return!1;o=!0}return o&&a!=="_"}if(a==="x"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(!oHe(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}for(;r<e;r++)if(a=t[r],a!=="_"){if(!aHe(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}if(a==="_")return!1;for(;r<e;r++)if(a=t[r],a!=="_"){if(a===":")break;if(!lHe(t.charCodeAt(r)))return!1;o=!0}return!o||a==="_"?!1:a!==":"?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(r))}function uHe(t){var e=t,r=1,o,a,n=[];return e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),o=e[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),e=e.slice(1),o=e[0]),e==="0"?0:o==="0"?e[1]==="b"?r*parseInt(e.slice(2),2):e[1]==="x"?r*parseInt(e,16):r*parseInt(e,8):e.indexOf(":")!==-1?(e.split(":").forEach(function(u){n.unshift(parseInt(u,10))}),e=0,a=1,n.forEach(function(u){e+=u*a,a*=60}),r*e):r*parseInt(e,10)}function AHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!iHe.isNegativeZero(t)}FY.exports=new sHe("tag:yaml.org,2002:int",{kind:"scalar",resolve:cHe,construct:uHe,predicate:AHe,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var LY=U((Oxt,NY)=>{"use strict";var TY=Gg(),fHe=as(),pHe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function hHe(t){return!(t===null||!pHe.test(t)||t[t.length-1]==="_")}function gHe(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var dHe=/^[-+]?[0-9]+e/;function mHe(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(TY.isNegativeZero(t))return"-0.0";return r=t.toString(10),dHe.test(r)?r.replace("e",".e"):r}function yHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||TY.isNegativeZero(t))}NY.exports=new fHe("tag:yaml.org,2002:float",{kind:"scalar",resolve:hHe,construct:gHe,predicate:yHe,represent:mHe,defaultStyle:"lowercase"})});var hT=U((Mxt,OY)=>{"use strict";var CHe=Wg();OY.exports=new CHe({include:[kD()],implicit:[bY(),kY(),RY(),LY()]})});var gT=U((Uxt,MY)=>{"use strict";var EHe=Wg();MY.exports=new EHe({include:[hT()]})});var qY=U((_xt,HY)=>{"use strict";var IHe=as(),UY=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),_Y=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 wHe(t){return t===null?!1:UY.exec(t)!==null||_Y.exec(t)!==null}function BHe(t){var e,r,o,a,n,u,A,p=0,h=null,E,w,v;if(e=UY.exec(t),e===null&&(e=_Y.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],w=+(e[11]||0),h=(E*60+w)*6e4,e[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function vHe(t){return t.toISOString()}HY.exports=new IHe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:wHe,construct:BHe,instanceOf:Date,represent:vHe})});var GY=U((Hxt,jY)=>{"use strict";var DHe=as();function SHe(t){return t==="<<"||t===null}jY.exports=new DHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:SHe})});var KY=U((qxt,YY)=>{"use strict";var Yg;try{WY=Ie,Yg=WY("buffer").Buffer}catch{}var WY,PHe=as(),dT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
17\r`;function mHe(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=gT;for(r=0;r<a;r++)if(e=n.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;o+=6}return o%8===0}function yHe(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=gT,u=0,A=[];for(e=0;e<a;e++)e%4===0&&e&&(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),jg?jg.from?jg.from(A):new jg(A):A}function EHe(t){var e="",r=0,o,a,n=t.length,u=gT;for(o=0;o<n;o++)o%3===0&&o&&(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function CHe(t){return jg&&jg.isBuffer(t)}_Y.exports=new dHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:mHe,construct:yHe,predicate:CHe,represent:EHe})});var jY=U((Qxt,qY)=>{"use strict";var IHe=as(),wHe=Object.prototype.hasOwnProperty,BHe=Object.prototype.toString;function vHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r<o;r+=1){if(a=A[r],u=!1,BHe.call(a)!=="[object Object]")return!1;for(n in a)if(wHe.call(a,n))if(!u)u=!0;else return!1;if(!u)return!1;if(e.indexOf(n)===-1)e.push(n);else return!1}return!0}function DHe(t){return t!==null?t:[]}qY.exports=new IHe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:vHe,construct:DHe})});var WY=U((kxt,GY)=>{"use strict";var SHe=as(),PHe=Object.prototype.toString;function xHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1){if(o=u[e],PHe.call(o)!=="[object Object]"||(a=Object.keys(o),a.length!==1))return!1;n[e]=[a[0],o[a[0]]]}return!0}function bHe(t){if(t===null)return[];var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1)o=u[e],a=Object.keys(o),n[e]=[a[0],o[a[0]]];return n}GY.exports=new SHe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:xHe,construct:bHe})});var KY=U((Fxt,YY)=>{"use strict";var QHe=as(),kHe=Object.prototype.hasOwnProperty;function FHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(kHe.call(r,e)&&r[e]!==null)return!1;return!0}function RHe(t){return t!==null?t:{}}YY.exports=new QHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:FHe,construct:RHe})});var Ay=U((Rxt,JY)=>{"use strict";var THe=qg();JY.exports=new THe({include:[hT()],implicit:[LY(),MY()],explicit:[HY(),jY(),WY(),KY()]})});var zY=U((Txt,VY)=>{"use strict";var NHe=as();function LHe(){return!0}function OHe(){}function MHe(){return""}function UHe(t){return typeof t>"u"}VY.exports=new NHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:LHe,construct:OHe,predicate:UHe,represent:MHe})});var ZY=U((Nxt,XY)=>{"use strict";var _He=as();function HHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function qHe(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function jHe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function GHe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}XY.exports=new _He("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:HHe,construct:qHe,predicate:GHe,represent:jHe})});var tK=U((Lxt,eK)=>{"use strict";var DD;try{$Y=Ie,DD=$Y("esprima")}catch{typeof window<"u"&&(DD=window.esprima)}var $Y,WHe=as();function YHe(t){if(t===null)return!1;try{var e="("+t+")",r=DD.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function KHe(t){var e="("+t+")",r=DD.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function JHe(t){return t.toString()}function VHe(t){return Object.prototype.toString.call(t)==="[object Function]"}eK.exports=new WHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:YHe,construct:KHe,predicate:VHe,represent:JHe})});var UI=U((Mxt,nK)=>{"use strict";var rK=qg();nK.exports=rK.DEFAULT=new rK({include:[Ay()],explicit:[zY(),ZY(),tK()]})});var wK=U((Uxt,_I)=>{"use strict";var mf=Hg(),uK=cy(),zHe=uY(),AK=Ay(),XHe=UI(),qp=Object.prototype.hasOwnProperty,SD=1,fK=2,pK=3,PD=4,dT=1,ZHe=2,iK=3,$He=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,e6e=/[\x85\u2028\u2029]/,t6e=/[,\[\]\{\}]/,hK=/^(?:!|!!|![a-z\-]+!)$/i,gK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function sK(t){return Object.prototype.toString.call(t)}function Gu(t){return t===10||t===13}function Wg(t){return t===9||t===32}function Ca(t){return t===9||t===32||t===10||t===13}function fy(t){return t===44||t===91||t===93||t===123||t===125}function r6e(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function n6e(t){return t===120?2:t===117?4:t===85?8:0}function i6e(t){return 48<=t&&t<=57?t-48:-1}function oK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` 17\r`;function xHe(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=dT;for(r=0;r<a;r++)if(e=n.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;o+=6}return o%8===0}function bHe(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=dT,u=0,A=[];for(e=0;e<a;e++)e%4===0&&e&&(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),Yg?Yg.from?Yg.from(A):new Yg(A):A}function QHe(t){var e="",r=0,o,a,n=t.length,u=dT;for(o=0;o<n;o++)o%3===0&&o&&(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function kHe(t){return Yg&&Yg.isBuffer(t)}YY.exports=new PHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:xHe,construct:bHe,predicate:kHe,represent:QHe})});var JY=U((Gxt,VY)=>{"use strict";var FHe=as(),RHe=Object.prototype.hasOwnProperty,THe=Object.prototype.toString;function NHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r<o;r+=1){if(a=A[r],u=!1,THe.call(a)!=="[object Object]")return!1;for(n in a)if(RHe.call(a,n))if(!u)u=!0;else return!1;if(!u)return!1;if(e.indexOf(n)===-1)e.push(n);else return!1}return!0}function LHe(t){return t!==null?t:[]}VY.exports=new FHe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:NHe,construct:LHe})});var XY=U((Wxt,zY)=>{"use strict";var OHe=as(),MHe=Object.prototype.toString;function UHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1){if(o=u[e],MHe.call(o)!=="[object Object]"||(a=Object.keys(o),a.length!==1))return!1;n[e]=[a[0],o[a[0]]]}return!0}function _He(t){if(t===null)return[];var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1)o=u[e],a=Object.keys(o),n[e]=[a[0],o[a[0]]];return n}zY.exports=new OHe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:UHe,construct:_He})});var $Y=U((Yxt,ZY)=>{"use strict";var HHe=as(),qHe=Object.prototype.hasOwnProperty;function jHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(qHe.call(r,e)&&r[e]!==null)return!1;return!0}function GHe(t){return t!==null?t:{}}ZY.exports=new HHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:jHe,construct:GHe})});var dy=U((Kxt,eK)=>{"use strict";var WHe=Wg();eK.exports=new WHe({include:[gT()],implicit:[qY(),GY()],explicit:[KY(),JY(),XY(),$Y()]})});var rK=U((Vxt,tK)=>{"use strict";var YHe=as();function KHe(){return!0}function VHe(){}function JHe(){return""}function zHe(t){return typeof t>"u"}tK.exports=new YHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:KHe,construct:VHe,predicate:zHe,represent:JHe})});var iK=U((Jxt,nK)=>{"use strict";var XHe=as();function ZHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function $He(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function e6e(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function t6e(t){return Object.prototype.toString.call(t)==="[object RegExp]"}nK.exports=new XHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:ZHe,construct:$He,predicate:t6e,represent:e6e})});var aK=U((zxt,oK)=>{"use strict";var FD;try{sK=Ie,FD=sK("esprima")}catch{typeof window<"u"&&(FD=window.esprima)}var sK,r6e=as();function n6e(t){if(t===null)return!1;try{var e="("+t+")",r=FD.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function i6e(t){var e="("+t+")",r=FD.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function s6e(t){return t.toString()}function o6e(t){return Object.prototype.toString.call(t)==="[object Function]"}oK.exports=new r6e("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:n6e,construct:i6e,predicate:o6e,represent:s6e})});var jI=U((Zxt,cK)=>{"use strict";var lK=Wg();cK.exports=lK.DEFAULT=new lK({include:[dy()],explicit:[rK(),iK(),aK()]})});var xK=U(($xt,GI)=>{"use strict";var Cf=Gg(),dK=hy(),a6e=dY(),mK=dy(),l6e=jI(),jp=Object.prototype.hasOwnProperty,RD=1,yK=2,CK=3,TD=4,mT=1,c6e=2,uK=3,u6e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,A6e=/[\x85\u2028\u2029]/,f6e=/[,\[\]\{\}]/,EK=/^(?:!|!!|![a-z\-]+!)$/i,IK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function AK(t){return Object.prototype.toString.call(t)}function Wu(t){return t===10||t===13}function Vg(t){return t===9||t===32}function Ia(t){return t===9||t===32||t===10||t===13}function my(t){return t===44||t===91||t===93||t===123||t===125}function p6e(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function h6e(t){return t===120?2:t===117?4:t===85?8:0}function g6e(t){return 48<=t&&t<=57?t-48:-1}function fK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?`
18`: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":""}function s6e(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var dK=new Array(256),mK=new Array(256);for(Gg=0;Gg<256;Gg++)dK[Gg]=oK(Gg)?1:0,mK[Gg]=oK(Gg);var Gg;function o6e(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||XHe,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.documents=[]}function yK(t,e){return new uK(e,new zHe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function wr(t,e){throw yK(t,e)}function xD(t,e){t.onWarning&&t.onWarning.call(null,yK(t,e))}var aK={YAML:function(e,r,o){var a,n,u;e.version!==null&&wr(e,"duplication of %YAML directive"),o.length!==1&&wr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&wr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&wr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&xD(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&wr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],hK.test(a)||wr(e,"ill-formed tag handle (first argument) of the TAG directive"),qp.call(e.tagMap,a)&&wr(e,'there is a previously declared suffix for "'+a+'" tag handle'),gK.test(n)||wr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function Hp(t,e,r,o){var a,n,u,A;if(e<r){if(A=t.input.slice(e,r),o)for(a=0,n=A.length;a<n;a+=1)u=A.charCodeAt(a),u===9||32<=u&&u<=1114111||wr(t,"expected valid JSON character");else $He.test(A)&&wr(t,"the stream contains non-printable characters");t.result+=A}}function lK(t,e,r,o){var a,n,u,A;for(mf.isObject(r)||wr(t,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(r),u=0,A=a.length;u<A;u+=1)n=a[u],qp.call(e,n)||(e[n]=r[n],o[n]=!0)}function py(t,e,r,o,a,n,u,A){var p,h;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),p=0,h=a.length;p<h;p+=1)Array.isArray(a[p])&&wr(t,"nested arrays are not supported inside keys"),typeof a=="object"&&sK(a[p])==="[object Object]"&&(a[p]="[object Object]");if(typeof a=="object"&&sK(a)==="[object Object]"&&(a="[object Object]"),a=String(a),e===null&&(e={}),o==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(p=0,h=n.length;p<h;p+=1)lK(t,e,n[p],r);else lK(t,e,n,r);else!t.json&&!qp.call(r,a)&&qp.call(e,a)&&(t.line=u||t.line,t.position=A||t.position,wr(t,"duplicated mapping key")),e[a]=n,delete r[a];return e}function mT(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++):wr(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function Wi(t,e,r){for(var o=0,a=t.input.charCodeAt(t.position);a!==0;){for(;Wg(a);)a=t.input.charCodeAt(++t.position);if(e&&a===35)do a=t.input.charCodeAt(++t.position);while(a!==10&&a!==13&&a!==0);if(Gu(a))for(mT(t),a=t.input.charCodeAt(t.position),o++,t.lineIndent=0;a===32;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return r!==-1&&o!==0&&t.lineIndent<r&&xD(t,"deficient indentation"),o}function bD(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||Ca(r)))}function yT(t,e){e===1?t.result+=" ":e>1&&(t.result+=mf.repeat(` 18`: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":""}function d6e(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var wK=new Array(256),BK=new Array(256);for(Kg=0;Kg<256;Kg++)wK[Kg]=fK(Kg)?1:0,BK[Kg]=fK(Kg);var Kg;function m6e(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||l6e,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.documents=[]}function vK(t,e){return new dK(e,new a6e(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function wr(t,e){throw vK(t,e)}function ND(t,e){t.onWarning&&t.onWarning.call(null,vK(t,e))}var pK={YAML:function(e,r,o){var a,n,u;e.version!==null&&wr(e,"duplication of %YAML directive"),o.length!==1&&wr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&wr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&wr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&ND(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&wr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],EK.test(a)||wr(e,"ill-formed tag handle (first argument) of the TAG directive"),jp.call(e.tagMap,a)&&wr(e,'there is a previously declared suffix for "'+a+'" tag handle'),IK.test(n)||wr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function qp(t,e,r,o){var a,n,u,A;if(e<r){if(A=t.input.slice(e,r),o)for(a=0,n=A.length;a<n;a+=1)u=A.charCodeAt(a),u===9||32<=u&&u<=1114111||wr(t,"expected valid JSON character");else u6e.test(A)&&wr(t,"the stream contains non-printable characters");t.result+=A}}function hK(t,e,r,o){var a,n,u,A;for(Cf.isObject(r)||wr(t,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(r),u=0,A=a.length;u<A;u+=1)n=a[u],jp.call(e,n)||(e[n]=r[n],o[n]=!0)}function yy(t,e,r,o,a,n,u,A){var p,h;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),p=0,h=a.length;p<h;p+=1)Array.isArray(a[p])&&wr(t,"nested arrays are not supported inside keys"),typeof a=="object"&&AK(a[p])==="[object Object]"&&(a[p]="[object Object]");if(typeof a=="object"&&AK(a)==="[object Object]"&&(a="[object Object]"),a=String(a),e===null&&(e={}),o==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(p=0,h=n.length;p<h;p+=1)hK(t,e,n[p],r);else hK(t,e,n,r);else!t.json&&!jp.call(r,a)&&jp.call(e,a)&&(t.line=u||t.line,t.position=A||t.position,wr(t,"duplicated mapping key")),e[a]=n,delete r[a];return e}function yT(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++):wr(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function Wi(t,e,r){for(var o=0,a=t.input.charCodeAt(t.position);a!==0;){for(;Vg(a);)a=t.input.charCodeAt(++t.position);if(e&&a===35)do a=t.input.charCodeAt(++t.position);while(a!==10&&a!==13&&a!==0);if(Wu(a))for(yT(t),a=t.input.charCodeAt(t.position),o++,t.lineIndent=0;a===32;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return r!==-1&&o!==0&&t.lineIndent<r&&ND(t,"deficient indentation"),o}function LD(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||Ia(r)))}function CT(t,e){e===1?t.result+=" ":e>1&&(t.result+=Cf.repeat(`
19`,e-1))}function a6e(t,e,r){var o,a,n,u,A,p,h,C,w=t.kind,v=t.result,b;if(b=t.input.charCodeAt(t.position),Ca(b)||fy(b)||b===35||b===38||b===42||b===33||b===124||b===62||b===39||b===34||b===37||b===64||b===96||(b===63||b===45)&&(a=t.input.charCodeAt(t.position+1),Ca(a)||r&&fy(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;b!==0;){if(b===58){if(a=t.input.charCodeAt(t.position+1),Ca(a)||r&&fy(a))break}else if(b===35){if(o=t.input.charCodeAt(t.position-1),Ca(o))break}else{if(t.position===t.lineStart&&bD(t)||r&&fy(b))break;if(Gu(b))if(p=t.line,h=t.lineStart,C=t.lineIndent,Wi(t,!1,-1),t.lineIndent>=e){A=!0,b=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=C;break}}A&&(Hp(t,n,u,!1),yT(t,t.line-p),n=u=t.position,A=!1),Wg(b)||(u=t.position+1),b=t.input.charCodeAt(++t.position)}return Hp(t,n,u,!1),t.result?!0:(t.kind=w,t.result=v,!1)}function l6e(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Hp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else Gu(r)?(Hp(t,o,a,!0),yT(t,Wi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&bD(t)?wr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);wr(t,"unexpected end of the stream within a single quoted scalar")}function c6e(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return Hp(t,r,t.position,!0),t.position++,!0;if(A===92){if(Hp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),Gu(A))Wi(t,!1,e);else if(A<256&&dK[A])t.result+=mK[A],t.position++;else if((u=n6e(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=r6e(A))>=0?n=(n<<4)+u:wr(t,"expected hexadecimal character");t.result+=s6e(n),t.position++}else wr(t,"unknown escape sequence");r=o=t.position}else Gu(A)?(Hp(t,r,o,!0),yT(t,Wi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&bD(t)?wr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}wr(t,"unexpected end of the stream within a double quoted scalar")}function u6e(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,C,w,v={},b,E,R,L;if(L=t.input.charCodeAt(t.position),L===91)p=93,w=!1,n=[];else if(L===123)p=125,w=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),L=t.input.charCodeAt(++t.position);L!==0;){if(Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===p)return t.position++,t.tag=a,t.anchor=u,t.kind=w?"mapping":"sequence",t.result=n,!0;r||wr(t,"missed comma between flow collection entries"),E=b=R=null,h=C=!1,L===63&&(A=t.input.charCodeAt(t.position+1),Ca(A)&&(h=C=!0,t.position++,Wi(t,!0,e))),o=t.line,hy(t,e,SD,!1,!0),E=t.tag,b=t.result,Wi(t,!0,e),L=t.input.charCodeAt(t.position),(C||t.line===o)&&L===58&&(h=!0,L=t.input.charCodeAt(++t.position),Wi(t,!0,e),hy(t,e,SD,!1,!0),R=t.result),w?py(t,n,v,E,b,R):h?n.push(py(t,null,v,E,b,R)):n.push(b),Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===44?(r=!0,L=t.input.charCodeAt(++t.position)):r=!1}wr(t,"unexpected end of the stream within a flow collection")}function A6e(t,e){var r,o,a=dT,n=!1,u=!1,A=e,p=0,h=!1,C,w;if(w=t.input.charCodeAt(t.position),w===124)o=!1;else if(w===62)o=!0;else return!1;for(t.kind="scalar",t.result="";w!==0;)if(w=t.input.charCodeAt(++t.position),w===43||w===45)dT===a?a=w===43?iK:ZHe:wr(t,"repeat of a chomping mode identifier");else if((C=i6e(w))>=0)C===0?wr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?wr(t,"repeat of an indentation width identifier"):(A=e+C-1,u=!0);else break;if(Wg(w)){do w=t.input.charCodeAt(++t.position);while(Wg(w));if(w===35)do w=t.input.charCodeAt(++t.position);while(!Gu(w)&&w!==0)}for(;w!==0;){for(mT(t),t.lineIndent=0,w=t.input.charCodeAt(t.position);(!u||t.lineIndent<A)&&w===32;)t.lineIndent++,w=t.input.charCodeAt(++t.position);if(!u&&t.lineIndent>A&&(A=t.lineIndent),Gu(w)){p++;continue}if(t.lineIndent<A){a===iK?t.result+=mf.repeat(` 19`,e-1))}function y6e(t,e,r){var o,a,n,u,A,p,h,E,w=t.kind,v=t.result,b;if(b=t.input.charCodeAt(t.position),Ia(b)||my(b)||b===35||b===38||b===42||b===33||b===124||b===62||b===39||b===34||b===37||b===64||b===96||(b===63||b===45)&&(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&my(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;b!==0;){if(b===58){if(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&my(a))break}else if(b===35){if(o=t.input.charCodeAt(t.position-1),Ia(o))break}else{if(t.position===t.lineStart&&LD(t)||r&&my(b))break;if(Wu(b))if(p=t.line,h=t.lineStart,E=t.lineIndent,Wi(t,!1,-1),t.lineIndent>=e){A=!0,b=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=E;break}}A&&(qp(t,n,u,!1),CT(t,t.line-p),n=u=t.position,A=!1),Vg(b)||(u=t.position+1),b=t.input.charCodeAt(++t.position)}return qp(t,n,u,!1),t.result?!0:(t.kind=w,t.result=v,!1)}function C6e(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(qp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else Wu(r)?(qp(t,o,a,!0),CT(t,Wi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&LD(t)?wr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);wr(t,"unexpected end of the stream within a single quoted scalar")}function E6e(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return qp(t,r,t.position,!0),t.position++,!0;if(A===92){if(qp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),Wu(A))Wi(t,!1,e);else if(A<256&&wK[A])t.result+=BK[A],t.position++;else if((u=h6e(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=p6e(A))>=0?n=(n<<4)+u:wr(t,"expected hexadecimal character");t.result+=d6e(n),t.position++}else wr(t,"unknown escape sequence");r=o=t.position}else Wu(A)?(qp(t,r,o,!0),CT(t,Wi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&LD(t)?wr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}wr(t,"unexpected end of the stream within a double quoted scalar")}function I6e(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,E,w,v={},b,C,R,L;if(L=t.input.charCodeAt(t.position),L===91)p=93,w=!1,n=[];else if(L===123)p=125,w=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),L=t.input.charCodeAt(++t.position);L!==0;){if(Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===p)return t.position++,t.tag=a,t.anchor=u,t.kind=w?"mapping":"sequence",t.result=n,!0;r||wr(t,"missed comma between flow collection entries"),C=b=R=null,h=E=!1,L===63&&(A=t.input.charCodeAt(t.position+1),Ia(A)&&(h=E=!0,t.position++,Wi(t,!0,e))),o=t.line,Cy(t,e,RD,!1,!0),C=t.tag,b=t.result,Wi(t,!0,e),L=t.input.charCodeAt(t.position),(E||t.line===o)&&L===58&&(h=!0,L=t.input.charCodeAt(++t.position),Wi(t,!0,e),Cy(t,e,RD,!1,!0),R=t.result),w?yy(t,n,v,C,b,R):h?n.push(yy(t,null,v,C,b,R)):n.push(b),Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===44?(r=!0,L=t.input.charCodeAt(++t.position)):r=!1}wr(t,"unexpected end of the stream within a flow collection")}function w6e(t,e){var r,o,a=mT,n=!1,u=!1,A=e,p=0,h=!1,E,w;if(w=t.input.charCodeAt(t.position),w===124)o=!1;else if(w===62)o=!0;else return!1;for(t.kind="scalar",t.result="";w!==0;)if(w=t.input.charCodeAt(++t.position),w===43||w===45)mT===a?a=w===43?uK:c6e:wr(t,"repeat of a chomping mode identifier");else if((E=g6e(w))>=0)E===0?wr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?wr(t,"repeat of an indentation width identifier"):(A=e+E-1,u=!0);else break;if(Vg(w)){do w=t.input.charCodeAt(++t.position);while(Vg(w));if(w===35)do w=t.input.charCodeAt(++t.position);while(!Wu(w)&&w!==0)}for(;w!==0;){for(yT(t),t.lineIndent=0,w=t.input.charCodeAt(t.position);(!u||t.lineIndent<A)&&w===32;)t.lineIndent++,w=t.input.charCodeAt(++t.position);if(!u&&t.lineIndent>A&&(A=t.lineIndent),Wu(w)){p++;continue}if(t.lineIndent<A){a===uK?t.result+=Cf.repeat(`
20`,n?1+p:p):a===dT&&n&&(t.result+=` 20`,n?1+p:p):a===mT&&n&&(t.result+=`
21`);break}for(o?Wg(w)?(h=!0,t.result+=mf.repeat(` 21`);break}for(o?Vg(w)?(h=!0,t.result+=Cf.repeat(`
22`,n?1+p:p)):h?(h=!1,t.result+=mf.repeat(` 22`,n?1+p:p)):h?(h=!1,t.result+=Cf.repeat(`
23`,p+1)):p===0?n&&(t.result+=" "):t.result+=mf.repeat(` 23`,p+1)):p===0?n&&(t.result+=" "):t.result+=Cf.repeat(`
24`,p):t.result+=mf.repeat(` 24`,p):t.result+=Cf.repeat(`
25`,n?1+p:p),n=!0,u=!0,p=0,r=t.position;!Gu(w)&&w!==0;)w=t.input.charCodeAt(++t.position);Hp(t,r,t.position,!1)}return!0}function cK(t,e){var r,o=t.tag,a=t.anchor,n=[],u,A=!1,p;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),p=t.input.charCodeAt(t.position);p!==0&&!(p!==45||(u=t.input.charCodeAt(t.position+1),!Ca(u)));){if(A=!0,t.position++,Wi(t,!0,-1)&&t.lineIndent<=e){n.push(null),p=t.input.charCodeAt(t.position);continue}if(r=t.line,hy(t,e,pK,!1,!0),n.push(t.result),Wi(t,!0,-1),p=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&p!==0)wr(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return A?(t.tag=o,t.anchor=a,t.kind="sequence",t.result=n,!0):!1}function f6e(t,e,r){var o,a,n,u,A=t.tag,p=t.anchor,h={},C={},w=null,v=null,b=null,E=!1,R=!1,L;for(t.anchor!==null&&(t.anchorMap[t.anchor]=h),L=t.input.charCodeAt(t.position);L!==0;){if(o=t.input.charCodeAt(t.position+1),n=t.line,u=t.position,(L===63||L===58)&&Ca(o))L===63?(E&&(py(t,h,C,w,v,null),w=v=b=null),R=!0,E=!0,a=!0):E?(E=!1,a=!0):wr(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,L=o;else if(hy(t,r,fK,!1,!0))if(t.line===n){for(L=t.input.charCodeAt(t.position);Wg(L);)L=t.input.charCodeAt(++t.position);if(L===58)L=t.input.charCodeAt(++t.position),Ca(L)||wr(t,"a whitespace character is expected after the key-value separator within a block mapping"),E&&(py(t,h,C,w,v,null),w=v=b=null),R=!0,E=!1,a=!1,w=t.tag,v=t.result;else if(R)wr(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=A,t.anchor=p,!0}else if(R)wr(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=A,t.anchor=p,!0;else break;if((t.line===n||t.lineIndent>e)&&(hy(t,e,PD,!0,a)&&(E?v=t.result:b=t.result),E||(py(t,h,C,w,v,b,n,u),w=v=b=null),Wi(t,!0,-1),L=t.input.charCodeAt(t.position)),t.lineIndent>e&&L!==0)wr(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return E&&py(t,h,C,w,v,null),R&&(t.tag=A,t.anchor=p,t.kind="mapping",t.result=h),R}function p6e(t){var e,r=!1,o=!1,a,n,u;if(u=t.input.charCodeAt(t.position),u!==33)return!1;if(t.tag!==null&&wr(t,"duplication of a tag property"),u=t.input.charCodeAt(++t.position),u===60?(r=!0,u=t.input.charCodeAt(++t.position)):u===33?(o=!0,a="!!",u=t.input.charCodeAt(++t.position)):a="!",e=t.position,r){do u=t.input.charCodeAt(++t.position);while(u!==0&&u!==62);t.position<t.length?(n=t.input.slice(e,t.position),u=t.input.charCodeAt(++t.position)):wr(t,"unexpected end of the stream within a verbatim tag")}else{for(;u!==0&&!Ca(u);)u===33&&(o?wr(t,"tag suffix cannot contain exclamation marks"):(a=t.input.slice(e-1,t.position+1),hK.test(a)||wr(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),u=t.input.charCodeAt(++t.position);n=t.input.slice(e,t.position),t6e.test(n)&&wr(t,"tag suffix cannot contain flow indicator characters")}return n&&!gK.test(n)&&wr(t,"tag name cannot contain such characters: "+n),r?t.tag=n:qp.call(t.tagMap,a)?t.tag=t.tagMap[a]+n:a==="!"?t.tag="!"+n:a==="!!"?t.tag="tag:yaml.org,2002:"+n:wr(t,'undeclared tag handle "'+a+'"'),!0}function h6e(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&wr(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Ca(r)&&!fy(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function g6e(t){var e,r,o;if(o=t.input.charCodeAt(t.position),o!==42)return!1;for(o=t.input.charCodeAt(++t.position),e=t.position;o!==0&&!Ca(o)&&!fy(o);)o=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),qp.call(t.anchorMap,r)||wr(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Wi(t,!0,-1),!0}function hy(t,e,r,o,a){var n,u,A,p=1,h=!1,C=!1,w,v,b,E,R;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,n=u=A=PD===r||pK===r,o&&Wi(t,!0,-1)&&(h=!0,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)),p===1)for(;p6e(t)||h6e(t);)Wi(t,!0,-1)?(h=!0,A=n,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)):A=!1;if(A&&(A=h||a),(p===1||PD===r)&&(SD===r||fK===r?E=e:E=e+1,R=t.position-t.lineStart,p===1?A&&(cK(t,R)||f6e(t,R,E))||u6e(t,E)?C=!0:(u&&A6e(t,E)||l6e(t,E)||c6e(t,E)?C=!0:g6e(t)?(C=!0,(t.tag!==null||t.anchor!==null)&&wr(t,"alias node should not have any properties")):a6e(t,E,SD===r)&&(C=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):p===0&&(C=A&&cK(t,R))),t.tag!==null&&t.tag!=="!")if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&wr(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),w=0,v=t.implicitTypes.length;w<v;w+=1)if(b=t.implicitTypes[w],b.resolve(t.result)){t.result=b.construct(t.result),t.tag=b.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else qp.call(t.typeMap[t.kind||"fallback"],t.tag)?(b=t.typeMap[t.kind||"fallback"][t.tag],t.result!==null&&b.kind!==t.kind&&wr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+b.kind+'", not "'+t.kind+'"'),b.resolve(t.result)?(t.result=b.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):wr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):wr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||C}function d6e(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Wi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Ca(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&wr(t,"directive name must not be less than one character in length");u!==0;){for(;Wg(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!Gu(u));break}if(Gu(u))break;for(r=t.position;u!==0&&!Ca(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&mT(t),qp.call(aK,o)?aK[o](t,o,a):xD(t,'unknown document directive "'+o+'"')}if(Wi(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,Wi(t,!0,-1)):n&&wr(t,"directives end mark is expected"),hy(t,t.lineIndent-1,PD,!1,!0),Wi(t,!0,-1),t.checkLineBreaks&&e6e.test(t.input.slice(e,t.position))&&xD(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&bD(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Wi(t,!0,-1));return}if(t.position<t.length-1)wr(t,"end of the stream or a document separator is expected");else return}function EK(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=` 25`,n?1+p:p),n=!0,u=!0,p=0,r=t.position;!Wu(w)&&w!==0;)w=t.input.charCodeAt(++t.position);qp(t,r,t.position,!1)}return!0}function gK(t,e){var r,o=t.tag,a=t.anchor,n=[],u,A=!1,p;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),p=t.input.charCodeAt(t.position);p!==0&&!(p!==45||(u=t.input.charCodeAt(t.position+1),!Ia(u)));){if(A=!0,t.position++,Wi(t,!0,-1)&&t.lineIndent<=e){n.push(null),p=t.input.charCodeAt(t.position);continue}if(r=t.line,Cy(t,e,CK,!1,!0),n.push(t.result),Wi(t,!0,-1),p=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&p!==0)wr(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return A?(t.tag=o,t.anchor=a,t.kind="sequence",t.result=n,!0):!1}function B6e(t,e,r){var o,a,n,u,A=t.tag,p=t.anchor,h={},E={},w=null,v=null,b=null,C=!1,R=!1,L;for(t.anchor!==null&&(t.anchorMap[t.anchor]=h),L=t.input.charCodeAt(t.position);L!==0;){if(o=t.input.charCodeAt(t.position+1),n=t.line,u=t.position,(L===63||L===58)&&Ia(o))L===63?(C&&(yy(t,h,E,w,v,null),w=v=b=null),R=!0,C=!0,a=!0):C?(C=!1,a=!0):wr(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,L=o;else if(Cy(t,r,yK,!1,!0))if(t.line===n){for(L=t.input.charCodeAt(t.position);Vg(L);)L=t.input.charCodeAt(++t.position);if(L===58)L=t.input.charCodeAt(++t.position),Ia(L)||wr(t,"a whitespace character is expected after the key-value separator within a block mapping"),C&&(yy(t,h,E,w,v,null),w=v=b=null),R=!0,C=!1,a=!1,w=t.tag,v=t.result;else if(R)wr(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=A,t.anchor=p,!0}else if(R)wr(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=A,t.anchor=p,!0;else break;if((t.line===n||t.lineIndent>e)&&(Cy(t,e,TD,!0,a)&&(C?v=t.result:b=t.result),C||(yy(t,h,E,w,v,b,n,u),w=v=b=null),Wi(t,!0,-1),L=t.input.charCodeAt(t.position)),t.lineIndent>e&&L!==0)wr(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return C&&yy(t,h,E,w,v,null),R&&(t.tag=A,t.anchor=p,t.kind="mapping",t.result=h),R}function v6e(t){var e,r=!1,o=!1,a,n,u;if(u=t.input.charCodeAt(t.position),u!==33)return!1;if(t.tag!==null&&wr(t,"duplication of a tag property"),u=t.input.charCodeAt(++t.position),u===60?(r=!0,u=t.input.charCodeAt(++t.position)):u===33?(o=!0,a="!!",u=t.input.charCodeAt(++t.position)):a="!",e=t.position,r){do u=t.input.charCodeAt(++t.position);while(u!==0&&u!==62);t.position<t.length?(n=t.input.slice(e,t.position),u=t.input.charCodeAt(++t.position)):wr(t,"unexpected end of the stream within a verbatim tag")}else{for(;u!==0&&!Ia(u);)u===33&&(o?wr(t,"tag suffix cannot contain exclamation marks"):(a=t.input.slice(e-1,t.position+1),EK.test(a)||wr(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),u=t.input.charCodeAt(++t.position);n=t.input.slice(e,t.position),f6e.test(n)&&wr(t,"tag suffix cannot contain flow indicator characters")}return n&&!IK.test(n)&&wr(t,"tag name cannot contain such characters: "+n),r?t.tag=n:jp.call(t.tagMap,a)?t.tag=t.tagMap[a]+n:a==="!"?t.tag="!"+n:a==="!!"?t.tag="tag:yaml.org,2002:"+n:wr(t,'undeclared tag handle "'+a+'"'),!0}function D6e(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&wr(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Ia(r)&&!my(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function S6e(t){var e,r,o;if(o=t.input.charCodeAt(t.position),o!==42)return!1;for(o=t.input.charCodeAt(++t.position),e=t.position;o!==0&&!Ia(o)&&!my(o);)o=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),jp.call(t.anchorMap,r)||wr(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Wi(t,!0,-1),!0}function Cy(t,e,r,o,a){var n,u,A,p=1,h=!1,E=!1,w,v,b,C,R;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,n=u=A=TD===r||CK===r,o&&Wi(t,!0,-1)&&(h=!0,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)),p===1)for(;v6e(t)||D6e(t);)Wi(t,!0,-1)?(h=!0,A=n,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)):A=!1;if(A&&(A=h||a),(p===1||TD===r)&&(RD===r||yK===r?C=e:C=e+1,R=t.position-t.lineStart,p===1?A&&(gK(t,R)||B6e(t,R,C))||I6e(t,C)?E=!0:(u&&w6e(t,C)||C6e(t,C)||E6e(t,C)?E=!0:S6e(t)?(E=!0,(t.tag!==null||t.anchor!==null)&&wr(t,"alias node should not have any properties")):y6e(t,C,RD===r)&&(E=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):p===0&&(E=A&&gK(t,R))),t.tag!==null&&t.tag!=="!")if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&wr(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),w=0,v=t.implicitTypes.length;w<v;w+=1)if(b=t.implicitTypes[w],b.resolve(t.result)){t.result=b.construct(t.result),t.tag=b.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else jp.call(t.typeMap[t.kind||"fallback"],t.tag)?(b=t.typeMap[t.kind||"fallback"][t.tag],t.result!==null&&b.kind!==t.kind&&wr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+b.kind+'", not "'+t.kind+'"'),b.resolve(t.result)?(t.result=b.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):wr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):wr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function P6e(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Wi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&wr(t,"directive name must not be less than one character in length");u!==0;){for(;Vg(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!Wu(u));break}if(Wu(u))break;for(r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&yT(t),jp.call(pK,o)?pK[o](t,o,a):ND(t,'unknown document directive "'+o+'"')}if(Wi(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,Wi(t,!0,-1)):n&&wr(t,"directives end mark is expected"),Cy(t,t.lineIndent-1,TD,!1,!0),Wi(t,!0,-1),t.checkLineBreaks&&A6e.test(t.input.slice(e,t.position))&&ND(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&LD(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Wi(t,!0,-1));return}if(t.position<t.length-1)wr(t,"end of the stream or a document separator is expected");else return}function DK(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=`
26`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new o6e(t,e),o=t.indexOf("\0");for(o!==-1&&(r.position=o,wr(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;)d6e(r);return r.documents}function CK(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var o=EK(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a<n;a+=1)e(o[a])}function IK(t,e){var r=EK(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new uK("expected a single document in the stream, but found more")}}function m6e(t,e,r){return typeof e=="object"&&e!==null&&typeof r>"u"&&(r=e,e=null),CK(t,e,mf.extend({schema:AK},r))}function y6e(t,e){return IK(t,mf.extend({schema:AK},e))}_I.exports.loadAll=CK;_I.exports.load=IK;_I.exports.safeLoadAll=m6e;_I.exports.safeLoad=y6e});var WK=U((_xt,wT)=>{"use strict";var qI=Hg(),jI=cy(),E6e=UI(),C6e=Ay(),QK=Object.prototype.toString,kK=Object.prototype.hasOwnProperty,I6e=9,HI=10,w6e=13,B6e=32,v6e=33,D6e=34,FK=35,S6e=37,P6e=38,x6e=39,b6e=42,RK=44,Q6e=45,TK=58,k6e=61,F6e=62,R6e=63,T6e=64,NK=91,LK=93,N6e=96,OK=123,L6e=124,MK=125,wo={};wo[0]="\\0";wo[7]="\\a";wo[8]="\\b";wo[9]="\\t";wo[10]="\\n";wo[11]="\\v";wo[12]="\\f";wo[13]="\\r";wo[27]="\\e";wo[34]='\\"';wo[92]="\\\\";wo[133]="\\N";wo[160]="\\_";wo[8232]="\\L";wo[8233]="\\P";var O6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function M6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a<n;a+=1)u=o[a],A=String(e[u]),u.slice(0,2)==="!!"&&(u="tag:yaml.org,2002:"+u.slice(2)),p=t.compiledTypeMap.fallback[u],p&&kK.call(p.styleAliases,A)&&(A=p.styleAliases[A]),r[u]=A;return r}function BK(t){var e,r,o;if(e=t.toString(16).toUpperCase(),t<=255)r="x",o=2;else if(t<=65535)r="u",o=4;else if(t<=4294967295)r="U",o=8;else throw new jI("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+qI.repeat("0",o-e.length)+e}function U6e(t){this.schema=t.schema||E6e,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=qI.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=M6e(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.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function vK(t,e){for(var r=qI.repeat(" ",e),o=0,a=-1,n="",u,A=t.length;o<A;)a=t.indexOf(` 26`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new m6e(t,e),o=t.indexOf("\0");for(o!==-1&&(r.position=o,wr(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;)P6e(r);return r.documents}function SK(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var o=DK(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a<n;a+=1)e(o[a])}function PK(t,e){var r=DK(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new dK("expected a single document in the stream, but found more")}}function x6e(t,e,r){return typeof e=="object"&&e!==null&&typeof r>"u"&&(r=e,e=null),SK(t,e,Cf.extend({schema:mK},r))}function b6e(t,e){return PK(t,Cf.extend({schema:mK},e))}GI.exports.loadAll=SK;GI.exports.load=PK;GI.exports.safeLoadAll=x6e;GI.exports.safeLoad=b6e});var XK=U((ebt,BT)=>{"use strict";var YI=Gg(),KI=hy(),Q6e=jI(),k6e=dy(),LK=Object.prototype.toString,OK=Object.prototype.hasOwnProperty,F6e=9,WI=10,R6e=13,T6e=32,N6e=33,L6e=34,MK=35,O6e=37,M6e=38,U6e=39,_6e=42,UK=44,H6e=45,_K=58,q6e=61,j6e=62,G6e=63,W6e=64,HK=91,qK=93,Y6e=96,jK=123,K6e=124,GK=125,wo={};wo[0]="\\0";wo[7]="\\a";wo[8]="\\b";wo[9]="\\t";wo[10]="\\n";wo[11]="\\v";wo[12]="\\f";wo[13]="\\r";wo[27]="\\e";wo[34]='\\"';wo[92]="\\\\";wo[133]="\\N";wo[160]="\\_";wo[8232]="\\L";wo[8233]="\\P";var V6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function J6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a<n;a+=1)u=o[a],A=String(e[u]),u.slice(0,2)==="!!"&&(u="tag:yaml.org,2002:"+u.slice(2)),p=t.compiledTypeMap.fallback[u],p&&OK.call(p.styleAliases,A)&&(A=p.styleAliases[A]),r[u]=A;return r}function bK(t){var e,r,o;if(e=t.toString(16).toUpperCase(),t<=255)r="x",o=2;else if(t<=65535)r="u",o=4;else if(t<=4294967295)r="U",o=8;else throw new KI("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+YI.repeat("0",o-e.length)+e}function z6e(t){this.schema=t.schema||Q6e,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=YI.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=J6e(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.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function QK(t,e){for(var r=YI.repeat(" ",e),o=0,a=-1,n="",u,A=t.length;o<A;)a=t.indexOf(`
27`,o),a===-1?(u=t.slice(o),o=A):(u=t.slice(o,a+1),o=a+1),u.length&&u!==` 27`,o),a===-1?(u=t.slice(o),o=A):(u=t.slice(o,a+1),o=a+1),u.length&&u!==`
28`&&(n+=r),n+=u;return n}function ET(t,e){return` 28`&&(n+=r),n+=u;return n}function ET(t,e){return`
29`+qI.repeat(" ",t.indent*e)}function _6e(t,e){var r,o,a;for(r=0,o=t.implicitTypes.length;r<o;r+=1)if(a=t.implicitTypes[r],a.resolve(e))return!0;return!1}function IT(t){return t===B6e||t===I6e}function gy(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==65279||65536<=t&&t<=1114111}function H6e(t){return gy(t)&&!IT(t)&&t!==65279&&t!==w6e&&t!==HI}function DK(t,e){return gy(t)&&t!==65279&&t!==RK&&t!==NK&&t!==LK&&t!==OK&&t!==MK&&t!==TK&&(t!==FK||e&&H6e(e))}function q6e(t){return gy(t)&&t!==65279&&!IT(t)&&t!==Q6e&&t!==R6e&&t!==TK&&t!==RK&&t!==NK&&t!==LK&&t!==OK&&t!==MK&&t!==FK&&t!==P6e&&t!==b6e&&t!==v6e&&t!==L6e&&t!==k6e&&t!==F6e&&t!==x6e&&t!==D6e&&t!==S6e&&t!==T6e&&t!==N6e}function UK(t){var e=/^\n* /;return e.test(t)}var _K=1,HK=2,qK=3,jK=4,QD=5;function j6e(t,e,r,o,a){var n,u,A,p=!1,h=!1,C=o!==-1,w=-1,v=q6e(t.charCodeAt(0))&&!IT(t.charCodeAt(t.length-1));if(e)for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),!gy(u))return QD;A=n>0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}else{for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),u===HI)p=!0,C&&(h=h||n-w-1>o&&t[w+1]!==" ",w=n);else if(!gy(u))return QD;A=n>0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}h=h||C&&n-w-1>o&&t[w+1]!==" "}return!p&&!h?v&&!a(t)?_K:HK:r>9&&UK(t)?QD:h?jK:qK}function G6e(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&O6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return _6e(t,p)}switch(j6e(e,u,t.indent,n,A)){case _K:return e;case HK:return"'"+e.replace(/'/g,"''")+"'";case qK:return"|"+SK(e,t.indent)+PK(vK(e,a));case jK:return">"+SK(e,t.indent)+PK(vK(W6e(e,n),a));case QD:return'"'+Y6e(e,n)+'"';default:throw new jI("impossible error: invalid scalar style")}}()}function SK(t,e){var r=UK(t)?String(e):"",o=t[t.length-1]===` 29`+YI.repeat(" ",t.indent*e)}function X6e(t,e){var r,o,a;for(r=0,o=t.implicitTypes.length;r<o;r+=1)if(a=t.implicitTypes[r],a.resolve(e))return!0;return!1}function wT(t){return t===T6e||t===F6e}function Ey(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==65279||65536<=t&&t<=1114111}function Z6e(t){return Ey(t)&&!wT(t)&&t!==65279&&t!==R6e&&t!==WI}function kK(t,e){return Ey(t)&&t!==65279&&t!==UK&&t!==HK&&t!==qK&&t!==jK&&t!==GK&&t!==_K&&(t!==MK||e&&Z6e(e))}function $6e(t){return Ey(t)&&t!==65279&&!wT(t)&&t!==H6e&&t!==G6e&&t!==_K&&t!==UK&&t!==HK&&t!==qK&&t!==jK&&t!==GK&&t!==MK&&t!==M6e&&t!==_6e&&t!==N6e&&t!==K6e&&t!==q6e&&t!==j6e&&t!==U6e&&t!==L6e&&t!==O6e&&t!==W6e&&t!==Y6e}function WK(t){var e=/^\n* /;return e.test(t)}var YK=1,KK=2,VK=3,JK=4,OD=5;function eqe(t,e,r,o,a){var n,u,A,p=!1,h=!1,E=o!==-1,w=-1,v=$6e(t.charCodeAt(0))&&!wT(t.charCodeAt(t.length-1));if(e)for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),!Ey(u))return OD;A=n>0?t.charCodeAt(n-1):null,v=v&&kK(u,A)}else{for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),u===WI)p=!0,E&&(h=h||n-w-1>o&&t[w+1]!==" ",w=n);else if(!Ey(u))return OD;A=n>0?t.charCodeAt(n-1):null,v=v&&kK(u,A)}h=h||E&&n-w-1>o&&t[w+1]!==" "}return!p&&!h?v&&!a(t)?YK:KK:r>9&&WK(t)?OD:h?JK:VK}function tqe(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&V6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return X6e(t,p)}switch(eqe(e,u,t.indent,n,A)){case YK:return e;case KK:return"'"+e.replace(/'/g,"''")+"'";case VK:return"|"+FK(e,t.indent)+RK(QK(e,a));case JK:return">"+FK(e,t.indent)+RK(QK(rqe(e,n),a));case OD:return'"'+nqe(e,n)+'"';default:throw new KI("impossible error: invalid scalar style")}}()}function FK(t,e){var r=WK(t)?String(e):"",o=t[t.length-1]===`
30`,a=o&&(t[t.length-2]===` 30`,a=o&&(t[t.length-2]===`
31`||t===` 31`||t===`
32`),n=a?"+":o?"":"-";return r+n+` 32`),n=a?"+":o?"":"-";return r+n+`
33`}function PK(t){return t[t.length-1]===` 33`}function RK(t){return t[t.length-1]===`
34`?t.slice(0,-1):t}function W6e(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` 34`?t.slice(0,-1):t}function rqe(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(`
35`);return h=h!==-1?h:t.length,r.lastIndex=h,xK(t.slice(0,h),e)}(),a=t[0]===` 35`);return h=h!==-1?h:t.length,r.lastIndex=h,TK(t.slice(0,h),e)}(),a=t[0]===`
36`||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` 36`||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?`
37`:"")+xK(p,e),a=n}return o}function xK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` 37`:"")+TK(p,e),a=n}return o}function TK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=`
38`+t.slice(a,n),a=n+1),u=A;return p+=` 38`+t.slice(a,n),a=n+1),u=A;return p+=`
39`,t.length-a>e&&u>a?p+=t.slice(a,u)+` 39`,t.length-a>e&&u>a?p+=t.slice(a,u)+`
40`+t.slice(u+1):p+=t.slice(a),p.slice(1)}function Y6e(t){for(var e="",r,o,a,n=0;n<t.length;n++){if(r=t.charCodeAt(n),r>=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=BK((r-55296)*1024+o-56320+65536),n++;continue}a=wo[r],e+=!a&&gy(r)?t[n]:a||BK(r)}return e}function K6e(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n<u;n+=1)Yg(t,e,r[n],!1,!1)&&(n!==0&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}function J6e(t,e,r,o){var a="",n=t.tag,u,A;for(u=0,A=r.length;u<A;u+=1)Yg(t,e+1,r[u],!0,!0)&&((!o||u!==0)&&(a+=ET(t,e)),t.dump&&HI===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=n,t.dump=a||"[]"}function V6e(t,e,r){var o="",a=t.tag,n=Object.keys(r),u,A,p,h,C;for(u=0,A=n.length;u<A;u+=1)C="",u!==0&&(C+=", "),t.condenseFlow&&(C+='"'),p=n[u],h=r[p],Yg(t,e,p,!1,!1)&&(t.dump.length>1024&&(C+="? "),C+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Yg(t,e,h,!1,!1)&&(C+=t.dump,o+=C));t.tag=a,t.dump="{"+o+"}"}function z6e(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,C,w,v;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new jI("sortKeys must be a boolean or a function");for(A=0,p=u.length;A<p;A+=1)v="",(!o||A!==0)&&(v+=ET(t,e)),h=u[A],C=r[h],Yg(t,e+1,h,!0,!0,!0)&&(w=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,w&&(t.dump&&HI===t.dump.charCodeAt(0)?v+="?":v+="? "),v+=t.dump,w&&(v+=ET(t,e)),Yg(t,e+1,C,!0,w)&&(t.dump&&HI===t.dump.charCodeAt(0)?v+=":":v+=": ",v+=t.dump,a+=v));t.tag=n,t.dump=a||"{}"}function bK(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n<u;n+=1)if(A=a[n],(A.instanceOf||A.predicate)&&(!A.instanceOf||typeof e=="object"&&e instanceof A.instanceOf)&&(!A.predicate||A.predicate(e))){if(t.tag=r?A.tag:"?",A.represent){if(p=t.styleMap[A.tag]||A.defaultStyle,QK.call(A.represent)==="[object Function]")o=A.represent(e,p);else if(kK.call(A.represent,p))o=A.represent[p](e,p);else throw new jI("!<"+A.tag+'> tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function Yg(t,e,r,o,a,n){t.tag=null,t.dump=r,bK(t,r,!1)||bK(t,r,!0);var u=QK.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(z6e(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(V6e(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var C=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(J6e(t,C,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(K6e(t,C,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&G6e(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new jI("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function X6e(t,e){var r=[],o=[],a,n;for(CT(t,r,o),a=0,n=o.length;a<n;a+=1)e.duplicates.push(r[o[a]]);e.usedDuplicates=new Array(n)}function CT(t,e,r){var o,a,n;if(t!==null&&typeof t=="object")if(a=e.indexOf(t),a!==-1)r.indexOf(a)===-1&&r.push(a);else if(e.push(t),Array.isArray(t))for(a=0,n=t.length;a<n;a+=1)CT(t[a],e,r);else for(o=Object.keys(t),a=0,n=o.length;a<n;a+=1)CT(t[o[a]],e,r)}function GK(t,e){e=e||{};var r=new U6e(e);return r.noRefs||X6e(t,r),Yg(r,0,t,!0,!0)?r.dump+` 40`+t.slice(u+1):p+=t.slice(a),p.slice(1)}function nqe(t){for(var e="",r,o,a,n=0;n<t.length;n++){if(r=t.charCodeAt(n),r>=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=bK((r-55296)*1024+o-56320+65536),n++;continue}a=wo[r],e+=!a&&Ey(r)?t[n]:a||bK(r)}return e}function iqe(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n<u;n+=1)Jg(t,e,r[n],!1,!1)&&(n!==0&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}function sqe(t,e,r,o){var a="",n=t.tag,u,A;for(u=0,A=r.length;u<A;u+=1)Jg(t,e+1,r[u],!0,!0)&&((!o||u!==0)&&(a+=ET(t,e)),t.dump&&WI===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=n,t.dump=a||"[]"}function oqe(t,e,r){var o="",a=t.tag,n=Object.keys(r),u,A,p,h,E;for(u=0,A=n.length;u<A;u+=1)E="",u!==0&&(E+=", "),t.condenseFlow&&(E+='"'),p=n[u],h=r[p],Jg(t,e,p,!1,!1)&&(t.dump.length>1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Jg(t,e,h,!1,!1)&&(E+=t.dump,o+=E));t.tag=a,t.dump="{"+o+"}"}function aqe(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,E,w,v;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new KI("sortKeys must be a boolean or a function");for(A=0,p=u.length;A<p;A+=1)v="",(!o||A!==0)&&(v+=ET(t,e)),h=u[A],E=r[h],Jg(t,e+1,h,!0,!0,!0)&&(w=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,w&&(t.dump&&WI===t.dump.charCodeAt(0)?v+="?":v+="? "),v+=t.dump,w&&(v+=ET(t,e)),Jg(t,e+1,E,!0,w)&&(t.dump&&WI===t.dump.charCodeAt(0)?v+=":":v+=": ",v+=t.dump,a+=v));t.tag=n,t.dump=a||"{}"}function NK(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n<u;n+=1)if(A=a[n],(A.instanceOf||A.predicate)&&(!A.instanceOf||typeof e=="object"&&e instanceof A.instanceOf)&&(!A.predicate||A.predicate(e))){if(t.tag=r?A.tag:"?",A.represent){if(p=t.styleMap[A.tag]||A.defaultStyle,LK.call(A.represent)==="[object Function]")o=A.represent(e,p);else if(OK.call(A.represent,p))o=A.represent[p](e,p);else throw new KI("!<"+A.tag+'> tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function Jg(t,e,r,o,a,n){t.tag=null,t.dump=r,NK(t,r,!1)||NK(t,r,!0);var u=LK.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(aqe(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(oqe(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(sqe(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(iqe(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&tqe(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new KI("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function lqe(t,e){var r=[],o=[],a,n;for(IT(t,r,o),a=0,n=o.length;a<n;a+=1)e.duplicates.push(r[o[a]]);e.usedDuplicates=new Array(n)}function IT(t,e,r){var o,a,n;if(t!==null&&typeof t=="object")if(a=e.indexOf(t),a!==-1)r.indexOf(a)===-1&&r.push(a);else if(e.push(t),Array.isArray(t))for(a=0,n=t.length;a<n;a+=1)IT(t[a],e,r);else for(o=Object.keys(t),a=0,n=o.length;a<n;a+=1)IT(t[o[a]],e,r)}function zK(t,e){e=e||{};var r=new z6e(e);return r.noRefs||lqe(t,r),Jg(r,0,t,!0,!0)?r.dump+`
41`:""}function Z6e(t,e){return GK(t,qI.extend({schema:C6e},e))}wT.exports.dump=GK;wT.exports.safeDump=Z6e});var KK=U((Hxt,Pi)=>{"use strict";var kD=wK(),YK=WK();function FD(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Pi.exports.Type=as();Pi.exports.Schema=qg();Pi.exports.FAILSAFE_SCHEMA=vD();Pi.exports.JSON_SCHEMA=pT();Pi.exports.CORE_SCHEMA=hT();Pi.exports.DEFAULT_SAFE_SCHEMA=Ay();Pi.exports.DEFAULT_FULL_SCHEMA=UI();Pi.exports.load=kD.load;Pi.exports.loadAll=kD.loadAll;Pi.exports.safeLoad=kD.safeLoad;Pi.exports.safeLoadAll=kD.safeLoadAll;Pi.exports.dump=YK.dump;Pi.exports.safeDump=YK.safeDump;Pi.exports.YAMLException=cy();Pi.exports.MINIMAL_SCHEMA=vD();Pi.exports.SAFE_SCHEMA=Ay();Pi.exports.DEFAULT_SCHEMA=UI();Pi.exports.scan=FD("scan");Pi.exports.parse=FD("parse");Pi.exports.compose=FD("compose");Pi.exports.addConstructor=FD("addConstructor")});var VK=U((qxt,JK)=>{"use strict";var $6e=KK();JK.exports=$6e});var XK=U((jxt,zK)=>{"use strict";function eqe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Kg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Kg)}eqe(Kg,Error);Kg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function tqe(t,e){e=e!==void 0?e:{};var r={},o={Start:yu},a=yu,n=function(ee){return[].concat(...ee)},u="-",A=Dn("-",!1),p=function(ee){return ee},h=function(ee){return Object.assign({},...ee)},C="#",w=Dn("#",!1),v=gc(),b=function(){return{}},E=":",R=Dn(":",!1),L=function(ee,we){return{[ee]:we}},_=",",J=Dn(",",!1),re=function(ee,we){return we},oe=function(ee,we,qe){return Object.assign({},...[ee].concat(we).map(Be=>({[Be]:qe})))},pe=function(ee){return ee},he=function(ee){return ee},ve=ta("correct indentation"),ge=" ",le=Dn(" ",!1),Pe=function(ee){return ee.length===sa*Ma},g=function(ee){return ee.length===(sa+1)*Ma},De=function(){return sa++,!0},Ee=function(){return sa--,!0},de=function(){return SA()},ne=ta("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,me=ui(["\r",` 41`:""}function cqe(t,e){return zK(t,YI.extend({schema:k6e},e))}BT.exports.dump=zK;BT.exports.safeDump=cqe});var $K=U((tbt,Pi)=>{"use strict";var MD=xK(),ZK=XK();function UD(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Pi.exports.Type=as();Pi.exports.Schema=Wg();Pi.exports.FAILSAFE_SCHEMA=kD();Pi.exports.JSON_SCHEMA=hT();Pi.exports.CORE_SCHEMA=gT();Pi.exports.DEFAULT_SAFE_SCHEMA=dy();Pi.exports.DEFAULT_FULL_SCHEMA=jI();Pi.exports.load=MD.load;Pi.exports.loadAll=MD.loadAll;Pi.exports.safeLoad=MD.safeLoad;Pi.exports.safeLoadAll=MD.safeLoadAll;Pi.exports.dump=ZK.dump;Pi.exports.safeDump=ZK.safeDump;Pi.exports.YAMLException=hy();Pi.exports.MINIMAL_SCHEMA=kD();Pi.exports.SAFE_SCHEMA=dy();Pi.exports.DEFAULT_SCHEMA=jI();Pi.exports.scan=UD("scan");Pi.exports.parse=UD("parse");Pi.exports.compose=UD("compose");Pi.exports.addConstructor=UD("addConstructor")});var tV=U((rbt,eV)=>{"use strict";var uqe=$K();eV.exports=uqe});var nV=U((nbt,rV)=>{"use strict";function Aqe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function zg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,zg)}Aqe(zg,Error);zg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function fqe(t,e){e=e!==void 0?e:{};var r={},o={Start:Cu},a=Cu,n=function(ee){return[].concat(...ee)},u="-",A=Dn("-",!1),p=function(ee){return ee},h=function(ee){return Object.assign({},...ee)},E="#",w=Dn("#",!1),v=yc(),b=function(){return{}},C=":",R=Dn(":",!1),L=function(ee,we){return{[ee]:we}},_=",",V=Dn(",",!1),re=function(ee,we){return we},oe=function(ee,we,je){return Object.assign({},...[ee].concat(we).map(Be=>({[Be]:je})))},pe=function(ee){return ee},he=function(ee){return ee},ve=ra("correct indentation"),ge=" ",le=Dn(" ",!1),Pe=function(ee){return ee.length===oa*Ha},g=function(ee){return ee.length===(oa+1)*Ha},De=function(){return oa++,!0},Ce=function(){return oa--,!0},de=function(){return xA()},ne=ra("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,me=ui(["\r",`
42`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),be=/^[^\r\n\t ,\][{}:#"']/,ut=ui(["\r",` 42`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),be=/^[^\r\n\t ,\][{}:#"']/,ut=ui(["\r",`
43`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return SA().replace(/^ *| *$/g,"")},yt="--",Me=Dn("--",!1),Te=/^[a-zA-Z\/0-9]/,Qe=ui([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ue=/^[^\r\n\t :,]/,je=ui(["\r",` 43`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return xA().replace(/^ *| *$/g,"")},yt="--",Me=Dn("--",!1),Te=/^[a-zA-Z\/0-9]/,Qe=ui([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),_e=/^[^\r\n\t :,]/,qe=ui(["\r",`
44`," "," ",":",","],!0,!1),At="null",Le=Dn("null",!1),x=function(){return null},I="true",P=Dn("true",!1),y=function(){return!0},F="false",z=Dn("false",!1),X=function(){return!1},$=ta("string"),ie='"',ke=Dn('"',!1),Ne=function(){return""},st=function(ee){return ee},ht=function(ee){return ee.join("")},Ut=/^[^"\\\0-\x1F\x7F]/,Xt=ui(['"',"\\",["\0",""],"\x7F"],!0,!1),Pt='\\"',tn=Dn('\\"',!1),Dr=function(){return'"'},fr="\\\\",Br=Dn("\\\\",!1),jr=function(){return"\\"},Hn="\\/",bs=Dn("\\/",!1),ki=function(){return"/"},gs="\\b",to=Dn("\\b",!1),Di=function(){return"\b"},Qs="\\f",ro=Dn("\\f",!1),uc=function(){return"\f"},hu="\\n",op=Dn("\\n",!1),ap=function(){return` 44`," "," ",":",","],!0,!1),At="null",Oe=Dn("null",!1),x=function(){return null},I="true",P=Dn("true",!1),y=function(){return!0},F="false",J=Dn("false",!1),X=function(){return!1},$=ra("string"),ie='"',ke=Dn('"',!1),Ne=function(){return""},st=function(ee){return ee},ht=function(ee){return ee.join("")},Ut=/^[^"\\\0-\x1F\x7F]/,Xt=ui(['"',"\\",["\0",""],"\x7F"],!0,!1),Pt='\\"',tn=Dn('\\"',!1),Dr=function(){return'"'},fr="\\\\",Br=Dn("\\\\",!1),jr=function(){return"\\"},Hn="\\/",bs=Dn("\\/",!1),ki=function(){return"/"},gs="\\b",to=Dn("\\b",!1),Di=function(){return"\b"},Qs="\\f",ro=Dn("\\f",!1),pc=function(){return"\f"},gu="\\n",ap=Dn("\\n",!1),lp=function(){return`
45`},ks="\\r",Cn=Dn("\\r",!1),no=function(){return"\r"},Fs="\\t",dl=Dn("\\t",!1),ml=function(){return" "},io="\\u",_e=Dn("\\u",!1),Fn=function(ee,we,qe,Be){return String.fromCharCode(parseInt(`0x${ee}${we}${qe}${Be}`))},Fi=/^[0-9a-fA-F]/,Rn=ui([["0","9"],["a","f"],["A","F"]],!1,!1),Ui=ta("blank space"),Zt=/^[ \t]/,Ri=ui([" "," "],!1,!1),Zn=ta("white space"),La=/^[ \t\n\r]/,$t=ui([" "," ",` 45`},ks="\\r",En=Dn("\\r",!1),no=function(){return"\r"},Fs="\\t",Cl=Dn("\\t",!1),El=function(){return" "},io="\\u",Ue=Dn("\\u",!1),Fn=function(ee,we,je,Be){return String.fromCharCode(parseInt(`0x${ee}${we}${je}${Be}`))},Fi=/^[0-9a-fA-F]/,Rn=ui([["0","9"],["a","f"],["A","F"]],!1,!1),Ui=ra("blank space"),Zt=/^[ \t]/,Ri=ui([" "," "],!1,!1),$n=ra("white space"),Ma=/^[ \t\n\r]/,$t=ui([" "," ",`
46`,"\r"],!1,!1),Ac=`\r 46`,"\r"],!1,!1),hc=`\r
47`,gu=Dn(`\r 47`,du=Dn(`\r
48`,!1),fc=` 48`,!1),gc=`
49`,yl=Dn(` 49`,Il=Dn(`
50`,!1),DA="\r",du=Dn("\r",!1),Ce=0,Rt=0,pc=[{line:1,column:1}],_i=0,mu=[],qt=0,El;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function SA(){return t.substring(Rt,Ce)}function lp(){return Lo(Rt,Ce)}function hc(ee,we){throw we=we!==void 0?we:Lo(Rt,Ce),Cl([ta(ee)],t.substring(Rt,Ce),we)}function PA(ee,we){throw we=we!==void 0?we:Lo(Rt,Ce),so(ee,we)}function Dn(ee,we){return{type:"literal",text:ee,ignoreCase:we}}function ui(ee,we,qe){return{type:"class",parts:ee,inverted:we,ignoreCase:qe}}function gc(){return{type:"any"}}function xA(){return{type:"end"}}function ta(ee){return{type:"other",description:ee}}function Hi(ee){var we=pc[ee],qe;if(we)return we;for(qe=ee-1;!pc[qe];)qe--;for(we=pc[qe],we={line:we.line,column:we.column};qe<ee;)t.charCodeAt(qe)===10?(we.line++,we.column=1):we.column++,qe++;return pc[ee]=we,we}function Lo(ee,we){var qe=Hi(ee),Be=Hi(we);return{start:{offset:ee,line:qe.line,column:qe.column},end:{offset:we,line:Be.line,column:Be.column}}}function $e(ee){Ce<_i||(Ce>_i&&(_i=Ce,mu=[]),mu.push(ee))}function so(ee,we){return new Kg(ee,null,null,we)}function Cl(ee,we,qe){return new Kg(Kg.buildMessage(ee,we),ee,we,qe)}function yu(){var ee;return ee=bA(),ee}function qi(){var ee,we,qe;for(ee=Ce,we=[],qe=Eu();qe!==r;)we.push(qe),qe=Eu();return we!==r&&(Rt=ee,we=n(we)),ee=we,ee}function Eu(){var ee,we,qe,Be,xe;return ee=Ce,we=ds(),we!==r?(t.charCodeAt(Ce)===45?(qe=u,Ce++):(qe=r,qt===0&&$e(A)),qe!==r?(Be=qn(),Be!==r?(xe=dc(),xe!==r?(Rt=ee,we=p(xe),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee}function bA(){var ee,we,qe;for(ee=Ce,we=[],qe=Oa();qe!==r;)we.push(qe),qe=Oa();return we!==r&&(Rt=ee,we=h(we)),ee=we,ee}function Oa(){var ee,we,qe,Be,xe,Je,vt,tr,Zr;if(ee=Ce,we=qn(),we===r&&(we=null),we!==r){if(qe=Ce,t.charCodeAt(Ce)===35?(Be=C,Ce++):(Be=r,qt===0&&$e(w)),Be!==r){if(xe=[],Je=Ce,vt=Ce,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ce=vt,vt=r),vt!==r?(t.length>Ce?(tr=t.charAt(Ce),Ce++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Je=vt):(Ce=Je,Je=r)):(Ce=Je,Je=r),Je!==r)for(;Je!==r;)xe.push(Je),Je=Ce,vt=Ce,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ce=vt,vt=r),vt!==r?(t.length>Ce?(tr=t.charAt(Ce),Ce++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Je=vt):(Ce=Je,Je=r)):(Ce=Je,Je=r);else xe=r;xe!==r?(Be=[Be,xe],qe=Be):(Ce=qe,qe=r)}else Ce=qe,qe=r;if(qe===r&&(qe=null),qe!==r){if(Be=[],xe=es(),xe!==r)for(;xe!==r;)Be.push(xe),xe=es();else Be=r;Be!==r?(Rt=ee,we=b(),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r}else Ce=ee,ee=r;if(ee===r&&(ee=Ce,we=ds(),we!==r?(qe=ra(),qe!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ce)===58?(xe=E,Ce++):(xe=r,qt===0&&$e(R)),xe!==r?(Je=qn(),Je===r&&(Je=null),Je!==r?(vt=dc(),vt!==r?(Rt=ee,we=L(qe,vt),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r&&(ee=Ce,we=ds(),we!==r?(qe=oo(),qe!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ce)===58?(xe=E,Ce++):(xe=r,qt===0&&$e(R)),xe!==r?(Je=qn(),Je===r&&(Je=null),Je!==r?(vt=dc(),vt!==r?(Rt=ee,we=L(qe,vt),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r))){if(ee=Ce,we=ds(),we!==r)if(qe=oo(),qe!==r)if(Be=qn(),Be!==r)if(xe=na(),xe!==r){if(Je=[],vt=es(),vt!==r)for(;vt!==r;)Je.push(vt),vt=es();else Je=r;Je!==r?(Rt=ee,we=L(qe,xe),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;else Ce=ee,ee=r;else Ce=ee,ee=r;else Ce=ee,ee=r;if(ee===r)if(ee=Ce,we=ds(),we!==r)if(qe=oo(),qe!==r){if(Be=[],xe=Ce,Je=qn(),Je===r&&(Je=null),Je!==r?(t.charCodeAt(Ce)===44?(vt=_,Ce++):(vt=r,qt===0&&$e(J)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Je=re(qe,Zr),xe=Je):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r),xe!==r)for(;xe!==r;)Be.push(xe),xe=Ce,Je=qn(),Je===r&&(Je=null),Je!==r?(t.charCodeAt(Ce)===44?(vt=_,Ce++):(vt=r,qt===0&&$e(J)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Je=re(qe,Zr),xe=Je):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r);else Be=r;Be!==r?(xe=qn(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(Ce)===58?(Je=E,Ce++):(Je=r,qt===0&&$e(R)),Je!==r?(vt=qn(),vt===r&&(vt=null),vt!==r?(tr=dc(),tr!==r?(Rt=ee,we=oe(qe,Be,tr),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)}else Ce=ee,ee=r;else Ce=ee,ee=r}return ee}function dc(){var ee,we,qe,Be,xe,Je,vt;if(ee=Ce,we=Ce,qt++,qe=Ce,Be=mi(),Be!==r?(xe=Ot(),xe!==r?(t.charCodeAt(Ce)===45?(Je=u,Ce++):(Je=r,qt===0&&$e(A)),Je!==r?(vt=qn(),vt!==r?(Be=[Be,xe,Je,vt],qe=Be):(Ce=qe,qe=r)):(Ce=qe,qe=r)):(Ce=qe,qe=r)):(Ce=qe,qe=r),qt--,qe!==r?(Ce=we,we=void 0):we=r,we!==r?(qe=es(),qe!==r?(Be=Sn(),Be!==r?(xe=qi(),xe!==r?(Je=di(),Je!==r?(Rt=ee,we=pe(xe),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r&&(ee=Ce,we=mi(),we!==r?(qe=Sn(),qe!==r?(Be=bA(),Be!==r?(xe=di(),xe!==r?(Rt=ee,we=pe(Be),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r))if(ee=Ce,we=Rs(),we!==r){if(qe=[],Be=es(),Be!==r)for(;Be!==r;)qe.push(Be),Be=es();else qe=r;qe!==r?(Rt=ee,we=he(we),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;return ee}function ds(){var ee,we,qe;for(qt++,ee=Ce,we=[],t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));qe!==r;)we.push(qe),t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));return we!==r?(Rt=Ce,qe=Pe(we),qe?qe=void 0:qe=r,qe!==r?(we=[we,qe],ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r),qt--,ee===r&&(we=r,qt===0&&$e(ve)),ee}function Ot(){var ee,we,qe;for(ee=Ce,we=[],t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));qe!==r;)we.push(qe),t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));return we!==r?(Rt=Ce,qe=g(we),qe?qe=void 0:qe=r,qe!==r?(we=[we,qe],ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee}function Sn(){var ee;return Rt=Ce,ee=De(),ee?ee=void 0:ee=r,ee}function di(){var ee;return Rt=Ce,ee=Ee(),ee?ee=void 0:ee=r,ee}function ra(){var ee;return ee=Ns(),ee===r&&(ee=ia()),ee}function oo(){var ee,we,qe;if(ee=Ns(),ee===r){if(ee=Ce,we=[],qe=Oo(),qe!==r)for(;qe!==r;)we.push(qe),qe=Oo();else we=r;we!==r&&(Rt=ee,we=de()),ee=we}return ee}function Rs(){var ee;return ee=Zi(),ee===r&&(ee=Ts(),ee===r&&(ee=Ns(),ee===r&&(ee=ia()))),ee}function na(){var ee;return ee=Zi(),ee===r&&(ee=Ns(),ee===r&&(ee=Oo())),ee}function ia(){var ee,we,qe,Be,xe,Je;if(qt++,ee=Ce,Z.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e(me)),we!==r){for(qe=[],Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ce))?(Je=t.charAt(Ce),Ce++):(Je=r,qt===0&&$e(ut)),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);Be!==r;)qe.push(Be),Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ce))?(Je=t.charAt(Ce),Ce++):(Je=r,qt===0&&$e(ut)),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);qe!==r?(Rt=ee,we=H(),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(ne)),ee}function Oo(){var ee,we,qe,Be,xe;if(ee=Ce,t.substr(Ce,2)===yt?(we=yt,Ce+=2):(we=r,qt===0&&$e(Me)),we===r&&(we=null),we!==r)if(Te.test(t.charAt(Ce))?(qe=t.charAt(Ce),Ce++):(qe=r,qt===0&&$e(Qe)),qe!==r){for(Be=[],Ue.test(t.charAt(Ce))?(xe=t.charAt(Ce),Ce++):(xe=r,qt===0&&$e(je));xe!==r;)Be.push(xe),Ue.test(t.charAt(Ce))?(xe=t.charAt(Ce),Ce++):(xe=r,qt===0&&$e(je));Be!==r?(Rt=ee,we=H(),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;else Ce=ee,ee=r;return ee}function Zi(){var ee,we;return ee=Ce,t.substr(Ce,4)===At?(we=At,Ce+=4):(we=r,qt===0&&$e(Le)),we!==r&&(Rt=ee,we=x()),ee=we,ee}function Ts(){var ee,we;return ee=Ce,t.substr(Ce,4)===I?(we=I,Ce+=4):(we=r,qt===0&&$e(P)),we!==r&&(Rt=ee,we=y()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,5)===F?(we=F,Ce+=5):(we=r,qt===0&&$e(z)),we!==r&&(Rt=ee,we=X()),ee=we),ee}function Ns(){var ee,we,qe,Be;return qt++,ee=Ce,t.charCodeAt(Ce)===34?(we=ie,Ce++):(we=r,qt===0&&$e(ke)),we!==r?(t.charCodeAt(Ce)===34?(qe=ie,Ce++):(qe=r,qt===0&&$e(ke)),qe!==r?(Rt=ee,we=Ne(),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r&&(ee=Ce,t.charCodeAt(Ce)===34?(we=ie,Ce++):(we=r,qt===0&&$e(ke)),we!==r?(qe=Ls(),qe!==r?(t.charCodeAt(Ce)===34?(Be=ie,Ce++):(Be=r,qt===0&&$e(ke)),Be!==r?(Rt=ee,we=st(qe),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)),qt--,ee===r&&(we=r,qt===0&&$e($)),ee}function Ls(){var ee,we,qe;if(ee=Ce,we=[],qe=ao(),qe!==r)for(;qe!==r;)we.push(qe),qe=ao();else we=r;return we!==r&&(Rt=ee,we=ht(we)),ee=we,ee}function ao(){var ee,we,qe,Be,xe,Je;return Ut.test(t.charAt(Ce))?(ee=t.charAt(Ce),Ce++):(ee=r,qt===0&&$e(Xt)),ee===r&&(ee=Ce,t.substr(Ce,2)===Pt?(we=Pt,Ce+=2):(we=r,qt===0&&$e(tn)),we!==r&&(Rt=ee,we=Dr()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===fr?(we=fr,Ce+=2):(we=r,qt===0&&$e(Br)),we!==r&&(Rt=ee,we=jr()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===Hn?(we=Hn,Ce+=2):(we=r,qt===0&&$e(bs)),we!==r&&(Rt=ee,we=ki()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===gs?(we=gs,Ce+=2):(we=r,qt===0&&$e(to)),we!==r&&(Rt=ee,we=Di()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===Qs?(we=Qs,Ce+=2):(we=r,qt===0&&$e(ro)),we!==r&&(Rt=ee,we=uc()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===hu?(we=hu,Ce+=2):(we=r,qt===0&&$e(op)),we!==r&&(Rt=ee,we=ap()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===ks?(we=ks,Ce+=2):(we=r,qt===0&&$e(Cn)),we!==r&&(Rt=ee,we=no()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===Fs?(we=Fs,Ce+=2):(we=r,qt===0&&$e(dl)),we!==r&&(Rt=ee,we=ml()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===io?(we=io,Ce+=2):(we=r,qt===0&&$e(_e)),we!==r?(qe=Wn(),qe!==r?(Be=Wn(),Be!==r?(xe=Wn(),xe!==r?(Je=Wn(),Je!==r?(Rt=ee,we=Fn(qe,Be,xe,Je),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)))))))))),ee}function Wn(){var ee;return Fi.test(t.charAt(Ce))?(ee=t.charAt(Ce),Ce++):(ee=r,qt===0&&$e(Rn)),ee}function qn(){var ee,we;if(qt++,ee=[],Zt.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e(Ri)),we!==r)for(;we!==r;)ee.push(we),Zt.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e(Ri));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(Ui)),ee}function $i(){var ee,we;if(qt++,ee=[],La.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e($t)),we!==r)for(;we!==r;)ee.push(we),La.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e($t));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(Zn)),ee}function es(){var ee,we,qe,Be,xe,Je;if(ee=Ce,we=mi(),we!==r){for(qe=[],Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(Je=mi(),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);Be!==r;)qe.push(Be),Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(Je=mi(),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);qe!==r?(we=[we,qe],ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;return ee}function mi(){var ee;return t.substr(Ce,2)===Ac?(ee=Ac,Ce+=2):(ee=r,qt===0&&$e(gu)),ee===r&&(t.charCodeAt(Ce)===10?(ee=fc,Ce++):(ee=r,qt===0&&$e(yl)),ee===r&&(t.charCodeAt(Ce)===13?(ee=DA,Ce++):(ee=r,qt===0&&$e(du)))),ee}let Ma=2,sa=0;if(El=a(),El!==r&&Ce===t.length)return El;throw El!==r&&Ce<t.length&&$e(xA()),Cl(mu,_i<t.length?t.charAt(_i):null,_i<t.length?Lo(_i,_i+1):Lo(_i,_i))}zK.exports={SyntaxError:Kg,parse:tqe}});function $K(t){return t.match(rqe)?t:JSON.stringify(t)}function tJ(t){return typeof t>"u"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>tJ(t[e])):!1}function BT(t,e,r){if(t===null)return`null 50`,!1),PA="\r",mu=Dn("\r",!1),Ee=0,Rt=0,dc=[{line:1,column:1}],_i=0,yu=[],qt=0,wl;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function xA(){return t.substring(Rt,Ee)}function cp(){return Oo(Rt,Ee)}function mc(ee,we){throw we=we!==void 0?we:Oo(Rt,Ee),Bl([ra(ee)],t.substring(Rt,Ee),we)}function bA(ee,we){throw we=we!==void 0?we:Oo(Rt,Ee),so(ee,we)}function Dn(ee,we){return{type:"literal",text:ee,ignoreCase:we}}function ui(ee,we,je){return{type:"class",parts:ee,inverted:we,ignoreCase:je}}function yc(){return{type:"any"}}function QA(){return{type:"end"}}function ra(ee){return{type:"other",description:ee}}function Hi(ee){var we=dc[ee],je;if(we)return we;for(je=ee-1;!dc[je];)je--;for(we=dc[je],we={line:we.line,column:we.column};je<ee;)t.charCodeAt(je)===10?(we.line++,we.column=1):we.column++,je++;return dc[ee]=we,we}function Oo(ee,we){var je=Hi(ee),Be=Hi(we);return{start:{offset:ee,line:je.line,column:je.column},end:{offset:we,line:Be.line,column:Be.column}}}function $e(ee){Ee<_i||(Ee>_i&&(_i=Ee,yu=[]),yu.push(ee))}function so(ee,we){return new zg(ee,null,null,we)}function Bl(ee,we,je){return new zg(zg.buildMessage(ee,we),ee,we,je)}function Cu(){var ee;return ee=kA(),ee}function qi(){var ee,we,je;for(ee=Ee,we=[],je=Eu();je!==r;)we.push(je),je=Eu();return we!==r&&(Rt=ee,we=n(we)),ee=we,ee}function Eu(){var ee,we,je,Be,xe;return ee=Ee,we=ds(),we!==r?(t.charCodeAt(Ee)===45?(je=u,Ee++):(je=r,qt===0&&$e(A)),je!==r?(Be=qn(),Be!==r?(xe=Cc(),xe!==r?(Rt=ee,we=p(xe),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee}function kA(){var ee,we,je;for(ee=Ee,we=[],je=Ua();je!==r;)we.push(je),je=Ua();return we!==r&&(Rt=ee,we=h(we)),ee=we,ee}function Ua(){var ee,we,je,Be,xe,Ve,vt,tr,Zr;if(ee=Ee,we=qn(),we===r&&(we=null),we!==r){if(je=Ee,t.charCodeAt(Ee)===35?(Be=E,Ee++):(Be=r,qt===0&&$e(w)),Be!==r){if(xe=[],Ve=Ee,vt=Ee,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ee=vt,vt=r),vt!==r?(t.length>Ee?(tr=t.charAt(Ee),Ee++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Ve=vt):(Ee=Ve,Ve=r)):(Ee=Ve,Ve=r),Ve!==r)for(;Ve!==r;)xe.push(Ve),Ve=Ee,vt=Ee,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ee=vt,vt=r),vt!==r?(t.length>Ee?(tr=t.charAt(Ee),Ee++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Ve=vt):(Ee=Ve,Ve=r)):(Ee=Ve,Ve=r);else xe=r;xe!==r?(Be=[Be,xe],je=Be):(Ee=je,je=r)}else Ee=je,je=r;if(je===r&&(je=null),je!==r){if(Be=[],xe=es(),xe!==r)for(;xe!==r;)Be.push(xe),xe=es();else Be=r;Be!==r?(Rt=ee,we=b(),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r}else Ee=ee,ee=r;if(ee===r&&(ee=Ee,we=ds(),we!==r?(je=na(),je!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ee)===58?(xe=C,Ee++):(xe=r,qt===0&&$e(R)),xe!==r?(Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(vt=Cc(),vt!==r?(Rt=ee,we=L(je,vt),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r&&(ee=Ee,we=ds(),we!==r?(je=oo(),je!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ee)===58?(xe=C,Ee++):(xe=r,qt===0&&$e(R)),xe!==r?(Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(vt=Cc(),vt!==r?(Rt=ee,we=L(je,vt),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r))){if(ee=Ee,we=ds(),we!==r)if(je=oo(),je!==r)if(Be=qn(),Be!==r)if(xe=ia(),xe!==r){if(Ve=[],vt=es(),vt!==r)for(;vt!==r;)Ve.push(vt),vt=es();else Ve=r;Ve!==r?(Rt=ee,we=L(je,xe),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;else Ee=ee,ee=r;else Ee=ee,ee=r;else Ee=ee,ee=r;if(ee===r)if(ee=Ee,we=ds(),we!==r)if(je=oo(),je!==r){if(Be=[],xe=Ee,Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(t.charCodeAt(Ee)===44?(vt=_,Ee++):(vt=r,qt===0&&$e(V)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Ve=re(je,Zr),xe=Ve):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r),xe!==r)for(;xe!==r;)Be.push(xe),xe=Ee,Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(t.charCodeAt(Ee)===44?(vt=_,Ee++):(vt=r,qt===0&&$e(V)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Ve=re(je,Zr),xe=Ve):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r);else Be=r;Be!==r?(xe=qn(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(Ee)===58?(Ve=C,Ee++):(Ve=r,qt===0&&$e(R)),Ve!==r?(vt=qn(),vt===r&&(vt=null),vt!==r?(tr=Cc(),tr!==r?(Rt=ee,we=oe(je,Be,tr),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)}else Ee=ee,ee=r;else Ee=ee,ee=r}return ee}function Cc(){var ee,we,je,Be,xe,Ve,vt;if(ee=Ee,we=Ee,qt++,je=Ee,Be=mi(),Be!==r?(xe=Ot(),xe!==r?(t.charCodeAt(Ee)===45?(Ve=u,Ee++):(Ve=r,qt===0&&$e(A)),Ve!==r?(vt=qn(),vt!==r?(Be=[Be,xe,Ve,vt],je=Be):(Ee=je,je=r)):(Ee=je,je=r)):(Ee=je,je=r)):(Ee=je,je=r),qt--,je!==r?(Ee=we,we=void 0):we=r,we!==r?(je=es(),je!==r?(Be=Sn(),Be!==r?(xe=qi(),xe!==r?(Ve=di(),Ve!==r?(Rt=ee,we=pe(xe),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r&&(ee=Ee,we=mi(),we!==r?(je=Sn(),je!==r?(Be=kA(),Be!==r?(xe=di(),xe!==r?(Rt=ee,we=pe(Be),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r))if(ee=Ee,we=Rs(),we!==r){if(je=[],Be=es(),Be!==r)for(;Be!==r;)je.push(Be),Be=es();else je=r;je!==r?(Rt=ee,we=he(we),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;return ee}function ds(){var ee,we,je;for(qt++,ee=Ee,we=[],t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));je!==r;)we.push(je),t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));return we!==r?(Rt=Ee,je=Pe(we),je?je=void 0:je=r,je!==r?(we=[we,je],ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r),qt--,ee===r&&(we=r,qt===0&&$e(ve)),ee}function Ot(){var ee,we,je;for(ee=Ee,we=[],t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));je!==r;)we.push(je),t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));return we!==r?(Rt=Ee,je=g(we),je?je=void 0:je=r,je!==r?(we=[we,je],ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee}function Sn(){var ee;return Rt=Ee,ee=De(),ee?ee=void 0:ee=r,ee}function di(){var ee;return Rt=Ee,ee=Ce(),ee?ee=void 0:ee=r,ee}function na(){var ee;return ee=Ns(),ee===r&&(ee=sa()),ee}function oo(){var ee,we,je;if(ee=Ns(),ee===r){if(ee=Ee,we=[],je=Mo(),je!==r)for(;je!==r;)we.push(je),je=Mo();else we=r;we!==r&&(Rt=ee,we=de()),ee=we}return ee}function Rs(){var ee;return ee=Zi(),ee===r&&(ee=Ts(),ee===r&&(ee=Ns(),ee===r&&(ee=sa()))),ee}function ia(){var ee;return ee=Zi(),ee===r&&(ee=Ns(),ee===r&&(ee=Mo())),ee}function sa(){var ee,we,je,Be,xe,Ve;if(qt++,ee=Ee,Z.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e(me)),we!==r){for(je=[],Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ee))?(Ve=t.charAt(Ee),Ee++):(Ve=r,qt===0&&$e(ut)),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);Be!==r;)je.push(Be),Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ee))?(Ve=t.charAt(Ee),Ee++):(Ve=r,qt===0&&$e(ut)),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);je!==r?(Rt=ee,we=H(),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(ne)),ee}function Mo(){var ee,we,je,Be,xe;if(ee=Ee,t.substr(Ee,2)===yt?(we=yt,Ee+=2):(we=r,qt===0&&$e(Me)),we===r&&(we=null),we!==r)if(Te.test(t.charAt(Ee))?(je=t.charAt(Ee),Ee++):(je=r,qt===0&&$e(Qe)),je!==r){for(Be=[],_e.test(t.charAt(Ee))?(xe=t.charAt(Ee),Ee++):(xe=r,qt===0&&$e(qe));xe!==r;)Be.push(xe),_e.test(t.charAt(Ee))?(xe=t.charAt(Ee),Ee++):(xe=r,qt===0&&$e(qe));Be!==r?(Rt=ee,we=H(),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;else Ee=ee,ee=r;return ee}function Zi(){var ee,we;return ee=Ee,t.substr(Ee,4)===At?(we=At,Ee+=4):(we=r,qt===0&&$e(Oe)),we!==r&&(Rt=ee,we=x()),ee=we,ee}function Ts(){var ee,we;return ee=Ee,t.substr(Ee,4)===I?(we=I,Ee+=4):(we=r,qt===0&&$e(P)),we!==r&&(Rt=ee,we=y()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,5)===F?(we=F,Ee+=5):(we=r,qt===0&&$e(J)),we!==r&&(Rt=ee,we=X()),ee=we),ee}function Ns(){var ee,we,je,Be;return qt++,ee=Ee,t.charCodeAt(Ee)===34?(we=ie,Ee++):(we=r,qt===0&&$e(ke)),we!==r?(t.charCodeAt(Ee)===34?(je=ie,Ee++):(je=r,qt===0&&$e(ke)),je!==r?(Rt=ee,we=Ne(),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r&&(ee=Ee,t.charCodeAt(Ee)===34?(we=ie,Ee++):(we=r,qt===0&&$e(ke)),we!==r?(je=Ls(),je!==r?(t.charCodeAt(Ee)===34?(Be=ie,Ee++):(Be=r,qt===0&&$e(ke)),Be!==r?(Rt=ee,we=st(je),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)),qt--,ee===r&&(we=r,qt===0&&$e($)),ee}function Ls(){var ee,we,je;if(ee=Ee,we=[],je=ao(),je!==r)for(;je!==r;)we.push(je),je=ao();else we=r;return we!==r&&(Rt=ee,we=ht(we)),ee=we,ee}function ao(){var ee,we,je,Be,xe,Ve;return Ut.test(t.charAt(Ee))?(ee=t.charAt(Ee),Ee++):(ee=r,qt===0&&$e(Xt)),ee===r&&(ee=Ee,t.substr(Ee,2)===Pt?(we=Pt,Ee+=2):(we=r,qt===0&&$e(tn)),we!==r&&(Rt=ee,we=Dr()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===fr?(we=fr,Ee+=2):(we=r,qt===0&&$e(Br)),we!==r&&(Rt=ee,we=jr()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===Hn?(we=Hn,Ee+=2):(we=r,qt===0&&$e(bs)),we!==r&&(Rt=ee,we=ki()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===gs?(we=gs,Ee+=2):(we=r,qt===0&&$e(to)),we!==r&&(Rt=ee,we=Di()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===Qs?(we=Qs,Ee+=2):(we=r,qt===0&&$e(ro)),we!==r&&(Rt=ee,we=pc()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===gu?(we=gu,Ee+=2):(we=r,qt===0&&$e(ap)),we!==r&&(Rt=ee,we=lp()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===ks?(we=ks,Ee+=2):(we=r,qt===0&&$e(En)),we!==r&&(Rt=ee,we=no()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===Fs?(we=Fs,Ee+=2):(we=r,qt===0&&$e(Cl)),we!==r&&(Rt=ee,we=El()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===io?(we=io,Ee+=2):(we=r,qt===0&&$e(Ue)),we!==r?(je=Yn(),je!==r?(Be=Yn(),Be!==r?(xe=Yn(),xe!==r?(Ve=Yn(),Ve!==r?(Rt=ee,we=Fn(je,Be,xe,Ve),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)))))))))),ee}function Yn(){var ee;return Fi.test(t.charAt(Ee))?(ee=t.charAt(Ee),Ee++):(ee=r,qt===0&&$e(Rn)),ee}function qn(){var ee,we;if(qt++,ee=[],Zt.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e(Ri)),we!==r)for(;we!==r;)ee.push(we),Zt.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e(Ri));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(Ui)),ee}function $i(){var ee,we;if(qt++,ee=[],Ma.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e($t)),we!==r)for(;we!==r;)ee.push(we),Ma.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e($t));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e($n)),ee}function es(){var ee,we,je,Be,xe,Ve;if(ee=Ee,we=mi(),we!==r){for(je=[],Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(Ve=mi(),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);Be!==r;)je.push(Be),Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(Ve=mi(),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);je!==r?(we=[we,je],ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;return ee}function mi(){var ee;return t.substr(Ee,2)===hc?(ee=hc,Ee+=2):(ee=r,qt===0&&$e(du)),ee===r&&(t.charCodeAt(Ee)===10?(ee=gc,Ee++):(ee=r,qt===0&&$e(Il)),ee===r&&(t.charCodeAt(Ee)===13?(ee=PA,Ee++):(ee=r,qt===0&&$e(mu)))),ee}let Ha=2,oa=0;if(wl=a(),wl!==r&&Ee===t.length)return wl;throw wl!==r&&Ee<t.length&&$e(QA()),Bl(yu,_i<t.length?t.charAt(_i):null,_i<t.length?Oo(_i,_i+1):Oo(_i,_i))}rV.exports={SyntaxError:zg,parse:fqe}});function sV(t){return t.match(pqe)?t:JSON.stringify(t)}function aV(t){return typeof t>"u"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>aV(t[e])):!1}function vT(t,e,r){if(t===null)return`null
51`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} 51`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()}
52`;if(typeof t=="string")return`${$K(t)} 52`;if(typeof t=="string")return`${sV(t)}
53`;if(Array.isArray(t)){if(t.length===0)return`[] 53`;if(Array.isArray(t)){if(t.length===0)return`[]
54`;let o=" ".repeat(e);return` 54`;let o=" ".repeat(e);return`
55${t.map(n=>`${o}- ${BT(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof RD?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let C=ZK.indexOf(p),w=ZK.indexOf(h);return C===-1&&w===-1?p<h?-1:p>h?1:0:C!==-1&&w===-1?-1:C===-1&&w!==-1?1:C-w});let A=u.filter(p=>!tJ(o[p])).map((p,h)=>{let C=o[p],w=$K(p),v=BT(C,e+1,!0),b=h>0||r?n:"",E=w.length>1024?`? ${w} 55${t.map(n=>`${o}- ${vT(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof _D?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let E=iV.indexOf(p),w=iV.indexOf(h);return E===-1&&w===-1?p<h?-1:p>h?1:0:E!==-1&&w===-1?-1:E===-1&&w!==-1?1:E-w});let A=u.filter(p=>!aV(o[p])).map((p,h)=>{let E=o[p],w=sV(p),v=vT(E,e+1,!0),b=h>0||r?n:"",C=w.length>1024?`? ${w}
56${b}:`:`${w}:`,R=v.startsWith(` 56${b}:`:`${w}:`,R=v.startsWith(`
57`)?v:` ${v}`;return`${b}${E}${R}`}).join(e===0?` 57`)?v:` ${v}`;return`${b}${C}${R}`}).join(e===0?`
58`:"")||` 58`:"")||`
59`;return r?` 59`;return r?`
60${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function Ia(t){try{let e=BT(t,0,!1);return e!==` 60${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function wa(t){try{let e=vT(t,0,!1);return e!==`
61`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function nqe(t){return t.endsWith(` 61`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function hqe(t){return t.endsWith(`
62`)||(t+=` 62`)||(t+=`
63`),(0,eJ.parse)(t)}function sqe(t){if(iqe.test(t))return nqe(t);let e=(0,TD.safeLoad)(t,{schema:TD.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Yi(t){return sqe(t)}var TD,eJ,rqe,ZK,RD,iqe,rJ=dt(()=>{TD=tt(VK()),eJ=tt(XK()),rqe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,ZK=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],RD=class{constructor(e){this.data=e}};Ia.PreserveOrdering=RD;iqe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var GI={};Yt(GI,{parseResolution:()=>ID,parseShell:()=>yD,parseSyml:()=>Yi,stringifyArgument:()=>cT,stringifyArgumentSegment:()=>uT,stringifyArithmeticExpression:()=>CD,stringifyCommand:()=>lT,stringifyCommandChain:()=>ly,stringifyCommandChainThen:()=>aT,stringifyCommandLine:()=>ED,stringifyCommandLineThen:()=>oT,stringifyEnvSegment:()=>mD,stringifyRedirectArgument:()=>OI,stringifyResolution:()=>wD,stringifyShell:()=>ay,stringifyShellLine:()=>ay,stringifySyml:()=>Ia,stringifyValueArgument:()=>Mg});var Ol=dt(()=>{tY();sY();rJ()});var iJ=U((Jxt,vT)=>{"use strict";var oqe=t=>{let e=!1,r=!1,o=!1;for(let a=0;a<t.length;a++){let n=t[a];e&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(t=t.slice(0,a)+"-"+t.slice(a),e=!1,o=r,r=!0,a++):r&&o&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(t=t.slice(0,a-1)+"-"+t.slice(a-1),o=r,r=!1,e=!0):(e=n.toLowerCase()===n&&n.toUpperCase()!==n,o=r,r=n.toUpperCase()===n&&n.toLowerCase()!==n)}return t},nJ=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=oqe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};vT.exports=nJ;vT.exports.default=nJ});var sJ=U((Vxt,aqe)=>{aqe.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Jg=U(Za=>{"use strict";var aJ=sJ(),Wu=process.env;Object.defineProperty(Za,"_vendors",{value:aJ.map(function(t){return t.constant})});Za.name=null;Za.isPR=null;aJ.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return oJ(o)});if(Za[t.constant]=r,r)switch(Za.name=t.name,typeof t.pr){case"string":Za.isPR=!!Wu[t.pr];break;case"object":"env"in t.pr?Za.isPR=t.pr.env in Wu&&Wu[t.pr.env]!==t.pr.ne:"any"in t.pr?Za.isPR=t.pr.any.some(function(o){return!!Wu[o]}):Za.isPR=oJ(t.pr);break;default:Za.isPR=null}});Za.isCI=!!(Wu.CI||Wu.CONTINUOUS_INTEGRATION||Wu.BUILD_NUMBER||Wu.RUN_ID||Za.name);function oJ(t){return typeof t=="string"?!!Wu[t]:Object.keys(t).every(function(e){return Wu[e]===t[e]})}});var DT,js,ST,ND,lJ,PT,xT,bT=dt(()=>{DT="",js="\0",ST=/^(-h|--help)(?:=([0-9]+))?$/,ND=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,lJ=/^-[a-zA-Z]{2,}$/,PT=/^([^=]+)=([\s\S]*)$/,xT=process.env.DEBUG_CLI==="1"});var ot,dy,LD,QT,OD=dt(()=>{bT();ot=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},dy=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} 63`),(0,oV.parse)(t)}function dqe(t){if(gqe.test(t))return hqe(t);let e=(0,HD.safeLoad)(t,{schema:HD.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Yi(t){return dqe(t)}var HD,oV,pqe,iV,_D,gqe,lV=dt(()=>{HD=tt(tV()),oV=tt(nV()),pqe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,iV=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],_D=class{constructor(e){this.data=e}};wa.PreserveOrdering=_D;gqe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var VI={};Yt(VI,{parseResolution:()=>xD,parseShell:()=>DD,parseSyml:()=>Yi,stringifyArgument:()=>uT,stringifyArgumentSegment:()=>AT,stringifyArithmeticExpression:()=>PD,stringifyCommand:()=>cT,stringifyCommandChain:()=>py,stringifyCommandChainThen:()=>lT,stringifyCommandLine:()=>SD,stringifyCommandLineThen:()=>aT,stringifyEnvSegment:()=>vD,stringifyRedirectArgument:()=>HI,stringifyResolution:()=>bD,stringifyShell:()=>fy,stringifyShellLine:()=>fy,stringifySyml:()=>wa,stringifyValueArgument:()=>Hg});var _l=dt(()=>{aY();AY();lV()});var uV=U((lbt,DT)=>{"use strict";var mqe=t=>{let e=!1,r=!1,o=!1;for(let a=0;a<t.length;a++){let n=t[a];e&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(t=t.slice(0,a)+"-"+t.slice(a),e=!1,o=r,r=!0,a++):r&&o&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(t=t.slice(0,a-1)+"-"+t.slice(a-1),o=r,r=!1,e=!0):(e=n.toLowerCase()===n&&n.toUpperCase()!==n,o=r,r=n.toUpperCase()===n&&n.toLowerCase()!==n)}return t},cV=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=mqe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};DT.exports=cV;DT.exports.default=cV});var AV=U((cbt,yqe)=>{yqe.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Xg=U(el=>{"use strict";var pV=AV(),Yu=process.env;Object.defineProperty(el,"_vendors",{value:pV.map(function(t){return t.constant})});el.name=null;el.isPR=null;pV.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return fV(o)});if(el[t.constant]=r,r)switch(el.name=t.name,typeof t.pr){case"string":el.isPR=!!Yu[t.pr];break;case"object":"env"in t.pr?el.isPR=t.pr.env in Yu&&Yu[t.pr.env]!==t.pr.ne:"any"in t.pr?el.isPR=t.pr.any.some(function(o){return!!Yu[o]}):el.isPR=fV(t.pr);break;default:el.isPR=null}});el.isCI=!!(Yu.CI||Yu.CONTINUOUS_INTEGRATION||Yu.BUILD_NUMBER||Yu.RUN_ID||el.name);function fV(t){return typeof t=="string"?!!Yu[t]:Object.keys(t).every(function(e){return Yu[e]===t[e]})}});var ST,js,PT,qD,hV,xT,bT,QT=dt(()=>{ST="",js="\0",PT=/^(-h|--help)(?:=([0-9]+))?$/,qD=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,hV=/^-[a-zA-Z]{2,}$/,xT=/^([^=]+)=([\s\S]*)$/,bT=process.env.DEBUG_CLI==="1"});var ot,Iy,jD,kT,GD=dt(()=>{QT();ot=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Iy=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o}
64 64
65${this.candidates.map(({usage:a})=>`$ ${a}`).join(` 65${this.candidates.map(({usage:a})=>`$ ${a}`).join(`
66`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: 66`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean:
67 67
68$ ${o} 68$ ${o}
69${QT(e)}`}else this.message=`Command not found; did you mean one of: 69${kT(e)}`}else this.message=`Command not found; did you mean one of:
70 70
71${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` 71${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(`
72`)} 72`)}
73 73
74${QT(e)}`}},LD=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: 74${kT(e)}`}},jD=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives:
75 75
76${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` 76${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(`
77`)} 77`)}
78 78
79${QT(e)}`}},QT=t=>`While running ${t.filter(e=>e!==js).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function lqe(t){let e=t.split(` 79${kT(e)}`}},kT=t=>`While running ${t.filter(e=>e!==js).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function Cqe(t){let e=t.split(`
80`),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` 80`),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(`
81`)}function Bo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` 81`)}function Bo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,`
82`),t=lqe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 82`),t=Cqe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2
83 83
84`),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` 84`),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(`
85`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` 85`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(`
86`)}).join(` 86`)}).join(`
87 87
88`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} 88`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t}
89`:""}var kT,cJ,uJ,FT=dt(()=>{kT=Array(80).fill("\u2501");for(let t=0;t<=24;++t)kT[kT.length-t]=`\x1B[38;5;${232+t}m\u2501`;cJ={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<80-5?` ${kT.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},uJ={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function jo(t){return{...t,[WI]:!0}}function Yu(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function MD(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function YI(t,e){return e.length===1?new ot(`${t}: ${MD(e[0],!0)}`):new ot(`${t}: 89`:""}var FT,gV,dV,RT=dt(()=>{FT=Array(80).fill("\u2501");for(let t=0;t<=24;++t)FT[FT.length-t]=`\x1B[38;5;${232+t}m\u2501`;gV={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<80-5?` ${FT.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},dV={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Go(t){return{...t,[JI]:!0}}function Ku(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function WD(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function zI(t,e){return e.length===1?new ot(`${t}: ${WD(e[0],!0)}`):new ot(`${t}:
90${e.map(r=>` 90${e.map(r=>`
91- ${MD(r)}`).join("")}`)}function KI(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw YI(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var WI,yf=dt(()=>{OD();WI=Symbol("clipanion/isOption")});var Go={};Yt(Go,{KeyRelationship:()=>Vg,applyCascade:()=>Xg,base64RegExp:()=>hJ,colorStringAlphaRegExp:()=>pJ,colorStringRegExp:()=>fJ,computeKey:()=>jp,getPrintable:()=>Ki,hasExactLength:()=>EJ,hasForbiddenKeys:()=>Lqe,hasKeyRelationship:()=>MT,hasMaxLength:()=>Iqe,hasMinLength:()=>Cqe,hasMutuallyExclusiveKeys:()=>Oqe,hasRequiredKeys:()=>Nqe,hasUniqueItems:()=>wqe,isArray:()=>pqe,isAtLeast:()=>LT,isAtMost:()=>Dqe,isBase64:()=>Rqe,isBoolean:()=>Aqe,isDate:()=>fqe,isDict:()=>gqe,isEnum:()=>Gs,isHexColor:()=>Fqe,isISO8601:()=>kqe,isInExclusiveRange:()=>Pqe,isInInclusiveRange:()=>Sqe,isInstanceOf:()=>mqe,isInteger:()=>OT,isJSON:()=>Tqe,isLiteral:()=>cqe,isLowerCase:()=>xqe,isNegative:()=>Bqe,isNullable:()=>Eqe,isNumber:()=>TT,isObject:()=>dqe,isOneOf:()=>NT,isOptional:()=>yqe,isPositive:()=>vqe,isString:()=>JI,isTuple:()=>hqe,isUUID4:()=>Qqe,isUnknown:()=>yJ,isUpperCase:()=>bqe,iso8601RegExp:()=>RT,makeCoercionFn:()=>zg,makeSetter:()=>mJ,makeTrait:()=>dJ,makeValidator:()=>Yr,matchesRegExp:()=>VI,plural:()=>UD,pushError:()=>xr,simpleKeyRegExp:()=>AJ,uuid4RegExp:()=>gJ});function Yr({test:t}){return dJ(t)()}function Ki(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function jp(t,e){var r,o,a;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:AJ.test(e)?`${(o=t==null?void 0:t.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t==null?void 0:t.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function zg(t,e){return r=>{let o=t[e];return t[e]=r,zg(t,e).bind(null,o)}}function mJ(t,e){return r=>{t[e]=r}}function UD(t,e,r){return t===1?e:r}function xr({errors:t,p:e}={},r){return t==null||t.push(`${e??"."}: ${r}`),!1}function cqe(t){return Yr({test:(e,r)=>e!==t?xr(r,`Expected a literal (got ${Ki(t)})`):!0})}function Gs(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Yr({test:(o,a)=>r.has(o)?!0:xr(a,`Expected a valid enumeration value (got ${Ki(o)})`)})}var AJ,fJ,pJ,hJ,gJ,RT,dJ,yJ,JI,uqe,Aqe,TT,fqe,pqe,hqe,gqe,dqe,mqe,NT,Xg,yqe,Eqe,Cqe,Iqe,EJ,wqe,Bqe,vqe,LT,Dqe,Sqe,Pqe,OT,VI,xqe,bqe,Qqe,kqe,Fqe,Rqe,Tqe,Nqe,Lqe,Oqe,Vg,Mqe,MT,$a=dt(()=>{AJ=/^[a-zA-Z_][a-zA-Z0-9_]*$/,fJ=/^#[0-9a-f]{6}$/i,pJ=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,hJ=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,gJ=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,RT=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,dJ=t=>()=>t;yJ=()=>Yr({test:(t,e)=>!0});JI=()=>Yr({test:(t,e)=>typeof t!="string"?xr(e,`Expected a string (got ${Ki(t)})`):!0});uqe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Aqe=()=>Yr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o=uqe.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a boolean (got ${Ki(t)})`)}return!0}}),TT=()=>Yr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return xr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a number (got ${Ki(t)})`)}return!0}}),fqe=()=>Yr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"&&RT.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return xr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a date (got ${Ki(t)})`)}return!0}}),pqe=(t,{delimiter:e}={})=>Yr({test:(r,o)=>{var a;if(typeof r=="string"&&typeof e<"u"&&typeof(o==null?void 0:o.coercions)<"u"){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");r=r.split(e),o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,r)])}if(!Array.isArray(r))return xr(o,`Expected an array (got ${Ki(r)})`);let n=!0;for(let u=0,A=r.length;u<A&&(n=t(r[u],Object.assign(Object.assign({},o),{p:jp(o,u),coercion:zg(r,u)}))&&n,!(!n&&(o==null?void 0:o.errors)==null));++u);return n}}),hqe=(t,{delimiter:e}={})=>{let r=EJ(t.length);return Yr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof(a==null?void 0:a.coercions)<"u"){if(typeof(a==null?void 0:a.coercion)>"u")return xr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return xr(a,`Expected a tuple (got ${Ki(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A<p&&A<t.length&&(u=t[A](o[A],Object.assign(Object.assign({},a),{p:jp(a,A),coercion:zg(o,A)}))&&u,!(!u&&(a==null?void 0:a.errors)==null));++A);return u}})},gqe=(t,{keys:e=null}={})=>Yr({test:(r,o)=>{if(typeof r!="object"||r===null)return xr(o,`Expected an object (got ${Ki(r)})`);let a=Object.keys(r),n=!0;for(let u=0,A=a.length;u<A&&(n||(o==null?void 0:o.errors)!=null);++u){let p=a[u],h=r[p];if(p==="__proto__"||p==="constructor"){n=xr(Object.assign(Object.assign({},o),{p:jp(o,p)}),"Unsafe property name");continue}if(e!==null&&!e(p,o)){n=!1;continue}if(!t(h,Object.assign(Object.assign({},o),{p:jp(o,p),coercion:zg(r,p)}))){n=!1;continue}}return n}}),dqe=(t,{extra:e=null}={})=>{let r=Object.keys(t);return Yr({test:(o,a)=>{if(typeof o!="object"||o===null)return xr(a,`Expected an object (got ${Ki(o)})`);let n=new Set([...r,...Object.keys(o)]),u={},A=!0;for(let p of n){if(p==="constructor"||p==="__proto__")A=xr(Object.assign(Object.assign({},a),{p:jp(a,p)}),"Unsafe property name");else{let h=Object.prototype.hasOwnProperty.call(t,p)?t[p]:void 0,C=Object.prototype.hasOwnProperty.call(o,p)?o[p]:void 0;typeof h<"u"?A=h(C,Object.assign(Object.assign({},a),{p:jp(a,p),coercion:zg(o,p)}))&&A:e===null?A=xr(Object.assign(Object.assign({},a),{p:jp(a,p)}),`Extraneous property (got ${Ki(C)})`):Object.defineProperty(u,p,{enumerable:!0,get:()=>C,set:mJ(o,p)})}if(!A&&(a==null?void 0:a.errors)==null)break}return e!==null&&(A||(a==null?void 0:a.errors)!=null)&&(A=e(u,a)&&A),A}})},mqe=t=>Yr({test:(e,r)=>e instanceof t?!0:xr(r,`Expected an instance of ${t.name} (got ${Ki(e)})`)}),NT=(t,{exclusive:e=!1}={})=>Yr({test:(r,o)=>{var a,n,u;let A=[],p=typeof(o==null?void 0:o.errors)<"u"?[]:void 0;for(let h=0,C=t.length;h<C;++h){let w=typeof(o==null?void 0:o.errors)<"u"?[]:void 0,v=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(t[h](r,Object.assign(Object.assign({},o),{errors:w,coercions:v,p:`${(a=o==null?void 0:o.p)!==null&&a!==void 0?a:"."}#${h+1}`}))){if(A.push([`#${h+1}`,v]),!e)break}else p==null||p.push(w[0])}if(A.length===1){let[,h]=A[0];return typeof h<"u"&&((n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...h)),!0}return A.length>1?xr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o==null?void 0:o.errors)===null||u===void 0||u.push(...p),!1}}),Xg=(t,e)=>Yr({test:(r,o)=>{var a,n;let u={value:r},A=typeof(o==null?void 0:o.coercions)<"u"?zg(u,"value"):void 0,p=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(!t(r,Object.assign(Object.assign({},o),{coercion:A,coercions:p})))return!1;let h=[];if(typeof p<"u")for(let[,C]of p)h.push(C());try{if(typeof(o==null?void 0:o.coercions)<"u"){if(u.value!==r){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,u.value)])}(n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...p)}return e.every(C=>C(u.value,o))}finally{for(let C of h)C()}}}),yqe=t=>Yr({test:(e,r)=>typeof e>"u"?!0:t(e,r)}),Eqe=t=>Yr({test:(e,r)=>e===null?!0:t(e,r)}),Cqe=t=>Yr({test:(e,r)=>e.length>=t?!0:xr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Iqe=t=>Yr({test:(e,r)=>e.length<=t?!0:xr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),EJ=t=>Yr({test:(e,r)=>e.length!==t?xr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),wqe=({map:t}={})=>Yr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;n<u;++n){let A=e[n],p=typeof t<"u"?t(A):A;if(o.has(p)){if(a.has(p))continue;xr(r,`Expected to contain unique elements; got a duplicate with ${Ki(e)}`),a.add(p)}else o.add(p)}return a.size===0}}),Bqe=()=>Yr({test:(t,e)=>t<=0?!0:xr(e,`Expected to be negative (got ${t})`)}),vqe=()=>Yr({test:(t,e)=>t>=0?!0:xr(e,`Expected to be positive (got ${t})`)}),LT=t=>Yr({test:(e,r)=>e>=t?!0:xr(r,`Expected to be at least ${t} (got ${e})`)}),Dqe=t=>Yr({test:(e,r)=>e<=t?!0:xr(r,`Expected to be at most ${t} (got ${e})`)}),Sqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<=e?!0:xr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Pqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<e?!0:xr(o,`Expected to be in the [${t}; ${e}[ range (got ${r})`)}),OT=({unsafe:t=!1}={})=>Yr({test:(e,r)=>e!==Math.round(e)?xr(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:xr(r,`Expected to be a safe integer (got ${e})`)}),VI=t=>Yr({test:(e,r)=>t.test(e)?!0:xr(r,`Expected to match the pattern ${t.toString()} (got ${Ki(e)})`)}),xqe=()=>Yr({test:(t,e)=>t!==t.toLowerCase()?xr(e,`Expected to be all-lowercase (got ${t})`):!0}),bqe=()=>Yr({test:(t,e)=>t!==t.toUpperCase()?xr(e,`Expected to be all-uppercase (got ${t})`):!0}),Qqe=()=>Yr({test:(t,e)=>gJ.test(t)?!0:xr(e,`Expected to be a valid UUID v4 (got ${Ki(t)})`)}),kqe=()=>Yr({test:(t,e)=>RT.test(t)?!1:xr(e,`Expected to be a valid ISO 8601 date string (got ${Ki(t)})`)}),Fqe=({alpha:t=!1})=>Yr({test:(e,r)=>(t?fJ.test(e):pJ.test(e))?!0:xr(r,`Expected to be a valid hexadecimal color string (got ${Ki(e)})`)}),Rqe=()=>Yr({test:(t,e)=>hJ.test(t)?!0:xr(e,`Expected to be a valid base 64 string (got ${Ki(t)})`)}),Tqe=(t=yJ())=>Yr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return xr(r,`Expected to be a valid JSON string (got ${Ki(e)})`)}return t(o,r)}}),Nqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)||n.push(u);return n.length>0?xr(o,`Missing required ${UD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Lqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>0?xr(o,`Forbidden ${UD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Oqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>1?xr(o,`Mutually exclusive properties ${n.map(u=>`"${u}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Vg||(Vg={}));Mqe={[Vg.Forbids]:{expect:!1,message:"forbids using"},[Vg.Requires]:{expect:!0,message:"requires using"}},MT=(t,e,r,{ignore:o=[]}={})=>{let a=new Set(o),n=new Set(r),u=Mqe[e];return Yr({test:(A,p)=>{let h=new Set(Object.keys(A));if(!h.has(t)||a.has(A[t]))return!0;let C=[];for(let w of n)(h.has(w)&&!a.has(A[w]))!==u.expect&&C.push(w);return C.length>=1?xr(p,`Property "${t}" ${u.message} ${UD(C.length,"property","properties")} ${C.map(w=>`"${w}"`).join(", ")}`):!0}})}});var it,Zg=dt(()=>{yf();it=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>($a(),Go)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw YI("Invalid option schema",p);for(let[,w]of h)w()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};it.isOption=WI;it.Default=[]});function wa(t){xT&&console.log(t)}function IJ(){return{nodes:[Wo(),Wo(),Wo()]}}function Uqe(t){let e=IJ(),r=[],o=e.nodes.length;for(let a of t){r.push(o);for(let n=0;n<a.nodes.length;++n)vJ(n)||e.nodes.push(Jqe(a.nodes[n],o));o+=a.nodes.length-2}for(let a of r)my(e,0,a);return e}function Mc(t,e){return t.nodes.push(e),t.nodes.length-1}function _qe(t){let e=new Set,r=o=>{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let C=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let w of h)C.some(({to:v})=>w.to===v)||C.push(w)}for(let[p,h]of A.dynamics)a.dynamics.some(([C,{to:w}])=>p===C&&h.to===w)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(0)}function Hqe(t,{prefix:e=""}={}){if(xT){wa(`${e}Nodes are:`);for(let r=0;r<t.nodes.length;++r)wa(`${e} ${r}: ${JSON.stringify(t.nodes[r])}`)}}function wJ(t,e,r=!1){wa(`Running a vm on ${JSON.stringify(e)}`);let o=[{node:0,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];Hqe(t,{prefix:" "});let a=[DT,...e];for(let n=0;n<a.length;++n){let u=a[n];wa(` Processing ${JSON.stringify(u)}`);let A=[];for(let{node:p,state:h}of o){wa(` Current node is ${p}`);let C=t.nodes[p];if(p===2){A.push({node:p,state:h});continue}console.assert(C.shortcuts.length===0,"Shortcuts should have been eliminated by now");let w=Object.prototype.hasOwnProperty.call(C.statics,u);if(!r||n<a.length-1||w)if(w){let v=C.statics[u];for(let{to:b,reducer:E}of v)A.push({node:b,state:typeof E<"u"?_D(_T,E,h,u):h}),wa(` Static transition to ${b} found`)}else wa(" No static transition found");else{let v=!1;for(let b of Object.keys(C.statics))if(!!b.startsWith(u)){if(u===b)for(let{to:E,reducer:R}of C.statics[b])A.push({node:E,state:typeof R<"u"?_D(_T,R,h,u):h}),wa(` Static transition to ${E} found`);else for(let{to:E}of C.statics[b])A.push({node:E,state:{...h,remainder:b.slice(u.length)}}),wa(` Static transition to ${E} found (partial match)`);v=!0}v||wa(" No partial static transition found")}if(u!==js)for(let[v,{to:b,reducer:E}]of C.dynamics)_D(qD,v,h,u)&&(A.push({node:b,state:typeof E<"u"?_D(_T,E,h,u):h}),wa(` Dynamic transition to ${b} found (via ${v})`))}if(A.length===0&&u===js&&e.length===1)return[{node:0,state:CJ}];if(A.length===0)throw new dy(e,o.filter(({node:p})=>p!==2).map(({state:p})=>({usage:p.candidateUsage,reason:null})));if(A.every(({node:p})=>p===2))throw new dy(e,A.map(({state:p})=>({usage:p.candidateUsage,reason:p.errorMessage})));o=Wqe(A)}if(o.length>0){wa(" Results:");for(let n of o)wa(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else wa(" No results");return o}function qqe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,js)){for(let{to:r}of t.statics[js])if(r===1)return!0}return!1}function jqe(t,e,r){let o=r&&e.length>0?[""]:[],a=wJ(t,e,r),n=[],u=new Set,A=(p,h,C=!0)=>{let w=[h];for(;w.length>0;){let b=w;w=[];for(let E of b){let R=t.nodes[E],L=Object.keys(R.statics);for(let _ of Object.keys(R.statics)){let J=L[0];for(let{to:re,reducer:oe}of R.statics[J])oe==="pushPath"&&(C||p.push(J),w.push(re))}}C=!1}let v=JSON.stringify(p);u.has(v)||(n.push(p),u.add(v))};for(let{node:p,state:h}of a){if(h.remainder!==null){A([h.remainder],p);continue}let C=t.nodes[p],w=qqe(C,h);for(let[v,b]of Object.entries(C.statics))(w&&v!==js||!v.startsWith("-")&&b.some(({reducer:E})=>E==="pushPath"))&&A([...o,v],p);if(!!w)for(let[v,{to:b}]of C.dynamics){if(b===2)continue;let E=Vqe(v,h);if(E!==null)for(let R of E)A([...o,R],p)}}return[...n].sort()}function Gqe(t,e){let r=wJ(t,[...e,js]);return Yqe(e,r.map(({state:o})=>o))}function Wqe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function Yqe(t,e){let r=e.filter(w=>w.selectedIndex!==null);if(r.length===0)throw new Error;let o=r.filter(w=>w.requiredOptions.every(v=>v.some(b=>w.options.find(E=>E.name===b))));if(o.length===0)throw new dy(t,r.map(w=>({usage:w.candidateUsage,reason:null})));let a=0;for(let w of o)w.path.length>a&&(a=w.path.length);let n=o.filter(w=>w.path.length===a),u=w=>w.positionals.filter(({extra:v})=>!v).length+w.options.length,A=n.map(w=>({state:w,positionalCount:u(w)})),p=0;for(let{positionalCount:w}of A)w>p&&(p=w);let h=A.filter(({positionalCount:w})=>w===p).map(({state:w})=>w),C=Kqe(h);if(C.length>1)throw new LD(t,C.map(w=>w.candidateUsage));return C[0]}function Kqe(t){let e=[],r=[];for(let o of t)o.selectedIndex===-1?r.push(o):e.push(o);return r.length>0&&e.push({...CJ,path:BJ(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function BJ(t,e,...r){return e===void 0?Array.from(t):BJ(t.filter((o,a)=>o===e[a]),...r)}function Wo(){return{dynamics:[],shortcuts:[],statics:{}}}function vJ(t){return t===1||t===2}function UT(t,e=0){return{to:vJ(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function Jqe(t,e=0){let r=Wo();for(let[o,a]of t.dynamics)r.dynamics.push([o,UT(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(UT(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>UT(n,e));return r}function Ws(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function my(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function Ef(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function _D(t,e,r,o){if(Array.isArray(e)){let[a,...n]=e;return t[a](r,o,...n)}else return t[e](r,o)}function Vqe(t,e){let r=Array.isArray(t)?qD[t[0]]:qD[t];if(typeof r.suggest>"u")return null;let o=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...o)}var CJ,qD,_T,el,HT,Ey,GD=dt(()=>{bT();OD();CJ={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};qD={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&lJ.test(e)&&[...e.slice(1)].every(o=>r.includes(`-${o}`)),isBoundOption:(t,e,r,o)=>{let a=e.match(PT);return!t.ignoreOptions&&!!a&&ND.test(a[1])&&r.includes(a[1])&&o.filter(n=>n.names.includes(a[1])).every(n=>n.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ST.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&ND.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!ND.test(e)};qD.isOption.suggest=(t,e,r=!0)=>r?null:[e];_T={setCandidateState:(t,e,r)=>({...t,...r}),setSelectedIndex:(t,e,r)=>({...t,selectedIndex:r}),pushBatch:(t,e)=>({...t,options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,o]=e.match(PT);return{...t,options:t.options.concat({name:r,value:o})}},pushPath:(t,e)=>({...t,path:t.path.concat(e)}),pushPositional:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:el})}),pushTrue:(t,e,r=e)=>({...t,options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>({...t,options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>({...t,options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let o={...t,options:[...t.options]},a=t.options[t.options.length-1];return a.value=((r=a.value)!==null&&r!==void 0?r:[]).concat([e]),o},setStringValue:(t,e)=>{let r={...t,options:[...t.options]},o=t.options[t.options.length-1];return o.value=e,r},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,o]=e.match(ST);return typeof o<"u"?{...t,options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}:{...t,options:[{name:"-c",value:String(r)}]}},setError:(t,e,r)=>e===js?{...t,errorMessage:`${r}.`}:{...t,errorMessage:`${r} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},el=Symbol(),HT=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===el)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==el?this.arity.extra.push(e):this.arity.extra!==el&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===el)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o<r;++o)this.addPositional({name:e});this.arity.extra=el}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:r,arity:o=0,hidden:a=!1,required:n=!1,allowBinding:u=!0}){if(!u&&o>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{names:u,arity:A,hidden:p,description:h,required:C}of this.options){if(p)continue;let w=[];for(let b=0;b<A;++b)w.push(` #${b}`);let v=`${u.join(",")}${w.join("")}`;!r&&h?a.push({definition:v,description:h,required:C}):o.push(C?`<${v}>`:`[${v}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===el?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=IJ(),r=0,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.names);r=Mc(e,Wo()),Ef(e,0,DT,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Mc(e,Wo());my(e,p,v),this.registerOptions(e,v),p=v}for(let v=0;v<A.length;++v){let b=Mc(e,Wo());Ef(e,p,A[v],b,"pushPath"),p=b}if(this.arity.leading.length>0||!this.arity.proxy){let v=Mc(e,Wo());Ws(e,p,"isHelp",v,["useHelp",this.cliIndex]),Ef(e,v,js,1,["setSelectedIndex",-1]),this.registerOptions(e,p)}this.arity.leading.length>0&&Ef(e,p,js,2,["setError","Not enough positional arguments"]);let h=p;for(let v=0;v<this.arity.leading.length;++v){let b=Mc(e,Wo());(!this.arity.proxy||v+1!==this.arity.leading.length)&&this.registerOptions(e,b),(this.arity.trailing.length>0||v+1!==this.arity.leading.length)&&Ef(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,h,"isNotOptionLike",b,"pushPositional"),h=b}let C=h;if(this.arity.extra===el||this.arity.extra.length>0){let v=Mc(e,Wo());if(my(e,h,v),this.arity.extra===el){let b=Mc(e,Wo());this.arity.proxy||this.registerOptions(e,b),Ws(e,h,n,b,"pushExtraNoLimits"),Ws(e,b,n,b,"pushExtraNoLimits"),my(e,b,v)}else for(let b=0;b<this.arity.extra.length;++b){let E=Mc(e,Wo());(!this.arity.proxy||b>0)&&this.registerOptions(e,E),Ws(e,C,n,E,"pushExtra"),my(e,E,v),C=E}C=v}this.arity.trailing.length>0&&Ef(e,C,js,2,["setError","Not enough positional arguments"]);let w=C;for(let v=0;v<this.arity.trailing.length;++v){let b=Mc(e,Wo());this.arity.proxy||this.registerOptions(e,b),v+1<this.arity.trailing.length&&Ef(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,w,"isNotOptionLike",b,"pushPositional"),w=b}Ws(e,w,n,2,["setError","Extraneous positional argument"]),Ef(e,w,js,1,["setSelectedIndex",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,r){Ws(e,r,["isOption","--"],r,"inhibateOptions"),Ws(e,r,["isBatchOption",this.allOptionNames],r,"pushBatch"),Ws(e,r,["isBoundOption",this.allOptionNames,this.options],r,"pushBound"),Ws(e,r,["isUnsupportedOption",this.allOptionNames],2,["setError","Unsupported option name"]),Ws(e,r,["isInvalidOption"],2,["setError","Invalid option name"]);for(let o of this.options){let a=o.names.reduce((n,u)=>u.length>n.length?u:n,"");if(o.arity===0)for(let n of o.names)Ws(e,r,["isOption",n,o.hidden||n!==a],r,"pushTrue"),n.startsWith("--")&&!n.startsWith("--no-")&&Ws(e,r,["isNegatedOption",n],r,["pushFalse",n]);else{let n=Mc(e,Wo());for(let u of o.names)Ws(e,r,["isOption",u,o.hidden||u!==a],n,"pushUndefined");for(let u=0;u<o.arity;++u){let A=Mc(e,Wo());Ef(e,n,js,2,"setOptionArityError"),Ws(e,n,"isOptionLike",2,"setOptionArityError");let p=o.arity===1?"setStringValue":"pushStringValue";Ws(e,n,"isNotOptionLike",A,p),n=A}my(e,n,r)}}}},Ey=class{constructor({binaryName:e="..."}={}){this.builders=[],this.opts={binaryName:e}}static build(e,r={}){return new Ey(r).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let r of e)r(this.command());return this}command(){let e=new HT(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],r=[];for(let a of this.builders){let{machine:n,context:u}=a.compile();e.push(n),r.push(u)}let o=Uqe(e);return _qe(o),{machine:o,contexts:r,process:a=>Gqe(o,a),suggest:(a,n)=>jqe(o,a,n)}}}});function SJ(){return WD.default&&"getColorDepth"in WD.default.WriteStream.prototype?WD.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function PJ(t){let e=DJ;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=Ie("async_hooks");e=DJ=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var WD,DJ,xJ=dt(()=>{WD=tt(Ie("tty"),1)});var Cy,bJ=dt(()=>{Zg();Cy=class extends it{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new Cy(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection: 91- ${WD(r)}`).join("")}`)}function XI(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw zI(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var JI,Ef=dt(()=>{GD();JI=Symbol("clipanion/isOption")});var Wo={};Yt(Wo,{KeyRelationship:()=>Zg,applyCascade:()=>ed,base64RegExp:()=>EV,colorStringAlphaRegExp:()=>CV,colorStringRegExp:()=>yV,computeKey:()=>Gp,getPrintable:()=>Ki,hasExactLength:()=>DV,hasForbiddenKeys:()=>Kqe,hasKeyRelationship:()=>UT,hasMaxLength:()=>Fqe,hasMinLength:()=>kqe,hasMutuallyExclusiveKeys:()=>Vqe,hasRequiredKeys:()=>Yqe,hasUniqueItems:()=>Rqe,isArray:()=>vqe,isAtLeast:()=>OT,isAtMost:()=>Lqe,isBase64:()=>Gqe,isBoolean:()=>wqe,isDate:()=>Bqe,isDict:()=>Sqe,isEnum:()=>Gs,isHexColor:()=>jqe,isISO8601:()=>qqe,isInExclusiveRange:()=>Mqe,isInInclusiveRange:()=>Oqe,isInstanceOf:()=>xqe,isInteger:()=>MT,isJSON:()=>Wqe,isLiteral:()=>Eqe,isLowerCase:()=>Uqe,isNegative:()=>Tqe,isNullable:()=>Qqe,isNumber:()=>NT,isObject:()=>Pqe,isOneOf:()=>LT,isOptional:()=>bqe,isPositive:()=>Nqe,isString:()=>ZI,isTuple:()=>Dqe,isUUID4:()=>Hqe,isUnknown:()=>vV,isUpperCase:()=>_qe,iso8601RegExp:()=>TT,makeCoercionFn:()=>$g,makeSetter:()=>BV,makeTrait:()=>wV,makeValidator:()=>Yr,matchesRegExp:()=>$I,plural:()=>YD,pushError:()=>xr,simpleKeyRegExp:()=>mV,uuid4RegExp:()=>IV});function Yr({test:t}){return wV(t)()}function Ki(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function Gp(t,e){var r,o,a;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:mV.test(e)?`${(o=t==null?void 0:t.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t==null?void 0:t.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function $g(t,e){return r=>{let o=t[e];return t[e]=r,$g(t,e).bind(null,o)}}function BV(t,e){return r=>{t[e]=r}}function YD(t,e,r){return t===1?e:r}function xr({errors:t,p:e}={},r){return t==null||t.push(`${e??"."}: ${r}`),!1}function Eqe(t){return Yr({test:(e,r)=>e!==t?xr(r,`Expected a literal (got ${Ki(t)})`):!0})}function Gs(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Yr({test:(o,a)=>r.has(o)?!0:xr(a,`Expected a valid enumeration value (got ${Ki(o)})`)})}var mV,yV,CV,EV,IV,TT,wV,vV,ZI,Iqe,wqe,NT,Bqe,vqe,Dqe,Sqe,Pqe,xqe,LT,ed,bqe,Qqe,kqe,Fqe,DV,Rqe,Tqe,Nqe,OT,Lqe,Oqe,Mqe,MT,$I,Uqe,_qe,Hqe,qqe,jqe,Gqe,Wqe,Yqe,Kqe,Vqe,Zg,Jqe,UT,tl=dt(()=>{mV=/^[a-zA-Z_][a-zA-Z0-9_]*$/,yV=/^#[0-9a-f]{6}$/i,CV=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,EV=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,IV=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,TT=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,wV=t=>()=>t;vV=()=>Yr({test:(t,e)=>!0});ZI=()=>Yr({test:(t,e)=>typeof t!="string"?xr(e,`Expected a string (got ${Ki(t)})`):!0});Iqe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),wqe=()=>Yr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o=Iqe.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a boolean (got ${Ki(t)})`)}return!0}}),NT=()=>Yr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return xr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a number (got ${Ki(t)})`)}return!0}}),Bqe=()=>Yr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"&&TT.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return xr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a date (got ${Ki(t)})`)}return!0}}),vqe=(t,{delimiter:e}={})=>Yr({test:(r,o)=>{var a;if(typeof r=="string"&&typeof e<"u"&&typeof(o==null?void 0:o.coercions)<"u"){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");r=r.split(e),o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,r)])}if(!Array.isArray(r))return xr(o,`Expected an array (got ${Ki(r)})`);let n=!0;for(let u=0,A=r.length;u<A&&(n=t(r[u],Object.assign(Object.assign({},o),{p:Gp(o,u),coercion:$g(r,u)}))&&n,!(!n&&(o==null?void 0:o.errors)==null));++u);return n}}),Dqe=(t,{delimiter:e}={})=>{let r=DV(t.length);return Yr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof(a==null?void 0:a.coercions)<"u"){if(typeof(a==null?void 0:a.coercion)>"u")return xr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return xr(a,`Expected a tuple (got ${Ki(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A<p&&A<t.length&&(u=t[A](o[A],Object.assign(Object.assign({},a),{p:Gp(a,A),coercion:$g(o,A)}))&&u,!(!u&&(a==null?void 0:a.errors)==null));++A);return u}})},Sqe=(t,{keys:e=null}={})=>Yr({test:(r,o)=>{if(typeof r!="object"||r===null)return xr(o,`Expected an object (got ${Ki(r)})`);let a=Object.keys(r),n=!0;for(let u=0,A=a.length;u<A&&(n||(o==null?void 0:o.errors)!=null);++u){let p=a[u],h=r[p];if(p==="__proto__"||p==="constructor"){n=xr(Object.assign(Object.assign({},o),{p:Gp(o,p)}),"Unsafe property name");continue}if(e!==null&&!e(p,o)){n=!1;continue}if(!t(h,Object.assign(Object.assign({},o),{p:Gp(o,p),coercion:$g(r,p)}))){n=!1;continue}}return n}}),Pqe=(t,{extra:e=null}={})=>{let r=Object.keys(t);return Yr({test:(o,a)=>{if(typeof o!="object"||o===null)return xr(a,`Expected an object (got ${Ki(o)})`);let n=new Set([...r,...Object.keys(o)]),u={},A=!0;for(let p of n){if(p==="constructor"||p==="__proto__")A=xr(Object.assign(Object.assign({},a),{p:Gp(a,p)}),"Unsafe property name");else{let h=Object.prototype.hasOwnProperty.call(t,p)?t[p]:void 0,E=Object.prototype.hasOwnProperty.call(o,p)?o[p]:void 0;typeof h<"u"?A=h(E,Object.assign(Object.assign({},a),{p:Gp(a,p),coercion:$g(o,p)}))&&A:e===null?A=xr(Object.assign(Object.assign({},a),{p:Gp(a,p)}),`Extraneous property (got ${Ki(E)})`):Object.defineProperty(u,p,{enumerable:!0,get:()=>E,set:BV(o,p)})}if(!A&&(a==null?void 0:a.errors)==null)break}return e!==null&&(A||(a==null?void 0:a.errors)!=null)&&(A=e(u,a)&&A),A}})},xqe=t=>Yr({test:(e,r)=>e instanceof t?!0:xr(r,`Expected an instance of ${t.name} (got ${Ki(e)})`)}),LT=(t,{exclusive:e=!1}={})=>Yr({test:(r,o)=>{var a,n,u;let A=[],p=typeof(o==null?void 0:o.errors)<"u"?[]:void 0;for(let h=0,E=t.length;h<E;++h){let w=typeof(o==null?void 0:o.errors)<"u"?[]:void 0,v=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(t[h](r,Object.assign(Object.assign({},o),{errors:w,coercions:v,p:`${(a=o==null?void 0:o.p)!==null&&a!==void 0?a:"."}#${h+1}`}))){if(A.push([`#${h+1}`,v]),!e)break}else p==null||p.push(w[0])}if(A.length===1){let[,h]=A[0];return typeof h<"u"&&((n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...h)),!0}return A.length>1?xr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o==null?void 0:o.errors)===null||u===void 0||u.push(...p),!1}}),ed=(t,e)=>Yr({test:(r,o)=>{var a,n;let u={value:r},A=typeof(o==null?void 0:o.coercions)<"u"?$g(u,"value"):void 0,p=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(!t(r,Object.assign(Object.assign({},o),{coercion:A,coercions:p})))return!1;let h=[];if(typeof p<"u")for(let[,E]of p)h.push(E());try{if(typeof(o==null?void 0:o.coercions)<"u"){if(u.value!==r){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,u.value)])}(n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...p)}return e.every(E=>E(u.value,o))}finally{for(let E of h)E()}}}),bqe=t=>Yr({test:(e,r)=>typeof e>"u"?!0:t(e,r)}),Qqe=t=>Yr({test:(e,r)=>e===null?!0:t(e,r)}),kqe=t=>Yr({test:(e,r)=>e.length>=t?!0:xr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Fqe=t=>Yr({test:(e,r)=>e.length<=t?!0:xr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),DV=t=>Yr({test:(e,r)=>e.length!==t?xr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Rqe=({map:t}={})=>Yr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;n<u;++n){let A=e[n],p=typeof t<"u"?t(A):A;if(o.has(p)){if(a.has(p))continue;xr(r,`Expected to contain unique elements; got a duplicate with ${Ki(e)}`),a.add(p)}else o.add(p)}return a.size===0}}),Tqe=()=>Yr({test:(t,e)=>t<=0?!0:xr(e,`Expected to be negative (got ${t})`)}),Nqe=()=>Yr({test:(t,e)=>t>=0?!0:xr(e,`Expected to be positive (got ${t})`)}),OT=t=>Yr({test:(e,r)=>e>=t?!0:xr(r,`Expected to be at least ${t} (got ${e})`)}),Lqe=t=>Yr({test:(e,r)=>e<=t?!0:xr(r,`Expected to be at most ${t} (got ${e})`)}),Oqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<=e?!0:xr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Mqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<e?!0:xr(o,`Expected to be in the [${t}; ${e}[ range (got ${r})`)}),MT=({unsafe:t=!1}={})=>Yr({test:(e,r)=>e!==Math.round(e)?xr(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:xr(r,`Expected to be a safe integer (got ${e})`)}),$I=t=>Yr({test:(e,r)=>t.test(e)?!0:xr(r,`Expected to match the pattern ${t.toString()} (got ${Ki(e)})`)}),Uqe=()=>Yr({test:(t,e)=>t!==t.toLowerCase()?xr(e,`Expected to be all-lowercase (got ${t})`):!0}),_qe=()=>Yr({test:(t,e)=>t!==t.toUpperCase()?xr(e,`Expected to be all-uppercase (got ${t})`):!0}),Hqe=()=>Yr({test:(t,e)=>IV.test(t)?!0:xr(e,`Expected to be a valid UUID v4 (got ${Ki(t)})`)}),qqe=()=>Yr({test:(t,e)=>TT.test(t)?!1:xr(e,`Expected to be a valid ISO 8601 date string (got ${Ki(t)})`)}),jqe=({alpha:t=!1})=>Yr({test:(e,r)=>(t?yV.test(e):CV.test(e))?!0:xr(r,`Expected to be a valid hexadecimal color string (got ${Ki(e)})`)}),Gqe=()=>Yr({test:(t,e)=>EV.test(t)?!0:xr(e,`Expected to be a valid base 64 string (got ${Ki(t)})`)}),Wqe=(t=vV())=>Yr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return xr(r,`Expected to be a valid JSON string (got ${Ki(e)})`)}return t(o,r)}}),Yqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)||n.push(u);return n.length>0?xr(o,`Missing required ${YD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Kqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>0?xr(o,`Forbidden ${YD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Vqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>1?xr(o,`Mutually exclusive properties ${n.map(u=>`"${u}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Zg||(Zg={}));Jqe={[Zg.Forbids]:{expect:!1,message:"forbids using"},[Zg.Requires]:{expect:!0,message:"requires using"}},UT=(t,e,r,{ignore:o=[]}={})=>{let a=new Set(o),n=new Set(r),u=Jqe[e];return Yr({test:(A,p)=>{let h=new Set(Object.keys(A));if(!h.has(t)||a.has(A[t]))return!0;let E=[];for(let w of n)(h.has(w)&&!a.has(A[w]))!==u.expect&&E.push(w);return E.length>=1?xr(p,`Property "${t}" ${u.message} ${YD(E.length,"property","properties")} ${E.map(w=>`"${w}"`).join(", ")}`):!0}})}});var it,td=dt(()=>{Ef();it=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>(tl(),Wo)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw zI("Invalid option schema",p);for(let[,w]of h)w()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};it.isOption=JI;it.Default=[]});function Ba(t){bT&&console.log(t)}function PV(){return{nodes:[Yo(),Yo(),Yo()]}}function zqe(t){let e=PV(),r=[],o=e.nodes.length;for(let a of t){r.push(o);for(let n=0;n<a.nodes.length;++n)QV(n)||e.nodes.push(sje(a.nodes[n],o));o+=a.nodes.length-2}for(let a of r)wy(e,0,a);return e}function Hc(t,e){return t.nodes.push(e),t.nodes.length-1}function Xqe(t){let e=new Set,r=o=>{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let w of h)E.some(({to:v})=>w.to===v)||E.push(w)}for(let[p,h]of A.dynamics)a.dynamics.some(([E,{to:w}])=>p===E&&h.to===w)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(0)}function Zqe(t,{prefix:e=""}={}){if(bT){Ba(`${e}Nodes are:`);for(let r=0;r<t.nodes.length;++r)Ba(`${e} ${r}: ${JSON.stringify(t.nodes[r])}`)}}function xV(t,e,r=!1){Ba(`Running a vm on ${JSON.stringify(e)}`);let o=[{node:0,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];Zqe(t,{prefix:" "});let a=[ST,...e];for(let n=0;n<a.length;++n){let u=a[n];Ba(` Processing ${JSON.stringify(u)}`);let A=[];for(let{node:p,state:h}of o){Ba(` Current node is ${p}`);let E=t.nodes[p];if(p===2){A.push({node:p,state:h});continue}console.assert(E.shortcuts.length===0,"Shortcuts should have been eliminated by now");let w=Object.prototype.hasOwnProperty.call(E.statics,u);if(!r||n<a.length-1||w)if(w){let v=E.statics[u];for(let{to:b,reducer:C}of v)A.push({node:b,state:typeof C<"u"?KD(HT,C,h,u):h}),Ba(` Static transition to ${b} found`)}else Ba(" No static transition found");else{let v=!1;for(let b of Object.keys(E.statics))if(!!b.startsWith(u)){if(u===b)for(let{to:C,reducer:R}of E.statics[b])A.push({node:C,state:typeof R<"u"?KD(HT,R,h,u):h}),Ba(` Static transition to ${C} found`);else for(let{to:C}of E.statics[b])A.push({node:C,state:{...h,remainder:b.slice(u.length)}}),Ba(` Static transition to ${C} found (partial match)`);v=!0}v||Ba(" No partial static transition found")}if(u!==js)for(let[v,{to:b,reducer:C}]of E.dynamics)KD(JD,v,h,u)&&(A.push({node:b,state:typeof C<"u"?KD(HT,C,h,u):h}),Ba(` Dynamic transition to ${b} found (via ${v})`))}if(A.length===0&&u===js&&e.length===1)return[{node:0,state:SV}];if(A.length===0)throw new Iy(e,o.filter(({node:p})=>p!==2).map(({state:p})=>({usage:p.candidateUsage,reason:null})));if(A.every(({node:p})=>p===2))throw new Iy(e,A.map(({state:p})=>({usage:p.candidateUsage,reason:p.errorMessage})));o=rje(A)}if(o.length>0){Ba(" Results:");for(let n of o)Ba(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else Ba(" No results");return o}function $qe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,js)){for(let{to:r}of t.statics[js])if(r===1)return!0}return!1}function eje(t,e,r){let o=r&&e.length>0?[""]:[],a=xV(t,e,r),n=[],u=new Set,A=(p,h,E=!0)=>{let w=[h];for(;w.length>0;){let b=w;w=[];for(let C of b){let R=t.nodes[C],L=Object.keys(R.statics);for(let _ of Object.keys(R.statics)){let V=L[0];for(let{to:re,reducer:oe}of R.statics[V])oe==="pushPath"&&(E||p.push(V),w.push(re))}}E=!1}let v=JSON.stringify(p);u.has(v)||(n.push(p),u.add(v))};for(let{node:p,state:h}of a){if(h.remainder!==null){A([h.remainder],p);continue}let E=t.nodes[p],w=$qe(E,h);for(let[v,b]of Object.entries(E.statics))(w&&v!==js||!v.startsWith("-")&&b.some(({reducer:C})=>C==="pushPath"))&&A([...o,v],p);if(!!w)for(let[v,{to:b}]of E.dynamics){if(b===2)continue;let C=oje(v,h);if(C!==null)for(let R of C)A([...o,R],p)}}return[...n].sort()}function tje(t,e){let r=xV(t,[...e,js]);return nje(e,r.map(({state:o})=>o))}function rje(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function nje(t,e){let r=e.filter(w=>w.selectedIndex!==null);if(r.length===0)throw new Error;let o=r.filter(w=>w.requiredOptions.every(v=>v.some(b=>w.options.find(C=>C.name===b))));if(o.length===0)throw new Iy(t,r.map(w=>({usage:w.candidateUsage,reason:null})));let a=0;for(let w of o)w.path.length>a&&(a=w.path.length);let n=o.filter(w=>w.path.length===a),u=w=>w.positionals.filter(({extra:v})=>!v).length+w.options.length,A=n.map(w=>({state:w,positionalCount:u(w)})),p=0;for(let{positionalCount:w}of A)w>p&&(p=w);let h=A.filter(({positionalCount:w})=>w===p).map(({state:w})=>w),E=ije(h);if(E.length>1)throw new jD(t,E.map(w=>w.candidateUsage));return E[0]}function ije(t){let e=[],r=[];for(let o of t)o.selectedIndex===-1?r.push(o):e.push(o);return r.length>0&&e.push({...SV,path:bV(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function bV(t,e,...r){return e===void 0?Array.from(t):bV(t.filter((o,a)=>o===e[a]),...r)}function Yo(){return{dynamics:[],shortcuts:[],statics:{}}}function QV(t){return t===1||t===2}function _T(t,e=0){return{to:QV(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function sje(t,e=0){let r=Yo();for(let[o,a]of t.dynamics)r.dynamics.push([o,_T(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(_T(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>_T(n,e));return r}function Ws(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function wy(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function If(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function KD(t,e,r,o){if(Array.isArray(e)){let[a,...n]=e;return t[a](r,o,...n)}else return t[e](r,o)}function oje(t,e){let r=Array.isArray(t)?JD[t[0]]:JD[t];if(typeof r.suggest>"u")return null;let o=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...o)}var SV,JD,HT,rl,qT,vy,XD=dt(()=>{QT();GD();SV={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};JD={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&hV.test(e)&&[...e.slice(1)].every(o=>r.includes(`-${o}`)),isBoundOption:(t,e,r,o)=>{let a=e.match(xT);return!t.ignoreOptions&&!!a&&qD.test(a[1])&&r.includes(a[1])&&o.filter(n=>n.names.includes(a[1])).every(n=>n.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&PT.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&qD.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!qD.test(e)};JD.isOption.suggest=(t,e,r=!0)=>r?null:[e];HT={setCandidateState:(t,e,r)=>({...t,...r}),setSelectedIndex:(t,e,r)=>({...t,selectedIndex:r}),pushBatch:(t,e)=>({...t,options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,o]=e.match(xT);return{...t,options:t.options.concat({name:r,value:o})}},pushPath:(t,e)=>({...t,path:t.path.concat(e)}),pushPositional:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:rl})}),pushTrue:(t,e,r=e)=>({...t,options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>({...t,options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>({...t,options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let o={...t,options:[...t.options]},a=t.options[t.options.length-1];return a.value=((r=a.value)!==null&&r!==void 0?r:[]).concat([e]),o},setStringValue:(t,e)=>{let r={...t,options:[...t.options]},o=t.options[t.options.length-1];return o.value=e,r},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,o]=e.match(PT);return typeof o<"u"?{...t,options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}:{...t,options:[{name:"-c",value:String(r)}]}},setError:(t,e,r)=>e===js?{...t,errorMessage:`${r}.`}:{...t,errorMessage:`${r} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},rl=Symbol(),qT=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===rl)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==rl?this.arity.extra.push(e):this.arity.extra!==rl&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===rl)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o<r;++o)this.addPositional({name:e});this.arity.extra=rl}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:r,arity:o=0,hidden:a=!1,required:n=!1,allowBinding:u=!0}){if(!u&&o>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{names:u,arity:A,hidden:p,description:h,required:E}of this.options){if(p)continue;let w=[];for(let b=0;b<A;++b)w.push(` #${b}`);let v=`${u.join(",")}${w.join("")}`;!r&&h?a.push({definition:v,description:h,required:E}):o.push(E?`<${v}>`:`[${v}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===rl?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=PV(),r=0,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.names);r=Hc(e,Yo()),If(e,0,ST,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Hc(e,Yo());wy(e,p,v),this.registerOptions(e,v),p=v}for(let v=0;v<A.length;++v){let b=Hc(e,Yo());If(e,p,A[v],b,"pushPath"),p=b}if(this.arity.leading.length>0||!this.arity.proxy){let v=Hc(e,Yo());Ws(e,p,"isHelp",v,["useHelp",this.cliIndex]),If(e,v,js,1,["setSelectedIndex",-1]),this.registerOptions(e,p)}this.arity.leading.length>0&&If(e,p,js,2,["setError","Not enough positional arguments"]);let h=p;for(let v=0;v<this.arity.leading.length;++v){let b=Hc(e,Yo());(!this.arity.proxy||v+1!==this.arity.leading.length)&&this.registerOptions(e,b),(this.arity.trailing.length>0||v+1!==this.arity.leading.length)&&If(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,h,"isNotOptionLike",b,"pushPositional"),h=b}let E=h;if(this.arity.extra===rl||this.arity.extra.length>0){let v=Hc(e,Yo());if(wy(e,h,v),this.arity.extra===rl){let b=Hc(e,Yo());this.arity.proxy||this.registerOptions(e,b),Ws(e,h,n,b,"pushExtraNoLimits"),Ws(e,b,n,b,"pushExtraNoLimits"),wy(e,b,v)}else for(let b=0;b<this.arity.extra.length;++b){let C=Hc(e,Yo());(!this.arity.proxy||b>0)&&this.registerOptions(e,C),Ws(e,E,n,C,"pushExtra"),wy(e,C,v),E=C}E=v}this.arity.trailing.length>0&&If(e,E,js,2,["setError","Not enough positional arguments"]);let w=E;for(let v=0;v<this.arity.trailing.length;++v){let b=Hc(e,Yo());this.arity.proxy||this.registerOptions(e,b),v+1<this.arity.trailing.length&&If(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,w,"isNotOptionLike",b,"pushPositional"),w=b}Ws(e,w,n,2,["setError","Extraneous positional argument"]),If(e,w,js,1,["setSelectedIndex",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,r){Ws(e,r,["isOption","--"],r,"inhibateOptions"),Ws(e,r,["isBatchOption",this.allOptionNames],r,"pushBatch"),Ws(e,r,["isBoundOption",this.allOptionNames,this.options],r,"pushBound"),Ws(e,r,["isUnsupportedOption",this.allOptionNames],2,["setError","Unsupported option name"]),Ws(e,r,["isInvalidOption"],2,["setError","Invalid option name"]);for(let o of this.options){let a=o.names.reduce((n,u)=>u.length>n.length?u:n,"");if(o.arity===0)for(let n of o.names)Ws(e,r,["isOption",n,o.hidden||n!==a],r,"pushTrue"),n.startsWith("--")&&!n.startsWith("--no-")&&Ws(e,r,["isNegatedOption",n],r,["pushFalse",n]);else{let n=Hc(e,Yo());for(let u of o.names)Ws(e,r,["isOption",u,o.hidden||u!==a],n,"pushUndefined");for(let u=0;u<o.arity;++u){let A=Hc(e,Yo());If(e,n,js,2,"setOptionArityError"),Ws(e,n,"isOptionLike",2,"setOptionArityError");let p=o.arity===1?"setStringValue":"pushStringValue";Ws(e,n,"isNotOptionLike",A,p),n=A}wy(e,n,r)}}}},vy=class{constructor({binaryName:e="..."}={}){this.builders=[],this.opts={binaryName:e}}static build(e,r={}){return new vy(r).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let r of e)r(this.command());return this}command(){let e=new qT(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],r=[];for(let a of this.builders){let{machine:n,context:u}=a.compile();e.push(n),r.push(u)}let o=zqe(e);return Xqe(o),{machine:o,contexts:r,process:a=>tje(o,a),suggest:(a,n)=>eje(o,a,n)}}}});function FV(){return ZD.default&&"getColorDepth"in ZD.default.WriteStream.prototype?ZD.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function RV(t){let e=kV;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=Ie("async_hooks");e=kV=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var ZD,kV,TV=dt(()=>{ZD=tt(Ie("tty"),1)});var Dy,NV=dt(()=>{td();Dy=class extends it{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new Dy(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection:
92`),this.context.stdout.write(` 92`),this.context.stdout.write(`
93`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` 93`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(`
94`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands. 94`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.
95`)}}}});async function FJ(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=TJ(t);return vo.from(r,e).runExit(o,a)}async function RJ(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=TJ(t);return vo.from(r,e).run(o,a)}function TJ(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function kJ(t){return t()}var QJ,vo,NJ=dt(()=>{GD();FT();xJ();Zg();bJ();QJ=Symbol("clipanion/errorCommand");vo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new Ey({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new vo(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[it.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{contexts:o,process:a}=this.builder.compile(),n=a(e),u={...vo.defaultContext,...r};switch(n.selectedIndex){case-1:{let A=Cy.from(n,o);return A.context=u,A}default:{let{commandClass:A}=o[n.selectedIndex],p=this.registrations.get(A);if(typeof p>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let h=new A;h.context=u,h.path=n.path;try{for(let[C,{transformer:w}]of p.specs.entries())h[C]=w(p.builder,C,n,u);return h}catch(C){throw C[QJ]=h,C}}break}}async run(e,r){var o,a;let n,u={...vo.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(C){return u.stdout.write(this.error(C,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(C,w)=>this.error(C,w),format:C=>this.format(C),process:(C,w)=>this.process(C,{...u,...w}),run:(C,w)=>this.run(C,{...u,...w}),usage:(C,w)=>this.usage(C,w)};let p=this.enableCapture&&(a=PJ(u))!==null&&a!==void 0?a:kJ,h;try{h=await p(()=>n.validateAndExecute().catch(C=>n.catch(C).then(()=>0)))}catch(C){return u.stdout.write(this.error(C,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:o}=this.builder.compile();return o(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[o,{index:a}]of this.registrations){if(typeof o.usage>"u")continue;let{usage:n}=this.getUsageByIndex(a,{detailed:!1}),{usage:u,options:A}=this.getUsageByIndex(a,{detailed:!0,inlineOptions:!1}),p=typeof o.usage.category<"u"?Bo(o.usage.category,{format:this.format(e),paragraphs:!1}):void 0,h=typeof o.usage.description<"u"?Bo(o.usage.description,{format:this.format(e),paragraphs:!1}):void 0,C=typeof o.usage.details<"u"?Bo(o.usage.details,{format:this.format(e),paragraphs:!0}):void 0,w=typeof o.usage.examples<"u"?o.usage.examples.map(([v,b])=>[Bo(v,{format:this.format(e),paragraphs:!1}),b.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:n,usage:u,category:p,description:h,details:C,examples:w,options:A})}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,C=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h==null?void 0:h.some(b=>b.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(C){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof it?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:C=[]}=u.usage||{};p!==""&&(A+=Bo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,b=>b.toUpperCase()),A+=` 95`)}}}});async function MV(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=_V(t);return vo.from(r,e).runExit(o,a)}async function UV(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=_V(t);return vo.from(r,e).run(o,a)}function _V(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function OV(t){return t()}var LV,vo,HV=dt(()=>{XD();RT();TV();td();NV();LV=Symbol("clipanion/errorCommand");vo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new vy({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new vo(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[it.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{contexts:o,process:a}=this.builder.compile(),n=a(e),u={...vo.defaultContext,...r};switch(n.selectedIndex){case-1:{let A=Dy.from(n,o);return A.context=u,A}default:{let{commandClass:A}=o[n.selectedIndex],p=this.registrations.get(A);if(typeof p>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let h=new A;h.context=u,h.path=n.path;try{for(let[E,{transformer:w}]of p.specs.entries())h[E]=w(p.builder,E,n,u);return h}catch(E){throw E[LV]=h,E}}break}}async run(e,r){var o,a;let n,u={...vo.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(E){return u.stdout.write(this.error(E,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(E,w)=>this.error(E,w),format:E=>this.format(E),process:(E,w)=>this.process(E,{...u,...w}),run:(E,w)=>this.run(E,{...u,...w}),usage:(E,w)=>this.usage(E,w)};let p=this.enableCapture&&(a=RV(u))!==null&&a!==void 0?a:OV,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return u.stdout.write(this.error(E,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:o}=this.builder.compile();return o(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[o,{index:a}]of this.registrations){if(typeof o.usage>"u")continue;let{usage:n}=this.getUsageByIndex(a,{detailed:!1}),{usage:u,options:A}=this.getUsageByIndex(a,{detailed:!0,inlineOptions:!1}),p=typeof o.usage.category<"u"?Bo(o.usage.category,{format:this.format(e),paragraphs:!1}):void 0,h=typeof o.usage.description<"u"?Bo(o.usage.description,{format:this.format(e),paragraphs:!1}):void 0,E=typeof o.usage.details<"u"?Bo(o.usage.details,{format:this.format(e),paragraphs:!0}):void 0,w=typeof o.usage.examples<"u"?o.usage.examples.map(([v,b])=>[Bo(v,{format:this.format(e),paragraphs:!1}),b.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:n,usage:u,category:p,description:h,details:E,examples:w,options:A})}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h==null?void 0:h.some(b=>b.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof it?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:E=[]}=u.usage||{};p!==""&&(A+=Bo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,b=>b.toUpperCase()),A+=`
96`),(h!==""||C.length>0)&&(A+=`${this.format(r).header("Usage")} 96`),(h!==""||E.length>0)&&(A+=`${this.format(r).header("Usage")}
97`,A+=` 97`,A+=`
98`);let{usage:w,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${w} 98`);let{usage:w,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${w}
99`,v.length>0){A+=` 99`,v.length>0){A+=`
100`,A+=`${this.format(r).header("Options")} 100`,A+=`${this.format(r).header("Options")}
101`;let b=v.reduce((E,R)=>Math.max(E,R.definition.length),0);A+=` 101`;let b=v.reduce((C,R)=>Math.max(C,R.definition.length),0);A+=`
102`;for(let{definition:E,description:R}of v)A+=` ${this.format(r).bold(E.padEnd(b))} ${Bo(R,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` 102`;for(let{definition:C,description:R}of v)A+=` ${this.format(r).bold(C.padEnd(b))} ${Bo(R,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=`
103`,A+=`${this.format(r).header("Details")} 103`,A+=`${this.format(r).header("Details")}
104`,A+=` 104`,A+=`
105`,A+=Bo(h,{format:this.format(r),paragraphs:!0})),C.length>0){A+=` 105`,A+=Bo(h,{format:this.format(r),paragraphs:!0})),E.length>0){A+=`
106`,A+=`${this.format(r).header("Examples")} 106`,A+=`${this.format(r).header("Examples")}
107`;for(let[b,E]of C)A+=` 107`;for(let[b,C]of E)A+=`
108`,A+=Bo(b,{format:this.format(r),paragraphs:!1}),A+=`${E.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} 108`,A+=Bo(b,{format:this.format(r),paragraphs:!1}),A+=`${C.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)}
109`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} 109`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p}
110`}else{let p=new Map;for(let[v,{index:b}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let E=typeof v.usage.category<"u"?Bo(v.usage.category,{format:this.format(r),paragraphs:!1}):null,R=p.get(E);typeof R>"u"&&p.set(E,R=[]);let{usage:L}=this.getUsageByIndex(b);R.push({commandClass:v,usage:L})}let h=Array.from(p.keys()).sort((v,b)=>v===null?-1:b===null?1:v.localeCompare(b,"en",{usage:"sort",caseFirst:"upper"})),C=typeof this.binaryLabel<"u",w=typeof this.binaryVersion<"u";C||w?(C&&w?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} 110`}else{let p=new Map;for(let[v,{index:b}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let C=typeof v.usage.category<"u"?Bo(v.usage.category,{format:this.format(r),paragraphs:!1}):null,R=p.get(C);typeof R>"u"&&p.set(C,R=[]);let{usage:L}=this.getUsageByIndex(b);R.push({commandClass:v,usage:L})}let h=Array.from(p.keys()).sort((v,b)=>v===null?-1:b===null?1:v.localeCompare(b,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",w=typeof this.binaryVersion<"u";E||w?(E&&w?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)}
111 111
112`:C?A+=`${this.format(r).header(`${this.binaryLabel}`)} 112`:E?A+=`${this.format(r).header(`${this.binaryLabel}`)}
113`:A+=`${this.format(r).header(`${this.binaryVersion}`)} 113`:A+=`${this.format(r).header(`${this.binaryVersion}`)}
114`,A+=` ${this.format(r).bold(a)}${this.binaryName} <command> 114`,A+=` ${this.format(r).bold(a)}${this.binaryName} <command>
115`):A+=`${this.format(r).bold(a)}${this.binaryName} <command> 115`):A+=`${this.format(r).bold(a)}${this.binaryName} <command>
116`;for(let v of h){let b=p.get(v).slice().sort((R,L)=>R.usage.localeCompare(L.usage,"en",{usage:"sort",caseFirst:"upper"})),E=v!==null?v.trim():"General commands";A+=` 116`;for(let v of h){let b=p.get(v).slice().sort((R,L)=>R.usage.localeCompare(L.usage,"en",{usage:"sort",caseFirst:"upper"})),C=v!==null?v.trim():"General commands";A+=`
117`,A+=`${this.format(r).header(`${E}`)} 117`,A+=`${this.format(r).header(`${C}`)}
118`;for(let{commandClass:R,usage:L}of b){let _=R.usage.description||"undocumented";A+=` 118`;for(let{commandClass:R,usage:L}of b){let _=R.usage.description||"undocumented";A+=`
119`,A+=` ${this.format(r).bold(L)} 119`,A+=` ${this.format(r).bold(L)}
120`,A+=` ${Bo(_,{format:this.format(r),paragraphs:!1})}`}}A+=` 120`,A+=` ${Bo(_,{format:this.format(r),paragraphs:!1})}`}}A+=`
121`,A+=Bo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[QJ])!==null&&o!==void 0?o:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} 121`,A+=Bo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[LV])!==null&&o!==void 0?o:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message}
122`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` 122`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=`
123`,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} 123`,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")}
124`),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:vo.defaultContext.colorDepth>1)?cJ:uJ}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};vo.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:SJ()}});var zI,LJ=dt(()=>{Zg();zI=class extends it{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} 124`),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:vo.defaultContext.colorDepth>1)?gV:dV}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};vo.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:FV()}});var ew,qV=dt(()=>{td();ew=class extends it{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}
125`)}};zI.paths=[["--clipanion=definitions"]]});var XI,OJ=dt(()=>{Zg();XI=class extends it{async execute(){this.context.stdout.write(this.cli.usage())}};XI.paths=[["-h"],["--help"]]});var ZI,MJ=dt(()=>{Zg();ZI=class extends it{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"} 125`)}};ew.paths=[["--clipanion=definitions"]]});var tw,jV=dt(()=>{td();tw=class extends it{async execute(){this.context.stdout.write(this.cli.usage())}};tw.paths=[["-h"],["--help"]]});var rw,GV=dt(()=>{td();rw=class extends it{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"}
126`)}};ZI.paths=[["-v"],["--version"]]});var qT={};Yt(qT,{DefinitionsCommand:()=>zI,HelpCommand:()=>XI,VersionCommand:()=>ZI});var UJ=dt(()=>{LJ();OJ();MJ()});function _J(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return jo({definition(p){p.addOption({names:u,arity:n,hidden:a==null?void 0:a.hidden,description:a==null?void 0:a.description,required:a.required})},transformer(p,h,C){let w=typeof o<"u"?[...o]:void 0;for(let{name:v,value:b}of C.options)!A.has(v)||(w=w??[],w.push(b));return w}})}var HJ=dt(()=>{yf()});function qJ(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return jo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let C=o;for(let{name:w,value:v}of h.options)!u.has(w)||(C=v);return C}})}var jJ=dt(()=>{yf()});function GJ(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return jo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let C=o;for(let{name:w,value:v}of h.options)!u.has(w)||(C??(C=0),v?C+=1:C=0);return C}})}var WJ=dt(()=>{yf()});function YJ(t={}){return jo({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var KJ=dt(()=>{yf()});function JJ(t={}){return jo({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===el||A.extra===!1&&u<e.arity.leading.length},n=0;for(;n<o.positionals.length&&a(n);)n+=1;return o.positionals.splice(0,n).map(({value:u})=>u)}})}var VJ=dt(()=>{GD();yf()});function zqe(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return jo({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,C,w){let v,b=o;typeof a.env<"u"&&w.env[a.env]&&(v=a.env,b=w.env[a.env]);for(let{name:E,value:R}of C.options)!A.has(E)||(v=E,b=R);return typeof b=="string"?KI(v??h,b,a.validator):b}})}function Xqe(t={}){let{required:e=!0}=t;return jo({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u<a.positionals.length;++u){if(a.positionals[u].extra===el||e&&a.positionals[u].extra===!0||!e&&a.positionals[u].extra===!1)continue;let[A]=a.positionals.splice(u,1);return KI((n=t.name)!==null&&n!==void 0?n:o,A.value,t.validator)}}})}function zJ(t,...e){return typeof t=="string"?zqe(t,...e):Xqe(t)}var XJ=dt(()=>{GD();yf()});var fe={};Yt(fe,{Array:()=>_J,Boolean:()=>qJ,Counter:()=>GJ,Proxy:()=>YJ,Rest:()=>JJ,String:()=>zJ,applyValidator:()=>KI,cleanValidationError:()=>MD,formatError:()=>YI,isOptionSymbol:()=>WI,makeCommandOption:()=>jo,rerouteArguments:()=>Yu});var ZJ=dt(()=>{yf();HJ();jJ();WJ();KJ();VJ();XJ()});var $I={};Yt($I,{Builtins:()=>qT,Cli:()=>vo,Command:()=>it,Option:()=>fe,UsageError:()=>ot,formatMarkdownish:()=>Bo,run:()=>RJ,runExit:()=>FJ});var _t=dt(()=>{OD();FT();Zg();NJ();UJ();ZJ()});var eV=U((Xbt,$J)=>{"use strict";$J.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var $g=U((Zbt,jT)=>{"use strict";var Zqe=eV(),tV=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let C=Zqe(A,...h);p(C),C.then(o,o)},n=(A,p,...h)=>{r<t?a(A,p,...h):e.push(a.bind(null,A,p,...h))},u=(A,...p)=>new Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};jT.exports=tV;jT.exports.default=tV});function Ku(t){return`YN${t.toString(10).padStart(4,"0")}`}function YD(t){let e=Number(t.slice(2));if(typeof dr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var dr,KD=dt(()=>{dr=(_e=>(_e[_e.UNNAMED=0]="UNNAMED",_e[_e.EXCEPTION=1]="EXCEPTION",_e[_e.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_e[_e.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_e[_e.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_e[_e.BUILD_DISABLED=5]="BUILD_DISABLED",_e[_e.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_e[_e.MUST_BUILD=7]="MUST_BUILD",_e[_e.MUST_REBUILD=8]="MUST_REBUILD",_e[_e.BUILD_FAILED=9]="BUILD_FAILED",_e[_e.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_e[_e.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_e[_e.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_e[_e.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_e[_e.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_e[_e.REMOTE_INVALID=15]="REMOTE_INVALID",_e[_e.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_e[_e.RESOLUTION_PACK=17]="RESOLUTION_PACK",_e[_e.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_e[_e.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_e[_e.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_e[_e.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_e[_e.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_e[_e.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_e[_e.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_e[_e.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_e[_e.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_e[_e.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_e[_e.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_e[_e.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_e[_e.FETCH_FAILED=30]="FETCH_FAILED",_e[_e.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_e[_e.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_e[_e.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_e[_e.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_e[_e.NETWORK_ERROR=35]="NETWORK_ERROR",_e[_e.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_e[_e.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_e[_e.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_e[_e.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_e[_e.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_e[_e.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_e[_e.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_e[_e.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_e[_e.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_e[_e.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_e[_e.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_e[_e.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_e[_e.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_e[_e.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_e[_e.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_e[_e.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_e[_e.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_e[_e.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_e[_e.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_e[_e.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_e[_e.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_e[_e.INVALID_MANIFEST=57]="INVALID_MANIFEST",_e[_e.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_e[_e.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_e[_e.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_e[_e.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_e[_e.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_e[_e.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_e[_e.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_e[_e.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_e[_e.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_e[_e.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_e[_e.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_e[_e.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_e[_e.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_e[_e.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_e[_e.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",_e[_e.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",_e[_e.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",_e[_e.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",_e[_e.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",_e[_e.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",_e[_e.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",_e[_e.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",_e[_e.NETWORK_DISABLED=80]="NETWORK_DISABLED",_e[_e.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",_e[_e.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",_e[_e.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",_e[_e.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",_e))(dr||{})});var ew=U((eQt,rV)=>{var $qe="2.0.0",eje=Number.MAX_SAFE_INTEGER||9007199254740991,tje=16;rV.exports={SEMVER_SPEC_VERSION:$qe,MAX_LENGTH:256,MAX_SAFE_INTEGER:eje,MAX_SAFE_COMPONENT_LENGTH:tje}});var tw=U((tQt,nV)=>{var rje=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};nV.exports=rje});var ed=U((Gp,iV)=>{var{MAX_SAFE_COMPONENT_LENGTH:GT}=ew(),nje=tw();Gp=iV.exports={};var ije=Gp.re=[],or=Gp.src=[],ar=Gp.t={},sje=0,Kr=(t,e,r)=>{let o=sje++;nje(t,o,e),ar[t]=o,or[o]=e,ije[o]=new RegExp(e,r?"g":void 0)};Kr("NUMERICIDENTIFIER","0|[1-9]\\d*");Kr("NUMERICIDENTIFIERLOOSE","[0-9]+");Kr("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");Kr("MAINVERSION",`(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})`);Kr("MAINVERSIONLOOSE",`(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})`);Kr("PRERELEASEIDENTIFIER",`(?:${or[ar.NUMERICIDENTIFIER]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASEIDENTIFIERLOOSE",`(?:${or[ar.NUMERICIDENTIFIERLOOSE]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASE",`(?:-(${or[ar.PRERELEASEIDENTIFIER]}(?:\\.${or[ar.PRERELEASEIDENTIFIER]})*))`);Kr("PRERELEASELOOSE",`(?:-?(${or[ar.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${or[ar.PRERELEASEIDENTIFIERLOOSE]})*))`);Kr("BUILDIDENTIFIER","[0-9A-Za-z-]+");Kr("BUILD",`(?:\\+(${or[ar.BUILDIDENTIFIER]}(?:\\.${or[ar.BUILDIDENTIFIER]})*))`);Kr("FULLPLAIN",`v?${or[ar.MAINVERSION]}${or[ar.PRERELEASE]}?${or[ar.BUILD]}?`);Kr("FULL",`^${or[ar.FULLPLAIN]}$`);Kr("LOOSEPLAIN",`[v=\\s]*${or[ar.MAINVERSIONLOOSE]}${or[ar.PRERELEASELOOSE]}?${or[ar.BUILD]}?`);Kr("LOOSE",`^${or[ar.LOOSEPLAIN]}$`);Kr("GTLT","((?:<|>)?=?)");Kr("XRANGEIDENTIFIERLOOSE",`${or[ar.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Kr("XRANGEIDENTIFIER",`${or[ar.NUMERICIDENTIFIER]}|x|X|\\*`);Kr("XRANGEPLAIN",`[v=\\s]*(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:${or[ar.PRERELEASE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGEPLAINLOOSE",`[v=\\s]*(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:${or[ar.PRERELEASELOOSE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAIN]}$`);Kr("XRANGELOOSE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COERCE",`(^|[^\\d])(\\d{1,${GT}})(?:\\.(\\d{1,${GT}}))?(?:\\.(\\d{1,${GT}}))?(?:$|[^\\d])`);Kr("COERCERTL",or[ar.COERCE],!0);Kr("LONETILDE","(?:~>?)");Kr("TILDETRIM",`(\\s*)${or[ar.LONETILDE]}\\s+`,!0);Gp.tildeTrimReplace="$1~";Kr("TILDE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAIN]}$`);Kr("TILDELOOSE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("LONECARET","(?:\\^)");Kr("CARETTRIM",`(\\s*)${or[ar.LONECARET]}\\s+`,!0);Gp.caretTrimReplace="$1^";Kr("CARET",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAIN]}$`);Kr("CARETLOOSE",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COMPARATORLOOSE",`^${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]})$|^$`);Kr("COMPARATOR",`^${or[ar.GTLT]}\\s*(${or[ar.FULLPLAIN]})$|^$`);Kr("COMPARATORTRIM",`(\\s*)${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]}|${or[ar.XRANGEPLAIN]})`,!0);Gp.comparatorTrimReplace="$1$2$3";Kr("HYPHENRANGE",`^\\s*(${or[ar.XRANGEPLAIN]})\\s+-\\s+(${or[ar.XRANGEPLAIN]})\\s*$`);Kr("HYPHENRANGELOOSE",`^\\s*(${or[ar.XRANGEPLAINLOOSE]})\\s+-\\s+(${or[ar.XRANGEPLAINLOOSE]})\\s*$`);Kr("STAR","(<|>)?=?\\s*\\*");Kr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Kr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var rw=U((rQt,sV)=>{var oje=["includePrerelease","loose","rtl"],aje=t=>t?typeof t!="object"?{loose:!0}:oje.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};sV.exports=aje});var JD=U((nQt,lV)=>{var oV=/^[0-9]+$/,aV=(t,e)=>{let r=oV.test(t),o=oV.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:t<e?-1:1},lje=(t,e)=>aV(e,t);lV.exports={compareIdentifiers:aV,rcompareIdentifiers:lje}});var Do=U((iQt,fV)=>{var VD=tw(),{MAX_LENGTH:cV,MAX_SAFE_INTEGER:zD}=ew(),{re:uV,t:AV}=ed(),cje=rw(),{compareIdentifiers:Iy}=JD(),tl=class{constructor(e,r){if(r=cje(r),e instanceof tl){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>cV)throw new TypeError(`version is longer than ${cV} characters`);VD("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?uV[AV.LOOSE]:uV[AV.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>zD||this.major<0)throw new TypeError("Invalid major version");if(this.minor>zD||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>zD||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n<zD)return n}return a}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(VD("SemVer.compare",this.version,this.options,e),!(e instanceof tl)){if(typeof e=="string"&&e===this.version)return 0;e=new tl(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof tl||(e=new tl(e,this.options)),Iy(this.major,e.major)||Iy(this.minor,e.minor)||Iy(this.patch,e.patch)}comparePre(e){if(e instanceof tl||(e=new tl(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let o=this.prerelease[r],a=e.prerelease[r];if(VD("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Iy(o,a)}while(++r)}compareBuild(e){e instanceof tl||(e=new tl(e,this.options));let r=0;do{let o=this.build[r],a=e.build[r];if(VD("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Iy(o,a)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);o===-1&&this.prerelease.push(0)}r&&(Iy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};fV.exports=tl});var td=U((sQt,dV)=>{var{MAX_LENGTH:uje}=ew(),{re:pV,t:hV}=ed(),gV=Do(),Aje=rw(),fje=(t,e)=>{if(e=Aje(e),t instanceof gV)return t;if(typeof t!="string"||t.length>uje||!(e.loose?pV[hV.LOOSE]:pV[hV.FULL]).test(t))return null;try{return new gV(t,e)}catch{return null}};dV.exports=fje});var yV=U((oQt,mV)=>{var pje=td(),hje=(t,e)=>{let r=pje(t,e);return r?r.version:null};mV.exports=hje});var CV=U((aQt,EV)=>{var gje=td(),dje=(t,e)=>{let r=gje(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};EV.exports=dje});var BV=U((lQt,wV)=>{var IV=Do(),mje=(t,e,r,o)=>{typeof r=="string"&&(o=r,r=void 0);try{return new IV(t instanceof IV?t.version:t,r).inc(e,o).version}catch{return null}};wV.exports=mje});var Ml=U((cQt,DV)=>{var vV=Do(),yje=(t,e,r)=>new vV(t,r).compare(new vV(e,r));DV.exports=yje});var XD=U((uQt,SV)=>{var Eje=Ml(),Cje=(t,e,r)=>Eje(t,e,r)===0;SV.exports=Cje});var bV=U((AQt,xV)=>{var PV=td(),Ije=XD(),wje=(t,e)=>{if(Ije(t,e))return null;{let r=PV(t),o=PV(e),a=r.prerelease.length||o.prerelease.length,n=a?"pre":"",u=a?"prerelease":"";for(let A in r)if((A==="major"||A==="minor"||A==="patch")&&r[A]!==o[A])return n+A;return u}};xV.exports=wje});var kV=U((fQt,QV)=>{var Bje=Do(),vje=(t,e)=>new Bje(t,e).major;QV.exports=vje});var RV=U((pQt,FV)=>{var Dje=Do(),Sje=(t,e)=>new Dje(t,e).minor;FV.exports=Sje});var NV=U((hQt,TV)=>{var Pje=Do(),xje=(t,e)=>new Pje(t,e).patch;TV.exports=xje});var OV=U((gQt,LV)=>{var bje=td(),Qje=(t,e)=>{let r=bje(t,e);return r&&r.prerelease.length?r.prerelease:null};LV.exports=Qje});var UV=U((dQt,MV)=>{var kje=Ml(),Fje=(t,e,r)=>kje(e,t,r);MV.exports=Fje});var HV=U((mQt,_V)=>{var Rje=Ml(),Tje=(t,e)=>Rje(t,e,!0);_V.exports=Tje});var ZD=U((yQt,jV)=>{var qV=Do(),Nje=(t,e,r)=>{let o=new qV(t,r),a=new qV(e,r);return o.compare(a)||o.compareBuild(a)};jV.exports=Nje});var WV=U((EQt,GV)=>{var Lje=ZD(),Oje=(t,e)=>t.sort((r,o)=>Lje(r,o,e));GV.exports=Oje});var KV=U((CQt,YV)=>{var Mje=ZD(),Uje=(t,e)=>t.sort((r,o)=>Mje(o,r,e));YV.exports=Uje});var nw=U((IQt,JV)=>{var _je=Ml(),Hje=(t,e,r)=>_je(t,e,r)>0;JV.exports=Hje});var $D=U((wQt,VV)=>{var qje=Ml(),jje=(t,e,r)=>qje(t,e,r)<0;VV.exports=jje});var WT=U((BQt,zV)=>{var Gje=Ml(),Wje=(t,e,r)=>Gje(t,e,r)!==0;zV.exports=Wje});var eS=U((vQt,XV)=>{var Yje=Ml(),Kje=(t,e,r)=>Yje(t,e,r)>=0;XV.exports=Kje});var tS=U((DQt,ZV)=>{var Jje=Ml(),Vje=(t,e,r)=>Jje(t,e,r)<=0;ZV.exports=Vje});var YT=U((SQt,$V)=>{var zje=XD(),Xje=WT(),Zje=nw(),$je=eS(),e9e=$D(),t9e=tS(),r9e=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return zje(t,r,o);case"!=":return Xje(t,r,o);case">":return Zje(t,r,o);case">=":return $je(t,r,o);case"<":return e9e(t,r,o);case"<=":return t9e(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};$V.exports=r9e});var tz=U((PQt,ez)=>{var n9e=Do(),i9e=td(),{re:rS,t:nS}=ed(),s9e=(t,e)=>{if(t instanceof n9e)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(rS[nS.COERCE]);else{let o;for(;(o=rS[nS.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||o.index+o[0].length!==r.index+r[0].length)&&(r=o),rS[nS.COERCERTL].lastIndex=o.index+o[1].length+o[2].length;rS[nS.COERCERTL].lastIndex=-1}return r===null?null:i9e(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};ez.exports=s9e});var nz=U((xQt,rz)=>{"use strict";rz.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var iS=U((bQt,iz)=>{"use strict";iz.exports=dn;dn.Node=rd;dn.create=dn;function dn(t){var e=this;if(e instanceof dn||(e=new dn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r<o;r++)e.push(arguments[r]);return e}dn.prototype.removeNode=function(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");var e=t.next,r=t.prev;return e&&(e.prev=r),r&&(r.next=e),t===this.head&&(this.head=e),t===this.tail&&(this.tail=r),t.list.length--,t.next=null,t.prev=null,t.list=null,e};dn.prototype.unshiftNode=function(t){if(t!==this.head){t.list&&t.list.removeNode(t);var e=this.head;t.list=this,t.next=e,e&&(e.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}};dn.prototype.pushNode=function(t){if(t!==this.tail){t.list&&t.list.removeNode(t);var e=this.tail;t.list=this,t.prev=e,e&&(e.next=t),this.tail=t,this.head||(this.head=t),this.length++}};dn.prototype.push=function(){for(var t=0,e=arguments.length;t<e;t++)a9e(this,arguments[t]);return this.length};dn.prototype.unshift=function(){for(var t=0,e=arguments.length;t<e;t++)l9e(this,arguments[t]);return this.length};dn.prototype.pop=function(){if(!!this.tail){var t=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,t}};dn.prototype.shift=function(){if(!!this.head){var t=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,t}};dn.prototype.forEach=function(t,e){e=e||this;for(var r=this.head,o=0;r!==null;o++)t.call(e,r.value,o,this),r=r.next};dn.prototype.forEachReverse=function(t,e){e=e||this;for(var r=this.tail,o=this.length-1;r!==null;o--)t.call(e,r.value,o,this),r=r.prev};dn.prototype.get=function(t){for(var e=0,r=this.head;r!==null&&e<t;e++)r=r.next;if(e===t&&r!==null)return r.value};dn.prototype.getReverse=function(t){for(var e=0,r=this.tail;r!==null&&e<t;e++)r=r.prev;if(e===t&&r!==null)return r.value};dn.prototype.map=function(t,e){e=e||this;for(var r=new dn,o=this.head;o!==null;)r.push(t.call(e,o.value,this)),o=o.next;return r};dn.prototype.mapReverse=function(t,e){e=e||this;for(var r=new dn,o=this.tail;o!==null;)r.push(t.call(e,o.value,this)),o=o.prev;return r};dn.prototype.reduce=function(t,e){var r,o=this.head;if(arguments.length>1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};dn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};dn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};dn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};dn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(;a!==null&&o<e;o++,a=a.next)r.push(a.value);return r};dn.prototype.sliceReverse=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};dn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(var n=[],o=0;a&&o<e;o++)n.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var o=0;o<r.length;o++)a=o9e(this,a,r[o]);return n};dn.prototype.reverse=function(){for(var t=this.head,e=this.tail,r=t;r!==null;r=r.prev){var o=r.prev;r.prev=r.next,r.next=o}return this.head=e,this.tail=t,this};function o9e(t,e,r){var o=e===t.head?new rd(r,null,e,t):new rd(r,e,e.next,t);return o.next===null&&(t.tail=o),o.prev===null&&(t.head=o),t.length++,o}function a9e(t,e){t.tail=new rd(e,t.tail,null,t),t.head||(t.head=t.tail),t.length++}function l9e(t,e){t.head=new rd(e,null,t.head,t),t.tail||(t.tail=t.head),t.length++}function rd(t,e,r,o){if(!(this instanceof rd))return new rd(t,e,r,o);this.list=o,this.value=t,e?(e.next=this,this.prev=e):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{nz()(dn)}catch{}});var cz=U((QQt,lz)=>{"use strict";var c9e=iS(),nd=Symbol("max"),If=Symbol("length"),wy=Symbol("lengthCalculator"),sw=Symbol("allowStale"),id=Symbol("maxAge"),Cf=Symbol("dispose"),sz=Symbol("noDisposeOnSet"),Ds=Symbol("lruList"),Uc=Symbol("cache"),az=Symbol("updateAgeOnGet"),KT=()=>1,VT=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[nd]=e.max||1/0,o=e.length||KT;if(this[wy]=typeof o!="function"?KT:o,this[sw]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[id]=e.maxAge||0,this[Cf]=e.dispose,this[sz]=e.noDisposeOnSet||!1,this[az]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[nd]=e||1/0,iw(this)}get max(){return this[nd]}set allowStale(e){this[sw]=!!e}get allowStale(){return this[sw]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[id]=e,iw(this)}get maxAge(){return this[id]}set lengthCalculator(e){typeof e!="function"&&(e=KT),e!==this[wy]&&(this[wy]=e,this[If]=0,this[Ds].forEach(r=>{r.length=this[wy](r.value,r.key),this[If]+=r.length})),iw(this)}get lengthCalculator(){return this[wy]}get length(){return this[If]}get itemCount(){return this[Ds].length}rforEach(e,r){r=r||this;for(let o=this[Ds].tail;o!==null;){let a=o.prev;oz(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Ds].head;o!==null;){let a=o.next;oz(this,e,o,r),o=a}}keys(){return this[Ds].toArray().map(e=>e.key)}values(){return this[Ds].toArray().map(e=>e.value)}reset(){this[Cf]&&this[Ds]&&this[Ds].length&&this[Ds].forEach(e=>this[Cf](e.key,e.value)),this[Uc]=new Map,this[Ds]=new c9e,this[If]=0}dump(){return this[Ds].map(e=>sS(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ds]}set(e,r,o){if(o=o||this[id],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[wy](r,e);if(this[Uc].has(e)){if(n>this[nd])return By(this,this[Uc].get(e)),!1;let p=this[Uc].get(e).value;return this[Cf]&&(this[sz]||this[Cf](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[If]+=n-p.length,p.length=n,this.get(e),iw(this),!0}let u=new zT(e,r,n,a,o);return u.length>this[nd]?(this[Cf]&&this[Cf](e,r),!1):(this[If]+=u.length,this[Ds].unshift(u),this[Uc].set(e,this[Ds].head),iw(this),!0)}has(e){if(!this[Uc].has(e))return!1;let r=this[Uc].get(e).value;return!sS(this,r)}get(e){return JT(this,e,!0)}peek(e){return JT(this,e,!1)}pop(){let e=this[Ds].tail;return e?(By(this,e),e.value):null}del(e){By(this,this[Uc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Uc].forEach((e,r)=>JT(this,r,!1))}},JT=(t,e,r)=>{let o=t[Uc].get(e);if(o){let a=o.value;if(sS(t,a)){if(By(t,o),!t[sw])return}else r&&(t[az]&&(o.value.now=Date.now()),t[Ds].unshiftNode(o));return a.value}},sS=(t,e)=>{if(!e||!e.maxAge&&!t[id])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[id]&&r>t[id]},iw=t=>{if(t[If]>t[nd])for(let e=t[Ds].tail;t[If]>t[nd]&&e!==null;){let r=e.prev;By(t,e),e=r}},By=(t,e)=>{if(e){let r=e.value;t[Cf]&&t[Cf](r.key,r.value),t[If]-=r.length,t[Uc].delete(r.key),t[Ds].removeNode(e)}},zT=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},oz=(t,e,r,o)=>{let a=r.value;sS(t,a)&&(By(t,r),t[sw]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};lz.exports=VT});var Ul=U((kQt,pz)=>{var sd=class{constructor(e,r){if(r=A9e(r),e instanceof sd)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new sd(e.raw,r);if(e instanceof XT)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!Az(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&d9e(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let o=`parseRange:${Object.keys(this.options).join(",")}:${e}`,a=uz.get(o);if(a)return a;let n=this.options.loose,u=n?va[Yo.HYPHENRANGELOOSE]:va[Yo.HYPHENRANGE];e=e.replace(u,S9e(this.options.includePrerelease)),wi("hyphen replace",e),e=e.replace(va[Yo.COMPARATORTRIM],p9e),wi("comparator trim",e),e=e.replace(va[Yo.TILDETRIM],h9e),e=e.replace(va[Yo.CARETTRIM],g9e),e=e.split(/\s+/).join(" ");let A=e.split(" ").map(w=>m9e(w,this.options)).join(" ").split(/\s+/).map(w=>D9e(w,this.options));n&&(A=A.filter(w=>(wi("loose invalid filter",w,this.options),!!w.match(va[Yo.COMPARATORLOOSE])))),wi("range list",A);let p=new Map,h=A.map(w=>new XT(w,this.options));for(let w of h){if(Az(w))return[w];p.set(w.value,w)}p.size>1&&p.has("")&&p.delete("");let C=[...p.values()];return uz.set(o,C),C}intersects(e,r){if(!(e instanceof sd))throw new TypeError("a Range is required");return this.set.some(o=>fz(o,r)&&e.set.some(a=>fz(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new f9e(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(P9e(this.set[r],e,this.options))return!0;return!1}};pz.exports=sd;var u9e=cz(),uz=new u9e({max:1e3}),A9e=rw(),XT=ow(),wi=tw(),f9e=Do(),{re:va,t:Yo,comparatorTrimReplace:p9e,tildeTrimReplace:h9e,caretTrimReplace:g9e}=ed(),Az=t=>t.value==="<0.0.0-0",d9e=t=>t.value==="",fz=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},m9e=(t,e)=>(wi("comp",t,e),t=C9e(t,e),wi("caret",t),t=y9e(t,e),wi("tildes",t),t=w9e(t,e),wi("xrange",t),t=v9e(t,e),wi("stars",t),t),Ko=t=>!t||t.toLowerCase()==="x"||t==="*",y9e=(t,e)=>t.trim().split(/\s+/).map(r=>E9e(r,e)).join(" "),E9e=(t,e)=>{let r=e.loose?va[Yo.TILDELOOSE]:va[Yo.TILDE];return t.replace(r,(o,a,n,u,A)=>{wi("tilde",t,o,a,n,u,A);let p;return Ko(a)?p="":Ko(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Ko(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(wi("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,wi("tilde return",p),p})},C9e=(t,e)=>t.trim().split(/\s+/).map(r=>I9e(r,e)).join(" "),I9e=(t,e)=>{wi("caret",t,e);let r=e.loose?va[Yo.CARETLOOSE]:va[Yo.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{wi("caret",t,a,n,u,A,p);let h;return Ko(n)?h="":Ko(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Ko(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(wi("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(wi("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),wi("caret return",h),h})},w9e=(t,e)=>(wi("replaceXRanges",t,e),t.split(/\s+/).map(r=>B9e(r,e)).join(" ")),B9e=(t,e)=>{t=t.trim();let r=e.loose?va[Yo.XRANGELOOSE]:va[Yo.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{wi("xRange",t,o,a,n,u,A,p);let h=Ko(n),C=h||Ko(u),w=C||Ko(A),v=w;return a==="="&&v&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(C&&(u=0),A=0,a===">"?(a=">=",C?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",C?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):C?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:w&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),wi("xRange return",o),o})},v9e=(t,e)=>(wi("replaceStars",t,e),t.trim().replace(va[Yo.STAR],"")),D9e=(t,e)=>(wi("replaceGTE0",t,e),t.trim().replace(va[e.includePrerelease?Yo.GTE0PRE:Yo.GTE0],"")),S9e=t=>(e,r,o,a,n,u,A,p,h,C,w,v,b)=>(Ko(o)?r="":Ko(a)?r=`>=${o}.0.0${t?"-0":""}`:Ko(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Ko(h)?p="":Ko(C)?p=`<${+h+1}.0.0-0`:Ko(w)?p=`<${h}.${+C+1}.0-0`:v?p=`<=${h}.${C}.${w}-${v}`:t?p=`<${h}.${C}.${+w+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),P9e=(t,e,r)=>{for(let o=0;o<t.length;o++)if(!t[o].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let o=0;o<t.length;o++)if(wi(t[o].semver),t[o].semver!==XT.ANY&&t[o].semver.prerelease.length>0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var ow=U((FQt,yz)=>{var aw=Symbol("SemVer ANY"),vy=class{static get ANY(){return aw}constructor(e,r){if(r=x9e(r),e instanceof vy){if(e.loose===!!r.loose)return e;e=e.value}$T("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===aw?this.value="":this.value=this.operator+this.semver.version,$T("comp",this)}parse(e){let r=this.options.loose?hz[gz.COMPARATORLOOSE]:hz[gz.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new dz(o[2],this.options.loose):this.semver=aw}toString(){return this.value}test(e){if($T("Comparator.test",e,this.options.loose),this.semver===aw||e===aw)return!0;if(typeof e=="string")try{e=new dz(e,this.options)}catch{return!1}return ZT(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof vy))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new mz(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new mz(this.value,r).test(e.semver);let o=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),a=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),n=this.semver.version===e.semver.version,u=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),A=ZT(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),p=ZT(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return o||a||n&&u||A||p}};yz.exports=vy;var x9e=rw(),{re:hz,t:gz}=ed(),ZT=YT(),$T=tw(),dz=Do(),mz=Ul()});var lw=U((RQt,Ez)=>{var b9e=Ul(),Q9e=(t,e,r)=>{try{e=new b9e(e,r)}catch{return!1}return e.test(t)};Ez.exports=Q9e});var Iz=U((TQt,Cz)=>{var k9e=Ul(),F9e=(t,e)=>new k9e(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));Cz.exports=F9e});var Bz=U((NQt,wz)=>{var R9e=Do(),T9e=Ul(),N9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new T9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new R9e(o,r))}),o};wz.exports=N9e});var Dz=U((LQt,vz)=>{var L9e=Do(),O9e=Ul(),M9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new O9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new L9e(o,r))}),o};vz.exports=M9e});var xz=U((OQt,Pz)=>{var eN=Do(),U9e=Ul(),Sz=nw(),_9e=(t,e)=>{t=new U9e(t,e);let r=new eN("0.0.0");if(t.test(r)||(r=new eN("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o<t.set.length;++o){let a=t.set[o],n=null;a.forEach(u=>{let A=new eN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||Sz(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||Sz(r,n))&&(r=n)}return r&&t.test(r)?r:null};Pz.exports=_9e});var Qz=U((MQt,bz)=>{var H9e=Ul(),q9e=(t,e)=>{try{return new H9e(t,e).range||"*"}catch{return null}};bz.exports=q9e});var oS=U((UQt,Tz)=>{var j9e=Do(),Rz=ow(),{ANY:G9e}=Rz,W9e=Ul(),Y9e=lw(),kz=nw(),Fz=$D(),K9e=tS(),J9e=eS(),V9e=(t,e,r,o)=>{t=new j9e(t,o),e=new W9e(e,o);let a,n,u,A,p;switch(r){case">":a=kz,n=K9e,u=Fz,A=">",p=">=";break;case"<":a=Fz,n=J9e,u=kz,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Y9e(t,e,o))return!1;for(let h=0;h<e.set.length;++h){let C=e.set[h],w=null,v=null;if(C.forEach(b=>{b.semver===G9e&&(b=new Rz(">=0.0.0")),w=w||b,v=v||b,a(b.semver,w.semver,o)?w=b:u(b.semver,v.semver,o)&&(v=b)}),w.operator===A||w.operator===p||(!v.operator||v.operator===A)&&n(t,v.semver))return!1;if(v.operator===p&&u(t,v.semver))return!1}return!0};Tz.exports=V9e});var Lz=U((_Qt,Nz)=>{var z9e=oS(),X9e=(t,e,r)=>z9e(t,e,">",r);Nz.exports=X9e});var Mz=U((HQt,Oz)=>{var Z9e=oS(),$9e=(t,e,r)=>Z9e(t,e,"<",r);Oz.exports=$9e});var Hz=U((qQt,_z)=>{var Uz=Ul(),e5e=(t,e,r)=>(t=new Uz(t,r),e=new Uz(e,r),t.intersects(e));_z.exports=e5e});var jz=U((jQt,qz)=>{var t5e=lw(),r5e=Ml();qz.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((C,w)=>r5e(C,w,r));for(let C of u)t5e(C,e,r)?(n=C,a||(a=C)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[C,w]of o)C===w?A.push(C):!w&&C===u[0]?A.push("*"):w?C===u[0]?A.push(`<=${w}`):A.push(`${C} - ${w}`):A.push(`>=${C}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length<h.length?p:e}});var Jz=U((GQt,Kz)=>{var Gz=Ul(),aS=ow(),{ANY:tN}=aS,cw=lw(),rN=Ml(),n5e=(t,e,r={})=>{if(t===e)return!0;t=new Gz(t,r),e=new Gz(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=i5e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},i5e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===tN){if(e.length===1&&e[0].semver===tN)return!0;r.includePrerelease?t=[new aS(">=0.0.0-0")]:t=[new aS(">=0.0.0")]}if(e.length===1&&e[0].semver===tN){if(r.includePrerelease)return!0;e=[new aS(">=0.0.0")]}let o=new Set,a,n;for(let b of t)b.operator===">"||b.operator===">="?a=Wz(a,b,r):b.operator==="<"||b.operator==="<="?n=Yz(n,b,r):o.add(b.semver);if(o.size>1)return null;let u;if(a&&n){if(u=rN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let b of o){if(a&&!cw(b,String(a),r)||n&&!cw(b,String(n),r))return null;for(let E of e)if(!cw(b,String(E),r))return!1;return!0}let A,p,h,C,w=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;w&&w.prerelease.length===1&&n.operator==="<"&&w.prerelease[0]===0&&(w=!1);for(let b of e){if(C=C||b.operator===">"||b.operator===">=",h=h||b.operator==="<"||b.operator==="<=",a){if(v&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===v.major&&b.semver.minor===v.minor&&b.semver.patch===v.patch&&(v=!1),b.operator===">"||b.operator===">="){if(A=Wz(a,b,r),A===b&&A!==a)return!1}else if(a.operator===">="&&!cw(a.semver,String(b),r))return!1}if(n){if(w&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===w.major&&b.semver.minor===w.minor&&b.semver.patch===w.patch&&(w=!1),b.operator==="<"||b.operator==="<="){if(p=Yz(n,b,r),p===b&&p!==n)return!1}else if(n.operator==="<="&&!cw(n.semver,String(b),r))return!1}if(!b.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&C&&!a&&u!==0||v||w)},Wz=(t,e,r)=>{if(!t)return e;let o=rN(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},Yz=(t,e,r)=>{if(!t)return e;let o=rN(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};Kz.exports=n5e});var ii=U((WQt,Vz)=>{var nN=ed();Vz.exports={re:nN.re,src:nN.src,tokens:nN.t,SEMVER_SPEC_VERSION:ew().SEMVER_SPEC_VERSION,SemVer:Do(),compareIdentifiers:JD().compareIdentifiers,rcompareIdentifiers:JD().rcompareIdentifiers,parse:td(),valid:yV(),clean:CV(),inc:BV(),diff:bV(),major:kV(),minor:RV(),patch:NV(),prerelease:OV(),compare:Ml(),rcompare:UV(),compareLoose:HV(),compareBuild:ZD(),sort:WV(),rsort:KV(),gt:nw(),lt:$D(),eq:XD(),neq:WT(),gte:eS(),lte:tS(),cmp:YT(),coerce:tz(),Comparator:ow(),Range:Ul(),satisfies:lw(),toComparators:Iz(),maxSatisfying:Bz(),minSatisfying:Dz(),minVersion:xz(),validRange:Qz(),outside:oS(),gtr:Lz(),ltr:Mz(),intersects:Hz(),simplifyRange:jz(),subset:Jz()}});var Xz=U((YQt,zz)=>{"use strict";function s5e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function od(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,od)}s5e(od,Error);od.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function o5e(t,e){e=e!==void 0?e:{};var r={},o={Expression:y},a=y,n="|",u=Me("|",!1),A="&",p=Me("&",!1),h="^",C=Me("^",!1),w=function($,ie){return!!ie.reduce((ke,Ne)=>{switch(Ne[1]){case"|":return ke|Ne[3];case"&":return ke&Ne[3];case"^":return ke^Ne[3]}},$)},v="!",b=Me("!",!1),E=function($){return!$},R="(",L=Me("(",!1),_=")",J=Me(")",!1),re=function($){return $},oe=/^[^ \t\n\r()!|&\^]/,pe=Te([" "," ",` 126`)}};rw.paths=[["-v"],["--version"]]});var jT={};Yt(jT,{DefinitionsCommand:()=>ew,HelpCommand:()=>tw,VersionCommand:()=>rw});var WV=dt(()=>{qV();jV();GV()});function YV(t,e,r){let[o,a]=Ku(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Go({definition(p){p.addOption({names:u,arity:n,hidden:a==null?void 0:a.hidden,description:a==null?void 0:a.description,required:a.required})},transformer(p,h,E){let w=typeof o<"u"?[...o]:void 0;for(let{name:v,value:b}of E.options)!A.has(v)||(w=w??[],w.push(b));return w}})}var KV=dt(()=>{Ef()});function VV(t,e,r){let[o,a]=Ku(e,r??{}),n=t.split(","),u=new Set(n);return Go({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:v}of h.options)!u.has(w)||(E=v);return E}})}var JV=dt(()=>{Ef()});function zV(t,e,r){let[o,a]=Ku(e,r??{}),n=t.split(","),u=new Set(n);return Go({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:v}of h.options)!u.has(w)||(E??(E=0),v?E+=1:E=0);return E}})}var XV=dt(()=>{Ef()});function ZV(t={}){return Go({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var $V=dt(()=>{Ef()});function eJ(t={}){return Go({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===rl||A.extra===!1&&u<e.arity.leading.length},n=0;for(;n<o.positionals.length&&a(n);)n+=1;return o.positionals.splice(0,n).map(({value:u})=>u)}})}var tJ=dt(()=>{XD();Ef()});function aje(t,e,r){let[o,a]=Ku(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Go({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,w){let v,b=o;typeof a.env<"u"&&w.env[a.env]&&(v=a.env,b=w.env[a.env]);for(let{name:C,value:R}of E.options)!A.has(C)||(v=C,b=R);return typeof b=="string"?XI(v??h,b,a.validator):b}})}function lje(t={}){let{required:e=!0}=t;return Go({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u<a.positionals.length;++u){if(a.positionals[u].extra===rl||e&&a.positionals[u].extra===!0||!e&&a.positionals[u].extra===!1)continue;let[A]=a.positionals.splice(u,1);return XI((n=t.name)!==null&&n!==void 0?n:o,A.value,t.validator)}}})}function rJ(t,...e){return typeof t=="string"?aje(t,...e):lje(t)}var nJ=dt(()=>{XD();Ef()});var fe={};Yt(fe,{Array:()=>YV,Boolean:()=>VV,Counter:()=>zV,Proxy:()=>ZV,Rest:()=>eJ,String:()=>rJ,applyValidator:()=>XI,cleanValidationError:()=>WD,formatError:()=>zI,isOptionSymbol:()=>JI,makeCommandOption:()=>Go,rerouteArguments:()=>Ku});var iJ=dt(()=>{Ef();KV();JV();XV();$V();tJ();nJ()});var nw={};Yt(nw,{Builtins:()=>jT,Cli:()=>vo,Command:()=>it,Option:()=>fe,UsageError:()=>ot,formatMarkdownish:()=>Bo,run:()=>UV,runExit:()=>MV});var _t=dt(()=>{GD();RT();td();HV();WV();iJ()});var oJ=U((AQt,sJ)=>{"use strict";sJ.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var rd=U((fQt,GT)=>{"use strict";var cje=oJ(),aJ=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let E=cje(A,...h);p(E),E.then(o,o)},n=(A,p,...h)=>{r<t?a(A,p,...h):e.push(a.bind(null,A,p,...h))},u=(A,...p)=>new Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};GT.exports=aJ;GT.exports.default=aJ});function Vu(t){return`YN${t.toString(10).padStart(4,"0")}`}function $D(t){let e=Number(t.slice(2));if(typeof dr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var dr,eS=dt(()=>{dr=(Ue=>(Ue[Ue.UNNAMED=0]="UNNAMED",Ue[Ue.EXCEPTION=1]="EXCEPTION",Ue[Ue.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Ue[Ue.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Ue[Ue.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Ue[Ue.BUILD_DISABLED=5]="BUILD_DISABLED",Ue[Ue.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Ue[Ue.MUST_BUILD=7]="MUST_BUILD",Ue[Ue.MUST_REBUILD=8]="MUST_REBUILD",Ue[Ue.BUILD_FAILED=9]="BUILD_FAILED",Ue[Ue.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Ue[Ue.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Ue[Ue.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Ue[Ue.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Ue[Ue.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Ue[Ue.REMOTE_INVALID=15]="REMOTE_INVALID",Ue[Ue.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Ue[Ue.RESOLUTION_PACK=17]="RESOLUTION_PACK",Ue[Ue.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Ue[Ue.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Ue[Ue.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Ue[Ue.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Ue[Ue.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Ue[Ue.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Ue[Ue.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Ue[Ue.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Ue[Ue.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Ue[Ue.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Ue[Ue.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Ue[Ue.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Ue[Ue.FETCH_FAILED=30]="FETCH_FAILED",Ue[Ue.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Ue[Ue.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Ue[Ue.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Ue[Ue.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Ue[Ue.NETWORK_ERROR=35]="NETWORK_ERROR",Ue[Ue.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Ue[Ue.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Ue[Ue.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Ue[Ue.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Ue[Ue.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Ue[Ue.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Ue[Ue.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Ue[Ue.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Ue[Ue.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Ue[Ue.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Ue[Ue.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Ue[Ue.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Ue[Ue.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Ue[Ue.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Ue[Ue.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Ue[Ue.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Ue[Ue.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Ue[Ue.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Ue[Ue.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Ue[Ue.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Ue[Ue.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Ue[Ue.INVALID_MANIFEST=57]="INVALID_MANIFEST",Ue[Ue.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Ue[Ue.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Ue[Ue.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Ue[Ue.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Ue[Ue.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Ue[Ue.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Ue[Ue.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Ue[Ue.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Ue[Ue.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Ue[Ue.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Ue[Ue.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Ue[Ue.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Ue[Ue.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Ue[Ue.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Ue[Ue.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Ue[Ue.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Ue[Ue.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Ue[Ue.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Ue[Ue.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Ue[Ue.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Ue[Ue.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Ue[Ue.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Ue[Ue.NETWORK_DISABLED=80]="NETWORK_DISABLED",Ue[Ue.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Ue[Ue.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Ue[Ue.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Ue[Ue.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Ue))(dr||{})});var iw=U((hQt,lJ)=>{var uje="2.0.0",Aje=Number.MAX_SAFE_INTEGER||9007199254740991,fje=16;lJ.exports={SEMVER_SPEC_VERSION:uje,MAX_LENGTH:256,MAX_SAFE_INTEGER:Aje,MAX_SAFE_COMPONENT_LENGTH:fje}});var sw=U((gQt,cJ)=>{var pje=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};cJ.exports=pje});var nd=U((Wp,uJ)=>{var{MAX_SAFE_COMPONENT_LENGTH:WT}=iw(),hje=sw();Wp=uJ.exports={};var gje=Wp.re=[],or=Wp.src=[],ar=Wp.t={},dje=0,Kr=(t,e,r)=>{let o=dje++;hje(t,o,e),ar[t]=o,or[o]=e,gje[o]=new RegExp(e,r?"g":void 0)};Kr("NUMERICIDENTIFIER","0|[1-9]\\d*");Kr("NUMERICIDENTIFIERLOOSE","[0-9]+");Kr("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");Kr("MAINVERSION",`(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})`);Kr("MAINVERSIONLOOSE",`(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})`);Kr("PRERELEASEIDENTIFIER",`(?:${or[ar.NUMERICIDENTIFIER]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASEIDENTIFIERLOOSE",`(?:${or[ar.NUMERICIDENTIFIERLOOSE]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASE",`(?:-(${or[ar.PRERELEASEIDENTIFIER]}(?:\\.${or[ar.PRERELEASEIDENTIFIER]})*))`);Kr("PRERELEASELOOSE",`(?:-?(${or[ar.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${or[ar.PRERELEASEIDENTIFIERLOOSE]})*))`);Kr("BUILDIDENTIFIER","[0-9A-Za-z-]+");Kr("BUILD",`(?:\\+(${or[ar.BUILDIDENTIFIER]}(?:\\.${or[ar.BUILDIDENTIFIER]})*))`);Kr("FULLPLAIN",`v?${or[ar.MAINVERSION]}${or[ar.PRERELEASE]}?${or[ar.BUILD]}?`);Kr("FULL",`^${or[ar.FULLPLAIN]}$`);Kr("LOOSEPLAIN",`[v=\\s]*${or[ar.MAINVERSIONLOOSE]}${or[ar.PRERELEASELOOSE]}?${or[ar.BUILD]}?`);Kr("LOOSE",`^${or[ar.LOOSEPLAIN]}$`);Kr("GTLT","((?:<|>)?=?)");Kr("XRANGEIDENTIFIERLOOSE",`${or[ar.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Kr("XRANGEIDENTIFIER",`${or[ar.NUMERICIDENTIFIER]}|x|X|\\*`);Kr("XRANGEPLAIN",`[v=\\s]*(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:${or[ar.PRERELEASE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGEPLAINLOOSE",`[v=\\s]*(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:${or[ar.PRERELEASELOOSE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAIN]}$`);Kr("XRANGELOOSE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COERCE",`(^|[^\\d])(\\d{1,${WT}})(?:\\.(\\d{1,${WT}}))?(?:\\.(\\d{1,${WT}}))?(?:$|[^\\d])`);Kr("COERCERTL",or[ar.COERCE],!0);Kr("LONETILDE","(?:~>?)");Kr("TILDETRIM",`(\\s*)${or[ar.LONETILDE]}\\s+`,!0);Wp.tildeTrimReplace="$1~";Kr("TILDE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAIN]}$`);Kr("TILDELOOSE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("LONECARET","(?:\\^)");Kr("CARETTRIM",`(\\s*)${or[ar.LONECARET]}\\s+`,!0);Wp.caretTrimReplace="$1^";Kr("CARET",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAIN]}$`);Kr("CARETLOOSE",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COMPARATORLOOSE",`^${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]})$|^$`);Kr("COMPARATOR",`^${or[ar.GTLT]}\\s*(${or[ar.FULLPLAIN]})$|^$`);Kr("COMPARATORTRIM",`(\\s*)${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]}|${or[ar.XRANGEPLAIN]})`,!0);Wp.comparatorTrimReplace="$1$2$3";Kr("HYPHENRANGE",`^\\s*(${or[ar.XRANGEPLAIN]})\\s+-\\s+(${or[ar.XRANGEPLAIN]})\\s*$`);Kr("HYPHENRANGELOOSE",`^\\s*(${or[ar.XRANGEPLAINLOOSE]})\\s+-\\s+(${or[ar.XRANGEPLAINLOOSE]})\\s*$`);Kr("STAR","(<|>)?=?\\s*\\*");Kr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Kr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var ow=U((dQt,AJ)=>{var mje=["includePrerelease","loose","rtl"],yje=t=>t?typeof t!="object"?{loose:!0}:mje.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};AJ.exports=yje});var tS=U((mQt,hJ)=>{var fJ=/^[0-9]+$/,pJ=(t,e)=>{let r=fJ.test(t),o=fJ.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:t<e?-1:1},Cje=(t,e)=>pJ(e,t);hJ.exports={compareIdentifiers:pJ,rcompareIdentifiers:Cje}});var Do=U((yQt,yJ)=>{var rS=sw(),{MAX_LENGTH:gJ,MAX_SAFE_INTEGER:nS}=iw(),{re:dJ,t:mJ}=nd(),Eje=ow(),{compareIdentifiers:Sy}=tS(),nl=class{constructor(e,r){if(r=Eje(r),e instanceof nl){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>gJ)throw new TypeError(`version is longer than ${gJ} characters`);rS("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?dJ[mJ.LOOSE]:dJ[mJ.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>nS||this.major<0)throw new TypeError("Invalid major version");if(this.minor>nS||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>nS||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n<nS)return n}return a}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(rS("SemVer.compare",this.version,this.options,e),!(e instanceof nl)){if(typeof e=="string"&&e===this.version)return 0;e=new nl(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof nl||(e=new nl(e,this.options)),Sy(this.major,e.major)||Sy(this.minor,e.minor)||Sy(this.patch,e.patch)}comparePre(e){if(e instanceof nl||(e=new nl(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let o=this.prerelease[r],a=e.prerelease[r];if(rS("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Sy(o,a)}while(++r)}compareBuild(e){e instanceof nl||(e=new nl(e,this.options));let r=0;do{let o=this.build[r],a=e.build[r];if(rS("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Sy(o,a)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);o===-1&&this.prerelease.push(0)}r&&(Sy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};yJ.exports=nl});var id=U((CQt,wJ)=>{var{MAX_LENGTH:Ije}=iw(),{re:CJ,t:EJ}=nd(),IJ=Do(),wje=ow(),Bje=(t,e)=>{if(e=wje(e),t instanceof IJ)return t;if(typeof t!="string"||t.length>Ije||!(e.loose?CJ[EJ.LOOSE]:CJ[EJ.FULL]).test(t))return null;try{return new IJ(t,e)}catch{return null}};wJ.exports=Bje});var vJ=U((EQt,BJ)=>{var vje=id(),Dje=(t,e)=>{let r=vje(t,e);return r?r.version:null};BJ.exports=Dje});var SJ=U((IQt,DJ)=>{var Sje=id(),Pje=(t,e)=>{let r=Sje(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};DJ.exports=Pje});var bJ=U((wQt,xJ)=>{var PJ=Do(),xje=(t,e,r,o)=>{typeof r=="string"&&(o=r,r=void 0);try{return new PJ(t instanceof PJ?t.version:t,r).inc(e,o).version}catch{return null}};xJ.exports=xje});var Hl=U((BQt,kJ)=>{var QJ=Do(),bje=(t,e,r)=>new QJ(t,r).compare(new QJ(e,r));kJ.exports=bje});var iS=U((vQt,FJ)=>{var Qje=Hl(),kje=(t,e,r)=>Qje(t,e,r)===0;FJ.exports=kje});var NJ=U((DQt,TJ)=>{var RJ=id(),Fje=iS(),Rje=(t,e)=>{if(Fje(t,e))return null;{let r=RJ(t),o=RJ(e),a=r.prerelease.length||o.prerelease.length,n=a?"pre":"",u=a?"prerelease":"";for(let A in r)if((A==="major"||A==="minor"||A==="patch")&&r[A]!==o[A])return n+A;return u}};TJ.exports=Rje});var OJ=U((SQt,LJ)=>{var Tje=Do(),Nje=(t,e)=>new Tje(t,e).major;LJ.exports=Nje});var UJ=U((PQt,MJ)=>{var Lje=Do(),Oje=(t,e)=>new Lje(t,e).minor;MJ.exports=Oje});var HJ=U((xQt,_J)=>{var Mje=Do(),Uje=(t,e)=>new Mje(t,e).patch;_J.exports=Uje});var jJ=U((bQt,qJ)=>{var _je=id(),Hje=(t,e)=>{let r=_je(t,e);return r&&r.prerelease.length?r.prerelease:null};qJ.exports=Hje});var WJ=U((QQt,GJ)=>{var qje=Hl(),jje=(t,e,r)=>qje(e,t,r);GJ.exports=jje});var KJ=U((kQt,YJ)=>{var Gje=Hl(),Wje=(t,e)=>Gje(t,e,!0);YJ.exports=Wje});var sS=U((FQt,JJ)=>{var VJ=Do(),Yje=(t,e,r)=>{let o=new VJ(t,r),a=new VJ(e,r);return o.compare(a)||o.compareBuild(a)};JJ.exports=Yje});var XJ=U((RQt,zJ)=>{var Kje=sS(),Vje=(t,e)=>t.sort((r,o)=>Kje(r,o,e));zJ.exports=Vje});var $J=U((TQt,ZJ)=>{var Jje=sS(),zje=(t,e)=>t.sort((r,o)=>Jje(o,r,e));ZJ.exports=zje});var aw=U((NQt,ez)=>{var Xje=Hl(),Zje=(t,e,r)=>Xje(t,e,r)>0;ez.exports=Zje});var oS=U((LQt,tz)=>{var $je=Hl(),eGe=(t,e,r)=>$je(t,e,r)<0;tz.exports=eGe});var YT=U((OQt,rz)=>{var tGe=Hl(),rGe=(t,e,r)=>tGe(t,e,r)!==0;rz.exports=rGe});var aS=U((MQt,nz)=>{var nGe=Hl(),iGe=(t,e,r)=>nGe(t,e,r)>=0;nz.exports=iGe});var lS=U((UQt,iz)=>{var sGe=Hl(),oGe=(t,e,r)=>sGe(t,e,r)<=0;iz.exports=oGe});var KT=U((_Qt,sz)=>{var aGe=iS(),lGe=YT(),cGe=aw(),uGe=aS(),AGe=oS(),fGe=lS(),pGe=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return aGe(t,r,o);case"!=":return lGe(t,r,o);case">":return cGe(t,r,o);case">=":return uGe(t,r,o);case"<":return AGe(t,r,o);case"<=":return fGe(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};sz.exports=pGe});var az=U((HQt,oz)=>{var hGe=Do(),gGe=id(),{re:cS,t:uS}=nd(),dGe=(t,e)=>{if(t instanceof hGe)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(cS[uS.COERCE]);else{let o;for(;(o=cS[uS.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||o.index+o[0].length!==r.index+r[0].length)&&(r=o),cS[uS.COERCERTL].lastIndex=o.index+o[1].length+o[2].length;cS[uS.COERCERTL].lastIndex=-1}return r===null?null:gGe(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};oz.exports=dGe});var cz=U((qQt,lz)=>{"use strict";lz.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var AS=U((jQt,uz)=>{"use strict";uz.exports=dn;dn.Node=sd;dn.create=dn;function dn(t){var e=this;if(e instanceof dn||(e=new dn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r<o;r++)e.push(arguments[r]);return e}dn.prototype.removeNode=function(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");var e=t.next,r=t.prev;return e&&(e.prev=r),r&&(r.next=e),t===this.head&&(this.head=e),t===this.tail&&(this.tail=r),t.list.length--,t.next=null,t.prev=null,t.list=null,e};dn.prototype.unshiftNode=function(t){if(t!==this.head){t.list&&t.list.removeNode(t);var e=this.head;t.list=this,t.next=e,e&&(e.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}};dn.prototype.pushNode=function(t){if(t!==this.tail){t.list&&t.list.removeNode(t);var e=this.tail;t.list=this,t.prev=e,e&&(e.next=t),this.tail=t,this.head||(this.head=t),this.length++}};dn.prototype.push=function(){for(var t=0,e=arguments.length;t<e;t++)yGe(this,arguments[t]);return this.length};dn.prototype.unshift=function(){for(var t=0,e=arguments.length;t<e;t++)CGe(this,arguments[t]);return this.length};dn.prototype.pop=function(){if(!!this.tail){var t=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,t}};dn.prototype.shift=function(){if(!!this.head){var t=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,t}};dn.prototype.forEach=function(t,e){e=e||this;for(var r=this.head,o=0;r!==null;o++)t.call(e,r.value,o,this),r=r.next};dn.prototype.forEachReverse=function(t,e){e=e||this;for(var r=this.tail,o=this.length-1;r!==null;o--)t.call(e,r.value,o,this),r=r.prev};dn.prototype.get=function(t){for(var e=0,r=this.head;r!==null&&e<t;e++)r=r.next;if(e===t&&r!==null)return r.value};dn.prototype.getReverse=function(t){for(var e=0,r=this.tail;r!==null&&e<t;e++)r=r.prev;if(e===t&&r!==null)return r.value};dn.prototype.map=function(t,e){e=e||this;for(var r=new dn,o=this.head;o!==null;)r.push(t.call(e,o.value,this)),o=o.next;return r};dn.prototype.mapReverse=function(t,e){e=e||this;for(var r=new dn,o=this.tail;o!==null;)r.push(t.call(e,o.value,this)),o=o.prev;return r};dn.prototype.reduce=function(t,e){var r,o=this.head;if(arguments.length>1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};dn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};dn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};dn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};dn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(;a!==null&&o<e;o++,a=a.next)r.push(a.value);return r};dn.prototype.sliceReverse=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};dn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(var n=[],o=0;a&&o<e;o++)n.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var o=0;o<r.length;o++)a=mGe(this,a,r[o]);return n};dn.prototype.reverse=function(){for(var t=this.head,e=this.tail,r=t;r!==null;r=r.prev){var o=r.prev;r.prev=r.next,r.next=o}return this.head=e,this.tail=t,this};function mGe(t,e,r){var o=e===t.head?new sd(r,null,e,t):new sd(r,e,e.next,t);return o.next===null&&(t.tail=o),o.prev===null&&(t.head=o),t.length++,o}function yGe(t,e){t.tail=new sd(e,t.tail,null,t),t.head||(t.head=t.tail),t.length++}function CGe(t,e){t.head=new sd(e,null,t.head,t),t.tail||(t.tail=t.head),t.length++}function sd(t,e,r,o){if(!(this instanceof sd))return new sd(t,e,r,o);this.list=o,this.value=t,e?(e.next=this,this.prev=e):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{cz()(dn)}catch{}});var gz=U((GQt,hz)=>{"use strict";var EGe=AS(),od=Symbol("max"),Bf=Symbol("length"),Py=Symbol("lengthCalculator"),cw=Symbol("allowStale"),ad=Symbol("maxAge"),wf=Symbol("dispose"),Az=Symbol("noDisposeOnSet"),Ds=Symbol("lruList"),qc=Symbol("cache"),pz=Symbol("updateAgeOnGet"),VT=()=>1,zT=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[od]=e.max||1/0,o=e.length||VT;if(this[Py]=typeof o!="function"?VT:o,this[cw]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[ad]=e.maxAge||0,this[wf]=e.dispose,this[Az]=e.noDisposeOnSet||!1,this[pz]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[od]=e||1/0,lw(this)}get max(){return this[od]}set allowStale(e){this[cw]=!!e}get allowStale(){return this[cw]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[ad]=e,lw(this)}get maxAge(){return this[ad]}set lengthCalculator(e){typeof e!="function"&&(e=VT),e!==this[Py]&&(this[Py]=e,this[Bf]=0,this[Ds].forEach(r=>{r.length=this[Py](r.value,r.key),this[Bf]+=r.length})),lw(this)}get lengthCalculator(){return this[Py]}get length(){return this[Bf]}get itemCount(){return this[Ds].length}rforEach(e,r){r=r||this;for(let o=this[Ds].tail;o!==null;){let a=o.prev;fz(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Ds].head;o!==null;){let a=o.next;fz(this,e,o,r),o=a}}keys(){return this[Ds].toArray().map(e=>e.key)}values(){return this[Ds].toArray().map(e=>e.value)}reset(){this[wf]&&this[Ds]&&this[Ds].length&&this[Ds].forEach(e=>this[wf](e.key,e.value)),this[qc]=new Map,this[Ds]=new EGe,this[Bf]=0}dump(){return this[Ds].map(e=>fS(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ds]}set(e,r,o){if(o=o||this[ad],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Py](r,e);if(this[qc].has(e)){if(n>this[od])return xy(this,this[qc].get(e)),!1;let p=this[qc].get(e).value;return this[wf]&&(this[Az]||this[wf](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[Bf]+=n-p.length,p.length=n,this.get(e),lw(this),!0}let u=new XT(e,r,n,a,o);return u.length>this[od]?(this[wf]&&this[wf](e,r),!1):(this[Bf]+=u.length,this[Ds].unshift(u),this[qc].set(e,this[Ds].head),lw(this),!0)}has(e){if(!this[qc].has(e))return!1;let r=this[qc].get(e).value;return!fS(this,r)}get(e){return JT(this,e,!0)}peek(e){return JT(this,e,!1)}pop(){let e=this[Ds].tail;return e?(xy(this,e),e.value):null}del(e){xy(this,this[qc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[qc].forEach((e,r)=>JT(this,r,!1))}},JT=(t,e,r)=>{let o=t[qc].get(e);if(o){let a=o.value;if(fS(t,a)){if(xy(t,o),!t[cw])return}else r&&(t[pz]&&(o.value.now=Date.now()),t[Ds].unshiftNode(o));return a.value}},fS=(t,e)=>{if(!e||!e.maxAge&&!t[ad])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[ad]&&r>t[ad]},lw=t=>{if(t[Bf]>t[od])for(let e=t[Ds].tail;t[Bf]>t[od]&&e!==null;){let r=e.prev;xy(t,e),e=r}},xy=(t,e)=>{if(e){let r=e.value;t[wf]&&t[wf](r.key,r.value),t[Bf]-=r.length,t[qc].delete(r.key),t[Ds].removeNode(e)}},XT=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},fz=(t,e,r,o)=>{let a=r.value;fS(t,a)&&(xy(t,r),t[cw]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};hz.exports=zT});var ql=U((WQt,Cz)=>{var ld=class{constructor(e,r){if(r=wGe(r),e instanceof ld)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new ld(e.raw,r);if(e instanceof ZT)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!mz(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&PGe(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let o=`parseRange:${Object.keys(this.options).join(",")}:${e}`,a=dz.get(o);if(a)return a;let n=this.options.loose,u=n?Da[Ko.HYPHENRANGELOOSE]:Da[Ko.HYPHENRANGE];e=e.replace(u,OGe(this.options.includePrerelease)),wi("hyphen replace",e),e=e.replace(Da[Ko.COMPARATORTRIM],vGe),wi("comparator trim",e),e=e.replace(Da[Ko.TILDETRIM],DGe),e=e.replace(Da[Ko.CARETTRIM],SGe),e=e.split(/\s+/).join(" ");let A=e.split(" ").map(w=>xGe(w,this.options)).join(" ").split(/\s+/).map(w=>LGe(w,this.options));n&&(A=A.filter(w=>(wi("loose invalid filter",w,this.options),!!w.match(Da[Ko.COMPARATORLOOSE])))),wi("range list",A);let p=new Map,h=A.map(w=>new ZT(w,this.options));for(let w of h){if(mz(w))return[w];p.set(w.value,w)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return dz.set(o,E),E}intersects(e,r){if(!(e instanceof ld))throw new TypeError("a Range is required");return this.set.some(o=>yz(o,r)&&e.set.some(a=>yz(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new BGe(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(MGe(this.set[r],e,this.options))return!0;return!1}};Cz.exports=ld;var IGe=gz(),dz=new IGe({max:1e3}),wGe=ow(),ZT=uw(),wi=sw(),BGe=Do(),{re:Da,t:Ko,comparatorTrimReplace:vGe,tildeTrimReplace:DGe,caretTrimReplace:SGe}=nd(),mz=t=>t.value==="<0.0.0-0",PGe=t=>t.value==="",yz=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},xGe=(t,e)=>(wi("comp",t,e),t=kGe(t,e),wi("caret",t),t=bGe(t,e),wi("tildes",t),t=RGe(t,e),wi("xrange",t),t=NGe(t,e),wi("stars",t),t),Vo=t=>!t||t.toLowerCase()==="x"||t==="*",bGe=(t,e)=>t.trim().split(/\s+/).map(r=>QGe(r,e)).join(" "),QGe=(t,e)=>{let r=e.loose?Da[Ko.TILDELOOSE]:Da[Ko.TILDE];return t.replace(r,(o,a,n,u,A)=>{wi("tilde",t,o,a,n,u,A);let p;return Vo(a)?p="":Vo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Vo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(wi("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,wi("tilde return",p),p})},kGe=(t,e)=>t.trim().split(/\s+/).map(r=>FGe(r,e)).join(" "),FGe=(t,e)=>{wi("caret",t,e);let r=e.loose?Da[Ko.CARETLOOSE]:Da[Ko.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{wi("caret",t,a,n,u,A,p);let h;return Vo(n)?h="":Vo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Vo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(wi("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(wi("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),wi("caret return",h),h})},RGe=(t,e)=>(wi("replaceXRanges",t,e),t.split(/\s+/).map(r=>TGe(r,e)).join(" ")),TGe=(t,e)=>{t=t.trim();let r=e.loose?Da[Ko.XRANGELOOSE]:Da[Ko.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{wi("xRange",t,o,a,n,u,A,p);let h=Vo(n),E=h||Vo(u),w=E||Vo(A),v=w;return a==="="&&v&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(E&&(u=0),A=0,a===">"?(a=">=",E?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",E?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):E?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:w&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),wi("xRange return",o),o})},NGe=(t,e)=>(wi("replaceStars",t,e),t.trim().replace(Da[Ko.STAR],"")),LGe=(t,e)=>(wi("replaceGTE0",t,e),t.trim().replace(Da[e.includePrerelease?Ko.GTE0PRE:Ko.GTE0],"")),OGe=t=>(e,r,o,a,n,u,A,p,h,E,w,v,b)=>(Vo(o)?r="":Vo(a)?r=`>=${o}.0.0${t?"-0":""}`:Vo(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Vo(h)?p="":Vo(E)?p=`<${+h+1}.0.0-0`:Vo(w)?p=`<${h}.${+E+1}.0-0`:v?p=`<=${h}.${E}.${w}-${v}`:t?p=`<${h}.${E}.${+w+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),MGe=(t,e,r)=>{for(let o=0;o<t.length;o++)if(!t[o].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let o=0;o<t.length;o++)if(wi(t[o].semver),t[o].semver!==ZT.ANY&&t[o].semver.prerelease.length>0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var uw=U((YQt,vz)=>{var Aw=Symbol("SemVer ANY"),by=class{static get ANY(){return Aw}constructor(e,r){if(r=UGe(r),e instanceof by){if(e.loose===!!r.loose)return e;e=e.value}eN("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Aw?this.value="":this.value=this.operator+this.semver.version,eN("comp",this)}parse(e){let r=this.options.loose?Ez[Iz.COMPARATORLOOSE]:Ez[Iz.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new wz(o[2],this.options.loose):this.semver=Aw}toString(){return this.value}test(e){if(eN("Comparator.test",e,this.options.loose),this.semver===Aw||e===Aw)return!0;if(typeof e=="string")try{e=new wz(e,this.options)}catch{return!1}return $T(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof by))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new Bz(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new Bz(this.value,r).test(e.semver);let o=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),a=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),n=this.semver.version===e.semver.version,u=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),A=$T(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),p=$T(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return o||a||n&&u||A||p}};vz.exports=by;var UGe=ow(),{re:Ez,t:Iz}=nd(),$T=KT(),eN=sw(),wz=Do(),Bz=ql()});var fw=U((KQt,Dz)=>{var _Ge=ql(),HGe=(t,e,r)=>{try{e=new _Ge(e,r)}catch{return!1}return e.test(t)};Dz.exports=HGe});var Pz=U((VQt,Sz)=>{var qGe=ql(),jGe=(t,e)=>new qGe(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));Sz.exports=jGe});var bz=U((JQt,xz)=>{var GGe=Do(),WGe=ql(),YGe=(t,e,r)=>{let o=null,a=null,n=null;try{n=new WGe(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new GGe(o,r))}),o};xz.exports=YGe});var kz=U((zQt,Qz)=>{var KGe=Do(),VGe=ql(),JGe=(t,e,r)=>{let o=null,a=null,n=null;try{n=new VGe(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new KGe(o,r))}),o};Qz.exports=JGe});var Tz=U((XQt,Rz)=>{var tN=Do(),zGe=ql(),Fz=aw(),XGe=(t,e)=>{t=new zGe(t,e);let r=new tN("0.0.0");if(t.test(r)||(r=new tN("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o<t.set.length;++o){let a=t.set[o],n=null;a.forEach(u=>{let A=new tN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||Fz(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||Fz(r,n))&&(r=n)}return r&&t.test(r)?r:null};Rz.exports=XGe});var Lz=U((ZQt,Nz)=>{var ZGe=ql(),$Ge=(t,e)=>{try{return new ZGe(t,e).range||"*"}catch{return null}};Nz.exports=$Ge});var pS=U(($Qt,_z)=>{var e9e=Do(),Uz=uw(),{ANY:t9e}=Uz,r9e=ql(),n9e=fw(),Oz=aw(),Mz=oS(),i9e=lS(),s9e=aS(),o9e=(t,e,r,o)=>{t=new e9e(t,o),e=new r9e(e,o);let a,n,u,A,p;switch(r){case">":a=Oz,n=i9e,u=Mz,A=">",p=">=";break;case"<":a=Mz,n=s9e,u=Oz,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(n9e(t,e,o))return!1;for(let h=0;h<e.set.length;++h){let E=e.set[h],w=null,v=null;if(E.forEach(b=>{b.semver===t9e&&(b=new Uz(">=0.0.0")),w=w||b,v=v||b,a(b.semver,w.semver,o)?w=b:u(b.semver,v.semver,o)&&(v=b)}),w.operator===A||w.operator===p||(!v.operator||v.operator===A)&&n(t,v.semver))return!1;if(v.operator===p&&u(t,v.semver))return!1}return!0};_z.exports=o9e});var qz=U((ekt,Hz)=>{var a9e=pS(),l9e=(t,e,r)=>a9e(t,e,">",r);Hz.exports=l9e});var Gz=U((tkt,jz)=>{var c9e=pS(),u9e=(t,e,r)=>c9e(t,e,"<",r);jz.exports=u9e});var Kz=U((rkt,Yz)=>{var Wz=ql(),A9e=(t,e,r)=>(t=new Wz(t,r),e=new Wz(e,r),t.intersects(e));Yz.exports=A9e});var Jz=U((nkt,Vz)=>{var f9e=fw(),p9e=Hl();Vz.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((E,w)=>p9e(E,w,r));for(let E of u)f9e(E,e,r)?(n=E,a||(a=E)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[E,w]of o)E===w?A.push(E):!w&&E===u[0]?A.push("*"):w?E===u[0]?A.push(`<=${w}`):A.push(`${E} - ${w}`):A.push(`>=${E}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length<h.length?p:e}});var eX=U((ikt,$z)=>{var zz=ql(),hS=uw(),{ANY:rN}=hS,pw=fw(),nN=Hl(),h9e=(t,e,r={})=>{if(t===e)return!0;t=new zz(t,r),e=new zz(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=g9e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},g9e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===rN){if(e.length===1&&e[0].semver===rN)return!0;r.includePrerelease?t=[new hS(">=0.0.0-0")]:t=[new hS(">=0.0.0")]}if(e.length===1&&e[0].semver===rN){if(r.includePrerelease)return!0;e=[new hS(">=0.0.0")]}let o=new Set,a,n;for(let b of t)b.operator===">"||b.operator===">="?a=Xz(a,b,r):b.operator==="<"||b.operator==="<="?n=Zz(n,b,r):o.add(b.semver);if(o.size>1)return null;let u;if(a&&n){if(u=nN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let b of o){if(a&&!pw(b,String(a),r)||n&&!pw(b,String(n),r))return null;for(let C of e)if(!pw(b,String(C),r))return!1;return!0}let A,p,h,E,w=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;w&&w.prerelease.length===1&&n.operator==="<"&&w.prerelease[0]===0&&(w=!1);for(let b of e){if(E=E||b.operator===">"||b.operator===">=",h=h||b.operator==="<"||b.operator==="<=",a){if(v&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===v.major&&b.semver.minor===v.minor&&b.semver.patch===v.patch&&(v=!1),b.operator===">"||b.operator===">="){if(A=Xz(a,b,r),A===b&&A!==a)return!1}else if(a.operator===">="&&!pw(a.semver,String(b),r))return!1}if(n){if(w&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===w.major&&b.semver.minor===w.minor&&b.semver.patch===w.patch&&(w=!1),b.operator==="<"||b.operator==="<="){if(p=Zz(n,b,r),p===b&&p!==n)return!1}else if(n.operator==="<="&&!pw(n.semver,String(b),r))return!1}if(!b.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&E&&!a&&u!==0||v||w)},Xz=(t,e,r)=>{if(!t)return e;let o=nN(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},Zz=(t,e,r)=>{if(!t)return e;let o=nN(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};$z.exports=h9e});var si=U((skt,tX)=>{var iN=nd();tX.exports={re:iN.re,src:iN.src,tokens:iN.t,SEMVER_SPEC_VERSION:iw().SEMVER_SPEC_VERSION,SemVer:Do(),compareIdentifiers:tS().compareIdentifiers,rcompareIdentifiers:tS().rcompareIdentifiers,parse:id(),valid:vJ(),clean:SJ(),inc:bJ(),diff:NJ(),major:OJ(),minor:UJ(),patch:HJ(),prerelease:jJ(),compare:Hl(),rcompare:WJ(),compareLoose:KJ(),compareBuild:sS(),sort:XJ(),rsort:$J(),gt:aw(),lt:oS(),eq:iS(),neq:YT(),gte:aS(),lte:lS(),cmp:KT(),coerce:az(),Comparator:uw(),Range:ql(),satisfies:fw(),toComparators:Pz(),maxSatisfying:bz(),minSatisfying:kz(),minVersion:Tz(),validRange:Lz(),outside:pS(),gtr:qz(),ltr:Gz(),intersects:Kz(),simplifyRange:Jz(),subset:eX()}});var nX=U((okt,rX)=>{"use strict";function d9e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function cd(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,cd)}d9e(cd,Error);cd.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function m9e(t,e){e=e!==void 0?e:{};var r={},o={Expression:y},a=y,n="|",u=Me("|",!1),A="&",p=Me("&",!1),h="^",E=Me("^",!1),w=function($,ie){return!!ie.reduce((ke,Ne)=>{switch(Ne[1]){case"|":return ke|Ne[3];case"&":return ke&Ne[3];case"^":return ke^Ne[3]}},$)},v="!",b=Me("!",!1),C=function($){return!$},R="(",L=Me("(",!1),_=")",V=Me(")",!1),re=function($){return $},oe=/^[^ \t\n\r()!|&\^]/,pe=Te([" "," ",`
127`,"\r","(",")","!","|","&","^"],!0,!1),he=function($){return e.queryPattern.test($)},ve=function($){return e.checkFn($)},ge=je("whitespace"),le=/^[ \t\n\r]/,Pe=Te([" "," ",` 127`,"\r","(",")","!","|","&","^"],!0,!1),he=function($){return e.queryPattern.test($)},ve=function($){return e.checkFn($)},ge=qe("whitespace"),le=/^[ \t\n\r]/,Pe=Te([" "," ",`
128`,"\r"],!1,!1),g=0,De=0,Ee=[{line:1,column:1}],de=0,ne=[],Z=0,me;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function be(){return t.substring(De,g)}function ut(){return Le(De,g)}function H($,ie){throw ie=ie!==void 0?ie:Le(De,g),P([je($)],t.substring(De,g),ie)}function yt($,ie){throw ie=ie!==void 0?ie:Le(De,g),I($,ie)}function Me($,ie){return{type:"literal",text:$,ignoreCase:ie}}function Te($,ie,ke){return{type:"class",parts:$,inverted:ie,ignoreCase:ke}}function Qe(){return{type:"any"}}function Ue(){return{type:"end"}}function je($){return{type:"other",description:$}}function At($){var ie=Ee[$],ke;if(ie)return ie;for(ke=$-1;!Ee[ke];)ke--;for(ie=Ee[ke],ie={line:ie.line,column:ie.column};ke<$;)t.charCodeAt(ke)===10?(ie.line++,ie.column=1):ie.column++,ke++;return Ee[$]=ie,ie}function Le($,ie){var ke=At($),Ne=At(ie);return{start:{offset:$,line:ke.line,column:ke.column},end:{offset:ie,line:Ne.line,column:Ne.column}}}function x($){g<de||(g>de&&(de=g,ne=[]),ne.push($))}function I($,ie){return new od($,null,null,ie)}function P($,ie,ke){return new od(od.buildMessage($,ie),$,ie,ke)}function y(){var $,ie,ke,Ne,st,ht,Ut,Xt;if($=g,ie=F(),ie!==r){for(ke=[],Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(C)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);Ne!==r;)ke.push(Ne),Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(C)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);ke!==r?(De=$,ie=w(ie,ke),$=ie):(g=$,$=r)}else g=$,$=r;return $}function F(){var $,ie,ke,Ne,st,ht;return $=g,t.charCodeAt(g)===33?(ie=v,g++):(ie=r,Z===0&&x(b)),ie!==r?(ke=F(),ke!==r?(De=$,ie=E(ke),$=ie):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(ie=R,g++):(ie=r,Z===0&&x(L)),ie!==r?(ke=X(),ke!==r?(Ne=y(),Ne!==r?(st=X(),st!==r?(t.charCodeAt(g)===41?(ht=_,g++):(ht=r,Z===0&&x(J)),ht!==r?(De=$,ie=re(Ne),$=ie):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=z())),$}function z(){var $,ie,ke,Ne,st;if($=g,ie=X(),ie!==r){if(ke=g,Ne=[],oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe)),st!==r)for(;st!==r;)Ne.push(st),oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe));else Ne=r;Ne!==r?ke=t.substring(ke,g):ke=Ne,ke!==r?(De=g,Ne=he(ke),Ne?Ne=void 0:Ne=r,Ne!==r?(De=$,ie=ve(ke),$=ie):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,ie;for(Z++,$=[],le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));ie!==r;)$.push(ie),le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));return Z--,$===r&&(ie=r,Z===0&&x(ge)),$}if(me=a(),me!==r&&g===t.length)return me;throw me!==r&&g<t.length&&x(Ue()),P(ne,de<t.length?t.charAt(de):null,de<t.length?Le(de,de+1):Le(de,de))}zz.exports={SyntaxError:od,parse:o5e}});var Zz=U(lS=>{var{parse:a5e}=Xz();lS.makeParser=(t=/[a-z]+/)=>(e,r)=>a5e(e,{queryPattern:t,checkFn:r});lS.parse=lS.makeParser()});var eX=U((JQt,$z)=>{"use strict";$z.exports={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]}});var iN=U((VQt,rX)=>{var uw=eX(),tX={};for(let t of Object.keys(uw))tX[uw[t]]=t;var cr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};rX.exports=cr;for(let t of Object.keys(cr)){if(!("channels"in cr[t]))throw new Error("missing channels property: "+t);if(!("labels"in cr[t]))throw new Error("missing channel labels property: "+t);if(cr[t].labels.length!==cr[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=cr[t];delete cr[t].channels,delete cr[t].labels,Object.defineProperty(cr[t],"channels",{value:e}),Object.defineProperty(cr[t],"labels",{value:r})}cr.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};cr.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),C=h-Math.min(u,A,p),w=function(v){return(h-v)/6/C+1/2};return C===0?(a=0,n=0):(n=C/h,e=w(u),r=w(A),o=w(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};cr.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=cr.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};cr.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function l5e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}cr.rgb.keyword=function(t){let e=tX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(uw)){let n=uw[a],u=l5e(t,n);u<r&&(r=u,o=a)}return o};cr.keyword.rgb=function(t){return uw[t]};cr.rgb.xyz=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};cr.rgb.lab=function(t){let e=cr.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};cr.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};cr.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};cr.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};cr.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};cr.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,C,w;switch(u){default:case 6:case 0:h=A,C=p,w=r;break;case 1:h=p,C=A,w=r;break;case 2:h=r,C=A,w=p;break;case 3:h=r,C=p,w=A;break;case 4:h=p,C=r,w=A;break;case 5:h=A,C=r,w=p;break}return[h*255,C*255,w*255]};cr.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};cr.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};cr.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};cr.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};cr.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};cr.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};cr.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?cr.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};cr.hsv.ansi16=function(t){return cr.rgb.ansi16(cr.hsv.rgb(t),t[2])};cr.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};cr.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};cr.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};cr.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};cr.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};cr.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};cr.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};cr.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};cr.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};cr.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};cr.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};cr.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};cr.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};cr.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};cr.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};cr.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};cr.gray.hsl=function(t){return[0,0,t[0]]};cr.gray.hsv=cr.gray.hsl;cr.gray.hwb=function(t){return[0,100,t[0]]};cr.gray.cmyk=function(t){return[0,0,0,t[0]]};cr.gray.lab=function(t){return[t[0],0,0]};cr.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};cr.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var iX=U((zQt,nX)=>{var cS=iN();function c5e(){let t={},e=Object.keys(cS);for(let r=e.length,o=0;o<r;o++)t[e[o]]={distance:-1,parent:null};return t}function u5e(t){let e=c5e(),r=[t];for(e[t].distance=0;r.length;){let o=r.pop(),a=Object.keys(cS[o]);for(let n=a.length,u=0;u<n;u++){let A=a[u],p=e[A];p.distance===-1&&(p.distance=e[o].distance+1,p.parent=o,r.unshift(A))}}return e}function A5e(t,e){return function(r){return e(t(r))}}function f5e(t,e){let r=[e[t].parent,t],o=cS[e[t].parent][t],a=e[t].parent;for(;e[a].parent;)r.unshift(e[a].parent),o=A5e(cS[e[a].parent][a],o),a=e[a].parent;return o.conversion=r,o}nX.exports=function(t){let e=u5e(t),r={},o=Object.keys(e);for(let a=o.length,n=0;n<a;n++){let u=o[n];e[u].parent!==null&&(r[u]=f5e(u,e))}return r}});var oX=U((XQt,sX)=>{var sN=iN(),p5e=iX(),Dy={},h5e=Object.keys(sN);function g5e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function d5e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u<n;u++)a[u]=Math.round(a[u]);return a};return"conversion"in t&&(e.conversion=t.conversion),e}h5e.forEach(t=>{Dy[t]={},Object.defineProperty(Dy[t],"channels",{value:sN[t].channels}),Object.defineProperty(Dy[t],"labels",{value:sN[t].labels});let e=p5e(t);Object.keys(e).forEach(o=>{let a=e[o];Dy[t][o]=d5e(a),Dy[t][o].raw=g5e(a)})});sX.exports=Dy});var Aw=U((ZQt,AX)=>{"use strict";var aX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,lX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},cX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},uS=t=>t,uX=(t,e,r)=>[t,e,r],Sy=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},oN,Py=(t,e,r,o)=>{oN===void 0&&(oN=oX());let a=o?10:0,n={};for(let[u,A]of Object.entries(oN)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function m5e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",Sy(e.color,"ansi",()=>Py(aX,"ansi16",uS,!1)),Sy(e.color,"ansi256",()=>Py(lX,"ansi256",uS,!1)),Sy(e.color,"ansi16m",()=>Py(cX,"rgb",uX,!1)),Sy(e.bgColor,"ansi",()=>Py(aX,"ansi16",uS,!0)),Sy(e.bgColor,"ansi256",()=>Py(lX,"ansi256",uS,!0)),Sy(e.bgColor,"ansi16m",()=>Py(cX,"rgb",uX,!0)),e}Object.defineProperty(AX,"exports",{enumerable:!0,get:m5e})});var pX=U(($Qt,fX)=>{"use strict";fX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o<a)}});var cN=U((ekt,gX)=>{"use strict";var y5e=Ie("os"),hX=Ie("tty"),_l=pX(),{env:ls}=process,Wp;_l("no-color")||_l("no-colors")||_l("color=false")||_l("color=never")?Wp=0:(_l("color")||_l("colors")||_l("color=true")||_l("color=always"))&&(Wp=1);"FORCE_COLOR"in ls&&(ls.FORCE_COLOR==="true"?Wp=1:ls.FORCE_COLOR==="false"?Wp=0:Wp=ls.FORCE_COLOR.length===0?1:Math.min(parseInt(ls.FORCE_COLOR,10),3));function aN(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function lN(t,e){if(Wp===0)return 0;if(_l("color=16m")||_l("color=full")||_l("color=truecolor"))return 3;if(_l("color=256"))return 2;if(t&&!e&&Wp===void 0)return 0;let r=Wp||0;if(ls.TERM==="dumb")return r;if(process.platform==="win32"){let o=y5e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ls)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in ls)||ls.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ls)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ls.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ls)return 1;if(ls.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ls){let o=parseInt((ls.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ls.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ls.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ls.TERM)||"COLORTERM"in ls?1:r}function E5e(t){let e=lN(t,t&&t.isTTY);return aN(e)}gX.exports={supportsColor:E5e,stdout:aN(lN(!0,hX.isatty(1))),stderr:aN(lN(!0,hX.isatty(2)))}});var mX=U((tkt,dX)=>{"use strict";var C5e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},I5e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r 128`,"\r"],!1,!1),g=0,De=0,Ce=[{line:1,column:1}],de=0,ne=[],Z=0,me;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function be(){return t.substring(De,g)}function ut(){return Oe(De,g)}function H($,ie){throw ie=ie!==void 0?ie:Oe(De,g),P([qe($)],t.substring(De,g),ie)}function yt($,ie){throw ie=ie!==void 0?ie:Oe(De,g),I($,ie)}function Me($,ie){return{type:"literal",text:$,ignoreCase:ie}}function Te($,ie,ke){return{type:"class",parts:$,inverted:ie,ignoreCase:ke}}function Qe(){return{type:"any"}}function _e(){return{type:"end"}}function qe($){return{type:"other",description:$}}function At($){var ie=Ce[$],ke;if(ie)return ie;for(ke=$-1;!Ce[ke];)ke--;for(ie=Ce[ke],ie={line:ie.line,column:ie.column};ke<$;)t.charCodeAt(ke)===10?(ie.line++,ie.column=1):ie.column++,ke++;return Ce[$]=ie,ie}function Oe($,ie){var ke=At($),Ne=At(ie);return{start:{offset:$,line:ke.line,column:ke.column},end:{offset:ie,line:Ne.line,column:Ne.column}}}function x($){g<de||(g>de&&(de=g,ne=[]),ne.push($))}function I($,ie){return new cd($,null,null,ie)}function P($,ie,ke){return new cd(cd.buildMessage($,ie),$,ie,ke)}function y(){var $,ie,ke,Ne,st,ht,Ut,Xt;if($=g,ie=F(),ie!==r){for(ke=[],Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(E)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);Ne!==r;)ke.push(Ne),Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(E)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);ke!==r?(De=$,ie=w(ie,ke),$=ie):(g=$,$=r)}else g=$,$=r;return $}function F(){var $,ie,ke,Ne,st,ht;return $=g,t.charCodeAt(g)===33?(ie=v,g++):(ie=r,Z===0&&x(b)),ie!==r?(ke=F(),ke!==r?(De=$,ie=C(ke),$=ie):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(ie=R,g++):(ie=r,Z===0&&x(L)),ie!==r?(ke=X(),ke!==r?(Ne=y(),Ne!==r?(st=X(),st!==r?(t.charCodeAt(g)===41?(ht=_,g++):(ht=r,Z===0&&x(V)),ht!==r?(De=$,ie=re(Ne),$=ie):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=J())),$}function J(){var $,ie,ke,Ne,st;if($=g,ie=X(),ie!==r){if(ke=g,Ne=[],oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe)),st!==r)for(;st!==r;)Ne.push(st),oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe));else Ne=r;Ne!==r?ke=t.substring(ke,g):ke=Ne,ke!==r?(De=g,Ne=he(ke),Ne?Ne=void 0:Ne=r,Ne!==r?(De=$,ie=ve(ke),$=ie):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,ie;for(Z++,$=[],le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));ie!==r;)$.push(ie),le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));return Z--,$===r&&(ie=r,Z===0&&x(ge)),$}if(me=a(),me!==r&&g===t.length)return me;throw me!==r&&g<t.length&&x(_e()),P(ne,de<t.length?t.charAt(de):null,de<t.length?Oe(de,de+1):Oe(de,de))}rX.exports={SyntaxError:cd,parse:m9e}});var iX=U(gS=>{var{parse:y9e}=nX();gS.makeParser=(t=/[a-z]+/)=>(e,r)=>y9e(e,{queryPattern:t,checkFn:r});gS.parse=gS.makeParser()});var oX=U((lkt,sX)=>{"use strict";sX.exports={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]}});var sN=U((ckt,lX)=>{var hw=oX(),aX={};for(let t of Object.keys(hw))aX[hw[t]]=t;var cr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};lX.exports=cr;for(let t of Object.keys(cr)){if(!("channels"in cr[t]))throw new Error("missing channels property: "+t);if(!("labels"in cr[t]))throw new Error("missing channel labels property: "+t);if(cr[t].labels.length!==cr[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=cr[t];delete cr[t].channels,delete cr[t].labels,Object.defineProperty(cr[t],"channels",{value:e}),Object.defineProperty(cr[t],"labels",{value:r})}cr.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};cr.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),E=h-Math.min(u,A,p),w=function(v){return(h-v)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=w(u),r=w(A),o=w(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};cr.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=cr.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};cr.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function C9e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}cr.rgb.keyword=function(t){let e=aX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(hw)){let n=hw[a],u=C9e(t,n);u<r&&(r=u,o=a)}return o};cr.keyword.rgb=function(t){return hw[t]};cr.rgb.xyz=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};cr.rgb.lab=function(t){let e=cr.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};cr.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};cr.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};cr.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};cr.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};cr.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,E,w;switch(u){default:case 6:case 0:h=A,E=p,w=r;break;case 1:h=p,E=A,w=r;break;case 2:h=r,E=A,w=p;break;case 3:h=r,E=p,w=A;break;case 4:h=p,E=r,w=A;break;case 5:h=A,E=r,w=p;break}return[h*255,E*255,w*255]};cr.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};cr.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};cr.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};cr.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};cr.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};cr.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};cr.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?cr.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};cr.hsv.ansi16=function(t){return cr.rgb.ansi16(cr.hsv.rgb(t),t[2])};cr.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};cr.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};cr.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};cr.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};cr.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};cr.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};cr.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};cr.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};cr.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};cr.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};cr.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};cr.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};cr.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};cr.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};cr.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};cr.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};cr.gray.hsl=function(t){return[0,0,t[0]]};cr.gray.hsv=cr.gray.hsl;cr.gray.hwb=function(t){return[0,100,t[0]]};cr.gray.cmyk=function(t){return[0,0,0,t[0]]};cr.gray.lab=function(t){return[t[0],0,0]};cr.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};cr.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var uX=U((ukt,cX)=>{var dS=sN();function E9e(){let t={},e=Object.keys(dS);for(let r=e.length,o=0;o<r;o++)t[e[o]]={distance:-1,parent:null};return t}function I9e(t){let e=E9e(),r=[t];for(e[t].distance=0;r.length;){let o=r.pop(),a=Object.keys(dS[o]);for(let n=a.length,u=0;u<n;u++){let A=a[u],p=e[A];p.distance===-1&&(p.distance=e[o].distance+1,p.parent=o,r.unshift(A))}}return e}function w9e(t,e){return function(r){return e(t(r))}}function B9e(t,e){let r=[e[t].parent,t],o=dS[e[t].parent][t],a=e[t].parent;for(;e[a].parent;)r.unshift(e[a].parent),o=w9e(dS[e[a].parent][a],o),a=e[a].parent;return o.conversion=r,o}cX.exports=function(t){let e=I9e(t),r={},o=Object.keys(e);for(let a=o.length,n=0;n<a;n++){let u=o[n];e[u].parent!==null&&(r[u]=B9e(u,e))}return r}});var fX=U((Akt,AX)=>{var oN=sN(),v9e=uX(),Qy={},D9e=Object.keys(oN);function S9e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function P9e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u<n;u++)a[u]=Math.round(a[u]);return a};return"conversion"in t&&(e.conversion=t.conversion),e}D9e.forEach(t=>{Qy[t]={},Object.defineProperty(Qy[t],"channels",{value:oN[t].channels}),Object.defineProperty(Qy[t],"labels",{value:oN[t].labels});let e=v9e(t);Object.keys(e).forEach(o=>{let a=e[o];Qy[t][o]=P9e(a),Qy[t][o].raw=S9e(a)})});AX.exports=Qy});var gw=U((fkt,mX)=>{"use strict";var pX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,hX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},gX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},mS=t=>t,dX=(t,e,r)=>[t,e,r],ky=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},aN,Fy=(t,e,r,o)=>{aN===void 0&&(aN=fX());let a=o?10:0,n={};for(let[u,A]of Object.entries(aN)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function x9e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",ky(e.color,"ansi",()=>Fy(pX,"ansi16",mS,!1)),ky(e.color,"ansi256",()=>Fy(hX,"ansi256",mS,!1)),ky(e.color,"ansi16m",()=>Fy(gX,"rgb",dX,!1)),ky(e.bgColor,"ansi",()=>Fy(pX,"ansi16",mS,!0)),ky(e.bgColor,"ansi256",()=>Fy(hX,"ansi256",mS,!0)),ky(e.bgColor,"ansi16m",()=>Fy(gX,"rgb",dX,!0)),e}Object.defineProperty(mX,"exports",{enumerable:!0,get:x9e})});var CX=U((pkt,yX)=>{"use strict";yX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o<a)}});var uN=U((hkt,IX)=>{"use strict";var b9e=Ie("os"),EX=Ie("tty"),jl=CX(),{env:ls}=process,Yp;jl("no-color")||jl("no-colors")||jl("color=false")||jl("color=never")?Yp=0:(jl("color")||jl("colors")||jl("color=true")||jl("color=always"))&&(Yp=1);"FORCE_COLOR"in ls&&(ls.FORCE_COLOR==="true"?Yp=1:ls.FORCE_COLOR==="false"?Yp=0:Yp=ls.FORCE_COLOR.length===0?1:Math.min(parseInt(ls.FORCE_COLOR,10),3));function lN(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function cN(t,e){if(Yp===0)return 0;if(jl("color=16m")||jl("color=full")||jl("color=truecolor"))return 3;if(jl("color=256"))return 2;if(t&&!e&&Yp===void 0)return 0;let r=Yp||0;if(ls.TERM==="dumb")return r;if(process.platform==="win32"){let o=b9e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ls)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in ls)||ls.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ls)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ls.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ls)return 1;if(ls.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ls){let o=parseInt((ls.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ls.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ls.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ls.TERM)||"COLORTERM"in ls?1:r}function Q9e(t){let e=cN(t,t&&t.isTTY);return lN(e)}IX.exports={supportsColor:Q9e,stdout:lN(cN(!0,EX.isatty(1))),stderr:lN(cN(!0,EX.isatty(2)))}});var BX=U((gkt,wX)=>{"use strict";var k9e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},F9e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r
129`:` 129`:`
130`)+r,a=o+1,o=t.indexOf(` 130`)+r,a=o+1,o=t.indexOf(`
131`,a)}while(o!==-1);return n+=t.substr(a),n};dX.exports={stringReplaceAll:C5e,stringEncaseCRLFWithFirstIndex:I5e}});var wX=U((rkt,IX)=>{"use strict";var w5e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,yX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,B5e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,v5e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,D5e=new Map([["n",` 131`,a)}while(o!==-1);return n+=t.substr(a),n};wX.exports={stringReplaceAll:k9e,stringEncaseCRLFWithFirstIndex:F9e}});var xX=U((dkt,PX)=>{"use strict";var R9e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,vX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,T9e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,N9e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,L9e=new Map([["n",`
132`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function CX(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):D5e.get(t)||t}function S5e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(B5e))r.push(a[2].replace(v5e,(A,p,h)=>p?CX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function P5e(t){yX.lastIndex=0;let e=[],r;for(;(r=yX.exec(t))!==null;){let o=r[1];if(r[2]){let a=S5e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function EX(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}IX.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(w5e,(n,u,A,p,h,C)=>{if(u)a.push(CX(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:EX(t,r)(w)),r.push({inverse:A,styles:P5e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(EX(t,r)(a.join(""))),a=[],r.pop()}else a.push(C)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var gN=U((nkt,SX)=>{"use strict";var fw=Aw(),{stdout:AN,stderr:fN}=cN(),{stringReplaceAll:x5e,stringEncaseCRLFWithFirstIndex:b5e}=mX(),BX=["ansi","ansi","ansi256","ansi16m"],xy=Object.create(null),Q5e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=AN?AN.level:0;t.level=e.level===void 0?r:e.level},pN=class{constructor(e){return vX(e)}},vX=t=>{let e={};return Q5e(e,t),e.template=(...r)=>R5e(e.template,...r),Object.setPrototypeOf(e,AS.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=pN,e.template};function AS(t){return vX(t)}for(let[t,e]of Object.entries(fw))xy[t]={get(){let r=fS(this,hN(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};xy.visible={get(){let t=fS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var DX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of DX)xy[t]={get(){let{level:e}=this;return function(...r){let o=hN(fw.color[BX[e]][t](...r),fw.color.close,this._styler);return fS(this,o,this._isEmpty)}}};for(let t of DX){let e="bg"+t[0].toUpperCase()+t.slice(1);xy[e]={get(){let{level:r}=this;return function(...o){let a=hN(fw.bgColor[BX[r]][t](...o),fw.bgColor.close,this._styler);return fS(this,a,this._isEmpty)}}}}var k5e=Object.defineProperties(()=>{},{...xy,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),hN=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},fS=(t,e,r)=>{let o=(...a)=>F5e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=k5e,o._generator=t,o._styler=e,o._isEmpty=r,o},F5e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=x5e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` 132`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function SX(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):L9e.get(t)||t}function O9e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(T9e))r.push(a[2].replace(N9e,(A,p,h)=>p?SX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function M9e(t){vX.lastIndex=0;let e=[],r;for(;(r=vX.exec(t))!==null;){let o=r[1];if(r[2]){let a=O9e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function DX(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}PX.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(R9e,(n,u,A,p,h,E)=>{if(u)a.push(SX(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:DX(t,r)(w)),r.push({inverse:A,styles:M9e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(DX(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var dN=U((mkt,FX)=>{"use strict";var dw=gw(),{stdout:fN,stderr:pN}=uN(),{stringReplaceAll:U9e,stringEncaseCRLFWithFirstIndex:_9e}=BX(),bX=["ansi","ansi","ansi256","ansi16m"],Ry=Object.create(null),H9e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=fN?fN.level:0;t.level=e.level===void 0?r:e.level},hN=class{constructor(e){return QX(e)}},QX=t=>{let e={};return H9e(e,t),e.template=(...r)=>G9e(e.template,...r),Object.setPrototypeOf(e,yS.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=hN,e.template};function yS(t){return QX(t)}for(let[t,e]of Object.entries(dw))Ry[t]={get(){let r=CS(this,gN(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Ry.visible={get(){let t=CS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var kX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of kX)Ry[t]={get(){let{level:e}=this;return function(...r){let o=gN(dw.color[bX[e]][t](...r),dw.color.close,this._styler);return CS(this,o,this._isEmpty)}}};for(let t of kX){let e="bg"+t[0].toUpperCase()+t.slice(1);Ry[e]={get(){let{level:r}=this;return function(...o){let a=gN(dw.bgColor[bX[r]][t](...o),dw.bgColor.close,this._styler);return CS(this,a,this._isEmpty)}}}}var q9e=Object.defineProperties(()=>{},{...Ry,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),gN=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},CS=(t,e,r)=>{let o=(...a)=>j9e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=q9e,o._generator=t,o._styler=e,o._isEmpty=r,o},j9e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=U9e(e,r.close,r.open),r=r.parent;let n=e.indexOf(`
133`);return n!==-1&&(e=b5e(e,a,o,n)),o+e+a},uN,R5e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return uN===void 0&&(uN=wX()),uN(t,a.join(""))};Object.defineProperties(AS.prototype,xy);var pw=AS();pw.supportsColor=AN;pw.stderr=AS({level:fN?fN.level:0});pw.stderr.supportsColor=fN;pw.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};SX.exports=pw});var pS=U(Hl=>{"use strict";Hl.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Hl.find=(t,e)=>t.nodes.find(r=>r.type===e);Hl.exceedsLimit=(t,e,r=1,o)=>o===!1||!Hl.isInteger(t)||!Hl.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;Hl.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Hl.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;Hl.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Hl.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Hl.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Hl.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a<o.length;a++){let n=o[a];Array.isArray(n)?r(n,e):n!==void 0&&e.push(n)}return e};return r(t),e}});var hS=U((skt,xX)=>{"use strict";var PX=pS();xX.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&PX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&PX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var QX=U((okt,bX)=>{"use strict";bX.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var UX=U((akt,MX)=>{"use strict";var kX=QX(),ad=(t,e,r)=>{if(kX(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(kX(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(ad.cache.hasOwnProperty(p))return ad.cache[p].result;let h=Math.min(t,e),C=Math.max(t,e);if(Math.abs(h-C)===1){let R=t+"|"+e;return o.capture?`(${R})`:o.wrap===!1?R:`(?:${R})`}let w=OX(t)||OX(e),v={min:t,max:e,a:h,b:C},b=[],E=[];if(w&&(v.isPadded=w,v.maxLen=String(v.max).length),h<0){let R=C<0?Math.abs(C):1;E=FX(R,Math.abs(h),v,o),h=v.a=0}return C>=0&&(b=FX(h,C,v,o)),v.negatives=E,v.positives=b,v.result=T5e(E,b,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&b.length+E.length>1&&(v.result=`(?:${v.result})`),ad.cache[p]=v,v.result};function T5e(t,e,r){let o=dN(t,e,"-",!1,r)||[],a=dN(e,t,"",!1,r)||[],n=dN(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function N5e(t,e){let r=1,o=1,a=TX(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=TX(t,r);for(a=NX(e+1,o)-1;t<a&&a<=e;)n.add(a),o+=1,a=NX(e+1,o)-1;return n=[...n],n.sort(M5e),n}function L5e(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let o=O5e(t,e),a=o.length,n="",u=0;for(let A=0;A<a;A++){let[p,h]=o[A];p===h?n+=p:p!=="0"||h!=="9"?n+=U5e(p,h,r):u++}return u&&(n+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:n,count:[u],digits:a}}function FX(t,e,r,o){let a=N5e(t,e),n=[],u=t,A;for(let p=0;p<a.length;p++){let h=a[p],C=L5e(String(u),String(h),o),w="";if(!r.isPadded&&A&&A.pattern===C.pattern){A.count.length>1&&A.count.pop(),A.count.push(C.count[0]),A.string=A.pattern+LX(A.count),u=h+1;continue}r.isPadded&&(w=_5e(h,r,o)),C.string=w+C.pattern+LX(C.count),n.push(C),u=h+1,A=C}return n}function dN(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!RX(e,"string",A)&&n.push(r+A),o&&RX(e,"string",A)&&n.push(r+A)}return n}function O5e(t,e){let r=[];for(let o=0;o<t.length;o++)r.push([t[o],e[o]]);return r}function M5e(t,e){return t>e?1:e>t?-1:0}function RX(t,e,r){return t.some(o=>o[e]===r)}function TX(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function NX(t,e){return t-t%Math.pow(10,e)}function LX(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function U5e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function OX(t){return/^-?(0+)\d/.test(t)}function _5e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}ad.cache={};ad.clearCache=()=>ad.cache={};MX.exports=ad});var EN=U((lkt,KX)=>{"use strict";var H5e=Ie("util"),qX=UX(),_X=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),q5e=t=>e=>t===!0?Number(e):String(e),mN=t=>typeof t=="number"||typeof t=="string"&&t!=="",hw=t=>Number.isInteger(+t),yN=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},j5e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,G5e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},HX=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},W5e=(t,e)=>{t.negatives.sort((u,A)=>u<A?-1:u>A?1:0),t.positives.sort((u,A)=>u<A?-1:u>A?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},jX=(t,e,r,o)=>{if(r)return qX(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},GX=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return qX(t,e,r)},WX=(...t)=>new RangeError("Invalid range arguments: "+H5e.inspect(...t)),YX=(t,e,r)=>{if(r.strictRanges===!0)throw WX([t,e]);return[]},Y5e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},K5e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw WX([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let C=yN(A)||yN(p)||yN(h),w=C?Math.max(A.length,p.length,h.length):0,v=C===!1&&j5e(t,e,o)===!1,b=o.transform||q5e(v);if(o.toRegex&&r===1)return jX(HX(t,w),HX(e,w),!0,o);let E={negatives:[],positives:[]},R=J=>E[J<0?"negatives":"positives"].push(Math.abs(J)),L=[],_=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?R(a):L.push(G5e(b(a,_),w,v)),a=u?a-r:a+r,_++;return o.toRegex===!0?r>1?W5e(E,o):GX(L,null,{wrap:!1,...o}):L},J5e=(t,e,r=1,o={})=>{if(!hw(t)&&t.length>1||!hw(e)&&e.length>1)return YX(t,e,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return jX(p,h,!1,o);let C=[],w=0;for(;A?n>=u:n<=u;)C.push(a(n,w)),n=A?n-r:n+r,w++;return o.toRegex===!0?GX(C,null,{wrap:!1,options:o}):C},gS=(t,e,r,o={})=>{if(e==null&&mN(t))return[t];if(!mN(t)||!mN(e))return YX(t,e,o);if(typeof r=="function")return gS(t,e,1,{transform:r});if(_X(r))return gS(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,hw(r)?hw(t)&&hw(e)?K5e(t,e,r,a):J5e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!_X(r)?Y5e(r,a):gS(t,e,1,r)};KX.exports=gS});var zX=U((ckt,VX)=>{"use strict";var V5e=EN(),JX=pS(),z5e=(t,e={})=>{let r=(o,a={})=>{let n=JX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let C=JX.reduce(o.nodes),w=V5e(...C,{...e,wrap:!1,toRegex:!0});if(w.length!==0)return C.length>1&&w.length>1?`(${w})`:w}if(o.nodes)for(let C of o.nodes)h+=r(C,o);return h};return r(t)};VX.exports=z5e});var $X=U((ukt,ZX)=>{"use strict";var X5e=EN(),XX=hS(),by=pS(),ld=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?by.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(ld(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?ld(a,n,r):a+n);return by.flatten(o)},Z5e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(ld(A.pop(),XX(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(ld(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let w=by.reduce(a.nodes);if(by.exceedsLimit(...w,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=X5e(...w,e);v.length===0&&(v=XX(a,e)),A.push(ld(A.pop(),v)),a.nodes=[];return}let p=by.encloseBrace(a),h=a.queue,C=a;for(;C.type!=="brace"&&C.type!=="root"&&C.parent;)C=C.parent,h=C.queue;for(let w=0;w<a.nodes.length;w++){let v=a.nodes[w];if(v.type==="comma"&&a.type==="brace"){w===1&&h.push(""),h.push("");continue}if(v.type==="close"){A.push(ld(A.pop(),h,p));continue}if(v.value&&v.type!=="open"){h.push(ld(h.pop(),v.value));continue}v.nodes&&o(v,a)}return h};return by.flatten(o(t))};ZX.exports=Z5e});var tZ=U((Akt,eZ)=>{"use strict";eZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` 133`);return n!==-1&&(e=_9e(e,a,o,n)),o+e+a},AN,G9e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return AN===void 0&&(AN=xX()),AN(t,a.join(""))};Object.defineProperties(yS.prototype,Ry);var mw=yS();mw.supportsColor=fN;mw.stderr=yS({level:pN?pN.level:0});mw.stderr.supportsColor=pN;mw.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};FX.exports=mw});var ES=U(Gl=>{"use strict";Gl.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Gl.find=(t,e)=>t.nodes.find(r=>r.type===e);Gl.exceedsLimit=(t,e,r=1,o)=>o===!1||!Gl.isInteger(t)||!Gl.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;Gl.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Gl.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;Gl.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Gl.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Gl.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Gl.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a<o.length;a++){let n=o[a];Array.isArray(n)?r(n,e):n!==void 0&&e.push(n)}return e};return r(t),e}});var IS=U((Ckt,TX)=>{"use strict";var RX=ES();TX.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&RX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&RX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var LX=U((Ekt,NX)=>{"use strict";NX.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var WX=U((Ikt,GX)=>{"use strict";var OX=LX(),ud=(t,e,r)=>{if(OX(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(OX(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(ud.cache.hasOwnProperty(p))return ud.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let R=t+"|"+e;return o.capture?`(${R})`:o.wrap===!1?R:`(?:${R})`}let w=jX(t)||jX(e),v={min:t,max:e,a:h,b:E},b=[],C=[];if(w&&(v.isPadded=w,v.maxLen=String(v.max).length),h<0){let R=E<0?Math.abs(E):1;C=MX(R,Math.abs(h),v,o),h=v.a=0}return E>=0&&(b=MX(h,E,v,o)),v.negatives=C,v.positives=b,v.result=W9e(C,b,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&b.length+C.length>1&&(v.result=`(?:${v.result})`),ud.cache[p]=v,v.result};function W9e(t,e,r){let o=mN(t,e,"-",!1,r)||[],a=mN(e,t,"",!1,r)||[],n=mN(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function Y9e(t,e){let r=1,o=1,a=_X(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=_X(t,r);for(a=HX(e+1,o)-1;t<a&&a<=e;)n.add(a),o+=1,a=HX(e+1,o)-1;return n=[...n],n.sort(J9e),n}function K9e(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let o=V9e(t,e),a=o.length,n="",u=0;for(let A=0;A<a;A++){let[p,h]=o[A];p===h?n+=p:p!=="0"||h!=="9"?n+=z9e(p,h,r):u++}return u&&(n+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:n,count:[u],digits:a}}function MX(t,e,r,o){let a=Y9e(t,e),n=[],u=t,A;for(let p=0;p<a.length;p++){let h=a[p],E=K9e(String(u),String(h),o),w="";if(!r.isPadded&&A&&A.pattern===E.pattern){A.count.length>1&&A.count.pop(),A.count.push(E.count[0]),A.string=A.pattern+qX(A.count),u=h+1;continue}r.isPadded&&(w=X9e(h,r,o)),E.string=w+E.pattern+qX(E.count),n.push(E),u=h+1,A=E}return n}function mN(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!UX(e,"string",A)&&n.push(r+A),o&&UX(e,"string",A)&&n.push(r+A)}return n}function V9e(t,e){let r=[];for(let o=0;o<t.length;o++)r.push([t[o],e[o]]);return r}function J9e(t,e){return t>e?1:e>t?-1:0}function UX(t,e,r){return t.some(o=>o[e]===r)}function _X(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function HX(t,e){return t-t%Math.pow(10,e)}function qX(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function z9e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function jX(t){return/^-?(0+)\d/.test(t)}function X9e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}ud.cache={};ud.clearCache=()=>ud.cache={};GX.exports=ud});var EN=U((wkt,$X)=>{"use strict";var Z9e=Ie("util"),VX=WX(),YX=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),$9e=t=>e=>t===!0?Number(e):String(e),yN=t=>typeof t=="number"||typeof t=="string"&&t!=="",yw=t=>Number.isInteger(+t),CN=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},e5e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,t5e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},KX=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},r5e=(t,e)=>{t.negatives.sort((u,A)=>u<A?-1:u>A?1:0),t.positives.sort((u,A)=>u<A?-1:u>A?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},JX=(t,e,r,o)=>{if(r)return VX(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},zX=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return VX(t,e,r)},XX=(...t)=>new RangeError("Invalid range arguments: "+Z9e.inspect(...t)),ZX=(t,e,r)=>{if(r.strictRanges===!0)throw XX([t,e]);return[]},n5e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},i5e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw XX([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=CN(A)||CN(p)||CN(h),w=E?Math.max(A.length,p.length,h.length):0,v=E===!1&&e5e(t,e,o)===!1,b=o.transform||$9e(v);if(o.toRegex&&r===1)return JX(KX(t,w),KX(e,w),!0,o);let C={negatives:[],positives:[]},R=V=>C[V<0?"negatives":"positives"].push(Math.abs(V)),L=[],_=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?R(a):L.push(t5e(b(a,_),w,v)),a=u?a-r:a+r,_++;return o.toRegex===!0?r>1?r5e(C,o):zX(L,null,{wrap:!1,...o}):L},s5e=(t,e,r=1,o={})=>{if(!yw(t)&&t.length>1||!yw(e)&&e.length>1)return ZX(t,e,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return JX(p,h,!1,o);let E=[],w=0;for(;A?n>=u:n<=u;)E.push(a(n,w)),n=A?n-r:n+r,w++;return o.toRegex===!0?zX(E,null,{wrap:!1,options:o}):E},wS=(t,e,r,o={})=>{if(e==null&&yN(t))return[t];if(!yN(t)||!yN(e))return ZX(t,e,o);if(typeof r=="function")return wS(t,e,1,{transform:r});if(YX(r))return wS(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,yw(r)?yw(t)&&yw(e)?i5e(t,e,r,a):s5e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!YX(r)?n5e(r,a):wS(t,e,1,r)};$X.exports=wS});var rZ=U((Bkt,tZ)=>{"use strict";var o5e=EN(),eZ=ES(),a5e=(t,e={})=>{let r=(o,a={})=>{let n=eZ.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let E=eZ.reduce(o.nodes),w=o5e(...E,{...e,wrap:!1,toRegex:!0});if(w.length!==0)return E.length>1&&w.length>1?`(${w})`:w}if(o.nodes)for(let E of o.nodes)h+=r(E,o);return h};return r(t)};tZ.exports=a5e});var sZ=U((vkt,iZ)=>{"use strict";var l5e=EN(),nZ=IS(),Ty=ES(),Ad=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Ty.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(Ad(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?Ad(a,n,r):a+n);return Ty.flatten(o)},c5e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(Ad(A.pop(),nZ(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(Ad(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let w=Ty.reduce(a.nodes);if(Ty.exceedsLimit(...w,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=l5e(...w,e);v.length===0&&(v=nZ(a,e)),A.push(Ad(A.pop(),v)),a.nodes=[];return}let p=Ty.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let w=0;w<a.nodes.length;w++){let v=a.nodes[w];if(v.type==="comma"&&a.type==="brace"){w===1&&h.push(""),h.push("");continue}if(v.type==="close"){A.push(Ad(A.pop(),h,p));continue}if(v.value&&v.type!=="open"){h.push(Ad(h.pop(),v.value));continue}v.nodes&&o(v,a)}return h};return Ty.flatten(o(t))};iZ.exports=c5e});var aZ=U((Dkt,oZ)=>{"use strict";oZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
134`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var oZ=U((fkt,sZ)=>{"use strict";var $5e=hS(),{MAX_LENGTH:rZ,CHAR_BACKSLASH:CN,CHAR_BACKTICK:eGe,CHAR_COMMA:tGe,CHAR_DOT:rGe,CHAR_LEFT_PARENTHESES:nGe,CHAR_RIGHT_PARENTHESES:iGe,CHAR_LEFT_CURLY_BRACE:sGe,CHAR_RIGHT_CURLY_BRACE:oGe,CHAR_LEFT_SQUARE_BRACKET:nZ,CHAR_RIGHT_SQUARE_BRACKET:iZ,CHAR_DOUBLE_QUOTE:aGe,CHAR_SINGLE_QUOTE:lGe,CHAR_NO_BREAK_SPACE:cGe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:uGe}=tZ(),AGe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(rZ,r.maxLength):rZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,C=0,w=0,v,b={},E=()=>t[C++],R=L=>{if(L.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&L.type==="text"){A.value+=L.value;return}return u.nodes.push(L),L.parent=u,L.prev=A,A=L,L};for(R({type:"bos"});C<h;)if(u=n[n.length-1],v=E(),!(v===uGe||v===cGe)){if(v===CN){R({type:"text",value:(e.keepEscaping?v:"")+E()});continue}if(v===iZ){R({type:"text",value:"\\"+v});continue}if(v===nZ){p++;let L=!0,_;for(;C<h&&(_=E());){if(v+=_,_===nZ){p++;continue}if(_===CN){v+=E();continue}if(_===iZ&&(p--,p===0))break}R({type:"text",value:v});continue}if(v===nGe){u=R({type:"paren",nodes:[]}),n.push(u),R({type:"text",value:v});continue}if(v===iGe){if(u.type!=="paren"){R({type:"text",value:v});continue}u=n.pop(),R({type:"text",value:v}),u=n[n.length-1];continue}if(v===aGe||v===lGe||v===eGe){let L=v,_;for(e.keepQuotes!==!0&&(v="");C<h&&(_=E());){if(_===CN){v+=_+E();continue}if(_===L){e.keepQuotes===!0&&(v+=_);break}v+=_}R({type:"text",value:v});continue}if(v===sGe){w++;let _={type:"brace",open:!0,close:!1,dollar:A.value&&A.value.slice(-1)==="$"||u.dollar===!0,depth:w,commas:0,ranges:0,nodes:[]};u=R(_),n.push(u),R({type:"open",value:v});continue}if(v===oGe){if(u.type!=="brace"){R({type:"text",value:v});continue}let L="close";u=n.pop(),u.close=!0,R({type:L,value:v}),w--,u=n[n.length-1];continue}if(v===tGe&&w>0){if(u.ranges>0){u.ranges=0;let L=u.nodes.shift();u.nodes=[L,{type:"text",value:$5e(u)}]}R({type:"comma",value:v}),u.commas++;continue}if(v===rGe&&w>0&&u.commas===0){let L=u.nodes;if(w===0||L.length===0){R({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){L.pop();let _=L[L.length-1];_.value+=A.value+v,A=_,u.ranges--;continue}R({type:"dot",value:v});continue}R({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(J=>{J.nodes||(J.type==="open"&&(J.isOpen=!0),J.type==="close"&&(J.isClose=!0),J.nodes||(J.type="text"),J.invalid=!0)});let L=n[n.length-1],_=L.nodes.indexOf(u);L.nodes.splice(_,1,...u.nodes)}while(n.length>0);return R({type:"eos"}),a};sZ.exports=AGe});var cZ=U((pkt,lZ)=>{"use strict";var aZ=hS(),fGe=zX(),pGe=$X(),hGe=oZ(),rl=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=rl.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(rl.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};rl.parse=(t,e={})=>hGe(t,e);rl.stringify=(t,e={})=>aZ(typeof t=="string"?rl.parse(t,e):t,e);rl.compile=(t,e={})=>(typeof t=="string"&&(t=rl.parse(t,e)),fGe(t,e));rl.expand=(t,e={})=>{typeof t=="string"&&(t=rl.parse(t,e));let r=pGe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};rl.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?rl.compile(t,e):rl.expand(t,e);lZ.exports=rl});var gw=U((hkt,hZ)=>{"use strict";var gGe=Ie("path"),Ju="\\\\/",uZ=`[^${Ju}]`,wf="\\.",dGe="\\+",mGe="\\?",dS="\\/",yGe="(?=.)",AZ="[^/]",IN=`(?:${dS}|$)`,fZ=`(?:^|${dS})`,wN=`${wf}{1,2}${IN}`,EGe=`(?!${wf})`,CGe=`(?!${fZ}${wN})`,IGe=`(?!${wf}{0,1}${IN})`,wGe=`(?!${wN})`,BGe=`[^.${dS}]`,vGe=`${AZ}*?`,pZ={DOT_LITERAL:wf,PLUS_LITERAL:dGe,QMARK_LITERAL:mGe,SLASH_LITERAL:dS,ONE_CHAR:yGe,QMARK:AZ,END_ANCHOR:IN,DOTS_SLASH:wN,NO_DOT:EGe,NO_DOTS:CGe,NO_DOT_SLASH:IGe,NO_DOTS_SLASH:wGe,QMARK_NO_DOT:BGe,STAR:vGe,START_ANCHOR:fZ},DGe={...pZ,SLASH_LITERAL:`[${Ju}]`,QMARK:uZ,STAR:`${uZ}*?`,DOTS_SLASH:`${wf}{1,2}(?:[${Ju}]|$)`,NO_DOT:`(?!${wf})`,NO_DOTS:`(?!(?:^|[${Ju}])${wf}{1,2}(?:[${Ju}]|$))`,NO_DOT_SLASH:`(?!${wf}{0,1}(?:[${Ju}]|$))`,NO_DOTS_SLASH:`(?!${wf}{1,2}(?:[${Ju}]|$))`,QMARK_NO_DOT:`[^.${Ju}]`,START_ANCHOR:`(?:^|[${Ju}])`,END_ANCHOR:`(?:[${Ju}]|$)`},SGe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};hZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:SGe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:gGe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?DGe:pZ}}});var dw=U(Da=>{"use strict";var PGe=Ie("path"),xGe=process.platform==="win32",{REGEX_BACKSLASH:bGe,REGEX_REMOVE_BACKSLASH:QGe,REGEX_SPECIAL_CHARS:kGe,REGEX_SPECIAL_CHARS_GLOBAL:FGe}=gw();Da.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Da.hasRegexChars=t=>kGe.test(t);Da.isRegexChar=t=>t.length===1&&Da.hasRegexChars(t);Da.escapeRegex=t=>t.replace(FGe,"\\$1");Da.toPosixSlashes=t=>t.replace(bGe,"/");Da.removeBackslashes=t=>t.replace(QGe,e=>e==="\\"?"":e);Da.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Da.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:xGe===!0||PGe.sep==="\\";Da.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?Da.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};Da.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Da.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var wZ=U((dkt,IZ)=>{"use strict";var gZ=dw(),{CHAR_ASTERISK:BN,CHAR_AT:RGe,CHAR_BACKWARD_SLASH:mw,CHAR_COMMA:TGe,CHAR_DOT:vN,CHAR_EXCLAMATION_MARK:DN,CHAR_FORWARD_SLASH:CZ,CHAR_LEFT_CURLY_BRACE:SN,CHAR_LEFT_PARENTHESES:PN,CHAR_LEFT_SQUARE_BRACKET:NGe,CHAR_PLUS:LGe,CHAR_QUESTION_MARK:dZ,CHAR_RIGHT_CURLY_BRACE:OGe,CHAR_RIGHT_PARENTHESES:mZ,CHAR_RIGHT_SQUARE_BRACKET:MGe}=gw(),yZ=t=>t===CZ||t===mw,EZ=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},UGe=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,C=0,w=0,v=!1,b=!1,E=!1,R=!1,L=!1,_=!1,J=!1,re=!1,oe=!1,pe=!1,he=0,ve,ge,le={value:"",depth:0,isGlob:!1},Pe=()=>h>=o,g=()=>p.charCodeAt(h+1),De=()=>(ve=ge,p.charCodeAt(++h));for(;h<o;){ge=De();let me;if(ge===mw){J=le.backslashes=!0,ge=De(),ge===SN&&(_=!0);continue}if(_===!0||ge===SN){for(he++;Pe()!==!0&&(ge=De());){if(ge===mw){J=le.backslashes=!0,De();continue}if(ge===SN){he++;continue}if(_!==!0&&ge===vN&&(ge=De())===vN){if(v=le.isBrace=!0,E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(_!==!0&&ge===TGe){if(v=le.isBrace=!0,E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===OGe&&(he--,he===0)){_=!1,v=le.isBrace=!0,pe=!0;break}}if(a===!0)continue;break}if(ge===CZ){if(n.push(h),u.push(le),le={value:"",depth:0,isGlob:!1},pe===!0)continue;if(ve===vN&&h===C+1){C+=2;continue}w=h+1;continue}if(r.noext!==!0&&(ge===LGe||ge===RGe||ge===BN||ge===dZ||ge===DN)===!0&&g()===PN){if(E=le.isGlob=!0,R=le.isExtglob=!0,pe=!0,ge===DN&&h===C&&(oe=!0),a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===mw){J=le.backslashes=!0,ge=De();continue}if(ge===mZ){E=le.isGlob=!0,pe=!0;break}}continue}break}if(ge===BN){if(ve===BN&&(L=le.isGlobstar=!0),E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===dZ){if(E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===NGe){for(;Pe()!==!0&&(me=De());){if(me===mw){J=le.backslashes=!0,De();continue}if(me===MGe){b=le.isBracket=!0,E=le.isGlob=!0,pe=!0;break}}if(a===!0)continue;break}if(r.nonegate!==!0&&ge===DN&&h===C){re=le.negated=!0,C++;continue}if(r.noparen!==!0&&ge===PN){if(E=le.isGlob=!0,a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===PN){J=le.backslashes=!0,ge=De();continue}if(ge===mZ){pe=!0;break}}continue}break}if(E===!0){if(pe=!0,a===!0)continue;break}}r.noext===!0&&(R=!1,E=!1);let Ee=p,de="",ne="";C>0&&(de=p.slice(0,C),p=p.slice(C),w-=C),Ee&&E===!0&&w>0?(Ee=p.slice(0,w),ne=p.slice(w)):E===!0?(Ee="",ne=p):Ee=p,Ee&&Ee!==""&&Ee!=="/"&&Ee!==p&&yZ(Ee.charCodeAt(Ee.length-1))&&(Ee=Ee.slice(0,-1)),r.unescape===!0&&(ne&&(ne=gZ.removeBackslashes(ne)),Ee&&J===!0&&(Ee=gZ.removeBackslashes(Ee)));let Z={prefix:de,input:t,start:C,base:Ee,glob:ne,isBrace:v,isBracket:b,isGlob:E,isExtglob:R,isGlobstar:L,negated:re,negatedExtglob:oe};if(r.tokens===!0&&(Z.maxDepth=0,yZ(ge)||u.push(le),Z.tokens=u),r.parts===!0||r.tokens===!0){let me;for(let be=0;be<n.length;be++){let ut=me?me+1:C,H=n[be],yt=t.slice(ut,H);r.tokens&&(be===0&&C!==0?(u[be].isPrefix=!0,u[be].value=de):u[be].value=yt,EZ(u[be]),Z.maxDepth+=u[be].depth),(be!==0||yt!=="")&&A.push(yt),me=H}if(me&&me+1<t.length){let be=t.slice(me+1);A.push(be),r.tokens&&(u[u.length-1].value=be,EZ(u[u.length-1]),Z.maxDepth+=u[u.length-1].depth)}Z.slashes=n,Z.parts=A}return Z};IZ.exports=UGe});var DZ=U((mkt,vZ)=>{"use strict";var mS=gw(),nl=dw(),{MAX_LENGTH:yS,POSIX_REGEX_SOURCE:_Ge,REGEX_NON_SPECIAL_CHARS:HGe,REGEX_SPECIAL_CHARS_BACKREF:qGe,REPLACEMENTS:BZ}=mS,jGe=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>nl.escapeRegex(a)).join("..")}return r},Qy=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,xN=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=BZ[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(yS,r.maxLength):yS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=nl.isWindows(e),h=mS.globChars(p),C=mS.extglobChars(h),{DOT_LITERAL:w,PLUS_LITERAL:v,SLASH_LITERAL:b,ONE_CHAR:E,DOTS_SLASH:R,NO_DOT:L,NO_DOT_SLASH:_,NO_DOTS_SLASH:J,QMARK:re,QMARK_NO_DOT:oe,STAR:pe,START_ANCHOR:he}=h,ve=x=>`(${A}(?:(?!${he}${x.dot?R:w}).)*?)`,ge=r.dot?"":L,le=r.dot?re:oe,Pe=r.bash===!0?ve(r):pe;r.capture&&(Pe=`(${Pe})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=nl.removePrefix(t,g),a=t.length;let De=[],Ee=[],de=[],ne=n,Z,me=()=>g.index===a-1,be=g.peek=(x=1)=>t[g.index+x],ut=g.advance=()=>t[++g.index]||"",H=()=>t.slice(g.index+1),yt=(x="",I=0)=>{g.consumed+=x,g.index+=I},Me=x=>{g.output+=x.output!=null?x.output:x.value,yt(x.value)},Te=()=>{let x=1;for(;be()==="!"&&(be(2)!=="("||be(3)==="?");)ut(),g.start++,x++;return x%2===0?!1:(g.negated=!0,g.start++,!0)},Qe=x=>{g[x]++,de.push(x)},Ue=x=>{g[x]--,de.pop()},je=x=>{if(ne.type==="globstar"){let I=g.braces>0&&(x.type==="comma"||x.type==="brace"),P=x.extglob===!0||De.length&&(x.type==="pipe"||x.type==="paren");x.type!=="slash"&&x.type!=="paren"&&!I&&!P&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=Pe,g.output+=ne.output)}if(De.length&&x.type!=="paren"&&(De[De.length-1].inner+=x.value),(x.value||x.output)&&Me(x),ne&&ne.type==="text"&&x.type==="text"){ne.value+=x.value,ne.output=(ne.output||"")+x.value;return}x.prev=ne,u.push(x),ne=x},At=(x,I)=>{let P={...C[I],conditions:1,inner:""};P.prev=ne,P.parens=g.parens,P.output=g.output;let y=(r.capture?"(":"")+P.open;Qe("parens"),je({type:x,value:I,output:g.output?"":E}),je({type:"paren",extglob:!0,value:ut(),output:y}),De.push(P)},Le=x=>{let I=x.close+(r.capture?")":""),P;if(x.type==="negate"){let y=Pe;if(x.inner&&x.inner.length>1&&x.inner.includes("/")&&(y=ve(r)),(y!==Pe||me()||/^\)+$/.test(H()))&&(I=x.close=`)$))${y}`),x.inner.includes("*")&&(P=H())&&/^\.[^\\/.]+$/.test(P)){let F=xN(P,{...e,fastpaths:!1}).output;I=x.close=`)${F})${y})`}x.prev.type==="bos"&&(g.negatedExtglob=!0)}je({type:"paren",extglob:!0,value:Z,output:I}),Ue("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let x=!1,I=t.replace(qGe,(P,y,F,z,X,$)=>z==="\\"?(x=!0,P):z==="?"?y?y+z+(X?re.repeat(X.length):""):$===0?le+(X?re.repeat(X.length):""):re.repeat(F.length):z==="."?w.repeat(F.length):z==="*"?y?y+z+(X?Pe:""):Pe:y?P:`\\${P}`);return x===!0&&(r.unescape===!0?I=I.replace(/\\/g,""):I=I.replace(/\\+/g,P=>P.length%2===0?"\\\\":P?"\\":"")),I===t&&r.contains===!0?(g.output=t,g):(g.output=nl.wrapOutput(I,g,e),g)}for(;!me();){if(Z=ut(),Z==="\0")continue;if(Z==="\\"){let P=be();if(P==="/"&&r.bash!==!0||P==="."||P===";")continue;if(!P){Z+="\\",je({type:"text",value:Z});continue}let y=/^\\+/.exec(H()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(Z+="\\")),r.unescape===!0?Z=ut():Z+=ut(),g.brackets===0){je({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&Z===":"){let P=ne.value.slice(1);if(P.includes("[")&&(ne.posix=!0,P.includes(":"))){let y=ne.value.lastIndexOf("["),F=ne.value.slice(0,y),z=ne.value.slice(y+2),X=_Ge[z];if(X){ne.value=F+X,g.backtrack=!0,ut(),!n.output&&u.indexOf(ne)===1&&(n.output=E);continue}}}(Z==="["&&be()!==":"||Z==="-"&&be()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ne.value==="["||ne.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ne.value==="["&&(Z="^"),ne.value+=Z,Me({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=nl.escapeRegex(Z),ne.value+=Z,Me({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&je({type:"text",value:Z});continue}if(Z==="("){Qe("parens"),je({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Qy("opening","("));let P=De[De.length-1];if(P&&g.parens===P.parens+1){Le(De.pop());continue}je({type:"paren",value:Z,output:g.parens?")":"\\)"}),Ue("parens");continue}if(Z==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Qy("closing","]"));Z=`\\${Z}`}else Qe("brackets");je({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){je({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Qy("opening","["));je({type:"text",value:Z,output:`\\${Z}`});continue}Ue("brackets");let P=ne.value.slice(1);if(ne.posix!==!0&&P[0]==="^"&&!P.includes("/")&&(Z=`/${Z}`),ne.value+=Z,Me({value:Z}),r.literalBrackets===!1||nl.hasRegexChars(P))continue;let y=nl.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(Z==="{"&&r.nobrace!==!0){Qe("braces");let P={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ee.push(P),je(P);continue}if(Z==="}"){let P=Ee[Ee.length-1];if(r.nobrace===!0||!P){je({type:"text",value:Z,output:Z});continue}let y=")";if(P.dots===!0){let F=u.slice(),z=[];for(let X=F.length-1;X>=0&&(u.pop(),F[X].type!=="brace");X--)F[X].type!=="dots"&&z.unshift(F[X].value);y=jGe(z,r),g.backtrack=!0}if(P.comma!==!0&&P.dots!==!0){let F=g.output.slice(0,P.outputIndex),z=g.tokens.slice(P.tokensIndex);P.value=P.output="\\{",Z=y="\\}",g.output=F;for(let X of z)g.output+=X.output||X.value}je({type:"brace",value:Z,output:y}),Ue("braces"),Ee.pop();continue}if(Z==="|"){De.length>0&&De[De.length-1].conditions++,je({type:"text",value:Z});continue}if(Z===","){let P=Z,y=Ee[Ee.length-1];y&&de[de.length-1]==="braces"&&(y.comma=!0,P="|"),je({type:"comma",value:Z,output:P});continue}if(Z==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}je({type:"slash",value:Z,output:b});continue}if(Z==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=w);let P=Ee[Ee.length-1];ne.type="dots",ne.output+=Z,ne.value+=Z,P.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){je({type:"text",value:Z,output:w});continue}je({type:"dot",value:Z,output:w});continue}if(Z==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("qmark",Z);continue}if(ne&&ne.type==="paren"){let y=be(),F=Z;if(y==="<"&&!nl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(F=`\\${Z}`),je({type:"text",value:Z,output:F});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){je({type:"qmark",value:Z,output:oe});continue}je({type:"qmark",value:Z,output:re});continue}if(Z==="!"){if(r.noextglob!==!0&&be()==="("&&(be(2)!=="?"||!/[!=<:]/.test(be(3)))){At("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Te();continue}}if(Z==="+"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("plus",Z);continue}if(ne&&ne.value==="("||r.regex===!1){je({type:"plus",value:Z,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){je({type:"plus",value:Z});continue}je({type:"plus",value:v});continue}if(Z==="@"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){je({type:"at",extglob:!0,value:Z,output:""});continue}je({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let P=HGe.exec(H());P&&(Z+=P[0],g.index+=P[0].length),je({type:"text",value:Z});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=Z,ne.output=Pe,g.backtrack=!0,g.globstar=!0,yt(Z);continue}let x=H();if(r.noextglob!==!0&&/^\([^?]/.test(x)){At("star",Z);continue}if(ne.type==="star"){if(r.noglobstar===!0){yt(Z);continue}let P=ne.prev,y=P.prev,F=P.type==="slash"||P.type==="bos",z=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||x[0]&&x[0]!=="/")){je({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(P.type==="comma"||P.type==="brace"),$=De.length&&(P.type==="pipe"||P.type==="paren");if(!F&&P.type!=="paren"&&!X&&!$){je({type:"star",value:Z,output:""});continue}for(;x.slice(0,3)==="/**";){let ie=t[g.index+4];if(ie&&ie!=="/")break;x=x.slice(3),yt("/**",3)}if(P.type==="bos"&&me()){ne.type="globstar",ne.value+=Z,ne.output=ve(r),g.output=ne.output,g.globstar=!0,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&!z&&me()){g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=ve(r)+(r.strictSlashes?")":"|$)"),ne.value+=Z,g.globstar=!0,g.output+=P.output+ne.output,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&x[0]==="/"){let ie=x[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=`${ve(r)}${b}|${b}${ie})`,ne.value+=Z,g.output+=P.output+ne.output,g.globstar=!0,yt(Z+ut()),je({type:"slash",value:"/",output:""});continue}if(P.type==="bos"&&x[0]==="/"){ne.type="globstar",ne.value+=Z,ne.output=`(?:^|${b}|${ve(r)}${b})`,g.output=ne.output,g.globstar=!0,yt(Z+ut()),je({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=ve(r),ne.value+=Z,g.output+=ne.output,g.globstar=!0,yt(Z);continue}let I={type:"star",value:Z,output:Pe};if(r.bash===!0){I.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(I.output=ge+I.output),je(I);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){I.output=Z,je(I);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=_,ne.output+=_):r.dot===!0?(g.output+=J,ne.output+=J):(g.output+=ge,ne.output+=ge),be()!=="*"&&(g.output+=E,ne.output+=E)),je(I)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Qy("closing","]"));g.output=nl.escapeLast(g.output,"["),Ue("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Qy("closing",")"));g.output=nl.escapeLast(g.output,"("),Ue("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Qy("closing","}"));g.output=nl.escapeLast(g.output,"{"),Ue("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&je({type:"maybe_slash",value:"",output:`${b}?`}),g.backtrack===!0){g.output="";for(let x of g.tokens)g.output+=x.output!=null?x.output:x.value,x.suffix&&(g.output+=x.suffix)}return g};xN.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(yS,r.maxLength):yS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=BZ[t]||t;let n=nl.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:C,NO_DOTS:w,NO_DOTS_SLASH:v,STAR:b,START_ANCHOR:E}=mS.globChars(n),R=r.dot?w:C,L=r.dot?v:C,_=r.capture?"":"?:",J={negated:!1,prefix:""},re=r.bash===!0?".*?":b;r.capture&&(re=`(${re})`);let oe=ge=>ge.noglobstar===!0?re:`(${_}(?:(?!${E}${ge.dot?h:u}).)*?)`,pe=ge=>{switch(ge){case"*":return`${R}${p}${re}`;case".*":return`${u}${p}${re}`;case"*.*":return`${R}${re}${u}${p}${re}`;case"*/*":return`${R}${re}${A}${p}${L}${re}`;case"**":return R+oe(r);case"**/*":return`(?:${R}${oe(r)}${A})?${L}${p}${re}`;case"**/*.*":return`(?:${R}${oe(r)}${A})?${L}${re}${u}${p}${re}`;case"**/.*":return`(?:${R}${oe(r)}${A})?${u}${p}${re}`;default:{let le=/^(.*?)\.(\w+)$/.exec(ge);if(!le)return;let Pe=pe(le[1]);return Pe?Pe+u+le[2]:void 0}}},he=nl.removePrefix(t,J),ve=pe(he);return ve&&r.strictSlashes!==!0&&(ve+=`${A}?`),ve};vZ.exports=xN});var PZ=U((ykt,SZ)=>{"use strict";var GGe=Ie("path"),WGe=wZ(),bN=DZ(),QN=dw(),YGe=gw(),KGe=t=>t&&typeof t=="object"&&!Array.isArray(t),Oi=(t,e,r=!1)=>{if(Array.isArray(t)){let C=t.map(v=>Oi(v,e,r));return v=>{for(let b of C){let E=b(v);if(E)return E}return!1}}let o=KGe(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=QN.isWindows(e),u=o?Oi.compileRe(t,e):Oi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let C={...e,ignore:null,onMatch:null,onResult:null};p=Oi(a.ignore,C,r)}let h=(C,w=!1)=>{let{isMatch:v,match:b,output:E}=Oi.test(C,u,e,{glob:t,posix:n}),R={glob:t,state:A,regex:u,posix:n,input:C,output:E,match:b,isMatch:v};return typeof a.onResult=="function"&&a.onResult(R),v===!1?(R.isMatch=!1,w?R:!1):p(C)?(typeof a.onIgnore=="function"&&a.onIgnore(R),R.isMatch=!1,w?R:!1):(typeof a.onMatch=="function"&&a.onMatch(R),w?R:!0)};return r&&(h.state=A),h};Oi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?QN.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Oi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Oi.matchBase=(t,e,r,o=QN.isWindows(r))=>(e instanceof RegExp?e:Oi.makeRe(e,r)).test(GGe.basename(t));Oi.isMatch=(t,e,r)=>Oi(e,r)(t);Oi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Oi.parse(r,e)):bN(t,{...e,fastpaths:!1});Oi.scan=(t,e)=>WGe(t,e);Oi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Oi.toRegex(A,e);return o===!0&&(p.state=t),p};Oi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=bN.fastpaths(t,e)),a.output||(a=bN(t,e)),Oi.compileRe(a,e,r,o)};Oi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Oi.constants=YGe;SZ.exports=Oi});var bZ=U((Ekt,xZ)=>{"use strict";xZ.exports=PZ()});var Jo=U((Ckt,RZ)=>{"use strict";var kZ=Ie("util"),FZ=cZ(),Vu=bZ(),kN=dw(),QZ=t=>t===""||t==="./",hi=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=C=>{n.add(C.output),r&&r.onResult&&r.onResult(C)};for(let C=0;C<e.length;C++){let w=Vu(String(e[C]),{...r,onResult:A},!0),v=w.state.negated||w.state.negatedExtglob;v&&u++;for(let b of t){let E=w(b,!0);!(v?!E.isMatch:E.isMatch)||(v?o.add(E.output):(o.delete(E.output),a.add(E.output)))}}let h=(u===e.length?[...n]:[...a]).filter(C=>!o.has(C));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(C=>C.replace(/\\/g,"")):e}return h};hi.match=hi;hi.matcher=(t,e)=>Vu(t,e);hi.isMatch=(t,e,r)=>Vu(e,r)(t);hi.any=hi.isMatch;hi.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(hi(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};hi.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${kZ.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>hi.contains(t,o,r));if(typeof e=="string"){if(QZ(t)||QZ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return hi.isMatch(t,e,{...r,contains:!0})};hi.matchKeys=(t,e,r)=>{if(!kN.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=hi(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};hi.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Vu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};hi.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Vu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};hi.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${kZ.inspect(t)}"`);return[].concat(e).every(o=>Vu(o,r)(t))};hi.capture=(t,e,r)=>{let o=kN.isWindows(r),n=Vu.makeRe(String(t),{...r,capture:!0}).exec(o?kN.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};hi.makeRe=(...t)=>Vu.makeRe(...t);hi.scan=(...t)=>Vu.scan(...t);hi.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of FZ(String(o),e))r.push(Vu.parse(a,e));return r};hi.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:FZ(t,e)};hi.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return hi.braces(t,{...e,expand:!0})};RZ.exports=hi});var NZ=U((Ikt,TZ)=>{"use strict";TZ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var ES=U((wkt,LZ)=>{"use strict";var JGe=NZ();LZ.exports=t=>typeof t=="string"?t.replace(JGe(),""):t});var MZ=U((Bkt,OZ)=>{function VGe(){this.__data__=[],this.size=0}OZ.exports=VGe});var ky=U((vkt,UZ)=>{function zGe(t,e){return t===e||t!==t&&e!==e}UZ.exports=zGe});var yw=U((Dkt,_Z)=>{var XGe=ky();function ZGe(t,e){for(var r=t.length;r--;)if(XGe(t[r][0],e))return r;return-1}_Z.exports=ZGe});var qZ=U((Skt,HZ)=>{var $Ge=yw(),e7e=Array.prototype,t7e=e7e.splice;function r7e(t){var e=this.__data__,r=$Ge(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():t7e.call(e,r,1),--this.size,!0}HZ.exports=r7e});var GZ=U((Pkt,jZ)=>{var n7e=yw();function i7e(t){var e=this.__data__,r=n7e(e,t);return r<0?void 0:e[r][1]}jZ.exports=i7e});var YZ=U((xkt,WZ)=>{var s7e=yw();function o7e(t){return s7e(this.__data__,t)>-1}WZ.exports=o7e});var JZ=U((bkt,KZ)=>{var a7e=yw();function l7e(t,e){var r=this.__data__,o=a7e(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}KZ.exports=l7e});var Ew=U((Qkt,VZ)=>{var c7e=MZ(),u7e=qZ(),A7e=GZ(),f7e=YZ(),p7e=JZ();function Fy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Fy.prototype.clear=c7e;Fy.prototype.delete=u7e;Fy.prototype.get=A7e;Fy.prototype.has=f7e;Fy.prototype.set=p7e;VZ.exports=Fy});var XZ=U((kkt,zZ)=>{var h7e=Ew();function g7e(){this.__data__=new h7e,this.size=0}zZ.exports=g7e});var $Z=U((Fkt,ZZ)=>{function d7e(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}ZZ.exports=d7e});var t$=U((Rkt,e$)=>{function m7e(t){return this.__data__.get(t)}e$.exports=m7e});var n$=U((Tkt,r$)=>{function y7e(t){return this.__data__.has(t)}r$.exports=y7e});var FN=U((Nkt,i$)=>{var E7e=typeof global=="object"&&global&&global.Object===Object&&global;i$.exports=E7e});var ql=U((Lkt,s$)=>{var C7e=FN(),I7e=typeof self=="object"&&self&&self.Object===Object&&self,w7e=C7e||I7e||Function("return this")();s$.exports=w7e});var cd=U((Okt,o$)=>{var B7e=ql(),v7e=B7e.Symbol;o$.exports=v7e});var u$=U((Mkt,c$)=>{var a$=cd(),l$=Object.prototype,D7e=l$.hasOwnProperty,S7e=l$.toString,Cw=a$?a$.toStringTag:void 0;function P7e(t){var e=D7e.call(t,Cw),r=t[Cw];try{t[Cw]=void 0;var o=!0}catch{}var a=S7e.call(t);return o&&(e?t[Cw]=r:delete t[Cw]),a}c$.exports=P7e});var f$=U((Ukt,A$)=>{var x7e=Object.prototype,b7e=x7e.toString;function Q7e(t){return b7e.call(t)}A$.exports=Q7e});var ud=U((_kt,g$)=>{var p$=cd(),k7e=u$(),F7e=f$(),R7e="[object Null]",T7e="[object Undefined]",h$=p$?p$.toStringTag:void 0;function N7e(t){return t==null?t===void 0?T7e:R7e:h$&&h$ in Object(t)?k7e(t):F7e(t)}g$.exports=N7e});var il=U((Hkt,d$)=>{function L7e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}d$.exports=L7e});var CS=U((qkt,m$)=>{var O7e=ud(),M7e=il(),U7e="[object AsyncFunction]",_7e="[object Function]",H7e="[object GeneratorFunction]",q7e="[object Proxy]";function j7e(t){if(!M7e(t))return!1;var e=O7e(t);return e==_7e||e==H7e||e==U7e||e==q7e}m$.exports=j7e});var E$=U((jkt,y$)=>{var G7e=ql(),W7e=G7e["__core-js_shared__"];y$.exports=W7e});var w$=U((Gkt,I$)=>{var RN=E$(),C$=function(){var t=/[^.]+$/.exec(RN&&RN.keys&&RN.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Y7e(t){return!!C$&&C$ in t}I$.exports=Y7e});var TN=U((Wkt,B$)=>{var K7e=Function.prototype,J7e=K7e.toString;function V7e(t){if(t!=null){try{return J7e.call(t)}catch{}try{return t+""}catch{}}return""}B$.exports=V7e});var D$=U((Ykt,v$)=>{var z7e=CS(),X7e=w$(),Z7e=il(),$7e=TN(),eWe=/[\\^$.*+?()[\]{}|]/g,tWe=/^\[object .+?Constructor\]$/,rWe=Function.prototype,nWe=Object.prototype,iWe=rWe.toString,sWe=nWe.hasOwnProperty,oWe=RegExp("^"+iWe.call(sWe).replace(eWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function aWe(t){if(!Z7e(t)||X7e(t))return!1;var e=z7e(t)?oWe:tWe;return e.test($7e(t))}v$.exports=aWe});var P$=U((Kkt,S$)=>{function lWe(t,e){return t==null?void 0:t[e]}S$.exports=lWe});var Yp=U((Jkt,x$)=>{var cWe=D$(),uWe=P$();function AWe(t,e){var r=uWe(t,e);return cWe(r)?r:void 0}x$.exports=AWe});var IS=U((Vkt,b$)=>{var fWe=Yp(),pWe=ql(),hWe=fWe(pWe,"Map");b$.exports=hWe});var Iw=U((zkt,Q$)=>{var gWe=Yp(),dWe=gWe(Object,"create");Q$.exports=dWe});var R$=U((Xkt,F$)=>{var k$=Iw();function mWe(){this.__data__=k$?k$(null):{},this.size=0}F$.exports=mWe});var N$=U((Zkt,T$)=>{function yWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}T$.exports=yWe});var O$=U(($kt,L$)=>{var EWe=Iw(),CWe="__lodash_hash_undefined__",IWe=Object.prototype,wWe=IWe.hasOwnProperty;function BWe(t){var e=this.__data__;if(EWe){var r=e[t];return r===CWe?void 0:r}return wWe.call(e,t)?e[t]:void 0}L$.exports=BWe});var U$=U((eFt,M$)=>{var vWe=Iw(),DWe=Object.prototype,SWe=DWe.hasOwnProperty;function PWe(t){var e=this.__data__;return vWe?e[t]!==void 0:SWe.call(e,t)}M$.exports=PWe});var H$=U((tFt,_$)=>{var xWe=Iw(),bWe="__lodash_hash_undefined__";function QWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=xWe&&e===void 0?bWe:e,this}_$.exports=QWe});var j$=U((rFt,q$)=>{var kWe=R$(),FWe=N$(),RWe=O$(),TWe=U$(),NWe=H$();function Ry(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Ry.prototype.clear=kWe;Ry.prototype.delete=FWe;Ry.prototype.get=RWe;Ry.prototype.has=TWe;Ry.prototype.set=NWe;q$.exports=Ry});var Y$=U((nFt,W$)=>{var G$=j$(),LWe=Ew(),OWe=IS();function MWe(){this.size=0,this.__data__={hash:new G$,map:new(OWe||LWe),string:new G$}}W$.exports=MWe});var J$=U((iFt,K$)=>{function UWe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}K$.exports=UWe});var ww=U((sFt,V$)=>{var _We=J$();function HWe(t,e){var r=t.__data__;return _We(e)?r[typeof e=="string"?"string":"hash"]:r.map}V$.exports=HWe});var X$=U((oFt,z$)=>{var qWe=ww();function jWe(t){var e=qWe(this,t).delete(t);return this.size-=e?1:0,e}z$.exports=jWe});var $$=U((aFt,Z$)=>{var GWe=ww();function WWe(t){return GWe(this,t).get(t)}Z$.exports=WWe});var tee=U((lFt,eee)=>{var YWe=ww();function KWe(t){return YWe(this,t).has(t)}eee.exports=KWe});var nee=U((cFt,ree)=>{var JWe=ww();function VWe(t,e){var r=JWe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}ree.exports=VWe});var wS=U((uFt,iee)=>{var zWe=Y$(),XWe=X$(),ZWe=$$(),$We=tee(),eYe=nee();function Ty(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Ty.prototype.clear=zWe;Ty.prototype.delete=XWe;Ty.prototype.get=ZWe;Ty.prototype.has=$We;Ty.prototype.set=eYe;iee.exports=Ty});var oee=U((AFt,see)=>{var tYe=Ew(),rYe=IS(),nYe=wS(),iYe=200;function sYe(t,e){var r=this.__data__;if(r instanceof tYe){var o=r.__data__;if(!rYe||o.length<iYe-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new nYe(o)}return r.set(t,e),this.size=r.size,this}see.exports=sYe});var BS=U((fFt,aee)=>{var oYe=Ew(),aYe=XZ(),lYe=$Z(),cYe=t$(),uYe=n$(),AYe=oee();function Ny(t){var e=this.__data__=new oYe(t);this.size=e.size}Ny.prototype.clear=aYe;Ny.prototype.delete=lYe;Ny.prototype.get=cYe;Ny.prototype.has=uYe;Ny.prototype.set=AYe;aee.exports=Ny});var cee=U((pFt,lee)=>{var fYe="__lodash_hash_undefined__";function pYe(t){return this.__data__.set(t,fYe),this}lee.exports=pYe});var Aee=U((hFt,uee)=>{function hYe(t){return this.__data__.has(t)}uee.exports=hYe});var pee=U((gFt,fee)=>{var gYe=wS(),dYe=cee(),mYe=Aee();function vS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new gYe;++e<r;)this.add(t[e])}vS.prototype.add=vS.prototype.push=dYe;vS.prototype.has=mYe;fee.exports=vS});var gee=U((dFt,hee)=>{function yYe(t,e){for(var r=-1,o=t==null?0:t.length;++r<o;)if(e(t[r],r,t))return!0;return!1}hee.exports=yYe});var mee=U((mFt,dee)=>{function EYe(t,e){return t.has(e)}dee.exports=EYe});var NN=U((yFt,yee)=>{var CYe=pee(),IYe=gee(),wYe=mee(),BYe=1,vYe=2;function DYe(t,e,r,o,a,n){var u=r&BYe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),C=n.get(e);if(h&&C)return h==e&&C==t;var w=-1,v=!0,b=r&vYe?new CYe:void 0;for(n.set(t,e),n.set(e,t);++w<A;){var E=t[w],R=e[w];if(o)var L=u?o(R,E,w,e,t,n):o(E,R,w,t,e,n);if(L!==void 0){if(L)continue;v=!1;break}if(b){if(!IYe(e,function(_,J){if(!wYe(b,J)&&(E===_||a(E,_,r,o,n)))return b.push(J)})){v=!1;break}}else if(!(E===R||a(E,R,r,o,n))){v=!1;break}}return n.delete(t),n.delete(e),v}yee.exports=DYe});var LN=U((EFt,Eee)=>{var SYe=ql(),PYe=SYe.Uint8Array;Eee.exports=PYe});var Iee=U((CFt,Cee)=>{function xYe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}Cee.exports=xYe});var Bee=U((IFt,wee)=>{function bYe(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}wee.exports=bYe});var xee=U((wFt,Pee)=>{var vee=cd(),Dee=LN(),QYe=ky(),kYe=NN(),FYe=Iee(),RYe=Bee(),TYe=1,NYe=2,LYe="[object Boolean]",OYe="[object Date]",MYe="[object Error]",UYe="[object Map]",_Ye="[object Number]",HYe="[object RegExp]",qYe="[object Set]",jYe="[object String]",GYe="[object Symbol]",WYe="[object ArrayBuffer]",YYe="[object DataView]",See=vee?vee.prototype:void 0,ON=See?See.valueOf:void 0;function KYe(t,e,r,o,a,n,u){switch(r){case YYe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case WYe:return!(t.byteLength!=e.byteLength||!n(new Dee(t),new Dee(e)));case LYe:case OYe:case _Ye:return QYe(+t,+e);case MYe:return t.name==e.name&&t.message==e.message;case HYe:case jYe:return t==e+"";case UYe:var A=FYe;case qYe:var p=o&TYe;if(A||(A=RYe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=NYe,u.set(t,e);var C=kYe(A(t),A(e),o,a,n,u);return u.delete(t),C;case GYe:if(ON)return ON.call(t)==ON.call(e)}return!1}Pee.exports=KYe});var DS=U((BFt,bee)=>{function JYe(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}bee.exports=JYe});var jl=U((vFt,Qee)=>{var VYe=Array.isArray;Qee.exports=VYe});var MN=U((DFt,kee)=>{var zYe=DS(),XYe=jl();function ZYe(t,e,r){var o=e(t);return XYe(t)?o:zYe(o,r(t))}kee.exports=ZYe});var Ree=U((SFt,Fee)=>{function $Ye(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r<o;){var u=t[r];e(u,r,t)&&(n[a++]=u)}return n}Fee.exports=$Ye});var UN=U((PFt,Tee)=>{function eKe(){return[]}Tee.exports=eKe});var SS=U((xFt,Lee)=>{var tKe=Ree(),rKe=UN(),nKe=Object.prototype,iKe=nKe.propertyIsEnumerable,Nee=Object.getOwnPropertySymbols,sKe=Nee?function(t){return t==null?[]:(t=Object(t),tKe(Nee(t),function(e){return iKe.call(t,e)}))}:rKe;Lee.exports=sKe});var Mee=U((bFt,Oee)=>{function oKe(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}Oee.exports=oKe});var zu=U((QFt,Uee)=>{function aKe(t){return t!=null&&typeof t=="object"}Uee.exports=aKe});var Hee=U((kFt,_ee)=>{var lKe=ud(),cKe=zu(),uKe="[object Arguments]";function AKe(t){return cKe(t)&&lKe(t)==uKe}_ee.exports=AKe});var Bw=U((FFt,Gee)=>{var qee=Hee(),fKe=zu(),jee=Object.prototype,pKe=jee.hasOwnProperty,hKe=jee.propertyIsEnumerable,gKe=qee(function(){return arguments}())?qee:function(t){return fKe(t)&&pKe.call(t,"callee")&&!hKe.call(t,"callee")};Gee.exports=gKe});var Yee=U((RFt,Wee)=>{function dKe(){return!1}Wee.exports=dKe});var Dw=U((vw,Ly)=>{var mKe=ql(),yKe=Yee(),Vee=typeof vw=="object"&&vw&&!vw.nodeType&&vw,Kee=Vee&&typeof Ly=="object"&&Ly&&!Ly.nodeType&&Ly,EKe=Kee&&Kee.exports===Vee,Jee=EKe?mKe.Buffer:void 0,CKe=Jee?Jee.isBuffer:void 0,IKe=CKe||yKe;Ly.exports=IKe});var Sw=U((TFt,zee)=>{var wKe=9007199254740991,BKe=/^(?:0|[1-9]\d*)$/;function vKe(t,e){var r=typeof t;return e=e??wKe,!!e&&(r=="number"||r!="symbol"&&BKe.test(t))&&t>-1&&t%1==0&&t<e}zee.exports=vKe});var PS=U((NFt,Xee)=>{var DKe=9007199254740991;function SKe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=DKe}Xee.exports=SKe});var $ee=U((LFt,Zee)=>{var PKe=ud(),xKe=PS(),bKe=zu(),QKe="[object Arguments]",kKe="[object Array]",FKe="[object Boolean]",RKe="[object Date]",TKe="[object Error]",NKe="[object Function]",LKe="[object Map]",OKe="[object Number]",MKe="[object Object]",UKe="[object RegExp]",_Ke="[object Set]",HKe="[object String]",qKe="[object WeakMap]",jKe="[object ArrayBuffer]",GKe="[object DataView]",WKe="[object Float32Array]",YKe="[object Float64Array]",KKe="[object Int8Array]",JKe="[object Int16Array]",VKe="[object Int32Array]",zKe="[object Uint8Array]",XKe="[object Uint8ClampedArray]",ZKe="[object Uint16Array]",$Ke="[object Uint32Array]",si={};si[WKe]=si[YKe]=si[KKe]=si[JKe]=si[VKe]=si[zKe]=si[XKe]=si[ZKe]=si[$Ke]=!0;si[QKe]=si[kKe]=si[jKe]=si[FKe]=si[GKe]=si[RKe]=si[TKe]=si[NKe]=si[LKe]=si[OKe]=si[MKe]=si[UKe]=si[_Ke]=si[HKe]=si[qKe]=!1;function eJe(t){return bKe(t)&&xKe(t.length)&&!!si[PKe(t)]}Zee.exports=eJe});var xS=U((OFt,ete)=>{function tJe(t){return function(e){return t(e)}}ete.exports=tJe});var bS=U((Pw,Oy)=>{var rJe=FN(),tte=typeof Pw=="object"&&Pw&&!Pw.nodeType&&Pw,xw=tte&&typeof Oy=="object"&&Oy&&!Oy.nodeType&&Oy,nJe=xw&&xw.exports===tte,_N=nJe&&rJe.process,iJe=function(){try{var t=xw&&xw.require&&xw.require("util").types;return t||_N&&_N.binding&&_N.binding("util")}catch{}}();Oy.exports=iJe});var QS=U((MFt,ite)=>{var sJe=$ee(),oJe=xS(),rte=bS(),nte=rte&&rte.isTypedArray,aJe=nte?oJe(nte):sJe;ite.exports=aJe});var HN=U((UFt,ste)=>{var lJe=Mee(),cJe=Bw(),uJe=jl(),AJe=Dw(),fJe=Sw(),pJe=QS(),hJe=Object.prototype,gJe=hJe.hasOwnProperty;function dJe(t,e){var r=uJe(t),o=!r&&cJe(t),a=!r&&!o&&AJe(t),n=!r&&!o&&!a&&pJe(t),u=r||o||a||n,A=u?lJe(t.length,String):[],p=A.length;for(var h in t)(e||gJe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||fJe(h,p)))&&A.push(h);return A}ste.exports=dJe});var kS=U((_Ft,ote)=>{var mJe=Object.prototype;function yJe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||mJe;return t===r}ote.exports=yJe});var qN=U((HFt,ate)=>{function EJe(t,e){return function(r){return t(e(r))}}ate.exports=EJe});var cte=U((qFt,lte)=>{var CJe=qN(),IJe=CJe(Object.keys,Object);lte.exports=IJe});var Ate=U((jFt,ute)=>{var wJe=kS(),BJe=cte(),vJe=Object.prototype,DJe=vJe.hasOwnProperty;function SJe(t){if(!wJe(t))return BJe(t);var e=[];for(var r in Object(t))DJe.call(t,r)&&r!="constructor"&&e.push(r);return e}ute.exports=SJe});var bw=U((GFt,fte)=>{var PJe=CS(),xJe=PS();function bJe(t){return t!=null&&xJe(t.length)&&!PJe(t)}fte.exports=bJe});var RS=U((WFt,pte)=>{var QJe=HN(),kJe=Ate(),FJe=bw();function RJe(t){return FJe(t)?QJe(t):kJe(t)}pte.exports=RJe});var jN=U((YFt,hte)=>{var TJe=MN(),NJe=SS(),LJe=RS();function OJe(t){return TJe(t,LJe,NJe)}hte.exports=OJe});var mte=U((KFt,dte)=>{var gte=jN(),MJe=1,UJe=Object.prototype,_Je=UJe.hasOwnProperty;function HJe(t,e,r,o,a,n){var u=r&MJe,A=gte(t),p=A.length,h=gte(e),C=h.length;if(p!=C&&!u)return!1;for(var w=p;w--;){var v=A[w];if(!(u?v in e:_Je.call(e,v)))return!1}var b=n.get(t),E=n.get(e);if(b&&E)return b==e&&E==t;var R=!0;n.set(t,e),n.set(e,t);for(var L=u;++w<p;){v=A[w];var _=t[v],J=e[v];if(o)var re=u?o(J,_,v,e,t,n):o(_,J,v,t,e,n);if(!(re===void 0?_===J||a(_,J,r,o,n):re)){R=!1;break}L||(L=v=="constructor")}if(R&&!L){var oe=t.constructor,pe=e.constructor;oe!=pe&&"constructor"in t&&"constructor"in e&&!(typeof oe=="function"&&oe instanceof oe&&typeof pe=="function"&&pe instanceof pe)&&(R=!1)}return n.delete(t),n.delete(e),R}dte.exports=HJe});var Ete=U((JFt,yte)=>{var qJe=Yp(),jJe=ql(),GJe=qJe(jJe,"DataView");yte.exports=GJe});var Ite=U((VFt,Cte)=>{var WJe=Yp(),YJe=ql(),KJe=WJe(YJe,"Promise");Cte.exports=KJe});var Bte=U((zFt,wte)=>{var JJe=Yp(),VJe=ql(),zJe=JJe(VJe,"Set");wte.exports=zJe});var Dte=U((XFt,vte)=>{var XJe=Yp(),ZJe=ql(),$Je=XJe(ZJe,"WeakMap");vte.exports=$Je});var Qw=U((ZFt,Fte)=>{var GN=Ete(),WN=IS(),YN=Ite(),KN=Bte(),JN=Dte(),kte=ud(),My=TN(),Ste="[object Map]",eVe="[object Object]",Pte="[object Promise]",xte="[object Set]",bte="[object WeakMap]",Qte="[object DataView]",tVe=My(GN),rVe=My(WN),nVe=My(YN),iVe=My(KN),sVe=My(JN),Ad=kte;(GN&&Ad(new GN(new ArrayBuffer(1)))!=Qte||WN&&Ad(new WN)!=Ste||YN&&Ad(YN.resolve())!=Pte||KN&&Ad(new KN)!=xte||JN&&Ad(new JN)!=bte)&&(Ad=function(t){var e=kte(t),r=e==eVe?t.constructor:void 0,o=r?My(r):"";if(o)switch(o){case tVe:return Qte;case rVe:return Ste;case nVe:return Pte;case iVe:return xte;case sVe:return bte}return e});Fte.exports=Ad});var _te=U(($Ft,Ute)=>{var VN=BS(),oVe=NN(),aVe=xee(),lVe=mte(),Rte=Qw(),Tte=jl(),Nte=Dw(),cVe=QS(),uVe=1,Lte="[object Arguments]",Ote="[object Array]",TS="[object Object]",AVe=Object.prototype,Mte=AVe.hasOwnProperty;function fVe(t,e,r,o,a,n){var u=Tte(t),A=Tte(e),p=u?Ote:Rte(t),h=A?Ote:Rte(e);p=p==Lte?TS:p,h=h==Lte?TS:h;var C=p==TS,w=h==TS,v=p==h;if(v&&Nte(t)){if(!Nte(e))return!1;u=!0,C=!1}if(v&&!C)return n||(n=new VN),u||cVe(t)?oVe(t,e,r,o,a,n):aVe(t,e,p,r,o,a,n);if(!(r&uVe)){var b=C&&Mte.call(t,"__wrapped__"),E=w&&Mte.call(e,"__wrapped__");if(b||E){var R=b?t.value():t,L=E?e.value():e;return n||(n=new VN),a(R,L,r,o,n)}}return v?(n||(n=new VN),lVe(t,e,r,o,a,n)):!1}Ute.exports=fVe});var Gte=U((eRt,jte)=>{var pVe=_te(),Hte=zu();function qte(t,e,r,o,a){return t===e?!0:t==null||e==null||!Hte(t)&&!Hte(e)?t!==t&&e!==e:pVe(t,e,r,o,qte,a)}jte.exports=qte});var Yte=U((tRt,Wte)=>{var hVe=Gte();function gVe(t,e){return hVe(t,e)}Wte.exports=gVe});var zN=U((rRt,Kte)=>{var dVe=Yp(),mVe=function(){try{var t=dVe(Object,"defineProperty");return t({},"",{}),t}catch{}}();Kte.exports=mVe});var NS=U((nRt,Vte)=>{var Jte=zN();function yVe(t,e,r){e=="__proto__"&&Jte?Jte(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}Vte.exports=yVe});var XN=U((iRt,zte)=>{var EVe=NS(),CVe=ky();function IVe(t,e,r){(r!==void 0&&!CVe(t[e],r)||r===void 0&&!(e in t))&&EVe(t,e,r)}zte.exports=IVe});var Zte=U((sRt,Xte)=>{function wVe(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}Xte.exports=wVe});var ere=U((oRt,$te)=>{var BVe=Zte(),vVe=BVe();$te.exports=vVe});var ZN=U((kw,Uy)=>{var DVe=ql(),ire=typeof kw=="object"&&kw&&!kw.nodeType&&kw,tre=ire&&typeof Uy=="object"&&Uy&&!Uy.nodeType&&Uy,SVe=tre&&tre.exports===ire,rre=SVe?DVe.Buffer:void 0,nre=rre?rre.allocUnsafe:void 0;function PVe(t,e){if(e)return t.slice();var r=t.length,o=nre?nre(r):new t.constructor(r);return t.copy(o),o}Uy.exports=PVe});var LS=U((aRt,ore)=>{var sre=LN();function xVe(t){var e=new t.constructor(t.byteLength);return new sre(e).set(new sre(t)),e}ore.exports=xVe});var $N=U((lRt,are)=>{var bVe=LS();function QVe(t,e){var r=e?bVe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}are.exports=QVe});var OS=U((cRt,lre)=>{function kVe(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}lre.exports=kVe});var Are=U((uRt,ure)=>{var FVe=il(),cre=Object.create,RVe=function(){function t(){}return function(e){if(!FVe(e))return{};if(cre)return cre(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();ure.exports=RVe});var MS=U((ARt,fre)=>{var TVe=qN(),NVe=TVe(Object.getPrototypeOf,Object);fre.exports=NVe});var eL=U((fRt,pre)=>{var LVe=Are(),OVe=MS(),MVe=kS();function UVe(t){return typeof t.constructor=="function"&&!MVe(t)?LVe(OVe(t)):{}}pre.exports=UVe});var gre=U((pRt,hre)=>{var _Ve=bw(),HVe=zu();function qVe(t){return HVe(t)&&_Ve(t)}hre.exports=qVe});var tL=U((hRt,mre)=>{var jVe=ud(),GVe=MS(),WVe=zu(),YVe="[object Object]",KVe=Function.prototype,JVe=Object.prototype,dre=KVe.toString,VVe=JVe.hasOwnProperty,zVe=dre.call(Object);function XVe(t){if(!WVe(t)||jVe(t)!=YVe)return!1;var e=GVe(t);if(e===null)return!0;var r=VVe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&dre.call(r)==zVe}mre.exports=XVe});var rL=U((gRt,yre)=>{function ZVe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}yre.exports=ZVe});var US=U((dRt,Ere)=>{var $Ve=NS(),eze=ky(),tze=Object.prototype,rze=tze.hasOwnProperty;function nze(t,e,r){var o=t[e];(!(rze.call(t,e)&&eze(o,r))||r===void 0&&!(e in t))&&$Ve(t,e,r)}Ere.exports=nze});var fd=U((mRt,Cre)=>{var ize=US(),sze=NS();function oze(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n<u;){var A=e[n],p=o?o(r[A],t[A],A,r,t):void 0;p===void 0&&(p=t[A]),a?sze(r,A,p):ize(r,A,p)}return r}Cre.exports=oze});var wre=U((yRt,Ire)=>{function aze(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Ire.exports=aze});var vre=U((ERt,Bre)=>{var lze=il(),cze=kS(),uze=wre(),Aze=Object.prototype,fze=Aze.hasOwnProperty;function pze(t){if(!lze(t))return uze(t);var e=cze(t),r=[];for(var o in t)o=="constructor"&&(e||!fze.call(t,o))||r.push(o);return r}Bre.exports=pze});var _y=U((CRt,Dre)=>{var hze=HN(),gze=vre(),dze=bw();function mze(t){return dze(t)?hze(t,!0):gze(t)}Dre.exports=mze});var Pre=U((IRt,Sre)=>{var yze=fd(),Eze=_y();function Cze(t){return yze(t,Eze(t))}Sre.exports=Cze});var Rre=U((wRt,Fre)=>{var xre=XN(),Ize=ZN(),wze=$N(),Bze=OS(),vze=eL(),bre=Bw(),Qre=jl(),Dze=gre(),Sze=Dw(),Pze=CS(),xze=il(),bze=tL(),Qze=QS(),kre=rL(),kze=Pre();function Fze(t,e,r,o,a,n,u){var A=kre(t,r),p=kre(e,r),h=u.get(p);if(h){xre(t,r,h);return}var C=n?n(A,p,r+"",t,e,u):void 0,w=C===void 0;if(w){var v=Qre(p),b=!v&&Sze(p),E=!v&&!b&&Qze(p);C=p,v||b||E?Qre(A)?C=A:Dze(A)?C=Bze(A):b?(w=!1,C=Ize(p,!0)):E?(w=!1,C=wze(p,!0)):C=[]:bze(p)||bre(p)?(C=A,bre(A)?C=kze(A):(!xze(A)||Pze(A))&&(C=vze(p))):w=!1}w&&(u.set(p,C),a(C,p,o,n,u),u.delete(p)),xre(t,r,C)}Fre.exports=Fze});var Lre=U((BRt,Nre)=>{var Rze=BS(),Tze=XN(),Nze=ere(),Lze=Rre(),Oze=il(),Mze=_y(),Uze=rL();function Tre(t,e,r,o,a){t!==e&&Nze(e,function(n,u){if(a||(a=new Rze),Oze(n))Lze(t,e,u,r,Tre,o,a);else{var A=o?o(Uze(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),Tze(t,u,A)}},Mze)}Nre.exports=Tre});var nL=U((vRt,Ore)=>{function _ze(t){return t}Ore.exports=_ze});var Ure=U((DRt,Mre)=>{function Hze(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)}Mre.exports=Hze});var iL=U((SRt,Hre)=>{var qze=Ure(),_re=Math.max;function jze(t,e,r){return e=_re(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=_re(o.length-e,0),u=Array(n);++a<n;)u[a]=o[e+a];a=-1;for(var A=Array(e+1);++a<e;)A[a]=o[a];return A[e]=r(u),qze(t,this,A)}}Hre.exports=jze});var jre=U((PRt,qre)=>{function Gze(t){return function(){return t}}qre.exports=Gze});var Yre=U((xRt,Wre)=>{var Wze=jre(),Gre=zN(),Yze=nL(),Kze=Gre?function(t,e){return Gre(t,"toString",{configurable:!0,enumerable:!1,value:Wze(e),writable:!0})}:Yze;Wre.exports=Kze});var Jre=U((bRt,Kre)=>{var Jze=800,Vze=16,zze=Date.now;function Xze(t){var e=0,r=0;return function(){var o=zze(),a=Vze-(o-r);if(r=o,a>0){if(++e>=Jze)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Kre.exports=Xze});var sL=U((QRt,Vre)=>{var Zze=Yre(),$ze=Jre(),eXe=$ze(Zze);Vre.exports=eXe});var Xre=U((kRt,zre)=>{var tXe=nL(),rXe=iL(),nXe=sL();function iXe(t,e){return nXe(rXe(t,e,tXe),t+"")}zre.exports=iXe});var $re=U((FRt,Zre)=>{var sXe=ky(),oXe=bw(),aXe=Sw(),lXe=il();function cXe(t,e,r){if(!lXe(r))return!1;var o=typeof e;return(o=="number"?oXe(r)&&aXe(e,r.length):o=="string"&&e in r)?sXe(r[e],t):!1}Zre.exports=cXe});var tne=U((RRt,ene)=>{var uXe=Xre(),AXe=$re();function fXe(t){return uXe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&AXe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o<a;){var A=r[o];A&&t(e,A,o,n)}return e})}ene.exports=fXe});var nne=U((TRt,rne)=>{var pXe=Lre(),hXe=tne(),gXe=hXe(function(t,e,r,o){pXe(t,e,r,o)});rne.exports=gXe});var Ye={};Yt(Ye,{AsyncActions:()=>lL,BufferStream:()=>aL,CachingStrategy:()=>gne,DefaultStream:()=>cL,allSettledSafe:()=>_c,assertNever:()=>AL,bufferStream:()=>Gy,buildIgnorePattern:()=>wXe,convertMapsToIndexableObjects:()=>_S,dynamicRequire:()=>Kp,escapeRegExp:()=>mXe,getArrayWithDefault:()=>Hy,getFactoryWithDefault:()=>Bf,getMapWithDefault:()=>qy,getSetWithDefault:()=>pd,isIndexableObject:()=>oL,isPathLike:()=>BXe,isTaggedYarnVersion:()=>dXe,makeDeferred:()=>fne,mapAndFilter:()=>Xu,mapAndFind:()=>Rw,mergeIntoTarget:()=>mne,overrideType:()=>yXe,parseBoolean:()=>Tw,parseOptionalBoolean:()=>dne,prettifyAsyncErrors:()=>jy,prettifySyncErrors:()=>fL,releaseAfterUseAsync:()=>CXe,replaceEnvVariables:()=>pL,sortMap:()=>Sa,toMerged:()=>vXe,tryParseOptionalBoolean:()=>hL,validateEnum:()=>EXe});function dXe(t){return!!(cne.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function mXe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yXe(t){}function AL(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function EXe(t,e){let r=Object.values(t);if(!r.includes(e))throw new ot(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function Xu(t,e){let r=[];for(let o of t){let a=e(o);a!==une&&r.push(a)}return r}function Rw(t,e){for(let r of t){let o=e(r);if(o!==Ane)return o}}function oL(t){return typeof t=="object"&&t!==null}async function _c(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function _S(t){if(t instanceof Map&&(t=Object.fromEntries(t)),oL(t))for(let e of Object.keys(t)){let r=t[e];oL(r)&&(t[e]=_S(r))}return t}function Bf(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function Hy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function pd(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function qy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function CXe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function jy(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function fL(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Gy(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function fne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function pne(t){return Fw(Ae.fromPortablePath(t))}function hne(path){let physicalPath=Ae.fromPortablePath(path),currentCacheEntry=Fw.cache[physicalPath];delete Fw.cache[physicalPath];let result;try{result=pne(physicalPath);let freshCacheEntry=Fw.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Fw.cache[physicalPath]=currentCacheEntry}return result}function IXe(t){let e=ine.get(t),r=ae.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let o=hne(t);return ine.set(t,{mtime:r.mtimeMs,instance:o}),o}function Kp(t,{cachingStrategy:e=2}={}){switch(e){case 0:return hne(t);case 1:return IXe(t);case 2:return pne(t);default:throw new Error("Unsupported caching strategy")}}function Sa(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function wXe(t){return t.length===0?null:t.map(e=>`(${ane.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function pL(t,{env:e}){let r=/\${(?<variableName>[\d\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.prototype.hasOwnProperty.call(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new ot(`Environment variable not found (${a})`)})}function Tw(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function dne(t){return typeof t>"u"?t:Tw(t)}function hL(t){try{return dne(t)}catch{return null}}function BXe(t){return!!(Ae.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function mne(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,one.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,sne.default)(h,p))||u.push(p);return u}});return n}function vXe(...t){return mne({},...t)}var sne,one,ane,lne,cne,uL,une,Ane,aL,lL,cL,Fw,ine,gne,Gl=dt(()=>{bt();_t();sne=tt(Yte()),one=tt(nne()),ane=tt(Jo()),lne=tt($g()),cne=tt(ii()),uL=Ie("stream");une=Symbol();Xu.skip=une;Ane=Symbol();Rw.skip=Ane;aL=class extends uL.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};lL=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,lne.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=fne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},cL=class extends uL.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},Fw=eval("require");ine=new Map;gne=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(gne||{})});var Wy,gL,dL,yne=dt(()=>{Wy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(Wy||{}),gL=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(gL||{}),dL=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(dL||{})});var ye={};Yt(ye,{LogLevel:()=>GS,Style:()=>yL,Type:()=>Bt,addLogFilterSupport:()=>Ow,applyColor:()=>Pa,applyHyperlink:()=>Yy,applyStyle:()=>jS,json:()=>hd,jsonOrPretty:()=>PXe,mark:()=>wL,pretty:()=>Kt,prettyField:()=>Zu,prettyList:()=>IL,supportsColor:()=>qS,supportsHyperlinks:()=>CL,tuple:()=>Hc});function Hc(t,e){return[e,t]}function jS(t,e,r){return t.get("enableColors")&&r&2&&(e=Lw.default.bold(e)),e}function Pa(t,e,r){if(!t.get("enableColors"))return e;let o=DXe.get(r);if(o===null)return e;let a=typeof o>"u"?r:EL.level>=3?o[0]:o[1],n=typeof a=="number"?mL.ansi256(a):a.startsWith("#")?mL.hex(a):mL[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function Yy(t,e,r){return t.get("enableHyperlinks")?SXe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Kt(t,e,r){if(e===null)return Pa(t,"null",Bt.NULL);if(Object.prototype.hasOwnProperty.call(HS,r))return HS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Pa(t,e,r)}function IL(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Kt(t,a,r)).join(o)}function hd(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(HS,e))return HS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function PXe(t,e,[r,o]){return t?hd(r,o):Kt(e,r,o)}function wL(t){return{Check:Pa(t,"\u2713","green"),Cross:Pa(t,"\u2718","red"),Question:Pa(t,"?","cyan")}}function Zu(t,{label:e,value:[r,o]}){return`${Kt(t,e,Bt.CODE)}: ${Kt(t,r,o)}`}function Ow(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let w of r){let v=w.get("level");if(typeof v>"u")continue;let b=w.get("code");typeof b<"u"&&o.set(b,v);let E=w.get("text");typeof E<"u"&&a.set(E,v);let R=w.get("pattern");typeof R<"u"&&n.push([Ene.default.matcher(R,{contains:!0}),v])}n.reverse();let u=(w,v,b)=>{if(w===null||w===0)return b;let E=a.size>0||n.length>0?(0,Cne.default)(v):v;if(a.size>0){let R=a.get(E);if(typeof R<"u")return R??b}if(n.length>0){for(let[R,L]of n)if(R(E))return L??b}if(o.size>0){let R=o.get(Ku(w));if(typeof R<"u")return R??b}return b},A=t.reportInfo,p=t.reportWarning,h=t.reportError,C=function(w,v,b,E){switch(u(v,b,E)){case"info":A.call(w,v,b);break;case"warning":p.call(w,v??0,b);break;case"error":h.call(w,v??0,b);break}};t.reportInfo=function(...w){return C(this,...w,"info")},t.reportWarning=function(...w){return C(this,...w,"warning")},t.reportError=function(...w){return C(this,...w,"error")}}var Lw,Nw,Ene,Cne,Ine,Bt,yL,EL,qS,CL,mL,DXe,sl,HS,SXe,GS,Yl=dt(()=>{bt();Lw=tt(gN()),Nw=tt(Jg());_t();Ene=tt(Jo()),Cne=tt(ES()),Ine=Ie("util");KD();Ks();Bt={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},yL=(e=>(e[e.BOLD=2]="BOLD",e))(yL||{}),EL=Nw.default.GITHUB_ACTIONS?{level:2}:Lw.default.supportsColor?{level:Lw.default.supportsColor.level}:{level:0},qS=EL.level!==0,CL=qS&&!Nw.default.GITHUB_ACTIONS&&!Nw.default.CIRCLE&&!Nw.default.GITLAB,mL=new Lw.default.Instance(EL),DXe=new Map([[Bt.NO_HINT,null],[Bt.NULL,["#a853b5",129]],[Bt.SCOPE,["#d75f00",166]],[Bt.NAME,["#d7875f",173]],[Bt.RANGE,["#00afaf",37]],[Bt.REFERENCE,["#87afff",111]],[Bt.NUMBER,["#ffd700",220]],[Bt.PATH,["#d75fd7",170]],[Bt.URL,["#d75fd7",170]],[Bt.ADDED,["#5faf00",70]],[Bt.REMOVED,["#d70000",160]],[Bt.CODE,["#87afff",111]],[Bt.SIZE,["#ffd700",220]]]),sl=t=>t,HS={[Bt.INSPECT]:sl({pretty:(t,e)=>(0,Ine.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[Bt.NUMBER]:sl({pretty:(t,e)=>Pa(t,`${e}`,Bt.NUMBER),json:t=>t}),[Bt.IDENT]:sl({pretty:(t,e)=>cs(t,e),json:t=>nn(t)}),[Bt.LOCATOR]:sl({pretty:(t,e)=>kr(t,e),json:t=>Wl(t)}),[Bt.DESCRIPTOR]:sl({pretty:(t,e)=>Ln(t,e),json:t=>xa(t)}),[Bt.RESOLUTION]:sl({pretty:(t,{descriptor:e,locator:r})=>Mw(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:xa(t),locator:e!==null?Wl(e):null})}),[Bt.DEPENDENT]:sl({pretty:(t,{locator:e,descriptor:r})=>BL(t,e,r),json:({locator:t,descriptor:e})=>({locator:Wl(t),descriptor:xa(e)})}),[Bt.PACKAGE_EXTENSION]:sl({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${Pa(t,"dependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${Pa(t,"peerDependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependencyMeta":return`${cs(t,e.parentDescriptor)} \u27A4 ${Pa(t,"peerDependenciesMeta",Bt.CODE)} \u27A4 ${cs(t,Ys(e.selector))} \u27A4 ${Pa(t,e.key,Bt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${nn(t.parentDescriptor)} > ${nn(t.descriptor)}`;case"PeerDependency":return`${nn(t.parentDescriptor)} >> ${nn(t.descriptor)}`;case"PeerDependencyMeta":return`${nn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Bt.SETTING]:sl({pretty:(t,e)=>(t.get(e),Yy(t,Pa(t,e,Bt.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Bt.DURATION]:sl({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[Bt.SIZE]:sl({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],o=r.length;for(;o>1&&e<1024**o;)o-=1;let a=1024**o,n=Math.floor(e*100/a)/100;return Pa(t,`${n} ${r[o-1]}`,Bt.NUMBER)},json:t=>t}),[Bt.PATH]:sl({pretty:(t,e)=>Pa(t,Ae.fromPortablePath(e),Bt.PATH),json:t=>Ae.fromPortablePath(t)}),[Bt.MARKDOWN]:sl({pretty:(t,{text:e,format:r,paragraphs:o})=>Bo(e,{format:r,paragraphs:o}),json:({text:t})=>t})};SXe=!!process.env.KONSOLE_VERSION;GS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(GS||{})});var Bne=U((WRt,wne)=>{"use strict";wne.exports=(...t)=>[...new Set([].concat(...t))]});var vL=U((YRt,Sne)=>{"use strict";var xXe=Ie("stream"),vne=xXe.PassThrough,bXe=Array.prototype.slice;Sne.exports=QXe;function QXe(){let t=[],e=bXe.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=vne(o);function A(){for(let C=0,w=arguments.length;C<w;C++)t.push(Dne(arguments[C],o));return p(),this}function p(){if(r)return;r=!0;let C=t.shift();if(!C){process.nextTick(h);return}Array.isArray(C)||(C=[C]);let w=C.length+1;function v(){--w>0||(r=!1,p())}function b(E){function R(){E.removeListener("merge2UnpipeEnd",R),E.removeListener("end",R),n&&E.removeListener("error",L),v()}function L(_){u.emit("error",_)}if(E._readableState.endEmitted)return v();E.on("merge2UnpipeEnd",R),E.on("end",R),n&&E.on("error",L),E.pipe(u,{end:!1}),E.resume()}for(let E=0;E<C.length;E++)b(C[E]);v()}function h(){r=!1,u.emit("queueDrain"),a&&u.end()}return u.setMaxListeners(0),u.add=A,u.on("unpipe",function(C){C.emit("merge2UnpipeEnd")}),e.length&&A.apply(null,e),u}function Dne(t,e){if(Array.isArray(t))for(let r=0,o=t.length;r<o;r++)t[r]=Dne(t[r],e);else{if(!t._readableState&&t.pipe&&(t=t.pipe(vne(e))),!t._readableState||!t.pause||!t.pipe)throw new Error("Only readable stream can be merged.");t.pause()}return t}});var Pne=U(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.splitWhen=Ky.flatten=void 0;function kXe(t){return t.reduce((e,r)=>[].concat(e,r),[])}Ky.flatten=kXe;function FXe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}Ky.splitWhen=FXe});var xne=U(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});WS.isEnoentCodeError=void 0;function RXe(t){return t.code==="ENOENT"}WS.isEnoentCodeError=RXe});var bne=U(YS=>{"use strict";Object.defineProperty(YS,"__esModule",{value:!0});YS.createDirentFromStats=void 0;var DL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function TXe(t,e){return new DL(t,e)}YS.createDirentFromStats=TXe});var Qne=U($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.removeLeadingDotSegment=$u.escape=$u.makeAbsolute=$u.unixify=void 0;var NXe=Ie("path"),LXe=2,OXe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function MXe(t){return t.replace(/\\/g,"/")}$u.unixify=MXe;function UXe(t,e){return NXe.resolve(t,e)}$u.makeAbsolute=UXe;function _Xe(t){return t.replace(OXe,"\\$2")}$u.escape=_Xe;function HXe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(LXe)}return t}$u.removeLeadingDotSegment=HXe});var Fne=U((XRt,kne)=>{kne.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Nne=U((ZRt,Tne)=>{var qXe=Fne(),Rne={"{":"}","(":")","[":"]"},jXe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||o!==-1&&t[e]==="["&&t[e+1]!=="]"&&(o<e&&(o=t.indexOf("]",e)),o>e&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(r<e&&(r=t.indexOf("|",e)),r!==-1&&t[r+1]!==")"&&(n=t.indexOf(")",r),n>r&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=Rne[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},GXe=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var r=t[e+1];e+=2;var o=Rne[r];if(o){var a=t.indexOf(o,e);a!==-1&&(e=a+1)}if(t[e]==="!")return!0}else e++}return!1};Tne.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(qXe(e))return!0;var o=jXe;return r&&r.strict===!1&&(o=GXe),o(e)}});var One=U(($Rt,Lne)=>{"use strict";var WXe=Nne(),YXe=Ie("path").posix.dirname,KXe=Ie("os").platform()==="win32",SL="/",JXe=/\\/g,VXe=/[\{\[].*[\}\]]$/,zXe=/(^|[^\\])([\{\[]|\([^\)]+$)/,XXe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Lne.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&KXe&&e.indexOf(SL)<0&&(e=e.replace(JXe,SL)),VXe.test(e)&&(e+=SL),e+="a";do e=YXe(e);while(WXe(e)||zXe.test(e));return e.replace(XXe,"$1")}});var Wne=U(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.matchAny=Or.convertPatternsToRe=Or.makeRe=Or.getPatternParts=Or.expandBraceExpansion=Or.expandPatternsWithBraceExpansion=Or.isAffectDepthOfReadingPattern=Or.endsWithSlashGlobStar=Or.hasGlobStar=Or.getBaseDirectory=Or.isPatternRelatedToParentDirectory=Or.getPatternsOutsideCurrentDirectory=Or.getPatternsInsideCurrentDirectory=Or.getPositivePatterns=Or.getNegativePatterns=Or.isPositivePattern=Or.isNegativePattern=Or.convertToNegativePattern=Or.convertToPositivePattern=Or.isDynamicPattern=Or.isStaticPattern=void 0;var ZXe=Ie("path"),$Xe=One(),PL=Jo(),Mne="**",eZe="\\",tZe=/[*?]|^!/,rZe=/\[[^[]*]/,nZe=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,iZe=/[!*+?@]\([^(]*\)/,sZe=/,|\.\./;function Une(t,e={}){return!_ne(t,e)}Or.isStaticPattern=Une;function _ne(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(eZe)||tZe.test(t)||rZe.test(t)||nZe.test(t)||e.extglob!==!1&&iZe.test(t)||e.braceExpansion!==!1&&oZe(t))}Or.isDynamicPattern=_ne;function oZe(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return sZe.test(o)}function aZe(t){return KS(t)?t.slice(1):t}Or.convertToPositivePattern=aZe;function lZe(t){return"!"+t}Or.convertToNegativePattern=lZe;function KS(t){return t.startsWith("!")&&t[1]!=="("}Or.isNegativePattern=KS;function Hne(t){return!KS(t)}Or.isPositivePattern=Hne;function cZe(t){return t.filter(KS)}Or.getNegativePatterns=cZe;function uZe(t){return t.filter(Hne)}Or.getPositivePatterns=uZe;function AZe(t){return t.filter(e=>!xL(e))}Or.getPatternsInsideCurrentDirectory=AZe;function fZe(t){return t.filter(xL)}Or.getPatternsOutsideCurrentDirectory=fZe;function xL(t){return t.startsWith("..")||t.startsWith("./..")}Or.isPatternRelatedToParentDirectory=xL;function pZe(t){return $Xe(t,{flipBackslashes:!1})}Or.getBaseDirectory=pZe;function hZe(t){return t.includes(Mne)}Or.hasGlobStar=hZe;function qne(t){return t.endsWith("/"+Mne)}Or.endsWithSlashGlobStar=qne;function gZe(t){let e=ZXe.basename(t);return qne(t)||Une(e)}Or.isAffectDepthOfReadingPattern=gZe;function dZe(t){return t.reduce((e,r)=>e.concat(jne(r)),[])}Or.expandPatternsWithBraceExpansion=dZe;function jne(t){return PL.braces(t,{expand:!0,nodupes:!0})}Or.expandBraceExpansion=jne;function mZe(t,e){let{parts:r}=PL.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Or.getPatternParts=mZe;function Gne(t,e){return PL.makeRe(t,e)}Or.makeRe=Gne;function yZe(t,e){return t.map(r=>Gne(r,e))}Or.convertPatternsToRe=yZe;function EZe(t,e){return e.some(r=>r.test(t))}Or.matchAny=EZe});var Kne=U(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0});JS.merge=void 0;var CZe=vL();function IZe(t){let e=CZe(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Yne(t)),e.once("end",()=>Yne(t)),e}JS.merge=IZe;function Yne(t){t.forEach(e=>e.emit("close"))}});var Jne=U(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.isEmpty=Jy.isString=void 0;function wZe(t){return typeof t=="string"}Jy.isString=wZe;function BZe(t){return t===""}Jy.isEmpty=BZe});var vf=U(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.string=So.stream=So.pattern=So.path=So.fs=So.errno=So.array=void 0;var vZe=Pne();So.array=vZe;var DZe=xne();So.errno=DZe;var SZe=bne();So.fs=SZe;var PZe=Qne();So.path=PZe;var xZe=Wne();So.pattern=xZe;var bZe=Kne();So.stream=bZe;var QZe=Jne();So.string=QZe});var Xne=U(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.convertPatternGroupToTask=Po.convertPatternGroupsToTasks=Po.groupPatternsByBaseDirectory=Po.getNegativePatternsAsPositive=Po.getPositivePatterns=Po.convertPatternsToTasks=Po.generate=void 0;var Df=vf();function kZe(t,e){let r=Vne(t),o=zne(t,e.ignore),a=r.filter(p=>Df.pattern.isStaticPattern(p,e)),n=r.filter(p=>Df.pattern.isDynamicPattern(p,e)),u=bL(a,o,!1),A=bL(n,o,!0);return u.concat(A)}Po.generate=kZe;function bL(t,e,r){let o=[],a=Df.pattern.getPatternsOutsideCurrentDirectory(t),n=Df.pattern.getPatternsInsideCurrentDirectory(t),u=QL(a),A=QL(n);return o.push(...kL(u,e,r)),"."in A?o.push(FL(".",n,e,r)):o.push(...kL(A,e,r)),o}Po.convertPatternsToTasks=bL;function Vne(t){return Df.pattern.getPositivePatterns(t)}Po.getPositivePatterns=Vne;function zne(t,e){return Df.pattern.getNegativePatterns(t).concat(e).map(Df.pattern.convertToPositivePattern)}Po.getNegativePatternsAsPositive=zne;function QL(t){let e={};return t.reduce((r,o)=>{let a=Df.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}Po.groupPatternsByBaseDirectory=QL;function kL(t,e,r){return Object.keys(t).map(o=>FL(o,t[o],e,r))}Po.convertPatternGroupsToTasks=kL;function FL(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Df.pattern.convertToNegativePattern))}}Po.convertPatternGroupToTask=FL});var $ne=U(Vy=>{"use strict";Object.defineProperty(Vy,"__esModule",{value:!0});Vy.removeDuplicateSlashes=Vy.transform=void 0;var FZe=/(?!^)\/{2,}/g;function RZe(t){return t.map(e=>Zne(e))}Vy.transform=RZe;function Zne(t){return t.replace(FZe,"/")}Vy.removeDuplicateSlashes=Zne});var tie=U(VS=>{"use strict";Object.defineProperty(VS,"__esModule",{value:!0});VS.read=void 0;function TZe(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){eie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){RL(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){eie(r,n);return}RL(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),RL(r,u)})})}VS.read=TZe;function eie(t,e){t(e)}function RL(t,e){t(null,e)}});var rie=U(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0});zS.read=void 0;function NZe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}zS.read=NZe});var nie=U(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});Jp.createFileSystemAdapter=Jp.FILE_SYSTEM_ADAPTER=void 0;var XS=Ie("fs");Jp.FILE_SYSTEM_ADAPTER={lstat:XS.lstat,stat:XS.stat,lstatSync:XS.lstatSync,statSync:XS.statSync};function LZe(t){return t===void 0?Jp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Jp.FILE_SYSTEM_ADAPTER),t)}Jp.createFileSystemAdapter=LZe});var iie=U(NL=>{"use strict";Object.defineProperty(NL,"__esModule",{value:!0});var OZe=nie(),TL=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=OZe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};NL.default=TL});var gd=U(Vp=>{"use strict";Object.defineProperty(Vp,"__esModule",{value:!0});Vp.statSync=Vp.stat=Vp.Settings=void 0;var sie=tie(),MZe=rie(),LL=iie();Vp.Settings=LL.default;function UZe(t,e,r){if(typeof e=="function"){sie.read(t,OL(),e);return}sie.read(t,OL(e),r)}Vp.stat=UZe;function _Ze(t,e){let r=OL(e);return MZe.read(t,r)}Vp.statSync=_Ze;function OL(t={}){return t instanceof LL.default?t:new LL.default(t)}});var aie=U((ATt,oie)=>{oie.exports=HZe;function HZe(t,e){var r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?process.nextTick(h):h()}function A(p,h,C){r[p]=C,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,C){A(p,h,C)})}):t.forEach(function(p,h){p(function(C,w){A(h,C,w)})}):u(null),n=!1}});var ML=U($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});$S.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var ZS=process.versions.node.split(".");if(ZS[0]===void 0||ZS[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var lie=Number.parseInt(ZS[0],10),qZe=Number.parseInt(ZS[1],10),cie=10,jZe=10,GZe=lie>cie,WZe=lie===cie&&qZe>=jZe;$S.IS_SUPPORT_READDIR_WITH_FILE_TYPES=GZe||WZe});var uie=U(eP=>{"use strict";Object.defineProperty(eP,"__esModule",{value:!0});eP.createDirentFromStats=void 0;var UL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function YZe(t,e){return new UL(t,e)}eP.createDirentFromStats=YZe});var _L=U(tP=>{"use strict";Object.defineProperty(tP,"__esModule",{value:!0});tP.fs=void 0;var KZe=uie();tP.fs=KZe});var HL=U(rP=>{"use strict";Object.defineProperty(rP,"__esModule",{value:!0});rP.joinPathSegments=void 0;function JZe(t,e,r){return t.endsWith(r)?t+e:t+r+e}rP.joinPathSegments=JZe});var die=U(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.readdir=zp.readdirWithFileTypes=zp.read=void 0;var VZe=gd(),Aie=aie(),zZe=ML(),fie=_L(),pie=HL();function XZe(t,e,r){if(!e.stats&&zZe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){hie(t,e,r);return}gie(t,e,r)}zp.read=XZe;function hie(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){nP(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:pie.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){qL(r,n);return}let u=n.map(A=>ZZe(A,e));Aie(u,(A,p)=>{if(A!==null){nP(r,A);return}qL(r,p)})})}zp.readdirWithFileTypes=hie;function ZZe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=fie.fs.createDirentFromStats(t.name,a),r(null,t)})}}function gie(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){nP(r,o);return}let n=a.map(u=>{let A=pie.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{VZe.stat(A,e.fsStatSettings,(h,C)=>{if(h!==null){p(h);return}let w={name:u,path:A,dirent:fie.fs.createDirentFromStats(u,C)};e.stats&&(w.stats=C),p(null,w)})}});Aie(n,(u,A)=>{if(u!==null){nP(r,u);return}qL(r,A)})})}zp.readdir=gie;function nP(t,e){t(e)}function qL(t,e){t(null,e)}});var Iie=U(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.readdir=Xp.readdirWithFileTypes=Xp.read=void 0;var $Ze=gd(),e$e=ML(),mie=_L(),yie=HL();function t$e(t,e){return!e.stats&&e$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Eie(t,e):Cie(t,e)}Xp.read=t$e;function Eie(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:yie.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=mie.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}Xp.readdirWithFileTypes=Eie;function Cie(t,e){return e.fs.readdirSync(t).map(o=>{let a=yie.joinPathSegments(t,o,e.pathSegmentSeparator),n=$Ze.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:mie.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}Xp.readdir=Cie});var wie=U(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.createFileSystemAdapter=Zp.FILE_SYSTEM_ADAPTER=void 0;var zy=Ie("fs");Zp.FILE_SYSTEM_ADAPTER={lstat:zy.lstat,stat:zy.stat,lstatSync:zy.lstatSync,statSync:zy.statSync,readdir:zy.readdir,readdirSync:zy.readdirSync};function r$e(t){return t===void 0?Zp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Zp.FILE_SYSTEM_ADAPTER),t)}Zp.createFileSystemAdapter=r$e});var Bie=U(WL=>{"use strict";Object.defineProperty(WL,"__esModule",{value:!0});var n$e=Ie("path"),i$e=gd(),s$e=wie(),jL=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=s$e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,n$e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new i$e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};WL.default=jL});var iP=U($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.Settings=$p.scandirSync=$p.scandir=void 0;var vie=die(),o$e=Iie(),YL=Bie();$p.Settings=YL.default;function a$e(t,e,r){if(typeof e=="function"){vie.read(t,KL(),e);return}vie.read(t,KL(e),r)}$p.scandir=a$e;function l$e(t,e){let r=KL(e);return o$e.read(t,r)}$p.scandirSync=l$e;function KL(t={}){return t instanceof YL.default?t:new YL.default(t)}});var Sie=U((ITt,Die)=>{"use strict";function c$e(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}Die.exports=c$e});var xie=U((wTt,JL)=>{"use strict";var u$e=Sie();function Pie(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=u$e(A$e),a=null,n=null,u=0,A=null,p={push:R,drain:Kl,saturated:Kl,pause:C,paused:!1,concurrency:r,running:h,resume:b,idle:E,length:w,getQueue:v,unshift:L,empty:Kl,kill:J,killAndDrain:re,error:oe};return p;function h(){return u}function C(){p.paused=!0}function w(){for(var pe=a,he=0;pe;)pe=pe.next,he++;return he}function v(){for(var pe=a,he=[];pe;)he.push(pe.value),pe=pe.next;return he}function b(){if(!!p.paused){p.paused=!1;for(var pe=0;pe<p.concurrency;pe++)u++,_()}}function E(){return u===0&&p.length()===0}function R(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||Kl,ve.errorHandler=A,u===p.concurrency||p.paused?n?(n.next=ve,n=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function L(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||Kl,u===p.concurrency||p.paused?a?(ve.next=a,a=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function _(pe){pe&&o.release(pe);var he=a;he?p.paused?u--:(n===a&&(n=null),a=he.next,he.next=null,e.call(t,he.value,he.worked),n===null&&p.empty()):--u===0&&p.drain()}function J(){a=null,n=null,p.drain=Kl}function re(){a=null,n=null,p.drain(),p.drain=Kl}function oe(pe){A=pe}}function Kl(){}function A$e(){this.value=null,this.callback=Kl,this.next=null,this.release=Kl,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,o){var a=t.callback,n=t.errorHandler,u=t.value;t.value=null,t.callback=Kl,t.errorHandler&&n(r,u),a.call(t.context,r,o),t.release(t)}}function f$e(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function o(C,w){e.call(this,C).then(function(v){w(null,v)},w)}var a=Pie(t,o,r),n=a.push,u=a.unshift;return a.push=A,a.unshift=p,a.drained=h,a;function A(C){var w=new Promise(function(v,b){n(C,function(E,R){if(E){b(E);return}v(R)})});return w.catch(Kl),w}function p(C){var w=new Promise(function(v,b){u(C,function(E,R){if(E){b(E);return}v(R)})});return w.catch(Kl),w}function h(){var C=a.drain,w=new Promise(function(v){a.drain=function(){C(),v()}});return w}}JL.exports=Pie;JL.exports.promise=f$e});var sP=U(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.joinPathSegments=eA.replacePathSegmentSeparator=eA.isAppliedFilter=eA.isFatalError=void 0;function p$e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}eA.isFatalError=p$e;function h$e(t,e){return t===null||t(e)}eA.isAppliedFilter=h$e;function g$e(t,e){return t.split(/[/\\]/).join(e)}eA.replacePathSegmentSeparator=g$e;function d$e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}eA.joinPathSegments=d$e});var XL=U(zL=>{"use strict";Object.defineProperty(zL,"__esModule",{value:!0});var m$e=sP(),VL=class{constructor(e,r){this._root=e,this._settings=r,this._root=m$e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};zL.default=VL});var eO=U($L=>{"use strict";Object.defineProperty($L,"__esModule",{value:!0});var y$e=Ie("events"),E$e=iP(),C$e=xie(),oP=sP(),I$e=XL(),ZL=class extends I$e.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=E$e.scandir,this._emitter=new y$e.EventEmitter,this._queue=C$e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!oP.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=oP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),oP.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&oP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};$L.default=ZL});var bie=U(rO=>{"use strict";Object.defineProperty(rO,"__esModule",{value:!0});var w$e=eO(),tO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new w$e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{B$e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{v$e(e,[...this._storage])}),this._reader.read()}};rO.default=tO;function B$e(t,e){t(e)}function v$e(t,e){t(null,e)}});var Qie=U(iO=>{"use strict";Object.defineProperty(iO,"__esModule",{value:!0});var D$e=Ie("stream"),S$e=eO(),nO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new S$e.default(this._root,this._settings),this._stream=new D$e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};iO.default=nO});var kie=U(oO=>{"use strict";Object.defineProperty(oO,"__esModule",{value:!0});var P$e=iP(),aP=sP(),x$e=XL(),sO=class extends x$e.default{constructor(){super(...arguments),this._scandir=P$e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(!!aP.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=aP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),aP.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&aP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_pushToStorage(e){this._storage.add(e)}};oO.default=sO});var Fie=U(lO=>{"use strict";Object.defineProperty(lO,"__esModule",{value:!0});var b$e=kie(),aO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new b$e.default(this._root,this._settings)}read(){return this._reader.read()}};lO.default=aO});var Rie=U(uO=>{"use strict";Object.defineProperty(uO,"__esModule",{value:!0});var Q$e=Ie("path"),k$e=iP(),cO=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Q$e.sep),this.fsScandirSettings=new k$e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};uO.default=cO});var cP=U(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.Settings=tA.walkStream=tA.walkSync=tA.walk=void 0;var Tie=bie(),F$e=Qie(),R$e=Fie(),AO=Rie();tA.Settings=AO.default;function T$e(t,e,r){if(typeof e=="function"){new Tie.default(t,lP()).read(e);return}new Tie.default(t,lP(e)).read(r)}tA.walk=T$e;function N$e(t,e){let r=lP(e);return new R$e.default(t,r).read()}tA.walkSync=N$e;function L$e(t,e){let r=lP(e);return new F$e.default(t,r).read()}tA.walkStream=L$e;function lP(t={}){return t instanceof AO.default?t:new AO.default(t)}});var uP=U(pO=>{"use strict";Object.defineProperty(pO,"__esModule",{value:!0});var O$e=Ie("path"),M$e=gd(),Nie=vf(),fO=class{constructor(e){this._settings=e,this._fsStatSettings=new M$e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return O$e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Nie.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Nie.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};pO.default=fO});var dO=U(gO=>{"use strict";Object.defineProperty(gO,"__esModule",{value:!0});var U$e=Ie("stream"),_$e=gd(),H$e=cP(),q$e=uP(),hO=class extends q$e.default{constructor(){super(...arguments),this._walkStream=H$e.walkStream,this._stat=_$e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new U$e.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;n<o.length;n++)a.write(n);return a}_getEntry(e,r,o){return this._getStat(e).then(a=>this._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};gO.default=hO});var Lie=U(yO=>{"use strict";Object.defineProperty(yO,"__esModule",{value:!0});var j$e=cP(),G$e=uP(),W$e=dO(),mO=class extends G$e.default{constructor(){super(...arguments),this._walkAsync=j$e.walk,this._readerStream=new W$e.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};yO.default=mO});var Oie=U(CO=>{"use strict";Object.defineProperty(CO,"__esModule",{value:!0});var Xy=vf(),EO=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let e=Xy.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(e){return Xy.pattern.getPatternParts(e,this._micromatchOptions).map(o=>Xy.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:Xy.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return Xy.array.splitWhen(e,r=>r.dynamic&&Xy.pattern.hasGlobStar(r.pattern))}};CO.default=EO});var Mie=U(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});var Y$e=Oie(),IO=class extends Y$e.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let C=n.segments[h];return!!(C.dynamic&&C.patternRe.test(p)||!C.dynamic&&C.pattern===p)}))return!0}return!1}};wO.default=IO});var Uie=U(vO=>{"use strict";Object.defineProperty(vO,"__esModule",{value:!0});var AP=vf(),K$e=Mie(),BO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new K$e.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(AP.pattern.isAffectDepthOfReadingPattern);return AP.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=AP.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!AP.pattern.matchAny(e,r)}};vO.default=BO});var _ie=U(SO=>{"use strict";Object.defineProperty(SO,"__esModule",{value:!0});var dd=vf(),DO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=dd.pattern.convertPatternsToRe(e,this._micromatchOptions),a=dd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(e,r,o){if(this._settings.unique&&this._isDuplicateEntry(e)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e.path,o))return!1;let a=this._settings.baseNameMatch?e.name:e.path,n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(e.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(e),u}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=dd.path.makeAbsolute(this._settings.cwd,e);return dd.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=dd.path.removeLeadingDotSegment(e),n=dd.pattern.matchAny(a,r);return!n&&o?dd.pattern.matchAny(a+"/",r):n}};SO.default=DO});var Hie=U(xO=>{"use strict";Object.defineProperty(xO,"__esModule",{value:!0});var J$e=vf(),PO=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return J$e.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};xO.default=PO});var jie=U(QO=>{"use strict";Object.defineProperty(QO,"__esModule",{value:!0});var qie=vf(),bO=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=qie.path.makeAbsolute(this._settings.cwd,r),r=qie.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};QO.default=bO});var fP=U(FO=>{"use strict";Object.defineProperty(FO,"__esModule",{value:!0});var V$e=Ie("path"),z$e=Uie(),X$e=_ie(),Z$e=Hie(),$$e=jie(),kO=class{constructor(e){this._settings=e,this.errorFilter=new Z$e.default(this._settings),this.entryFilter=new X$e.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new z$e.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new $$e.default(this._settings)}_getRootDirectory(e){return V$e.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};FO.default=kO});var Gie=U(TO=>{"use strict";Object.defineProperty(TO,"__esModule",{value:!0});var eet=Lie(),tet=fP(),RO=class extends tet.default{constructor(){super(...arguments),this._reader=new eet.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};TO.default=RO});var Wie=U(LO=>{"use strict";Object.defineProperty(LO,"__esModule",{value:!0});var ret=Ie("stream"),net=dO(),iet=fP(),NO=class extends iet.default{constructor(){super(...arguments),this._reader=new net.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new ret.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};LO.default=NO});var Yie=U(MO=>{"use strict";Object.defineProperty(MO,"__esModule",{value:!0});var set=gd(),oet=cP(),aet=uP(),OO=class extends aet.default{constructor(){super(...arguments),this._walkSync=oet.walkSync,this._statSync=set.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};MO.default=OO});var Kie=U(_O=>{"use strict";Object.defineProperty(_O,"__esModule",{value:!0});var cet=Yie(),uet=fP(),UO=class extends uet.default{constructor(){super(...arguments),this._reader=new cet.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};_O.default=UO});var Jie=U($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var Zy=Ie("fs"),Aet=Ie("os"),fet=Math.max(Aet.cpus().length,1);$y.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Zy.lstat,lstatSync:Zy.lstatSync,stat:Zy.stat,statSync:Zy.statSync,readdir:Zy.readdir,readdirSync:Zy.readdirSync};var HO=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,fet),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},$y.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};$y.default=HO});var pP=U((KTt,Xie)=>{"use strict";var Vie=Xne(),zie=$ne(),pet=Gie(),het=Wie(),get=Kie(),qO=Jie(),md=vf();async function jO(t,e){eE(t);let r=GO(t,pet.default,e),o=await Promise.all(r);return md.array.flatten(o)}(function(t){function e(u,A){eE(u);let p=GO(u,get.default,A);return md.array.flatten(p)}t.sync=e;function r(u,A){eE(u);let p=GO(u,het.default,A);return md.stream.merge(p)}t.stream=r;function o(u,A){eE(u);let p=zie.transform([].concat(u)),h=new qO.default(A);return Vie.generate(p,h)}t.generateTasks=o;function a(u,A){eE(u);let p=new qO.default(A);return md.pattern.isDynamicPattern(u,p)}t.isDynamicPattern=a;function n(u){return eE(u),md.path.escape(u)}t.escapePath=n})(jO||(jO={}));function GO(t,e,r){let o=zie.transform([].concat(t)),a=new qO.default(r),n=Vie.generate(o,a),u=new e(a);return n.map(u.read,u)}function eE(t){if(![].concat(t).every(o=>md.string.isString(o)&&!md.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}Xie.exports=jO});var $ie=U(yd=>{"use strict";var{promisify:det}=Ie("util"),Zie=Ie("fs");async function WO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await det(Zie[t])(r))[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}function YO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return Zie[t](r)[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}yd.isFile=WO.bind(null,"stat","isFile");yd.isDirectory=WO.bind(null,"stat","isDirectory");yd.isSymlink=WO.bind(null,"lstat","isSymbolicLink");yd.isFileSync=YO.bind(null,"statSync","isFile");yd.isDirectorySync=YO.bind(null,"statSync","isDirectory");yd.isSymlinkSync=YO.bind(null,"lstatSync","isSymbolicLink")});var ise=U((VTt,KO)=>{"use strict";var Ed=Ie("path"),ese=$ie(),tse=t=>t.length>1?`{${t.join(",")}}`:t[0],rse=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Ed.isAbsolute(r)?r:Ed.join(e,r)},met=(t,e)=>Ed.extname(t)?`**/${t}`:`**/${t}.${tse(e)}`,nse=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Ed.posix.join(t,met(r,e.extensions))):e.files?e.files.map(r=>Ed.posix.join(t,`**/${r}`)):e.extensions?[Ed.posix.join(t,`**/*.${tse(e.extensions)}`)]:[Ed.posix.join(t,"**")]};KO.exports=async(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async o=>await ese.isDirectory(rse(o,e.cwd))?nse(o,e):o));return[].concat.apply([],r)};KO.exports.sync=(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(o=>ese.isDirectorySync(rse(o,e.cwd))?nse(o,e):o);return[].concat.apply([],r)}});var pse=U((zTt,fse)=>{function sse(t){return Array.isArray(t)?t:[t]}var cse="",ose=" ",JO="\\",yet=/^\s+$/,Eet=/^\\!/,Cet=/^\\#/,Iet=/\r?\n/g,wet=/^\.*\/|^\.+$/,VO="/",ase=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",Bet=(t,e,r)=>Object.defineProperty(t,e,{value:r}),vet=/([0-z])-([0-z])/g,use=()=>!1,Det=t=>t.replace(vet,(e,r,o)=>r.charCodeAt(0)<=o.charCodeAt(0)?e:cse),Pet=t=>{let{length:e}=t;return t.slice(0,e-e%2)},xet=[[/\\?\s+$/,t=>t.indexOf("\\")===0?ose:cse],[/\\\s/g,()=>ose],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)\\\*(?=.+)/g,(t,e)=>`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>JO],[/\\\\/g,()=>JO],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,o,a)=>e===JO?`\\[${r}${Pet(o)}${a}`:a==="]"&&o.length%2===0?`[${Det(r)}${o}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],lse=Object.create(null),bet=(t,e)=>{let r=lse[t];return r||(r=xet.reduce((o,a)=>o.replace(a[0],a[1].bind(t)),t),lse[t]=r),e?new RegExp(r,"i"):new RegExp(r)},ZO=t=>typeof t=="string",Qet=t=>t&&ZO(t)&&!yet.test(t)&&t.indexOf("#")!==0,ket=t=>t.split(Iet),zO=class{constructor(e,r,o,a){this.origin=e,this.pattern=r,this.negative=o,this.regex=a}},Fet=(t,e)=>{let r=t,o=!1;t.indexOf("!")===0&&(o=!0,t=t.substr(1)),t=t.replace(Eet,"!").replace(Cet,"#");let a=bet(t,e);return new zO(r,t,o,a)},Ret=(t,e)=>{throw new e(t)},Sf=(t,e,r)=>ZO(t)?t?Sf.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),Ase=t=>wet.test(t);Sf.isNotRelative=Ase;Sf.convert=t=>t;var XO=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:o=!1}={}){Bet(this,ase,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=o,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[ase]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Qet(e)){let r=Fet(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,sse(ZO(e)?ket(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let o=!1,a=!1;return this._rules.forEach(n=>{let{negative:u}=n;if(a===u&&o!==a||u&&!o&&!a&&!r)return;n.regex.test(e)&&(o=!u,a=u)}),{ignored:o,unignored:a}}_test(e,r,o,a){let n=e&&Sf.convert(e);return Sf(n,e,this._allowRelativePaths?use:Ret),this._t(n,r,o,a)}_t(e,r,o,a){if(e in r)return r[e];if(a||(a=e.split(VO)),a.pop(),!a.length)return r[e]=this._testOne(e,o);let n=this._t(a.join(VO)+VO,r,o,a);return r[e]=n.ignored?n:this._testOne(e,o)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return sse(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},hP=t=>new XO(t),Tet=t=>Sf(t&&Sf.convert(t),t,use);hP.isPathValid=Tet;hP.default=hP;fse.exports=hP;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Sf.convert=t;let e=/^[a-z]:\//i;Sf.isNotRelative=r=>e.test(r)||Ase(r)}});var gse=U((XTt,hse)=>{"use strict";hse.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var wse=U((ZTt,$O)=>{"use strict";var{promisify:Net}=Ie("util"),dse=Ie("fs"),Pf=Ie("path"),mse=pP(),Let=pse(),Uw=gse(),yse=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Oet=Net(dse.readFile),Met=t=>e=>e.startsWith("!")?"!"+Pf.posix.join(t,e.slice(1)):Pf.posix.join(t,e),Uet=(t,e)=>{let r=Uw(Pf.relative(e.cwd,Pf.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(o=>!o.startsWith("#")).map(Met(r))},Ese=t=>{let e=Let();for(let r of t)e.add(Uet(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},_et=(t,e)=>{if(t=Uw(t),Pf.isAbsolute(e)){if(Uw(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Pf.join(t,e)},Cse=(t,e)=>r=>t.ignores(Uw(Pf.relative(e,_et(e,r.path||r)))),Het=async(t,e)=>{let r=Pf.join(e,t),o=await Oet(r,"utf8");return{cwd:e,filePath:r,content:o}},qet=(t,e)=>{let r=Pf.join(e,t),o=dse.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:o}},Ise=({ignore:t=[],cwd:e=Uw(process.cwd())}={})=>({ignore:t,cwd:e});$O.exports=async t=>{t=Ise(t);let e=await mse("**/.gitignore",{ignore:yse.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(a=>Het(a,t.cwd))),o=Ese(r);return Cse(o,t.cwd)};$O.exports.sync=t=>{t=Ise(t);let r=mse.sync("**/.gitignore",{ignore:yse.concat(t.ignore),cwd:t.cwd}).map(a=>qet(a,t.cwd)),o=Ese(r);return Cse(o,t.cwd)}});var vse=U(($Tt,Bse)=>{"use strict";var{Transform:jet}=Ie("stream"),gP=class extends jet{constructor(){super({objectMode:!0})}},eM=class extends gP{constructor(e){super(),this._filter=e}_transform(e,r,o){this._filter(e)&&this.push(e),o()}},tM=class extends gP{constructor(){super(),this._pushed=new Set}_transform(e,r,o){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),o()}};Bse.exports={FilterStream:eM,UniqueStream:tM}});var sM=U((eNt,Cd)=>{"use strict";var Sse=Ie("fs"),dP=Bne(),Get=vL(),mP=pP(),yP=ise(),rM=wse(),{FilterStream:Wet,UniqueStream:Yet}=vse(),Pse=()=>!1,Dse=t=>t[0]==="!",Ket=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},Jet=(t={})=>{if(!t.cwd)return;let e;try{e=Sse.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},Vet=t=>t.stats instanceof Sse.Stats?t.path:t,EP=(t,e)=>{t=dP([].concat(t)),Ket(t),Jet(e);let r=[];e={ignore:[],expandDirectories:!0,...e};for(let[o,a]of t.entries()){if(Dse(a))continue;let n=t.slice(o).filter(A=>Dse(A)).map(A=>A.slice(1)),u={...e,ignore:e.ignore.concat(n)};r.push({pattern:a,options:u})}return r},zet=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r={...r,files:t.options.expandDirectories}:typeof t.options.expandDirectories=="object"&&(r={...r,...t.options.expandDirectories}),e(t.pattern,r)},nM=(t,e)=>t.options.expandDirectories?zet(t,e):[t.pattern],xse=t=>t&&t.gitignore?rM.sync({cwd:t.cwd,ignore:t.ignore}):Pse,iM=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=yP.sync(r.ignore)),{pattern:e,options:r}};Cd.exports=async(t,e)=>{let r=EP(t,e),o=async()=>e&&e.gitignore?rM({cwd:e.cwd,ignore:e.ignore}):Pse,a=async()=>{let p=await Promise.all(r.map(async h=>{let C=await nM(h,yP);return Promise.all(C.map(iM(h)))}));return dP(...p)},[n,u]=await Promise.all([o(),a()]),A=await Promise.all(u.map(p=>mP(p.pattern,p.options)));return dP(...A).filter(p=>!n(Vet(p)))};Cd.exports.sync=(t,e)=>{let r=EP(t,e),o=[];for(let u of r){let A=nM(u,yP.sync).map(iM(u));o.push(...A)}let a=xse(e),n=[];for(let u of o)n=dP(n,mP.sync(u.pattern,u.options));return n.filter(u=>!a(u))};Cd.exports.stream=(t,e)=>{let r=EP(t,e),o=[];for(let A of r){let p=nM(A,yP.sync).map(iM(A));o.push(...p)}let a=xse(e),n=new Wet(A=>!a(A)),u=new Yet;return Get(o.map(A=>mP.stream(A.pattern,A.options))).pipe(n).pipe(u)};Cd.exports.generateGlobTasks=EP;Cd.exports.hasMagic=(t,e)=>[].concat(t).some(r=>mP.isDynamicPattern(r,e));Cd.exports.gitignore=rM});var bn={};Yt(bn,{checksumFile:()=>IP,checksumPattern:()=>wP,makeHash:()=>Js});function Js(...t){let e=(0,CP.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function IP(t,{baseFs:e,algorithm:r}={baseFs:ae,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,CP.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function wP(t,{cwd:e}){let o=(await(0,oM.default)(t,{cwd:Ae.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(A=>`${A}/**/*`),a=await(0,oM.default)([t,...o],{cwd:Ae.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=Ae.toPortablePath(A),C=await ae.lstatPromise(h);return C.isSymbolicLink()?p.push(Buffer.from(await ae.readlinkPromise(h))):C.isFile()&&p.push(await ae.readFilePromise(h)),p.join("\0")})),u=(0,CP.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var CP,oM,e0=dt(()=>{bt();CP=Ie("crypto"),oM=tt(sM())});var Y={};Yt(Y,{areDescriptorsEqual:()=>Rse,areIdentsEqual:()=>Gw,areLocatorsEqual:()=>Ww,areVirtualPackagesEquivalent:()=>stt,bindDescriptor:()=>ntt,bindLocator:()=>itt,convertDescriptorToLocator:()=>BP,convertLocatorToDescriptor:()=>lM,convertPackageToLocator:()=>ett,convertToIdent:()=>$et,convertToManifestRange:()=>ctt,copyPackage:()=>Hw,devirtualizeDescriptor:()=>qw,devirtualizeLocator:()=>jw,ensureDevirtualizedDescriptor:()=>ttt,ensureDevirtualizedLocator:()=>rtt,getIdentVendorPath:()=>pM,isPackageCompatible:()=>xP,isVirtualDescriptor:()=>xf,isVirtualLocator:()=>qc,makeDescriptor:()=>mn,makeIdent:()=>rA,makeLocator:()=>us,makeRange:()=>DP,parseDescriptor:()=>t0,parseFileStyleRange:()=>att,parseIdent:()=>Ys,parseLocator:()=>bf,parseRange:()=>Id,prettyDependent:()=>BL,prettyDescriptor:()=>Ln,prettyIdent:()=>cs,prettyLocator:()=>kr,prettyLocatorNoColors:()=>fM,prettyRange:()=>PP,prettyReference:()=>Kw,prettyResolution:()=>Mw,prettyWorkspace:()=>Jw,renamePackage:()=>cM,slugifyIdent:()=>aM,slugifyLocator:()=>rE,sortDescriptors:()=>nE,stringifyDescriptor:()=>xa,stringifyIdent:()=>nn,stringifyLocator:()=>Wl,tryParseDescriptor:()=>Yw,tryParseIdent:()=>Tse,tryParseLocator:()=>vP,tryParseRange:()=>ott,virtualizeDescriptor:()=>uM,virtualizePackage:()=>AM});function rA(t,e){if(t!=null&&t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:Js(t,e),scope:t,name:e}}function mn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:Js(t.identHash,e),range:e}}function us(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:Js(t.identHash,e),reference:e}}function $et(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function BP(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function lM(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function ett(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function cM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function Hw(t){return cM(t,t)}function uM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return mn(t,`virtual:${e}#${t.range}`)}function AM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return cM(t,us(t,`virtual:${e}#${t.reference}`))}function xf(t){return t.range.startsWith(_w)}function qc(t){return t.reference.startsWith(_w)}function qw(t){if(!xf(t))throw new Error("Not a virtual descriptor");return mn(t,t.range.replace(/^[^#]*#/,""))}function jw(t){if(!qc(t))throw new Error("Not a virtual descriptor");return us(t,t.reference.replace(/^[^#]*#/,""))}function ttt(t){return xf(t)?mn(t,t.range.replace(/^[^#]*#/,"")):t}function rtt(t){return qc(t)?us(t,t.reference.replace(/^[^#]*#/,"")):t}function ntt(t,e){return t.range.includes("::")?t:mn(t,`${t.range}::${tE.default.stringify(e)}`)}function itt(t,e){return t.reference.includes("::")?t:us(t,`${t.reference}::${tE.default.stringify(e)}`)}function Gw(t,e){return t.identHash===e.identHash}function Rse(t,e){return t.descriptorHash===e.descriptorHash}function Ww(t,e){return t.locatorHash===e.locatorHash}function stt(t,e){if(!qc(t))throw new Error("Invalid package type");if(!qc(e))throw new Error("Invalid package type");if(!Gw(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!Rse(r,o))return!1}return!0}function Ys(t){let e=Tse(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function Tse(t){let e=t.match(/^(?:@([^/]+?)\/)?([^@/]+)$/);if(!e)return null;let[,r,o]=e;return rA(typeof r<"u"?r:null,o)}function t0(t,e=!1){let r=Yw(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function Yw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return mn(rA(u,a),A)}function bf(t,e=!1){let r=vP(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function vP(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return us(rA(u,a),A)}function Id(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if((e==null?void 0:e.requireProtocol)&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e!=null&&e.parseSelector?tE.default.parse(n):n,A=typeof r[4]<"u"?tE.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function ott(t,e){try{return Id(t,e)}catch{return null}}function att(t,{protocol:e}){let{selector:r,params:o}=Id(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:bf(o.locator,!0),path:r}}function bse(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function ltt(t){return t===null?!1:Object.entries(t).length>0}function DP({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${bse(e)}#`),a+=bse(r),ltt(o)&&(a+=`::${tE.default.stringify(o)}`),a}function ctt(t){let{params:e,protocol:r,source:o,selector:a}=Id(t);for(let n in e)n.startsWith("__")&&delete e[n];return DP({protocol:r,source:o,params:e,selector:a})}function nn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function xa(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Wl(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function aM(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function rE(t){let{protocol:e,selector:r}=Id(t.reference),o=e!==null?e.replace(/:$/,""):"exotic",a=Qse.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10,A=t.scope?`${aM(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${aM(t)}-${n}-${t.locatorHash.slice(0,u)}`;return Li(A)}function cs(t,e){return e.scope?`${Kt(t,`@${e.scope}/`,Bt.SCOPE)}${Kt(t,e.name,Bt.NAME)}`:`${Kt(t,e.name,Bt.NAME)}`}function SP(t){if(t.startsWith(_w)){let e=SP(t.substring(t.indexOf("#")+1)),r=t.substring(_w.length,_w.length+Xet);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function PP(t,e){return`${Kt(t,SP(e),Bt.RANGE)}`}function Ln(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.RANGE)}${PP(t,e.range)}`}function Kw(t,e){return`${Kt(t,SP(e),Bt.REFERENCE)}`}function kr(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.REFERENCE)}${Kw(t,e.reference)}`}function fM(t){return`${nn(t)}@${SP(t.reference)}`}function nE(t){return Sa(t,[e=>nn(e),e=>e.range])}function Jw(t,e){return cs(t,e.locator)}function Mw(t,e,r){let o=xf(e)?qw(e):e;return r===null?`${Ln(t,o)} \u2192 ${wL(t).Cross}`:o.identHash===r.identHash?`${Ln(t,o)} \u2192 ${Kw(t,r.reference)}`:`${Ln(t,o)} \u2192 ${kr(t,r)}`}function BL(t,e,r){return r===null?`${kr(t,e)}`:`${kr(t,e)} (via ${PP(t,r.range)})`}function pM(t){return`node_modules/${nn(t)}`}function xP(t,e){return t.conditions?Zet(t.conditions,r=>{let[,o,a]=r.match(Fse),n=e[o];return n?n.includes(a):!0}):!0}var tE,Qse,kse,_w,Xet,Fse,Zet,Ks=dt(()=>{bt();tE=tt(Ie("querystring")),Qse=tt(ii()),kse=tt(Zz());Yl();e0();Gl();Ks();_w="virtual:",Xet=5,Fse=/(os|cpu|libc)=([a-z0-9_-]+)/,Zet=(0,kse.makeParser)(Fse)});var Nse,Lse=dt(()=>{Ks();Nse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==nn(r)||e.configuration.normalizeLocator(us(Ys(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==nn(t)||e.configuration.normalizeDependency(mn(bf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(mn(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=Jw(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var Vw,oi,wd=dt(()=>{Vw=class{supportsDescriptor(e,r){return!!(e.range.startsWith(Vw.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(Vw.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice(Vw.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},oi=Vw;oi.protocol="workspace:"});var Tr={};Yt(Tr,{SemVer:()=>Use.SemVer,clean:()=>Att,satisfiesWithPrereleases:()=>Bd,validRange:()=>jc});function Bd(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=Ose.get(o);if(typeof a>"u")try{a=new bP.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Ose.set(o,a||null)}else if(a===null)return!1;let n;try{n=new bP.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function jc(t){if(t.indexOf(":")!==-1)return null;let e=Mse.get(t);if(typeof e<"u")return e;try{e=new bP.default.Range(t)}catch{e=null}return Mse.set(t,e),e}function Att(t){let e=utt.exec(t);return e?e[1]:null}var bP,Use,Ose,Mse,utt,r0=dt(()=>{bP=tt(ii()),Use=tt(ii()),Ose=new Map;Mse=new Map;utt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function _se(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function Hse(t){return t.charCodeAt(0)===65279?t.slice(1):t}function Vo(t){return t.replace(/\\/g,"/")}function QP(t,{yamlCompatibilityMode:e}){return e?hL(t):typeof t>"u"||typeof t=="boolean"?t:null}function qse(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function hM(t,e){return e.length===1?qse(t,e[0]):`(${e.map(r=>qse(t,r)).join(" | ")})`}var jse,iE,Nt,sE=dt(()=>{bt();Ol();jse=tt(ii());wd();Gl();r0();Ks();iE=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new xn}={}){let o=V.join(e,"package.json");try{return await iE.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await iE.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new xn}={}){let o=new iE;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new iE;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(Hse(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=_se(e)}async loadFile(e,{baseFs:r=new xn}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(Hse(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=_se(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Ys(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=Vo(e.main):this.main=null,typeof e.module=="string"?this.module=Vo(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=Vo(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set(Vo(n),typeof u=="string"?Vo(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,Vo(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Ys(n);this.bin.set(A.name,Vo(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(oi.protocol)&&!jc(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=mn(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=t0(n),p=this.ensureDependencyMeta(A),h=QP(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let C=QP(u.optional,{yamlCompatibilityMode:r});if(C===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let w=QP(u.unplugged,{yamlCompatibilityMode:r});if(w===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:C,unplugged:w})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=t0(n),p=this.ensurePeerDependencyMeta(A),h=QP(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:ID(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=Vo(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=Vo(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=Vo(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(Vo(n),typeof u=="string"?Vo(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,Vo(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,Vo(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(Vo(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p);let h=mn(A,"unknown"),C=this.ensureDependencyMeta(h);Object.assign(C,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(hM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(hM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(hM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!jse.default.valid(e.range))throw new Error(`Invalid meta field range for '${xa(e)}'`);let r=nn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${xa(e)}'`);let r=nn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.prototype.hasOwnProperty.call(this.raw,n)));if(a.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=nn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(nn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...nE(o).map(n=>({[nn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...nE(a).map(n=>({[nn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...nE(this.devDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...nE(this.peerDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Sa(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Sa(u.entries(),([h,C])=>h!==null?`0${h}`:"1")){let h=A!==null?xa(mn(Ys(n),A)):n,C={...p};r&&A===null&&delete C.optional,Object.keys(C).length!==0&&(e.dependenciesMeta[h]=C)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Sa(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[wD(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??(e.scripts={});for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}},Nt=iE;Nt.fileName="package.json",Nt.allDependencies=["dependencies","devDependencies","peerDependencies"],Nt.hardDependencies=["dependencies","devDependencies"]});var Wse=U((mNt,Gse)=>{var ftt=ql(),ptt=function(){return ftt.Date.now()};Gse.exports=ptt});var Kse=U((yNt,Yse)=>{var htt=/\s/;function gtt(t){for(var e=t.length;e--&&htt.test(t.charAt(e)););return e}Yse.exports=gtt});var Vse=U((ENt,Jse)=>{var dtt=Kse(),mtt=/^\s+/;function ytt(t){return t&&t.slice(0,dtt(t)+1).replace(mtt,"")}Jse.exports=ytt});var oE=U((CNt,zse)=>{var Ett=ud(),Ctt=zu(),Itt="[object Symbol]";function wtt(t){return typeof t=="symbol"||Ctt(t)&&Ett(t)==Itt}zse.exports=wtt});var eoe=U((INt,$se)=>{var Btt=Vse(),Xse=il(),vtt=oE(),Zse=0/0,Dtt=/^[-+]0x[0-9a-f]+$/i,Stt=/^0b[01]+$/i,Ptt=/^0o[0-7]+$/i,xtt=parseInt;function btt(t){if(typeof t=="number")return t;if(vtt(t))return Zse;if(Xse(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Xse(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Btt(t);var r=Stt.test(t);return r||Ptt.test(t)?xtt(t.slice(2),r?2:8):Dtt.test(t)?Zse:+t}$se.exports=btt});var noe=U((wNt,roe)=>{var Qtt=il(),gM=Wse(),toe=eoe(),ktt="Expected a function",Ftt=Math.max,Rtt=Math.min;function Ttt(t,e,r){var o,a,n,u,A,p,h=0,C=!1,w=!1,v=!0;if(typeof t!="function")throw new TypeError(ktt);e=toe(e)||0,Qtt(r)&&(C=!!r.leading,w="maxWait"in r,n=w?Ftt(toe(r.maxWait)||0,e):n,v="trailing"in r?!!r.trailing:v);function b(he){var ve=o,ge=a;return o=a=void 0,h=he,u=t.apply(ge,ve),u}function E(he){return h=he,A=setTimeout(_,e),C?b(he):u}function R(he){var ve=he-p,ge=he-h,le=e-ve;return w?Rtt(le,n-ge):le}function L(he){var ve=he-p,ge=he-h;return p===void 0||ve>=e||ve<0||w&&ge>=n}function _(){var he=gM();if(L(he))return J(he);A=setTimeout(_,R(he))}function J(he){return A=void 0,v&&o?b(he):(o=a=void 0,u)}function re(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function oe(){return A===void 0?u:J(gM())}function pe(){var he=gM(),ve=L(he);if(o=arguments,a=this,p=he,ve){if(A===void 0)return E(p);if(w)return clearTimeout(A),A=setTimeout(_,e),b(p)}return A===void 0&&(A=setTimeout(_,e)),u}return pe.cancel=re,pe.flush=oe,pe}roe.exports=Ttt});var dM=U((BNt,ioe)=>{var Ntt=noe(),Ltt=il(),Ott="Expected a function";function Mtt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(Ott);return Ltt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),Ntt(t,e,{leading:o,maxWait:e,trailing:a})}ioe.exports=Mtt});function _tt(t){return typeof t.reportCode<"u"}var soe,ooe,aoe,Utt,Jt,Vs,Jl=dt(()=>{soe=tt(dM()),ooe=Ie("stream"),aoe=Ie("string_decoder"),Utt=15,Jt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Vs=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(C=>{o=C}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r<e;)await a,yield{progress:r/e}}();return{[Symbol.asyncIterator](){return A},hasProgress:!0,hasTitle:!1,set:n,tick:u}}static progressViaTitle(){let e,r,o=new Promise(u=>{r=u}),a=(0,soe.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/Utt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportWarningOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportErrorOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportExceptionOnce(e){_tt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new ooe.PassThrough,o=new aoe.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` 134`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var fZ=U((Skt,AZ)=>{"use strict";var u5e=IS(),{MAX_LENGTH:lZ,CHAR_BACKSLASH:IN,CHAR_BACKTICK:A5e,CHAR_COMMA:f5e,CHAR_DOT:p5e,CHAR_LEFT_PARENTHESES:h5e,CHAR_RIGHT_PARENTHESES:g5e,CHAR_LEFT_CURLY_BRACE:d5e,CHAR_RIGHT_CURLY_BRACE:m5e,CHAR_LEFT_SQUARE_BRACKET:cZ,CHAR_RIGHT_SQUARE_BRACKET:uZ,CHAR_DOUBLE_QUOTE:y5e,CHAR_SINGLE_QUOTE:C5e,CHAR_NO_BREAK_SPACE:E5e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:I5e}=aZ(),w5e=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(lZ,r.maxLength):lZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,E=0,w=0,v,b={},C=()=>t[E++],R=L=>{if(L.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&L.type==="text"){A.value+=L.value;return}return u.nodes.push(L),L.parent=u,L.prev=A,A=L,L};for(R({type:"bos"});E<h;)if(u=n[n.length-1],v=C(),!(v===I5e||v===E5e)){if(v===IN){R({type:"text",value:(e.keepEscaping?v:"")+C()});continue}if(v===uZ){R({type:"text",value:"\\"+v});continue}if(v===cZ){p++;let L=!0,_;for(;E<h&&(_=C());){if(v+=_,_===cZ){p++;continue}if(_===IN){v+=C();continue}if(_===uZ&&(p--,p===0))break}R({type:"text",value:v});continue}if(v===h5e){u=R({type:"paren",nodes:[]}),n.push(u),R({type:"text",value:v});continue}if(v===g5e){if(u.type!=="paren"){R({type:"text",value:v});continue}u=n.pop(),R({type:"text",value:v}),u=n[n.length-1];continue}if(v===y5e||v===C5e||v===A5e){let L=v,_;for(e.keepQuotes!==!0&&(v="");E<h&&(_=C());){if(_===IN){v+=_+C();continue}if(_===L){e.keepQuotes===!0&&(v+=_);break}v+=_}R({type:"text",value:v});continue}if(v===d5e){w++;let _={type:"brace",open:!0,close:!1,dollar:A.value&&A.value.slice(-1)==="$"||u.dollar===!0,depth:w,commas:0,ranges:0,nodes:[]};u=R(_),n.push(u),R({type:"open",value:v});continue}if(v===m5e){if(u.type!=="brace"){R({type:"text",value:v});continue}let L="close";u=n.pop(),u.close=!0,R({type:L,value:v}),w--,u=n[n.length-1];continue}if(v===f5e&&w>0){if(u.ranges>0){u.ranges=0;let L=u.nodes.shift();u.nodes=[L,{type:"text",value:u5e(u)}]}R({type:"comma",value:v}),u.commas++;continue}if(v===p5e&&w>0&&u.commas===0){let L=u.nodes;if(w===0||L.length===0){R({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){L.pop();let _=L[L.length-1];_.value+=A.value+v,A=_,u.ranges--;continue}R({type:"dot",value:v});continue}R({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(V=>{V.nodes||(V.type==="open"&&(V.isOpen=!0),V.type==="close"&&(V.isClose=!0),V.nodes||(V.type="text"),V.invalid=!0)});let L=n[n.length-1],_=L.nodes.indexOf(u);L.nodes.splice(_,1,...u.nodes)}while(n.length>0);return R({type:"eos"}),a};AZ.exports=w5e});var gZ=U((Pkt,hZ)=>{"use strict";var pZ=IS(),B5e=rZ(),v5e=sZ(),D5e=fZ(),il=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=il.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(il.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};il.parse=(t,e={})=>D5e(t,e);il.stringify=(t,e={})=>pZ(typeof t=="string"?il.parse(t,e):t,e);il.compile=(t,e={})=>(typeof t=="string"&&(t=il.parse(t,e)),B5e(t,e));il.expand=(t,e={})=>{typeof t=="string"&&(t=il.parse(t,e));let r=v5e(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};il.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?il.compile(t,e):il.expand(t,e);hZ.exports=il});var Cw=U((xkt,EZ)=>{"use strict";var S5e=Ie("path"),Ju="\\\\/",dZ=`[^${Ju}]`,vf="\\.",P5e="\\+",x5e="\\?",BS="\\/",b5e="(?=.)",mZ="[^/]",wN=`(?:${BS}|$)`,yZ=`(?:^|${BS})`,BN=`${vf}{1,2}${wN}`,Q5e=`(?!${vf})`,k5e=`(?!${yZ}${BN})`,F5e=`(?!${vf}{0,1}${wN})`,R5e=`(?!${BN})`,T5e=`[^.${BS}]`,N5e=`${mZ}*?`,CZ={DOT_LITERAL:vf,PLUS_LITERAL:P5e,QMARK_LITERAL:x5e,SLASH_LITERAL:BS,ONE_CHAR:b5e,QMARK:mZ,END_ANCHOR:wN,DOTS_SLASH:BN,NO_DOT:Q5e,NO_DOTS:k5e,NO_DOT_SLASH:F5e,NO_DOTS_SLASH:R5e,QMARK_NO_DOT:T5e,STAR:N5e,START_ANCHOR:yZ},L5e={...CZ,SLASH_LITERAL:`[${Ju}]`,QMARK:dZ,STAR:`${dZ}*?`,DOTS_SLASH:`${vf}{1,2}(?:[${Ju}]|$)`,NO_DOT:`(?!${vf})`,NO_DOTS:`(?!(?:^|[${Ju}])${vf}{1,2}(?:[${Ju}]|$))`,NO_DOT_SLASH:`(?!${vf}{0,1}(?:[${Ju}]|$))`,NO_DOTS_SLASH:`(?!${vf}{1,2}(?:[${Ju}]|$))`,QMARK_NO_DOT:`[^.${Ju}]`,START_ANCHOR:`(?:^|[${Ju}])`,END_ANCHOR:`(?:[${Ju}]|$)`},O5e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};EZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:O5e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:S5e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?L5e:CZ}}});var Ew=U(Sa=>{"use strict";var M5e=Ie("path"),U5e=process.platform==="win32",{REGEX_BACKSLASH:_5e,REGEX_REMOVE_BACKSLASH:H5e,REGEX_SPECIAL_CHARS:q5e,REGEX_SPECIAL_CHARS_GLOBAL:j5e}=Cw();Sa.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Sa.hasRegexChars=t=>q5e.test(t);Sa.isRegexChar=t=>t.length===1&&Sa.hasRegexChars(t);Sa.escapeRegex=t=>t.replace(j5e,"\\$1");Sa.toPosixSlashes=t=>t.replace(_5e,"/");Sa.removeBackslashes=t=>t.replace(H5e,e=>e==="\\"?"":e);Sa.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Sa.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:U5e===!0||M5e.sep==="\\";Sa.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?Sa.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};Sa.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Sa.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var xZ=U((Qkt,PZ)=>{"use strict";var IZ=Ew(),{CHAR_ASTERISK:vN,CHAR_AT:G5e,CHAR_BACKWARD_SLASH:Iw,CHAR_COMMA:W5e,CHAR_DOT:DN,CHAR_EXCLAMATION_MARK:SN,CHAR_FORWARD_SLASH:SZ,CHAR_LEFT_CURLY_BRACE:PN,CHAR_LEFT_PARENTHESES:xN,CHAR_LEFT_SQUARE_BRACKET:Y5e,CHAR_PLUS:K5e,CHAR_QUESTION_MARK:wZ,CHAR_RIGHT_CURLY_BRACE:V5e,CHAR_RIGHT_PARENTHESES:BZ,CHAR_RIGHT_SQUARE_BRACKET:J5e}=Cw(),vZ=t=>t===SZ||t===Iw,DZ=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},z5e=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,E=0,w=0,v=!1,b=!1,C=!1,R=!1,L=!1,_=!1,V=!1,re=!1,oe=!1,pe=!1,he=0,ve,ge,le={value:"",depth:0,isGlob:!1},Pe=()=>h>=o,g=()=>p.charCodeAt(h+1),De=()=>(ve=ge,p.charCodeAt(++h));for(;h<o;){ge=De();let me;if(ge===Iw){V=le.backslashes=!0,ge=De(),ge===PN&&(_=!0);continue}if(_===!0||ge===PN){for(he++;Pe()!==!0&&(ge=De());){if(ge===Iw){V=le.backslashes=!0,De();continue}if(ge===PN){he++;continue}if(_!==!0&&ge===DN&&(ge=De())===DN){if(v=le.isBrace=!0,C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(_!==!0&&ge===W5e){if(v=le.isBrace=!0,C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===V5e&&(he--,he===0)){_=!1,v=le.isBrace=!0,pe=!0;break}}if(a===!0)continue;break}if(ge===SZ){if(n.push(h),u.push(le),le={value:"",depth:0,isGlob:!1},pe===!0)continue;if(ve===DN&&h===E+1){E+=2;continue}w=h+1;continue}if(r.noext!==!0&&(ge===K5e||ge===G5e||ge===vN||ge===wZ||ge===SN)===!0&&g()===xN){if(C=le.isGlob=!0,R=le.isExtglob=!0,pe=!0,ge===SN&&h===E&&(oe=!0),a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===Iw){V=le.backslashes=!0,ge=De();continue}if(ge===BZ){C=le.isGlob=!0,pe=!0;break}}continue}break}if(ge===vN){if(ve===vN&&(L=le.isGlobstar=!0),C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===wZ){if(C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===Y5e){for(;Pe()!==!0&&(me=De());){if(me===Iw){V=le.backslashes=!0,De();continue}if(me===J5e){b=le.isBracket=!0,C=le.isGlob=!0,pe=!0;break}}if(a===!0)continue;break}if(r.nonegate!==!0&&ge===SN&&h===E){re=le.negated=!0,E++;continue}if(r.noparen!==!0&&ge===xN){if(C=le.isGlob=!0,a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===xN){V=le.backslashes=!0,ge=De();continue}if(ge===BZ){pe=!0;break}}continue}break}if(C===!0){if(pe=!0,a===!0)continue;break}}r.noext===!0&&(R=!1,C=!1);let Ce=p,de="",ne="";E>0&&(de=p.slice(0,E),p=p.slice(E),w-=E),Ce&&C===!0&&w>0?(Ce=p.slice(0,w),ne=p.slice(w)):C===!0?(Ce="",ne=p):Ce=p,Ce&&Ce!==""&&Ce!=="/"&&Ce!==p&&vZ(Ce.charCodeAt(Ce.length-1))&&(Ce=Ce.slice(0,-1)),r.unescape===!0&&(ne&&(ne=IZ.removeBackslashes(ne)),Ce&&V===!0&&(Ce=IZ.removeBackslashes(Ce)));let Z={prefix:de,input:t,start:E,base:Ce,glob:ne,isBrace:v,isBracket:b,isGlob:C,isExtglob:R,isGlobstar:L,negated:re,negatedExtglob:oe};if(r.tokens===!0&&(Z.maxDepth=0,vZ(ge)||u.push(le),Z.tokens=u),r.parts===!0||r.tokens===!0){let me;for(let be=0;be<n.length;be++){let ut=me?me+1:E,H=n[be],yt=t.slice(ut,H);r.tokens&&(be===0&&E!==0?(u[be].isPrefix=!0,u[be].value=de):u[be].value=yt,DZ(u[be]),Z.maxDepth+=u[be].depth),(be!==0||yt!=="")&&A.push(yt),me=H}if(me&&me+1<t.length){let be=t.slice(me+1);A.push(be),r.tokens&&(u[u.length-1].value=be,DZ(u[u.length-1]),Z.maxDepth+=u[u.length-1].depth)}Z.slashes=n,Z.parts=A}return Z};PZ.exports=z5e});var kZ=U((kkt,QZ)=>{"use strict";var vS=Cw(),sl=Ew(),{MAX_LENGTH:DS,POSIX_REGEX_SOURCE:X5e,REGEX_NON_SPECIAL_CHARS:Z5e,REGEX_SPECIAL_CHARS_BACKREF:$5e,REPLACEMENTS:bZ}=vS,e7e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>sl.escapeRegex(a)).join("..")}return r},Ny=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,bN=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=bZ[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(DS,r.maxLength):DS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=sl.isWindows(e),h=vS.globChars(p),E=vS.extglobChars(h),{DOT_LITERAL:w,PLUS_LITERAL:v,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:R,NO_DOT:L,NO_DOT_SLASH:_,NO_DOTS_SLASH:V,QMARK:re,QMARK_NO_DOT:oe,STAR:pe,START_ANCHOR:he}=h,ve=x=>`(${A}(?:(?!${he}${x.dot?R:w}).)*?)`,ge=r.dot?"":L,le=r.dot?re:oe,Pe=r.bash===!0?ve(r):pe;r.capture&&(Pe=`(${Pe})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=sl.removePrefix(t,g),a=t.length;let De=[],Ce=[],de=[],ne=n,Z,me=()=>g.index===a-1,be=g.peek=(x=1)=>t[g.index+x],ut=g.advance=()=>t[++g.index]||"",H=()=>t.slice(g.index+1),yt=(x="",I=0)=>{g.consumed+=x,g.index+=I},Me=x=>{g.output+=x.output!=null?x.output:x.value,yt(x.value)},Te=()=>{let x=1;for(;be()==="!"&&(be(2)!=="("||be(3)==="?");)ut(),g.start++,x++;return x%2===0?!1:(g.negated=!0,g.start++,!0)},Qe=x=>{g[x]++,de.push(x)},_e=x=>{g[x]--,de.pop()},qe=x=>{if(ne.type==="globstar"){let I=g.braces>0&&(x.type==="comma"||x.type==="brace"),P=x.extglob===!0||De.length&&(x.type==="pipe"||x.type==="paren");x.type!=="slash"&&x.type!=="paren"&&!I&&!P&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=Pe,g.output+=ne.output)}if(De.length&&x.type!=="paren"&&(De[De.length-1].inner+=x.value),(x.value||x.output)&&Me(x),ne&&ne.type==="text"&&x.type==="text"){ne.value+=x.value,ne.output=(ne.output||"")+x.value;return}x.prev=ne,u.push(x),ne=x},At=(x,I)=>{let P={...E[I],conditions:1,inner:""};P.prev=ne,P.parens=g.parens,P.output=g.output;let y=(r.capture?"(":"")+P.open;Qe("parens"),qe({type:x,value:I,output:g.output?"":C}),qe({type:"paren",extglob:!0,value:ut(),output:y}),De.push(P)},Oe=x=>{let I=x.close+(r.capture?")":""),P;if(x.type==="negate"){let y=Pe;if(x.inner&&x.inner.length>1&&x.inner.includes("/")&&(y=ve(r)),(y!==Pe||me()||/^\)+$/.test(H()))&&(I=x.close=`)$))${y}`),x.inner.includes("*")&&(P=H())&&/^\.[^\\/.]+$/.test(P)){let F=bN(P,{...e,fastpaths:!1}).output;I=x.close=`)${F})${y})`}x.prev.type==="bos"&&(g.negatedExtglob=!0)}qe({type:"paren",extglob:!0,value:Z,output:I}),_e("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let x=!1,I=t.replace($5e,(P,y,F,J,X,$)=>J==="\\"?(x=!0,P):J==="?"?y?y+J+(X?re.repeat(X.length):""):$===0?le+(X?re.repeat(X.length):""):re.repeat(F.length):J==="."?w.repeat(F.length):J==="*"?y?y+J+(X?Pe:""):Pe:y?P:`\\${P}`);return x===!0&&(r.unescape===!0?I=I.replace(/\\/g,""):I=I.replace(/\\+/g,P=>P.length%2===0?"\\\\":P?"\\":"")),I===t&&r.contains===!0?(g.output=t,g):(g.output=sl.wrapOutput(I,g,e),g)}for(;!me();){if(Z=ut(),Z==="\0")continue;if(Z==="\\"){let P=be();if(P==="/"&&r.bash!==!0||P==="."||P===";")continue;if(!P){Z+="\\",qe({type:"text",value:Z});continue}let y=/^\\+/.exec(H()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(Z+="\\")),r.unescape===!0?Z=ut():Z+=ut(),g.brackets===0){qe({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&Z===":"){let P=ne.value.slice(1);if(P.includes("[")&&(ne.posix=!0,P.includes(":"))){let y=ne.value.lastIndexOf("["),F=ne.value.slice(0,y),J=ne.value.slice(y+2),X=X5e[J];if(X){ne.value=F+X,g.backtrack=!0,ut(),!n.output&&u.indexOf(ne)===1&&(n.output=C);continue}}}(Z==="["&&be()!==":"||Z==="-"&&be()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ne.value==="["||ne.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ne.value==="["&&(Z="^"),ne.value+=Z,Me({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=sl.escapeRegex(Z),ne.value+=Z,Me({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&qe({type:"text",value:Z});continue}if(Z==="("){Qe("parens"),qe({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Ny("opening","("));let P=De[De.length-1];if(P&&g.parens===P.parens+1){Oe(De.pop());continue}qe({type:"paren",value:Z,output:g.parens?")":"\\)"}),_e("parens");continue}if(Z==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Ny("closing","]"));Z=`\\${Z}`}else Qe("brackets");qe({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){qe({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Ny("opening","["));qe({type:"text",value:Z,output:`\\${Z}`});continue}_e("brackets");let P=ne.value.slice(1);if(ne.posix!==!0&&P[0]==="^"&&!P.includes("/")&&(Z=`/${Z}`),ne.value+=Z,Me({value:Z}),r.literalBrackets===!1||sl.hasRegexChars(P))continue;let y=sl.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(Z==="{"&&r.nobrace!==!0){Qe("braces");let P={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ce.push(P),qe(P);continue}if(Z==="}"){let P=Ce[Ce.length-1];if(r.nobrace===!0||!P){qe({type:"text",value:Z,output:Z});continue}let y=")";if(P.dots===!0){let F=u.slice(),J=[];for(let X=F.length-1;X>=0&&(u.pop(),F[X].type!=="brace");X--)F[X].type!=="dots"&&J.unshift(F[X].value);y=e7e(J,r),g.backtrack=!0}if(P.comma!==!0&&P.dots!==!0){let F=g.output.slice(0,P.outputIndex),J=g.tokens.slice(P.tokensIndex);P.value=P.output="\\{",Z=y="\\}",g.output=F;for(let X of J)g.output+=X.output||X.value}qe({type:"brace",value:Z,output:y}),_e("braces"),Ce.pop();continue}if(Z==="|"){De.length>0&&De[De.length-1].conditions++,qe({type:"text",value:Z});continue}if(Z===","){let P=Z,y=Ce[Ce.length-1];y&&de[de.length-1]==="braces"&&(y.comma=!0,P="|"),qe({type:"comma",value:Z,output:P});continue}if(Z==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}qe({type:"slash",value:Z,output:b});continue}if(Z==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=w);let P=Ce[Ce.length-1];ne.type="dots",ne.output+=Z,ne.value+=Z,P.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){qe({type:"text",value:Z,output:w});continue}qe({type:"dot",value:Z,output:w});continue}if(Z==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("qmark",Z);continue}if(ne&&ne.type==="paren"){let y=be(),F=Z;if(y==="<"&&!sl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(F=`\\${Z}`),qe({type:"text",value:Z,output:F});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){qe({type:"qmark",value:Z,output:oe});continue}qe({type:"qmark",value:Z,output:re});continue}if(Z==="!"){if(r.noextglob!==!0&&be()==="("&&(be(2)!=="?"||!/[!=<:]/.test(be(3)))){At("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Te();continue}}if(Z==="+"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("plus",Z);continue}if(ne&&ne.value==="("||r.regex===!1){qe({type:"plus",value:Z,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){qe({type:"plus",value:Z});continue}qe({type:"plus",value:v});continue}if(Z==="@"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){qe({type:"at",extglob:!0,value:Z,output:""});continue}qe({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let P=Z5e.exec(H());P&&(Z+=P[0],g.index+=P[0].length),qe({type:"text",value:Z});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=Z,ne.output=Pe,g.backtrack=!0,g.globstar=!0,yt(Z);continue}let x=H();if(r.noextglob!==!0&&/^\([^?]/.test(x)){At("star",Z);continue}if(ne.type==="star"){if(r.noglobstar===!0){yt(Z);continue}let P=ne.prev,y=P.prev,F=P.type==="slash"||P.type==="bos",J=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||x[0]&&x[0]!=="/")){qe({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(P.type==="comma"||P.type==="brace"),$=De.length&&(P.type==="pipe"||P.type==="paren");if(!F&&P.type!=="paren"&&!X&&!$){qe({type:"star",value:Z,output:""});continue}for(;x.slice(0,3)==="/**";){let ie=t[g.index+4];if(ie&&ie!=="/")break;x=x.slice(3),yt("/**",3)}if(P.type==="bos"&&me()){ne.type="globstar",ne.value+=Z,ne.output=ve(r),g.output=ne.output,g.globstar=!0,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&!J&&me()){g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=ve(r)+(r.strictSlashes?")":"|$)"),ne.value+=Z,g.globstar=!0,g.output+=P.output+ne.output,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&x[0]==="/"){let ie=x[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=`${ve(r)}${b}|${b}${ie})`,ne.value+=Z,g.output+=P.output+ne.output,g.globstar=!0,yt(Z+ut()),qe({type:"slash",value:"/",output:""});continue}if(P.type==="bos"&&x[0]==="/"){ne.type="globstar",ne.value+=Z,ne.output=`(?:^|${b}|${ve(r)}${b})`,g.output=ne.output,g.globstar=!0,yt(Z+ut()),qe({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=ve(r),ne.value+=Z,g.output+=ne.output,g.globstar=!0,yt(Z);continue}let I={type:"star",value:Z,output:Pe};if(r.bash===!0){I.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(I.output=ge+I.output),qe(I);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){I.output=Z,qe(I);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=_,ne.output+=_):r.dot===!0?(g.output+=V,ne.output+=V):(g.output+=ge,ne.output+=ge),be()!=="*"&&(g.output+=C,ne.output+=C)),qe(I)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ny("closing","]"));g.output=sl.escapeLast(g.output,"["),_e("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ny("closing",")"));g.output=sl.escapeLast(g.output,"("),_e("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ny("closing","}"));g.output=sl.escapeLast(g.output,"{"),_e("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&qe({type:"maybe_slash",value:"",output:`${b}?`}),g.backtrack===!0){g.output="";for(let x of g.tokens)g.output+=x.output!=null?x.output:x.value,x.suffix&&(g.output+=x.suffix)}return g};bN.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(DS,r.maxLength):DS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=bZ[t]||t;let n=sl.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:w,NO_DOTS_SLASH:v,STAR:b,START_ANCHOR:C}=vS.globChars(n),R=r.dot?w:E,L=r.dot?v:E,_=r.capture?"":"?:",V={negated:!1,prefix:""},re=r.bash===!0?".*?":b;r.capture&&(re=`(${re})`);let oe=ge=>ge.noglobstar===!0?re:`(${_}(?:(?!${C}${ge.dot?h:u}).)*?)`,pe=ge=>{switch(ge){case"*":return`${R}${p}${re}`;case".*":return`${u}${p}${re}`;case"*.*":return`${R}${re}${u}${p}${re}`;case"*/*":return`${R}${re}${A}${p}${L}${re}`;case"**":return R+oe(r);case"**/*":return`(?:${R}${oe(r)}${A})?${L}${p}${re}`;case"**/*.*":return`(?:${R}${oe(r)}${A})?${L}${re}${u}${p}${re}`;case"**/.*":return`(?:${R}${oe(r)}${A})?${u}${p}${re}`;default:{let le=/^(.*?)\.(\w+)$/.exec(ge);if(!le)return;let Pe=pe(le[1]);return Pe?Pe+u+le[2]:void 0}}},he=sl.removePrefix(t,V),ve=pe(he);return ve&&r.strictSlashes!==!0&&(ve+=`${A}?`),ve};QZ.exports=bN});var RZ=U((Fkt,FZ)=>{"use strict";var t7e=Ie("path"),r7e=xZ(),QN=kZ(),kN=Ew(),n7e=Cw(),i7e=t=>t&&typeof t=="object"&&!Array.isArray(t),Oi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(v=>Oi(v,e,r));return v=>{for(let b of E){let C=b(v);if(C)return C}return!1}}let o=i7e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=kN.isWindows(e),u=o?Oi.compileRe(t,e):Oi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Oi(a.ignore,E,r)}let h=(E,w=!1)=>{let{isMatch:v,match:b,output:C}=Oi.test(E,u,e,{glob:t,posix:n}),R={glob:t,state:A,regex:u,posix:n,input:E,output:C,match:b,isMatch:v};return typeof a.onResult=="function"&&a.onResult(R),v===!1?(R.isMatch=!1,w?R:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(R),R.isMatch=!1,w?R:!1):(typeof a.onMatch=="function"&&a.onMatch(R),w?R:!0)};return r&&(h.state=A),h};Oi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?kN.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Oi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Oi.matchBase=(t,e,r,o=kN.isWindows(r))=>(e instanceof RegExp?e:Oi.makeRe(e,r)).test(t7e.basename(t));Oi.isMatch=(t,e,r)=>Oi(e,r)(t);Oi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Oi.parse(r,e)):QN(t,{...e,fastpaths:!1});Oi.scan=(t,e)=>r7e(t,e);Oi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Oi.toRegex(A,e);return o===!0&&(p.state=t),p};Oi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=QN.fastpaths(t,e)),a.output||(a=QN(t,e)),Oi.compileRe(a,e,r,o)};Oi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Oi.constants=n7e;FZ.exports=Oi});var NZ=U((Rkt,TZ)=>{"use strict";TZ.exports=RZ()});var Jo=U((Tkt,UZ)=>{"use strict";var OZ=Ie("util"),MZ=gZ(),zu=NZ(),FN=Ew(),LZ=t=>t===""||t==="./",hi=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E<e.length;E++){let w=zu(String(e[E]),{...r,onResult:A},!0),v=w.state.negated||w.state.negatedExtglob;v&&u++;for(let b of t){let C=w(b,!0);!(v?!C.isMatch:C.isMatch)||(v?o.add(C.output):(o.delete(C.output),a.add(C.output)))}}let h=(u===e.length?[...n]:[...a]).filter(E=>!o.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};hi.match=hi;hi.matcher=(t,e)=>zu(t,e);hi.isMatch=(t,e,r)=>zu(e,r)(t);hi.any=hi.isMatch;hi.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(hi(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};hi.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${OZ.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>hi.contains(t,o,r));if(typeof e=="string"){if(LZ(t)||LZ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return hi.isMatch(t,e,{...r,contains:!0})};hi.matchKeys=(t,e,r)=>{if(!FN.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=hi(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};hi.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=zu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};hi.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=zu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};hi.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${OZ.inspect(t)}"`);return[].concat(e).every(o=>zu(o,r)(t))};hi.capture=(t,e,r)=>{let o=FN.isWindows(r),n=zu.makeRe(String(t),{...r,capture:!0}).exec(o?FN.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};hi.makeRe=(...t)=>zu.makeRe(...t);hi.scan=(...t)=>zu.scan(...t);hi.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of MZ(String(o),e))r.push(zu.parse(a,e));return r};hi.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:MZ(t,e)};hi.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return hi.braces(t,{...e,expand:!0})};UZ.exports=hi});var HZ=U((Nkt,_Z)=>{"use strict";_Z.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var SS=U((Lkt,qZ)=>{"use strict";var s7e=HZ();qZ.exports=t=>typeof t=="string"?t.replace(s7e(),""):t});var GZ=U((Okt,jZ)=>{function o7e(){this.__data__=[],this.size=0}jZ.exports=o7e});var Ly=U((Mkt,WZ)=>{function a7e(t,e){return t===e||t!==t&&e!==e}WZ.exports=a7e});var ww=U((Ukt,YZ)=>{var l7e=Ly();function c7e(t,e){for(var r=t.length;r--;)if(l7e(t[r][0],e))return r;return-1}YZ.exports=c7e});var VZ=U((_kt,KZ)=>{var u7e=ww(),A7e=Array.prototype,f7e=A7e.splice;function p7e(t){var e=this.__data__,r=u7e(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():f7e.call(e,r,1),--this.size,!0}KZ.exports=p7e});var zZ=U((Hkt,JZ)=>{var h7e=ww();function g7e(t){var e=this.__data__,r=h7e(e,t);return r<0?void 0:e[r][1]}JZ.exports=g7e});var ZZ=U((qkt,XZ)=>{var d7e=ww();function m7e(t){return d7e(this.__data__,t)>-1}XZ.exports=m7e});var e$=U((jkt,$Z)=>{var y7e=ww();function C7e(t,e){var r=this.__data__,o=y7e(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}$Z.exports=C7e});var Bw=U((Gkt,t$)=>{var E7e=GZ(),I7e=VZ(),w7e=zZ(),B7e=ZZ(),v7e=e$();function Oy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Oy.prototype.clear=E7e;Oy.prototype.delete=I7e;Oy.prototype.get=w7e;Oy.prototype.has=B7e;Oy.prototype.set=v7e;t$.exports=Oy});var n$=U((Wkt,r$)=>{var D7e=Bw();function S7e(){this.__data__=new D7e,this.size=0}r$.exports=S7e});var s$=U((Ykt,i$)=>{function P7e(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}i$.exports=P7e});var a$=U((Kkt,o$)=>{function x7e(t){return this.__data__.get(t)}o$.exports=x7e});var c$=U((Vkt,l$)=>{function b7e(t){return this.__data__.has(t)}l$.exports=b7e});var RN=U((Jkt,u$)=>{var Q7e=typeof global=="object"&&global&&global.Object===Object&&global;u$.exports=Q7e});var Wl=U((zkt,A$)=>{var k7e=RN(),F7e=typeof self=="object"&&self&&self.Object===Object&&self,R7e=k7e||F7e||Function("return this")();A$.exports=R7e});var fd=U((Xkt,f$)=>{var T7e=Wl(),N7e=T7e.Symbol;f$.exports=N7e});var d$=U((Zkt,g$)=>{var p$=fd(),h$=Object.prototype,L7e=h$.hasOwnProperty,O7e=h$.toString,vw=p$?p$.toStringTag:void 0;function M7e(t){var e=L7e.call(t,vw),r=t[vw];try{t[vw]=void 0;var o=!0}catch{}var a=O7e.call(t);return o&&(e?t[vw]=r:delete t[vw]),a}g$.exports=M7e});var y$=U(($kt,m$)=>{var U7e=Object.prototype,_7e=U7e.toString;function H7e(t){return _7e.call(t)}m$.exports=H7e});var pd=U((eFt,I$)=>{var C$=fd(),q7e=d$(),j7e=y$(),G7e="[object Null]",W7e="[object Undefined]",E$=C$?C$.toStringTag:void 0;function Y7e(t){return t==null?t===void 0?W7e:G7e:E$&&E$ in Object(t)?q7e(t):j7e(t)}I$.exports=Y7e});var ol=U((tFt,w$)=>{function K7e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}w$.exports=K7e});var PS=U((rFt,B$)=>{var V7e=pd(),J7e=ol(),z7e="[object AsyncFunction]",X7e="[object Function]",Z7e="[object GeneratorFunction]",$7e="[object Proxy]";function eWe(t){if(!J7e(t))return!1;var e=V7e(t);return e==X7e||e==Z7e||e==z7e||e==$7e}B$.exports=eWe});var D$=U((nFt,v$)=>{var tWe=Wl(),rWe=tWe["__core-js_shared__"];v$.exports=rWe});var x$=U((iFt,P$)=>{var TN=D$(),S$=function(){var t=/[^.]+$/.exec(TN&&TN.keys&&TN.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function nWe(t){return!!S$&&S$ in t}P$.exports=nWe});var NN=U((sFt,b$)=>{var iWe=Function.prototype,sWe=iWe.toString;function oWe(t){if(t!=null){try{return sWe.call(t)}catch{}try{return t+""}catch{}}return""}b$.exports=oWe});var k$=U((oFt,Q$)=>{var aWe=PS(),lWe=x$(),cWe=ol(),uWe=NN(),AWe=/[\\^$.*+?()[\]{}|]/g,fWe=/^\[object .+?Constructor\]$/,pWe=Function.prototype,hWe=Object.prototype,gWe=pWe.toString,dWe=hWe.hasOwnProperty,mWe=RegExp("^"+gWe.call(dWe).replace(AWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yWe(t){if(!cWe(t)||lWe(t))return!1;var e=aWe(t)?mWe:fWe;return e.test(uWe(t))}Q$.exports=yWe});var R$=U((aFt,F$)=>{function CWe(t,e){return t==null?void 0:t[e]}F$.exports=CWe});var Kp=U((lFt,T$)=>{var EWe=k$(),IWe=R$();function wWe(t,e){var r=IWe(t,e);return EWe(r)?r:void 0}T$.exports=wWe});var xS=U((cFt,N$)=>{var BWe=Kp(),vWe=Wl(),DWe=BWe(vWe,"Map");N$.exports=DWe});var Dw=U((uFt,L$)=>{var SWe=Kp(),PWe=SWe(Object,"create");L$.exports=PWe});var U$=U((AFt,M$)=>{var O$=Dw();function xWe(){this.__data__=O$?O$(null):{},this.size=0}M$.exports=xWe});var H$=U((fFt,_$)=>{function bWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}_$.exports=bWe});var j$=U((pFt,q$)=>{var QWe=Dw(),kWe="__lodash_hash_undefined__",FWe=Object.prototype,RWe=FWe.hasOwnProperty;function TWe(t){var e=this.__data__;if(QWe){var r=e[t];return r===kWe?void 0:r}return RWe.call(e,t)?e[t]:void 0}q$.exports=TWe});var W$=U((hFt,G$)=>{var NWe=Dw(),LWe=Object.prototype,OWe=LWe.hasOwnProperty;function MWe(t){var e=this.__data__;return NWe?e[t]!==void 0:OWe.call(e,t)}G$.exports=MWe});var K$=U((gFt,Y$)=>{var UWe=Dw(),_We="__lodash_hash_undefined__";function HWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=UWe&&e===void 0?_We:e,this}Y$.exports=HWe});var J$=U((dFt,V$)=>{var qWe=U$(),jWe=H$(),GWe=j$(),WWe=W$(),YWe=K$();function My(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}My.prototype.clear=qWe;My.prototype.delete=jWe;My.prototype.get=GWe;My.prototype.has=WWe;My.prototype.set=YWe;V$.exports=My});var Z$=U((mFt,X$)=>{var z$=J$(),KWe=Bw(),VWe=xS();function JWe(){this.size=0,this.__data__={hash:new z$,map:new(VWe||KWe),string:new z$}}X$.exports=JWe});var eee=U((yFt,$$)=>{function zWe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}$$.exports=zWe});var Sw=U((CFt,tee)=>{var XWe=eee();function ZWe(t,e){var r=t.__data__;return XWe(e)?r[typeof e=="string"?"string":"hash"]:r.map}tee.exports=ZWe});var nee=U((EFt,ree)=>{var $We=Sw();function eYe(t){var e=$We(this,t).delete(t);return this.size-=e?1:0,e}ree.exports=eYe});var see=U((IFt,iee)=>{var tYe=Sw();function rYe(t){return tYe(this,t).get(t)}iee.exports=rYe});var aee=U((wFt,oee)=>{var nYe=Sw();function iYe(t){return nYe(this,t).has(t)}oee.exports=iYe});var cee=U((BFt,lee)=>{var sYe=Sw();function oYe(t,e){var r=sYe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}lee.exports=oYe});var bS=U((vFt,uee)=>{var aYe=Z$(),lYe=nee(),cYe=see(),uYe=aee(),AYe=cee();function Uy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Uy.prototype.clear=aYe;Uy.prototype.delete=lYe;Uy.prototype.get=cYe;Uy.prototype.has=uYe;Uy.prototype.set=AYe;uee.exports=Uy});var fee=U((DFt,Aee)=>{var fYe=Bw(),pYe=xS(),hYe=bS(),gYe=200;function dYe(t,e){var r=this.__data__;if(r instanceof fYe){var o=r.__data__;if(!pYe||o.length<gYe-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new hYe(o)}return r.set(t,e),this.size=r.size,this}Aee.exports=dYe});var QS=U((SFt,pee)=>{var mYe=Bw(),yYe=n$(),CYe=s$(),EYe=a$(),IYe=c$(),wYe=fee();function _y(t){var e=this.__data__=new mYe(t);this.size=e.size}_y.prototype.clear=yYe;_y.prototype.delete=CYe;_y.prototype.get=EYe;_y.prototype.has=IYe;_y.prototype.set=wYe;pee.exports=_y});var gee=U((PFt,hee)=>{var BYe="__lodash_hash_undefined__";function vYe(t){return this.__data__.set(t,BYe),this}hee.exports=vYe});var mee=U((xFt,dee)=>{function DYe(t){return this.__data__.has(t)}dee.exports=DYe});var Cee=U((bFt,yee)=>{var SYe=bS(),PYe=gee(),xYe=mee();function kS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new SYe;++e<r;)this.add(t[e])}kS.prototype.add=kS.prototype.push=PYe;kS.prototype.has=xYe;yee.exports=kS});var Iee=U((QFt,Eee)=>{function bYe(t,e){for(var r=-1,o=t==null?0:t.length;++r<o;)if(e(t[r],r,t))return!0;return!1}Eee.exports=bYe});var Bee=U((kFt,wee)=>{function QYe(t,e){return t.has(e)}wee.exports=QYe});var LN=U((FFt,vee)=>{var kYe=Cee(),FYe=Iee(),RYe=Bee(),TYe=1,NYe=2;function LYe(t,e,r,o,a,n){var u=r&TYe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var w=-1,v=!0,b=r&NYe?new kYe:void 0;for(n.set(t,e),n.set(e,t);++w<A;){var C=t[w],R=e[w];if(o)var L=u?o(R,C,w,e,t,n):o(C,R,w,t,e,n);if(L!==void 0){if(L)continue;v=!1;break}if(b){if(!FYe(e,function(_,V){if(!RYe(b,V)&&(C===_||a(C,_,r,o,n)))return b.push(V)})){v=!1;break}}else if(!(C===R||a(C,R,r,o,n))){v=!1;break}}return n.delete(t),n.delete(e),v}vee.exports=LYe});var ON=U((RFt,Dee)=>{var OYe=Wl(),MYe=OYe.Uint8Array;Dee.exports=MYe});var Pee=U((TFt,See)=>{function UYe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}See.exports=UYe});var bee=U((NFt,xee)=>{function _Ye(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}xee.exports=_Ye});var Tee=U((LFt,Ree)=>{var Qee=fd(),kee=ON(),HYe=Ly(),qYe=LN(),jYe=Pee(),GYe=bee(),WYe=1,YYe=2,KYe="[object Boolean]",VYe="[object Date]",JYe="[object Error]",zYe="[object Map]",XYe="[object Number]",ZYe="[object RegExp]",$Ye="[object Set]",eKe="[object String]",tKe="[object Symbol]",rKe="[object ArrayBuffer]",nKe="[object DataView]",Fee=Qee?Qee.prototype:void 0,MN=Fee?Fee.valueOf:void 0;function iKe(t,e,r,o,a,n,u){switch(r){case nKe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case rKe:return!(t.byteLength!=e.byteLength||!n(new kee(t),new kee(e)));case KYe:case VYe:case XYe:return HYe(+t,+e);case JYe:return t.name==e.name&&t.message==e.message;case ZYe:case eKe:return t==e+"";case zYe:var A=jYe;case $Ye:var p=o&WYe;if(A||(A=GYe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=YYe,u.set(t,e);var E=qYe(A(t),A(e),o,a,n,u);return u.delete(t),E;case tKe:if(MN)return MN.call(t)==MN.call(e)}return!1}Ree.exports=iKe});var RS=U((OFt,Nee)=>{function sKe(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}Nee.exports=sKe});var Yl=U((MFt,Lee)=>{var oKe=Array.isArray;Lee.exports=oKe});var UN=U((UFt,Oee)=>{var aKe=RS(),lKe=Yl();function cKe(t,e,r){var o=e(t);return lKe(t)?o:aKe(o,r(t))}Oee.exports=cKe});var Uee=U((_Ft,Mee)=>{function uKe(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r<o;){var u=t[r];e(u,r,t)&&(n[a++]=u)}return n}Mee.exports=uKe});var _N=U((HFt,_ee)=>{function AKe(){return[]}_ee.exports=AKe});var TS=U((qFt,qee)=>{var fKe=Uee(),pKe=_N(),hKe=Object.prototype,gKe=hKe.propertyIsEnumerable,Hee=Object.getOwnPropertySymbols,dKe=Hee?function(t){return t==null?[]:(t=Object(t),fKe(Hee(t),function(e){return gKe.call(t,e)}))}:pKe;qee.exports=dKe});var Gee=U((jFt,jee)=>{function mKe(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}jee.exports=mKe});var Xu=U((GFt,Wee)=>{function yKe(t){return t!=null&&typeof t=="object"}Wee.exports=yKe});var Kee=U((WFt,Yee)=>{var CKe=pd(),EKe=Xu(),IKe="[object Arguments]";function wKe(t){return EKe(t)&&CKe(t)==IKe}Yee.exports=wKe});var Pw=U((YFt,zee)=>{var Vee=Kee(),BKe=Xu(),Jee=Object.prototype,vKe=Jee.hasOwnProperty,DKe=Jee.propertyIsEnumerable,SKe=Vee(function(){return arguments}())?Vee:function(t){return BKe(t)&&vKe.call(t,"callee")&&!DKe.call(t,"callee")};zee.exports=SKe});var Zee=U((KFt,Xee)=>{function PKe(){return!1}Xee.exports=PKe});var bw=U((xw,Hy)=>{var xKe=Wl(),bKe=Zee(),tte=typeof xw=="object"&&xw&&!xw.nodeType&&xw,$ee=tte&&typeof Hy=="object"&&Hy&&!Hy.nodeType&&Hy,QKe=$ee&&$ee.exports===tte,ete=QKe?xKe.Buffer:void 0,kKe=ete?ete.isBuffer:void 0,FKe=kKe||bKe;Hy.exports=FKe});var Qw=U((VFt,rte)=>{var RKe=9007199254740991,TKe=/^(?:0|[1-9]\d*)$/;function NKe(t,e){var r=typeof t;return e=e??RKe,!!e&&(r=="number"||r!="symbol"&&TKe.test(t))&&t>-1&&t%1==0&&t<e}rte.exports=NKe});var NS=U((JFt,nte)=>{var LKe=9007199254740991;function OKe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=LKe}nte.exports=OKe});var ste=U((zFt,ite)=>{var MKe=pd(),UKe=NS(),_Ke=Xu(),HKe="[object Arguments]",qKe="[object Array]",jKe="[object Boolean]",GKe="[object Date]",WKe="[object Error]",YKe="[object Function]",KKe="[object Map]",VKe="[object Number]",JKe="[object Object]",zKe="[object RegExp]",XKe="[object Set]",ZKe="[object String]",$Ke="[object WeakMap]",eVe="[object ArrayBuffer]",tVe="[object DataView]",rVe="[object Float32Array]",nVe="[object Float64Array]",iVe="[object Int8Array]",sVe="[object Int16Array]",oVe="[object Int32Array]",aVe="[object Uint8Array]",lVe="[object Uint8ClampedArray]",cVe="[object Uint16Array]",uVe="[object Uint32Array]",oi={};oi[rVe]=oi[nVe]=oi[iVe]=oi[sVe]=oi[oVe]=oi[aVe]=oi[lVe]=oi[cVe]=oi[uVe]=!0;oi[HKe]=oi[qKe]=oi[eVe]=oi[jKe]=oi[tVe]=oi[GKe]=oi[WKe]=oi[YKe]=oi[KKe]=oi[VKe]=oi[JKe]=oi[zKe]=oi[XKe]=oi[ZKe]=oi[$Ke]=!1;function AVe(t){return _Ke(t)&&UKe(t.length)&&!!oi[MKe(t)]}ite.exports=AVe});var LS=U((XFt,ote)=>{function fVe(t){return function(e){return t(e)}}ote.exports=fVe});var OS=U((kw,qy)=>{var pVe=RN(),ate=typeof kw=="object"&&kw&&!kw.nodeType&&kw,Fw=ate&&typeof qy=="object"&&qy&&!qy.nodeType&&qy,hVe=Fw&&Fw.exports===ate,HN=hVe&&pVe.process,gVe=function(){try{var t=Fw&&Fw.require&&Fw.require("util").types;return t||HN&&HN.binding&&HN.binding("util")}catch{}}();qy.exports=gVe});var MS=U((ZFt,ute)=>{var dVe=ste(),mVe=LS(),lte=OS(),cte=lte&&lte.isTypedArray,yVe=cte?mVe(cte):dVe;ute.exports=yVe});var qN=U(($Ft,Ate)=>{var CVe=Gee(),EVe=Pw(),IVe=Yl(),wVe=bw(),BVe=Qw(),vVe=MS(),DVe=Object.prototype,SVe=DVe.hasOwnProperty;function PVe(t,e){var r=IVe(t),o=!r&&EVe(t),a=!r&&!o&&wVe(t),n=!r&&!o&&!a&&vVe(t),u=r||o||a||n,A=u?CVe(t.length,String):[],p=A.length;for(var h in t)(e||SVe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||BVe(h,p)))&&A.push(h);return A}Ate.exports=PVe});var US=U((eRt,fte)=>{var xVe=Object.prototype;function bVe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||xVe;return t===r}fte.exports=bVe});var jN=U((tRt,pte)=>{function QVe(t,e){return function(r){return t(e(r))}}pte.exports=QVe});var gte=U((rRt,hte)=>{var kVe=jN(),FVe=kVe(Object.keys,Object);hte.exports=FVe});var mte=U((nRt,dte)=>{var RVe=US(),TVe=gte(),NVe=Object.prototype,LVe=NVe.hasOwnProperty;function OVe(t){if(!RVe(t))return TVe(t);var e=[];for(var r in Object(t))LVe.call(t,r)&&r!="constructor"&&e.push(r);return e}dte.exports=OVe});var Rw=U((iRt,yte)=>{var MVe=PS(),UVe=NS();function _Ve(t){return t!=null&&UVe(t.length)&&!MVe(t)}yte.exports=_Ve});var _S=U((sRt,Cte)=>{var HVe=qN(),qVe=mte(),jVe=Rw();function GVe(t){return jVe(t)?HVe(t):qVe(t)}Cte.exports=GVe});var GN=U((oRt,Ete)=>{var WVe=UN(),YVe=TS(),KVe=_S();function VVe(t){return WVe(t,KVe,YVe)}Ete.exports=VVe});var Bte=U((aRt,wte)=>{var Ite=GN(),JVe=1,zVe=Object.prototype,XVe=zVe.hasOwnProperty;function ZVe(t,e,r,o,a,n){var u=r&JVe,A=Ite(t),p=A.length,h=Ite(e),E=h.length;if(p!=E&&!u)return!1;for(var w=p;w--;){var v=A[w];if(!(u?v in e:XVe.call(e,v)))return!1}var b=n.get(t),C=n.get(e);if(b&&C)return b==e&&C==t;var R=!0;n.set(t,e),n.set(e,t);for(var L=u;++w<p;){v=A[w];var _=t[v],V=e[v];if(o)var re=u?o(V,_,v,e,t,n):o(_,V,v,t,e,n);if(!(re===void 0?_===V||a(_,V,r,o,n):re)){R=!1;break}L||(L=v=="constructor")}if(R&&!L){var oe=t.constructor,pe=e.constructor;oe!=pe&&"constructor"in t&&"constructor"in e&&!(typeof oe=="function"&&oe instanceof oe&&typeof pe=="function"&&pe instanceof pe)&&(R=!1)}return n.delete(t),n.delete(e),R}wte.exports=ZVe});var Dte=U((lRt,vte)=>{var $Ve=Kp(),eJe=Wl(),tJe=$Ve(eJe,"DataView");vte.exports=tJe});var Pte=U((cRt,Ste)=>{var rJe=Kp(),nJe=Wl(),iJe=rJe(nJe,"Promise");Ste.exports=iJe});var bte=U((uRt,xte)=>{var sJe=Kp(),oJe=Wl(),aJe=sJe(oJe,"Set");xte.exports=aJe});var kte=U((ARt,Qte)=>{var lJe=Kp(),cJe=Wl(),uJe=lJe(cJe,"WeakMap");Qte.exports=uJe});var Tw=U((fRt,Mte)=>{var WN=Dte(),YN=xS(),KN=Pte(),VN=bte(),JN=kte(),Ote=pd(),jy=NN(),Fte="[object Map]",AJe="[object Object]",Rte="[object Promise]",Tte="[object Set]",Nte="[object WeakMap]",Lte="[object DataView]",fJe=jy(WN),pJe=jy(YN),hJe=jy(KN),gJe=jy(VN),dJe=jy(JN),hd=Ote;(WN&&hd(new WN(new ArrayBuffer(1)))!=Lte||YN&&hd(new YN)!=Fte||KN&&hd(KN.resolve())!=Rte||VN&&hd(new VN)!=Tte||JN&&hd(new JN)!=Nte)&&(hd=function(t){var e=Ote(t),r=e==AJe?t.constructor:void 0,o=r?jy(r):"";if(o)switch(o){case fJe:return Lte;case pJe:return Fte;case hJe:return Rte;case gJe:return Tte;case dJe:return Nte}return e});Mte.exports=hd});var Yte=U((pRt,Wte)=>{var zN=QS(),mJe=LN(),yJe=Tee(),CJe=Bte(),Ute=Tw(),_te=Yl(),Hte=bw(),EJe=MS(),IJe=1,qte="[object Arguments]",jte="[object Array]",HS="[object Object]",wJe=Object.prototype,Gte=wJe.hasOwnProperty;function BJe(t,e,r,o,a,n){var u=_te(t),A=_te(e),p=u?jte:Ute(t),h=A?jte:Ute(e);p=p==qte?HS:p,h=h==qte?HS:h;var E=p==HS,w=h==HS,v=p==h;if(v&&Hte(t)){if(!Hte(e))return!1;u=!0,E=!1}if(v&&!E)return n||(n=new zN),u||EJe(t)?mJe(t,e,r,o,a,n):yJe(t,e,p,r,o,a,n);if(!(r&IJe)){var b=E&&Gte.call(t,"__wrapped__"),C=w&&Gte.call(e,"__wrapped__");if(b||C){var R=b?t.value():t,L=C?e.value():e;return n||(n=new zN),a(R,L,r,o,n)}}return v?(n||(n=new zN),CJe(t,e,r,o,a,n)):!1}Wte.exports=BJe});var zte=U((hRt,Jte)=>{var vJe=Yte(),Kte=Xu();function Vte(t,e,r,o,a){return t===e?!0:t==null||e==null||!Kte(t)&&!Kte(e)?t!==t&&e!==e:vJe(t,e,r,o,Vte,a)}Jte.exports=Vte});var Zte=U((gRt,Xte)=>{var DJe=zte();function SJe(t,e){return DJe(t,e)}Xte.exports=SJe});var XN=U((dRt,$te)=>{var PJe=Kp(),xJe=function(){try{var t=PJe(Object,"defineProperty");return t({},"",{}),t}catch{}}();$te.exports=xJe});var qS=U((mRt,tre)=>{var ere=XN();function bJe(t,e,r){e=="__proto__"&&ere?ere(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}tre.exports=bJe});var ZN=U((yRt,rre)=>{var QJe=qS(),kJe=Ly();function FJe(t,e,r){(r!==void 0&&!kJe(t[e],r)||r===void 0&&!(e in t))&&QJe(t,e,r)}rre.exports=FJe});var ire=U((CRt,nre)=>{function RJe(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}nre.exports=RJe});var ore=U((ERt,sre)=>{var TJe=ire(),NJe=TJe();sre.exports=NJe});var $N=U((Nw,Gy)=>{var LJe=Wl(),ure=typeof Nw=="object"&&Nw&&!Nw.nodeType&&Nw,are=ure&&typeof Gy=="object"&&Gy&&!Gy.nodeType&&Gy,OJe=are&&are.exports===ure,lre=OJe?LJe.Buffer:void 0,cre=lre?lre.allocUnsafe:void 0;function MJe(t,e){if(e)return t.slice();var r=t.length,o=cre?cre(r):new t.constructor(r);return t.copy(o),o}Gy.exports=MJe});var jS=U((IRt,fre)=>{var Are=ON();function UJe(t){var e=new t.constructor(t.byteLength);return new Are(e).set(new Are(t)),e}fre.exports=UJe});var eL=U((wRt,pre)=>{var _Je=jS();function HJe(t,e){var r=e?_Je(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}pre.exports=HJe});var GS=U((BRt,hre)=>{function qJe(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}hre.exports=qJe});var mre=U((vRt,dre)=>{var jJe=ol(),gre=Object.create,GJe=function(){function t(){}return function(e){if(!jJe(e))return{};if(gre)return gre(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();dre.exports=GJe});var WS=U((DRt,yre)=>{var WJe=jN(),YJe=WJe(Object.getPrototypeOf,Object);yre.exports=YJe});var tL=U((SRt,Cre)=>{var KJe=mre(),VJe=WS(),JJe=US();function zJe(t){return typeof t.constructor=="function"&&!JJe(t)?KJe(VJe(t)):{}}Cre.exports=zJe});var Ire=U((PRt,Ere)=>{var XJe=Rw(),ZJe=Xu();function $Je(t){return ZJe(t)&&XJe(t)}Ere.exports=$Je});var rL=U((xRt,Bre)=>{var eze=pd(),tze=WS(),rze=Xu(),nze="[object Object]",ize=Function.prototype,sze=Object.prototype,wre=ize.toString,oze=sze.hasOwnProperty,aze=wre.call(Object);function lze(t){if(!rze(t)||eze(t)!=nze)return!1;var e=tze(t);if(e===null)return!0;var r=oze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&wre.call(r)==aze}Bre.exports=lze});var nL=U((bRt,vre)=>{function cze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}vre.exports=cze});var YS=U((QRt,Dre)=>{var uze=qS(),Aze=Ly(),fze=Object.prototype,pze=fze.hasOwnProperty;function hze(t,e,r){var o=t[e];(!(pze.call(t,e)&&Aze(o,r))||r===void 0&&!(e in t))&&uze(t,e,r)}Dre.exports=hze});var gd=U((kRt,Sre)=>{var gze=YS(),dze=qS();function mze(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n<u;){var A=e[n],p=o?o(r[A],t[A],A,r,t):void 0;p===void 0&&(p=t[A]),a?dze(r,A,p):gze(r,A,p)}return r}Sre.exports=mze});var xre=U((FRt,Pre)=>{function yze(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Pre.exports=yze});var Qre=U((RRt,bre)=>{var Cze=ol(),Eze=US(),Ize=xre(),wze=Object.prototype,Bze=wze.hasOwnProperty;function vze(t){if(!Cze(t))return Ize(t);var e=Eze(t),r=[];for(var o in t)o=="constructor"&&(e||!Bze.call(t,o))||r.push(o);return r}bre.exports=vze});var Wy=U((TRt,kre)=>{var Dze=qN(),Sze=Qre(),Pze=Rw();function xze(t){return Pze(t)?Dze(t,!0):Sze(t)}kre.exports=xze});var Rre=U((NRt,Fre)=>{var bze=gd(),Qze=Wy();function kze(t){return bze(t,Qze(t))}Fre.exports=kze});var Ure=U((LRt,Mre)=>{var Tre=ZN(),Fze=$N(),Rze=eL(),Tze=GS(),Nze=tL(),Nre=Pw(),Lre=Yl(),Lze=Ire(),Oze=bw(),Mze=PS(),Uze=ol(),_ze=rL(),Hze=MS(),Ore=nL(),qze=Rre();function jze(t,e,r,o,a,n,u){var A=Ore(t,r),p=Ore(e,r),h=u.get(p);if(h){Tre(t,r,h);return}var E=n?n(A,p,r+"",t,e,u):void 0,w=E===void 0;if(w){var v=Lre(p),b=!v&&Oze(p),C=!v&&!b&&Hze(p);E=p,v||b||C?Lre(A)?E=A:Lze(A)?E=Tze(A):b?(w=!1,E=Fze(p,!0)):C?(w=!1,E=Rze(p,!0)):E=[]:_ze(p)||Nre(p)?(E=A,Nre(A)?E=qze(A):(!Uze(A)||Mze(A))&&(E=Nze(p))):w=!1}w&&(u.set(p,E),a(E,p,o,n,u),u.delete(p)),Tre(t,r,E)}Mre.exports=jze});var qre=U((ORt,Hre)=>{var Gze=QS(),Wze=ZN(),Yze=ore(),Kze=Ure(),Vze=ol(),Jze=Wy(),zze=nL();function _re(t,e,r,o,a){t!==e&&Yze(e,function(n,u){if(a||(a=new Gze),Vze(n))Kze(t,e,u,r,_re,o,a);else{var A=o?o(zze(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),Wze(t,u,A)}},Jze)}Hre.exports=_re});var iL=U((MRt,jre)=>{function Xze(t){return t}jre.exports=Xze});var Wre=U((URt,Gre)=>{function Zze(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)}Gre.exports=Zze});var sL=U((_Rt,Kre)=>{var $ze=Wre(),Yre=Math.max;function eXe(t,e,r){return e=Yre(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=Yre(o.length-e,0),u=Array(n);++a<n;)u[a]=o[e+a];a=-1;for(var A=Array(e+1);++a<e;)A[a]=o[a];return A[e]=r(u),$ze(t,this,A)}}Kre.exports=eXe});var Jre=U((HRt,Vre)=>{function tXe(t){return function(){return t}}Vre.exports=tXe});var Zre=U((qRt,Xre)=>{var rXe=Jre(),zre=XN(),nXe=iL(),iXe=zre?function(t,e){return zre(t,"toString",{configurable:!0,enumerable:!1,value:rXe(e),writable:!0})}:nXe;Xre.exports=iXe});var ene=U((jRt,$re)=>{var sXe=800,oXe=16,aXe=Date.now;function lXe(t){var e=0,r=0;return function(){var o=aXe(),a=oXe-(o-r);if(r=o,a>0){if(++e>=sXe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}$re.exports=lXe});var oL=U((GRt,tne)=>{var cXe=Zre(),uXe=ene(),AXe=uXe(cXe);tne.exports=AXe});var nne=U((WRt,rne)=>{var fXe=iL(),pXe=sL(),hXe=oL();function gXe(t,e){return hXe(pXe(t,e,fXe),t+"")}rne.exports=gXe});var sne=U((YRt,ine)=>{var dXe=Ly(),mXe=Rw(),yXe=Qw(),CXe=ol();function EXe(t,e,r){if(!CXe(r))return!1;var o=typeof e;return(o=="number"?mXe(r)&&yXe(e,r.length):o=="string"&&e in r)?dXe(r[e],t):!1}ine.exports=EXe});var ane=U((KRt,one)=>{var IXe=nne(),wXe=sne();function BXe(t){return IXe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&wXe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o<a;){var A=r[o];A&&t(e,A,o,n)}return e})}one.exports=BXe});var cne=U((VRt,lne)=>{var vXe=qre(),DXe=ane(),SXe=DXe(function(t,e,r,o){vXe(t,e,r,o)});lne.exports=SXe});var Ye={};Yt(Ye,{AsyncActions:()=>cL,BufferStream:()=>lL,CachingStrategy:()=>Ine,DefaultStream:()=>uL,allSettledSafe:()=>jc,assertNever:()=>fL,bufferStream:()=>Jy,buildIgnorePattern:()=>RXe,convertMapsToIndexableObjects:()=>KS,dynamicRequire:()=>Vp,escapeRegExp:()=>xXe,getArrayWithDefault:()=>Yy,getFactoryWithDefault:()=>Df,getMapWithDefault:()=>Ky,getSetWithDefault:()=>dd,isIndexableObject:()=>aL,isPathLike:()=>TXe,isTaggedYarnVersion:()=>PXe,makeDeferred:()=>yne,mapAndFilter:()=>Zu,mapAndFind:()=>Ow,mergeIntoTarget:()=>Bne,overrideType:()=>bXe,parseBoolean:()=>Mw,parseOptionalBoolean:()=>wne,prettifyAsyncErrors:()=>Vy,prettifySyncErrors:()=>pL,releaseAfterUseAsync:()=>kXe,replaceEnvVariables:()=>hL,sortMap:()=>Pa,toMerged:()=>NXe,tryParseOptionalBoolean:()=>gL,validateEnum:()=>QXe});function PXe(t){return!!(gne.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function xXe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function bXe(t){}function fL(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function QXe(t,e){let r=Object.values(t);if(!r.includes(e))throw new ot(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function Zu(t,e){let r=[];for(let o of t){let a=e(o);a!==dne&&r.push(a)}return r}function Ow(t,e){for(let r of t){let o=e(r);if(o!==mne)return o}}function aL(t){return typeof t=="object"&&t!==null}async function jc(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function KS(t){if(t instanceof Map&&(t=Object.fromEntries(t)),aL(t))for(let e of Object.keys(t)){let r=t[e];aL(r)&&(t[e]=KS(r))}return t}function Df(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function Yy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function dd(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function Ky(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function kXe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Vy(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function pL(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Jy(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function yne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function Cne(t){return Lw(ue.fromPortablePath(t))}function Ene(path){let physicalPath=ue.fromPortablePath(path),currentCacheEntry=Lw.cache[physicalPath];delete Lw.cache[physicalPath];let result;try{result=Cne(physicalPath);let freshCacheEntry=Lw.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Lw.cache[physicalPath]=currentCacheEntry}return result}function FXe(t){let e=une.get(t),r=ae.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let o=Ene(t);return une.set(t,{mtime:r.mtimeMs,instance:o}),o}function Vp(t,{cachingStrategy:e=2}={}){switch(e){case 0:return Ene(t);case 1:return FXe(t);case 2:return Cne(t);default:throw new Error("Unsupported caching strategy")}}function Pa(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function RXe(t){return t.length===0?null:t.map(e=>`(${pne.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function hL(t,{env:e}){let r=/\${(?<variableName>[\d\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.prototype.hasOwnProperty.call(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new ot(`Environment variable not found (${a})`)})}function Mw(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function wne(t){return typeof t>"u"?t:Mw(t)}function gL(t){try{return wne(t)}catch{return null}}function TXe(t){return!!(ue.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function Bne(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,fne.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,Ane.default)(h,p))||u.push(p);return u}});return n}function NXe(...t){return Bne({},...t)}var Ane,fne,pne,hne,gne,AL,dne,mne,lL,cL,uL,Lw,une,Ine,Kl=dt(()=>{bt();_t();Ane=tt(Zte()),fne=tt(cne()),pne=tt(Jo()),hne=tt(rd()),gne=tt(si()),AL=Ie("stream");dne=Symbol();Zu.skip=dne;mne=Symbol();Ow.skip=mne;lL=class extends AL.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};cL=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,hne.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=yne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},uL=class extends AL.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},Lw=eval("require");une=new Map;Ine=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(Ine||{})});var zy,dL,mL,vne=dt(()=>{zy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(zy||{}),dL=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(dL||{}),mL=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(mL||{})});var ye={};Yt(ye,{LogLevel:()=>XS,Style:()=>CL,Type:()=>Bt,addLogFilterSupport:()=>Hw,applyColor:()=>xa,applyHyperlink:()=>Xy,applyStyle:()=>zS,json:()=>md,jsonOrPretty:()=>MXe,mark:()=>BL,pretty:()=>Kt,prettyField:()=>$u,prettyList:()=>wL,supportsColor:()=>JS,supportsHyperlinks:()=>IL,tuple:()=>Gc});function Gc(t,e){return[e,t]}function zS(t,e,r){return t.get("enableColors")&&r&2&&(e=_w.default.bold(e)),e}function xa(t,e,r){if(!t.get("enableColors"))return e;let o=LXe.get(r);if(o===null)return e;let a=typeof o>"u"?r:EL.level>=3?o[0]:o[1],n=typeof a=="number"?yL.ansi256(a):a.startsWith("#")?yL.hex(a):yL[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function Xy(t,e,r){return t.get("enableHyperlinks")?OXe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Kt(t,e,r){if(e===null)return xa(t,"null",Bt.NULL);if(Object.prototype.hasOwnProperty.call(VS,r))return VS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return xa(t,e,r)}function wL(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Kt(t,a,r)).join(o)}function md(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(VS,e))return VS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function MXe(t,e,[r,o]){return t?md(r,o):Kt(e,r,o)}function BL(t){return{Check:xa(t,"\u2713","green"),Cross:xa(t,"\u2718","red"),Question:xa(t,"?","cyan")}}function $u(t,{label:e,value:[r,o]}){return`${Kt(t,e,Bt.CODE)}: ${Kt(t,r,o)}`}function Hw(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let w of r){let v=w.get("level");if(typeof v>"u")continue;let b=w.get("code");typeof b<"u"&&o.set(b,v);let C=w.get("text");typeof C<"u"&&a.set(C,v);let R=w.get("pattern");typeof R<"u"&&n.push([Dne.default.matcher(R,{contains:!0}),v])}n.reverse();let u=(w,v,b)=>{if(w===null||w===0)return b;let C=a.size>0||n.length>0?(0,Sne.default)(v):v;if(a.size>0){let R=a.get(C);if(typeof R<"u")return R??b}if(n.length>0){for(let[R,L]of n)if(R(C))return L??b}if(o.size>0){let R=o.get(Vu(w));if(typeof R<"u")return R??b}return b},A=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(w,v,b,C){switch(u(v,b,C)){case"info":A.call(w,v,b);break;case"warning":p.call(w,v??0,b);break;case"error":h.call(w,v??0,b);break}};t.reportInfo=function(...w){return E(this,...w,"info")},t.reportWarning=function(...w){return E(this,...w,"warning")},t.reportError=function(...w){return E(this,...w,"error")}}var _w,Uw,Dne,Sne,Pne,Bt,CL,EL,JS,IL,yL,LXe,al,VS,OXe,XS,Jl=dt(()=>{bt();_w=tt(dN()),Uw=tt(Xg());_t();Dne=tt(Jo()),Sne=tt(SS()),Pne=Ie("util");eS();Ks();Bt={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},CL=(e=>(e[e.BOLD=2]="BOLD",e))(CL||{}),EL=Uw.default.GITHUB_ACTIONS?{level:2}:_w.default.supportsColor?{level:_w.default.supportsColor.level}:{level:0},JS=EL.level!==0,IL=JS&&!Uw.default.GITHUB_ACTIONS&&!Uw.default.CIRCLE&&!Uw.default.GITLAB,yL=new _w.default.Instance(EL),LXe=new Map([[Bt.NO_HINT,null],[Bt.NULL,["#a853b5",129]],[Bt.SCOPE,["#d75f00",166]],[Bt.NAME,["#d7875f",173]],[Bt.RANGE,["#00afaf",37]],[Bt.REFERENCE,["#87afff",111]],[Bt.NUMBER,["#ffd700",220]],[Bt.PATH,["#d75fd7",170]],[Bt.URL,["#d75fd7",170]],[Bt.ADDED,["#5faf00",70]],[Bt.REMOVED,["#d70000",160]],[Bt.CODE,["#87afff",111]],[Bt.SIZE,["#ffd700",220]]]),al=t=>t,VS={[Bt.INSPECT]:al({pretty:(t,e)=>(0,Pne.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[Bt.NUMBER]:al({pretty:(t,e)=>xa(t,`${e}`,Bt.NUMBER),json:t=>t}),[Bt.IDENT]:al({pretty:(t,e)=>cs(t,e),json:t=>nn(t)}),[Bt.LOCATOR]:al({pretty:(t,e)=>kr(t,e),json:t=>Vl(t)}),[Bt.DESCRIPTOR]:al({pretty:(t,e)=>Ln(t,e),json:t=>ba(t)}),[Bt.RESOLUTION]:al({pretty:(t,{descriptor:e,locator:r})=>qw(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:ba(t),locator:e!==null?Vl(e):null})}),[Bt.DEPENDENT]:al({pretty:(t,{locator:e,descriptor:r})=>vL(t,e,r),json:({locator:t,descriptor:e})=>({locator:Vl(t),descriptor:ba(e)})}),[Bt.PACKAGE_EXTENSION]:al({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${xa(t,"dependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${xa(t,"peerDependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependencyMeta":return`${cs(t,e.parentDescriptor)} \u27A4 ${xa(t,"peerDependenciesMeta",Bt.CODE)} \u27A4 ${cs(t,Ys(e.selector))} \u27A4 ${xa(t,e.key,Bt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${nn(t.parentDescriptor)} > ${nn(t.descriptor)}`;case"PeerDependency":return`${nn(t.parentDescriptor)} >> ${nn(t.descriptor)}`;case"PeerDependencyMeta":return`${nn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Bt.SETTING]:al({pretty:(t,e)=>(t.get(e),Xy(t,xa(t,e,Bt.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Bt.DURATION]:al({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[Bt.SIZE]:al({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],o=r.length;for(;o>1&&e<1024**o;)o-=1;let a=1024**o,n=Math.floor(e*100/a)/100;return xa(t,`${n} ${r[o-1]}`,Bt.NUMBER)},json:t=>t}),[Bt.PATH]:al({pretty:(t,e)=>xa(t,ue.fromPortablePath(e),Bt.PATH),json:t=>ue.fromPortablePath(t)}),[Bt.MARKDOWN]:al({pretty:(t,{text:e,format:r,paragraphs:o})=>Bo(e,{format:r,paragraphs:o}),json:({text:t})=>t})};OXe=!!process.env.KONSOLE_VERSION;XS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(XS||{})});var bne=U((sTt,xne)=>{"use strict";xne.exports=(...t)=>[...new Set([].concat(...t))]});var DL=U((oTt,Fne)=>{"use strict";var UXe=Ie("stream"),Qne=UXe.PassThrough,_Xe=Array.prototype.slice;Fne.exports=HXe;function HXe(){let t=[],e=_Xe.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=Qne(o);function A(){for(let E=0,w=arguments.length;E<w;E++)t.push(kne(arguments[E],o));return p(),this}function p(){if(r)return;r=!0;let E=t.shift();if(!E){process.nextTick(h);return}Array.isArray(E)||(E=[E]);let w=E.length+1;function v(){--w>0||(r=!1,p())}function b(C){function R(){C.removeListener("merge2UnpipeEnd",R),C.removeListener("end",R),n&&C.removeListener("error",L),v()}function L(_){u.emit("error",_)}if(C._readableState.endEmitted)return v();C.on("merge2UnpipeEnd",R),C.on("end",R),n&&C.on("error",L),C.pipe(u,{end:!1}),C.resume()}for(let C=0;C<E.length;C++)b(E[C]);v()}function h(){r=!1,u.emit("queueDrain"),a&&u.end()}return u.setMaxListeners(0),u.add=A,u.on("unpipe",function(E){E.emit("merge2UnpipeEnd")}),e.length&&A.apply(null,e),u}function kne(t,e){if(Array.isArray(t))for(let r=0,o=t.length;r<o;r++)t[r]=kne(t[r],e);else{if(!t._readableState&&t.pipe&&(t=t.pipe(Qne(e))),!t._readableState||!t.pause||!t.pipe)throw new Error("Only readable stream can be merged.");t.pause()}return t}});var Rne=U(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.splitWhen=Zy.flatten=void 0;function qXe(t){return t.reduce((e,r)=>[].concat(e,r),[])}Zy.flatten=qXe;function jXe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}Zy.splitWhen=jXe});var Tne=U(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});ZS.isEnoentCodeError=void 0;function GXe(t){return t.code==="ENOENT"}ZS.isEnoentCodeError=GXe});var Nne=U($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});$S.createDirentFromStats=void 0;var SL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function WXe(t,e){return new SL(t,e)}$S.createDirentFromStats=WXe});var Lne=U(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.removeLeadingDotSegment=eA.escape=eA.makeAbsolute=eA.unixify=void 0;var YXe=Ie("path"),KXe=2,VXe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function JXe(t){return t.replace(/\\/g,"/")}eA.unixify=JXe;function zXe(t,e){return YXe.resolve(t,e)}eA.makeAbsolute=zXe;function XXe(t){return t.replace(VXe,"\\$2")}eA.escape=XXe;function ZXe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(KXe)}return t}eA.removeLeadingDotSegment=ZXe});var Mne=U((ATt,One)=>{One.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Hne=U((fTt,_ne)=>{var $Xe=Mne(),Une={"{":"}","(":")","[":"]"},eZe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||o!==-1&&t[e]==="["&&t[e+1]!=="]"&&(o<e&&(o=t.indexOf("]",e)),o>e&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(r<e&&(r=t.indexOf("|",e)),r!==-1&&t[r+1]!==")"&&(n=t.indexOf(")",r),n>r&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=Une[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},tZe=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var r=t[e+1];e+=2;var o=Une[r];if(o){var a=t.indexOf(o,e);a!==-1&&(e=a+1)}if(t[e]==="!")return!0}else e++}return!1};_ne.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if($Xe(e))return!0;var o=eZe;return r&&r.strict===!1&&(o=tZe),o(e)}});var jne=U((pTt,qne)=>{"use strict";var rZe=Hne(),nZe=Ie("path").posix.dirname,iZe=Ie("os").platform()==="win32",PL="/",sZe=/\\/g,oZe=/[\{\[].*[\}\]]$/,aZe=/(^|[^\\])([\{\[]|\([^\)]+$)/,lZe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;qne.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&iZe&&e.indexOf(PL)<0&&(e=e.replace(sZe,PL)),oZe.test(e)&&(e+=PL),e+="a";do e=nZe(e);while(rZe(e)||aZe.test(e));return e.replace(lZe,"$1")}});var Xne=U(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.matchAny=Or.convertPatternsToRe=Or.makeRe=Or.getPatternParts=Or.expandBraceExpansion=Or.expandPatternsWithBraceExpansion=Or.isAffectDepthOfReadingPattern=Or.endsWithSlashGlobStar=Or.hasGlobStar=Or.getBaseDirectory=Or.isPatternRelatedToParentDirectory=Or.getPatternsOutsideCurrentDirectory=Or.getPatternsInsideCurrentDirectory=Or.getPositivePatterns=Or.getNegativePatterns=Or.isPositivePattern=Or.isNegativePattern=Or.convertToNegativePattern=Or.convertToPositivePattern=Or.isDynamicPattern=Or.isStaticPattern=void 0;var cZe=Ie("path"),uZe=jne(),xL=Jo(),Gne="**",AZe="\\",fZe=/[*?]|^!/,pZe=/\[[^[]*]/,hZe=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,gZe=/[!*+?@]\([^(]*\)/,dZe=/,|\.\./;function Wne(t,e={}){return!Yne(t,e)}Or.isStaticPattern=Wne;function Yne(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(AZe)||fZe.test(t)||pZe.test(t)||hZe.test(t)||e.extglob!==!1&&gZe.test(t)||e.braceExpansion!==!1&&mZe(t))}Or.isDynamicPattern=Yne;function mZe(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return dZe.test(o)}function yZe(t){return eP(t)?t.slice(1):t}Or.convertToPositivePattern=yZe;function CZe(t){return"!"+t}Or.convertToNegativePattern=CZe;function eP(t){return t.startsWith("!")&&t[1]!=="("}Or.isNegativePattern=eP;function Kne(t){return!eP(t)}Or.isPositivePattern=Kne;function EZe(t){return t.filter(eP)}Or.getNegativePatterns=EZe;function IZe(t){return t.filter(Kne)}Or.getPositivePatterns=IZe;function wZe(t){return t.filter(e=>!bL(e))}Or.getPatternsInsideCurrentDirectory=wZe;function BZe(t){return t.filter(bL)}Or.getPatternsOutsideCurrentDirectory=BZe;function bL(t){return t.startsWith("..")||t.startsWith("./..")}Or.isPatternRelatedToParentDirectory=bL;function vZe(t){return uZe(t,{flipBackslashes:!1})}Or.getBaseDirectory=vZe;function DZe(t){return t.includes(Gne)}Or.hasGlobStar=DZe;function Vne(t){return t.endsWith("/"+Gne)}Or.endsWithSlashGlobStar=Vne;function SZe(t){let e=cZe.basename(t);return Vne(t)||Wne(e)}Or.isAffectDepthOfReadingPattern=SZe;function PZe(t){return t.reduce((e,r)=>e.concat(Jne(r)),[])}Or.expandPatternsWithBraceExpansion=PZe;function Jne(t){return xL.braces(t,{expand:!0,nodupes:!0})}Or.expandBraceExpansion=Jne;function xZe(t,e){let{parts:r}=xL.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Or.getPatternParts=xZe;function zne(t,e){return xL.makeRe(t,e)}Or.makeRe=zne;function bZe(t,e){return t.map(r=>zne(r,e))}Or.convertPatternsToRe=bZe;function QZe(t,e){return e.some(r=>r.test(t))}Or.matchAny=QZe});var $ne=U(tP=>{"use strict";Object.defineProperty(tP,"__esModule",{value:!0});tP.merge=void 0;var kZe=DL();function FZe(t){let e=kZe(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Zne(t)),e.once("end",()=>Zne(t)),e}tP.merge=FZe;function Zne(t){t.forEach(e=>e.emit("close"))}});var eie=U($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.isEmpty=$y.isString=void 0;function RZe(t){return typeof t=="string"}$y.isString=RZe;function TZe(t){return t===""}$y.isEmpty=TZe});var Sf=U(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.string=So.stream=So.pattern=So.path=So.fs=So.errno=So.array=void 0;var NZe=Rne();So.array=NZe;var LZe=Tne();So.errno=LZe;var OZe=Nne();So.fs=OZe;var MZe=Lne();So.path=MZe;var UZe=Xne();So.pattern=UZe;var _Ze=$ne();So.stream=_Ze;var HZe=eie();So.string=HZe});var nie=U(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.convertPatternGroupToTask=Po.convertPatternGroupsToTasks=Po.groupPatternsByBaseDirectory=Po.getNegativePatternsAsPositive=Po.getPositivePatterns=Po.convertPatternsToTasks=Po.generate=void 0;var Pf=Sf();function qZe(t,e){let r=tie(t),o=rie(t,e.ignore),a=r.filter(p=>Pf.pattern.isStaticPattern(p,e)),n=r.filter(p=>Pf.pattern.isDynamicPattern(p,e)),u=QL(a,o,!1),A=QL(n,o,!0);return u.concat(A)}Po.generate=qZe;function QL(t,e,r){let o=[],a=Pf.pattern.getPatternsOutsideCurrentDirectory(t),n=Pf.pattern.getPatternsInsideCurrentDirectory(t),u=kL(a),A=kL(n);return o.push(...FL(u,e,r)),"."in A?o.push(RL(".",n,e,r)):o.push(...FL(A,e,r)),o}Po.convertPatternsToTasks=QL;function tie(t){return Pf.pattern.getPositivePatterns(t)}Po.getPositivePatterns=tie;function rie(t,e){return Pf.pattern.getNegativePatterns(t).concat(e).map(Pf.pattern.convertToPositivePattern)}Po.getNegativePatternsAsPositive=rie;function kL(t){let e={};return t.reduce((r,o)=>{let a=Pf.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}Po.groupPatternsByBaseDirectory=kL;function FL(t,e,r){return Object.keys(t).map(o=>RL(o,t[o],e,r))}Po.convertPatternGroupsToTasks=FL;function RL(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Pf.pattern.convertToNegativePattern))}}Po.convertPatternGroupToTask=RL});var sie=U(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.removeDuplicateSlashes=eC.transform=void 0;var jZe=/(?!^)\/{2,}/g;function GZe(t){return t.map(e=>iie(e))}eC.transform=GZe;function iie(t){return t.replace(jZe,"/")}eC.removeDuplicateSlashes=iie});var aie=U(rP=>{"use strict";Object.defineProperty(rP,"__esModule",{value:!0});rP.read=void 0;function WZe(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){oie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){TL(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){oie(r,n);return}TL(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),TL(r,u)})})}rP.read=WZe;function oie(t,e){t(e)}function TL(t,e){t(null,e)}});var lie=U(nP=>{"use strict";Object.defineProperty(nP,"__esModule",{value:!0});nP.read=void 0;function YZe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}nP.read=YZe});var cie=U(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});Jp.createFileSystemAdapter=Jp.FILE_SYSTEM_ADAPTER=void 0;var iP=Ie("fs");Jp.FILE_SYSTEM_ADAPTER={lstat:iP.lstat,stat:iP.stat,lstatSync:iP.lstatSync,statSync:iP.statSync};function KZe(t){return t===void 0?Jp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Jp.FILE_SYSTEM_ADAPTER),t)}Jp.createFileSystemAdapter=KZe});var uie=U(LL=>{"use strict";Object.defineProperty(LL,"__esModule",{value:!0});var VZe=cie(),NL=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=VZe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};LL.default=NL});var yd=U(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.statSync=zp.stat=zp.Settings=void 0;var Aie=aie(),JZe=lie(),OL=uie();zp.Settings=OL.default;function zZe(t,e,r){if(typeof e=="function"){Aie.read(t,ML(),e);return}Aie.read(t,ML(e),r)}zp.stat=zZe;function XZe(t,e){let r=ML(e);return JZe.read(t,r)}zp.statSync=XZe;function ML(t={}){return t instanceof OL.default?t:new OL.default(t)}});var pie=U((DTt,fie)=>{fie.exports=ZZe;function ZZe(t,e){var r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?process.nextTick(h):h()}function A(p,h,E){r[p]=E,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,E){A(p,h,E)})}):t.forEach(function(p,h){p(function(E,w){A(h,E,w)})}):u(null),n=!1}});var UL=U(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});oP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var sP=process.versions.node.split(".");if(sP[0]===void 0||sP[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var hie=Number.parseInt(sP[0],10),$Ze=Number.parseInt(sP[1],10),gie=10,e$e=10,t$e=hie>gie,r$e=hie===gie&&$Ze>=e$e;oP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=t$e||r$e});var die=U(aP=>{"use strict";Object.defineProperty(aP,"__esModule",{value:!0});aP.createDirentFromStats=void 0;var _L=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function n$e(t,e){return new _L(t,e)}aP.createDirentFromStats=n$e});var HL=U(lP=>{"use strict";Object.defineProperty(lP,"__esModule",{value:!0});lP.fs=void 0;var i$e=die();lP.fs=i$e});var qL=U(cP=>{"use strict";Object.defineProperty(cP,"__esModule",{value:!0});cP.joinPathSegments=void 0;function s$e(t,e,r){return t.endsWith(r)?t+e:t+r+e}cP.joinPathSegments=s$e});var wie=U(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.readdir=Xp.readdirWithFileTypes=Xp.read=void 0;var o$e=yd(),mie=pie(),a$e=UL(),yie=HL(),Cie=qL();function l$e(t,e,r){if(!e.stats&&a$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES){Eie(t,e,r);return}Iie(t,e,r)}Xp.read=l$e;function Eie(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){uP(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:Cie.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){jL(r,n);return}let u=n.map(A=>c$e(A,e));mie(u,(A,p)=>{if(A!==null){uP(r,A);return}jL(r,p)})})}Xp.readdirWithFileTypes=Eie;function c$e(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=yie.fs.createDirentFromStats(t.name,a),r(null,t)})}}function Iie(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){uP(r,o);return}let n=a.map(u=>{let A=Cie.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{o$e.stat(A,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let w={name:u,path:A,dirent:yie.fs.createDirentFromStats(u,E)};e.stats&&(w.stats=E),p(null,w)})}});mie(n,(u,A)=>{if(u!==null){uP(r,u);return}jL(r,A)})})}Xp.readdir=Iie;function uP(t,e){t(e)}function jL(t,e){t(null,e)}});var Pie=U(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.readdir=Zp.readdirWithFileTypes=Zp.read=void 0;var u$e=yd(),A$e=UL(),Bie=HL(),vie=qL();function f$e(t,e){return!e.stats&&A$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Die(t,e):Sie(t,e)}Zp.read=f$e;function Die(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:vie.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=Bie.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}Zp.readdirWithFileTypes=Die;function Sie(t,e){return e.fs.readdirSync(t).map(o=>{let a=vie.joinPathSegments(t,o,e.pathSegmentSeparator),n=u$e.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:Bie.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}Zp.readdir=Sie});var xie=U($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.createFileSystemAdapter=$p.FILE_SYSTEM_ADAPTER=void 0;var tC=Ie("fs");$p.FILE_SYSTEM_ADAPTER={lstat:tC.lstat,stat:tC.stat,lstatSync:tC.lstatSync,statSync:tC.statSync,readdir:tC.readdir,readdirSync:tC.readdirSync};function p$e(t){return t===void 0?$p.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},$p.FILE_SYSTEM_ADAPTER),t)}$p.createFileSystemAdapter=p$e});var bie=U(YL=>{"use strict";Object.defineProperty(YL,"__esModule",{value:!0});var h$e=Ie("path"),g$e=yd(),d$e=xie(),WL=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=d$e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,h$e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new g$e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};YL.default=WL});var AP=U(e0=>{"use strict";Object.defineProperty(e0,"__esModule",{value:!0});e0.Settings=e0.scandirSync=e0.scandir=void 0;var Qie=wie(),m$e=Pie(),KL=bie();e0.Settings=KL.default;function y$e(t,e,r){if(typeof e=="function"){Qie.read(t,VL(),e);return}Qie.read(t,VL(e),r)}e0.scandir=y$e;function C$e(t,e){let r=VL(e);return m$e.read(t,r)}e0.scandirSync=C$e;function VL(t={}){return t instanceof KL.default?t:new KL.default(t)}});var Fie=U((NTt,kie)=>{"use strict";function E$e(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}kie.exports=E$e});var Tie=U((LTt,JL)=>{"use strict";var I$e=Fie();function Rie(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=I$e(w$e),a=null,n=null,u=0,A=null,p={push:R,drain:zl,saturated:zl,pause:E,paused:!1,concurrency:r,running:h,resume:b,idle:C,length:w,getQueue:v,unshift:L,empty:zl,kill:V,killAndDrain:re,error:oe};return p;function h(){return u}function E(){p.paused=!0}function w(){for(var pe=a,he=0;pe;)pe=pe.next,he++;return he}function v(){for(var pe=a,he=[];pe;)he.push(pe.value),pe=pe.next;return he}function b(){if(!!p.paused){p.paused=!1;for(var pe=0;pe<p.concurrency;pe++)u++,_()}}function C(){return u===0&&p.length()===0}function R(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||zl,ve.errorHandler=A,u===p.concurrency||p.paused?n?(n.next=ve,n=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function L(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||zl,u===p.concurrency||p.paused?a?(ve.next=a,a=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function _(pe){pe&&o.release(pe);var he=a;he?p.paused?u--:(n===a&&(n=null),a=he.next,he.next=null,e.call(t,he.value,he.worked),n===null&&p.empty()):--u===0&&p.drain()}function V(){a=null,n=null,p.drain=zl}function re(){a=null,n=null,p.drain(),p.drain=zl}function oe(pe){A=pe}}function zl(){}function w$e(){this.value=null,this.callback=zl,this.next=null,this.release=zl,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,o){var a=t.callback,n=t.errorHandler,u=t.value;t.value=null,t.callback=zl,t.errorHandler&&n(r,u),a.call(t.context,r,o),t.release(t)}}function B$e(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function o(E,w){e.call(this,E).then(function(v){w(null,v)},w)}var a=Rie(t,o,r),n=a.push,u=a.unshift;return a.push=A,a.unshift=p,a.drained=h,a;function A(E){var w=new Promise(function(v,b){n(E,function(C,R){if(C){b(C);return}v(R)})});return w.catch(zl),w}function p(E){var w=new Promise(function(v,b){u(E,function(C,R){if(C){b(C);return}v(R)})});return w.catch(zl),w}function h(){var E=a.drain,w=new Promise(function(v){a.drain=function(){E(),v()}});return w}}JL.exports=Rie;JL.exports.promise=B$e});var fP=U(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.joinPathSegments=tA.replacePathSegmentSeparator=tA.isAppliedFilter=tA.isFatalError=void 0;function v$e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}tA.isFatalError=v$e;function D$e(t,e){return t===null||t(e)}tA.isAppliedFilter=D$e;function S$e(t,e){return t.split(/[/\\]/).join(e)}tA.replacePathSegmentSeparator=S$e;function P$e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}tA.joinPathSegments=P$e});var ZL=U(XL=>{"use strict";Object.defineProperty(XL,"__esModule",{value:!0});var x$e=fP(),zL=class{constructor(e,r){this._root=e,this._settings=r,this._root=x$e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};XL.default=zL});var tO=U(eO=>{"use strict";Object.defineProperty(eO,"__esModule",{value:!0});var b$e=Ie("events"),Q$e=AP(),k$e=Tie(),pP=fP(),F$e=ZL(),$L=class extends F$e.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=Q$e.scandir,this._emitter=new b$e.EventEmitter,this._queue=k$e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!pP.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=pP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),pP.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&pP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};eO.default=$L});var Nie=U(nO=>{"use strict";Object.defineProperty(nO,"__esModule",{value:!0});var R$e=tO(),rO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new R$e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{T$e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{N$e(e,[...this._storage])}),this._reader.read()}};nO.default=rO;function T$e(t,e){t(e)}function N$e(t,e){t(null,e)}});var Lie=U(sO=>{"use strict";Object.defineProperty(sO,"__esModule",{value:!0});var L$e=Ie("stream"),O$e=tO(),iO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new O$e.default(this._root,this._settings),this._stream=new L$e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};sO.default=iO});var Oie=U(aO=>{"use strict";Object.defineProperty(aO,"__esModule",{value:!0});var M$e=AP(),hP=fP(),U$e=ZL(),oO=class extends U$e.default{constructor(){super(...arguments),this._scandir=M$e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(!!hP.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=hP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),hP.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&hP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_pushToStorage(e){this._storage.add(e)}};aO.default=oO});var Mie=U(cO=>{"use strict";Object.defineProperty(cO,"__esModule",{value:!0});var _$e=Oie(),lO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new _$e.default(this._root,this._settings)}read(){return this._reader.read()}};cO.default=lO});var Uie=U(AO=>{"use strict";Object.defineProperty(AO,"__esModule",{value:!0});var H$e=Ie("path"),q$e=AP(),uO=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,H$e.sep),this.fsScandirSettings=new q$e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};AO.default=uO});var dP=U(rA=>{"use strict";Object.defineProperty(rA,"__esModule",{value:!0});rA.Settings=rA.walkStream=rA.walkSync=rA.walk=void 0;var _ie=Nie(),j$e=Lie(),G$e=Mie(),fO=Uie();rA.Settings=fO.default;function W$e(t,e,r){if(typeof e=="function"){new _ie.default(t,gP()).read(e);return}new _ie.default(t,gP(e)).read(r)}rA.walk=W$e;function Y$e(t,e){let r=gP(e);return new G$e.default(t,r).read()}rA.walkSync=Y$e;function K$e(t,e){let r=gP(e);return new j$e.default(t,r).read()}rA.walkStream=K$e;function gP(t={}){return t instanceof fO.default?t:new fO.default(t)}});var mP=U(hO=>{"use strict";Object.defineProperty(hO,"__esModule",{value:!0});var V$e=Ie("path"),J$e=yd(),Hie=Sf(),pO=class{constructor(e){this._settings=e,this._fsStatSettings=new J$e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return V$e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Hie.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Hie.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};hO.default=pO});var mO=U(dO=>{"use strict";Object.defineProperty(dO,"__esModule",{value:!0});var z$e=Ie("stream"),X$e=yd(),Z$e=dP(),$$e=mP(),gO=class extends $$e.default{constructor(){super(...arguments),this._walkStream=Z$e.walkStream,this._stat=X$e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new z$e.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;n<o.length;n++)a.write(n);return a}_getEntry(e,r,o){return this._getStat(e).then(a=>this._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};dO.default=gO});var qie=U(CO=>{"use strict";Object.defineProperty(CO,"__esModule",{value:!0});var eet=dP(),tet=mP(),ret=mO(),yO=class extends tet.default{constructor(){super(...arguments),this._walkAsync=eet.walk,this._readerStream=new ret.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};CO.default=yO});var jie=U(IO=>{"use strict";Object.defineProperty(IO,"__esModule",{value:!0});var rC=Sf(),EO=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let e=rC.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(e){return rC.pattern.getPatternParts(e,this._micromatchOptions).map(o=>rC.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:rC.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return rC.array.splitWhen(e,r=>r.dynamic&&rC.pattern.hasGlobStar(r.pattern))}};IO.default=EO});var Gie=U(BO=>{"use strict";Object.defineProperty(BO,"__esModule",{value:!0});var net=jie(),wO=class extends net.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};BO.default=wO});var Wie=U(DO=>{"use strict";Object.defineProperty(DO,"__esModule",{value:!0});var yP=Sf(),iet=Gie(),vO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new iet.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(yP.pattern.isAffectDepthOfReadingPattern);return yP.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=yP.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!yP.pattern.matchAny(e,r)}};DO.default=vO});var Yie=U(PO=>{"use strict";Object.defineProperty(PO,"__esModule",{value:!0});var Cd=Sf(),SO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=Cd.pattern.convertPatternsToRe(e,this._micromatchOptions),a=Cd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(e,r,o){if(this._settings.unique&&this._isDuplicateEntry(e)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e.path,o))return!1;let a=this._settings.baseNameMatch?e.name:e.path,n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(e.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(e),u}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=Cd.path.makeAbsolute(this._settings.cwd,e);return Cd.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=Cd.path.removeLeadingDotSegment(e),n=Cd.pattern.matchAny(a,r);return!n&&o?Cd.pattern.matchAny(a+"/",r):n}};PO.default=SO});var Kie=U(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});var set=Sf(),xO=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return set.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};bO.default=xO});var Jie=U(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});var Vie=Sf(),QO=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Vie.path.makeAbsolute(this._settings.cwd,r),r=Vie.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};kO.default=QO});var CP=U(RO=>{"use strict";Object.defineProperty(RO,"__esModule",{value:!0});var oet=Ie("path"),aet=Wie(),cet=Yie(),uet=Kie(),Aet=Jie(),FO=class{constructor(e){this._settings=e,this.errorFilter=new uet.default(this._settings),this.entryFilter=new cet.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new aet.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Aet.default(this._settings)}_getRootDirectory(e){return oet.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};RO.default=FO});var zie=U(NO=>{"use strict";Object.defineProperty(NO,"__esModule",{value:!0});var fet=qie(),pet=CP(),TO=class extends pet.default{constructor(){super(...arguments),this._reader=new fet.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};NO.default=TO});var Xie=U(OO=>{"use strict";Object.defineProperty(OO,"__esModule",{value:!0});var het=Ie("stream"),get=mO(),det=CP(),LO=class extends det.default{constructor(){super(...arguments),this._reader=new get.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new het.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};OO.default=LO});var Zie=U(UO=>{"use strict";Object.defineProperty(UO,"__esModule",{value:!0});var met=yd(),yet=dP(),Cet=mP(),MO=class extends Cet.default{constructor(){super(...arguments),this._walkSync=yet.walkSync,this._statSync=met.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};UO.default=MO});var $ie=U(HO=>{"use strict";Object.defineProperty(HO,"__esModule",{value:!0});var Eet=Zie(),Iet=CP(),_O=class extends Iet.default{constructor(){super(...arguments),this._reader=new Eet.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};HO.default=_O});var ese=U(iC=>{"use strict";Object.defineProperty(iC,"__esModule",{value:!0});iC.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var nC=Ie("fs"),wet=Ie("os"),Bet=Math.max(wet.cpus().length,1);iC.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:nC.lstat,lstatSync:nC.lstatSync,stat:nC.stat,statSync:nC.statSync,readdir:nC.readdir,readdirSync:nC.readdirSync};var qO=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Bet),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},iC.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};iC.default=qO});var EP=U((aNt,nse)=>{"use strict";var tse=nie(),rse=sie(),vet=zie(),Det=Xie(),Pet=$ie(),jO=ese(),Ed=Sf();async function GO(t,e){sC(t);let r=WO(t,vet.default,e),o=await Promise.all(r);return Ed.array.flatten(o)}(function(t){function e(u,A){sC(u);let p=WO(u,Pet.default,A);return Ed.array.flatten(p)}t.sync=e;function r(u,A){sC(u);let p=WO(u,Det.default,A);return Ed.stream.merge(p)}t.stream=r;function o(u,A){sC(u);let p=rse.transform([].concat(u)),h=new jO.default(A);return tse.generate(p,h)}t.generateTasks=o;function a(u,A){sC(u);let p=new jO.default(A);return Ed.pattern.isDynamicPattern(u,p)}t.isDynamicPattern=a;function n(u){return sC(u),Ed.path.escape(u)}t.escapePath=n})(GO||(GO={}));function WO(t,e,r){let o=rse.transform([].concat(t)),a=new jO.default(r),n=tse.generate(o,a),u=new e(a);return n.map(u.read,u)}function sC(t){if(![].concat(t).every(o=>Ed.string.isString(o)&&!Ed.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}nse.exports=GO});var sse=U(Id=>{"use strict";var{promisify:xet}=Ie("util"),ise=Ie("fs");async function YO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await xet(ise[t])(r))[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}function KO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return ise[t](r)[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}Id.isFile=YO.bind(null,"stat","isFile");Id.isDirectory=YO.bind(null,"stat","isDirectory");Id.isSymlink=YO.bind(null,"lstat","isSymbolicLink");Id.isFileSync=KO.bind(null,"statSync","isFile");Id.isDirectorySync=KO.bind(null,"statSync","isDirectory");Id.isSymlinkSync=KO.bind(null,"lstatSync","isSymbolicLink")});var use=U((cNt,VO)=>{"use strict";var wd=Ie("path"),ose=sse(),ase=t=>t.length>1?`{${t.join(",")}}`:t[0],lse=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return wd.isAbsolute(r)?r:wd.join(e,r)},bet=(t,e)=>wd.extname(t)?`**/${t}`:`**/${t}.${ase(e)}`,cse=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>wd.posix.join(t,bet(r,e.extensions))):e.files?e.files.map(r=>wd.posix.join(t,`**/${r}`)):e.extensions?[wd.posix.join(t,`**/*.${ase(e.extensions)}`)]:[wd.posix.join(t,"**")]};VO.exports=async(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async o=>await ose.isDirectory(lse(o,e.cwd))?cse(o,e):o));return[].concat.apply([],r)};VO.exports.sync=(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(o=>ose.isDirectorySync(lse(o,e.cwd))?cse(o,e):o);return[].concat.apply([],r)}});var Cse=U((uNt,yse)=>{function Ase(t){return Array.isArray(t)?t:[t]}var gse="",fse=" ",JO="\\",Qet=/^\s+$/,ket=/^\\!/,Fet=/^\\#/,Ret=/\r?\n/g,Tet=/^\.*\/|^\.+$/,zO="/",pse=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",Net=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Let=/([0-z])-([0-z])/g,dse=()=>!1,Oet=t=>t.replace(Let,(e,r,o)=>r.charCodeAt(0)<=o.charCodeAt(0)?e:gse),Met=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Uet=[[/\\?\s+$/,t=>t.indexOf("\\")===0?fse:gse],[/\\\s/g,()=>fse],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)\\\*(?=.+)/g,(t,e)=>`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>JO],[/\\\\/g,()=>JO],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,o,a)=>e===JO?`\\[${r}${Met(o)}${a}`:a==="]"&&o.length%2===0?`[${Oet(r)}${o}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],hse=Object.create(null),_et=(t,e)=>{let r=hse[t];return r||(r=Uet.reduce((o,a)=>o.replace(a[0],a[1].bind(t)),t),hse[t]=r),e?new RegExp(r,"i"):new RegExp(r)},$O=t=>typeof t=="string",Het=t=>t&&$O(t)&&!Qet.test(t)&&t.indexOf("#")!==0,qet=t=>t.split(Ret),XO=class{constructor(e,r,o,a){this.origin=e,this.pattern=r,this.negative=o,this.regex=a}},jet=(t,e)=>{let r=t,o=!1;t.indexOf("!")===0&&(o=!0,t=t.substr(1)),t=t.replace(ket,"!").replace(Fet,"#");let a=_et(t,e);return new XO(r,t,o,a)},Get=(t,e)=>{throw new e(t)},xf=(t,e,r)=>$O(t)?t?xf.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),mse=t=>Tet.test(t);xf.isNotRelative=mse;xf.convert=t=>t;var ZO=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:o=!1}={}){Net(this,pse,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=o,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[pse]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Het(e)){let r=jet(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,Ase($O(e)?qet(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let o=!1,a=!1;return this._rules.forEach(n=>{let{negative:u}=n;if(a===u&&o!==a||u&&!o&&!a&&!r)return;n.regex.test(e)&&(o=!u,a=u)}),{ignored:o,unignored:a}}_test(e,r,o,a){let n=e&&xf.convert(e);return xf(n,e,this._allowRelativePaths?dse:Get),this._t(n,r,o,a)}_t(e,r,o,a){if(e in r)return r[e];if(a||(a=e.split(zO)),a.pop(),!a.length)return r[e]=this._testOne(e,o);let n=this._t(a.join(zO)+zO,r,o,a);return r[e]=n.ignored?n:this._testOne(e,o)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return Ase(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},IP=t=>new ZO(t),Wet=t=>xf(t&&xf.convert(t),t,dse);IP.isPathValid=Wet;IP.default=IP;yse.exports=IP;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");xf.convert=t;let e=/^[a-z]:\//i;xf.isNotRelative=r=>e.test(r)||mse(r)}});var Ise=U((ANt,Ese)=>{"use strict";Ese.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var xse=U((fNt,eM)=>{"use strict";var{promisify:Yet}=Ie("util"),wse=Ie("fs"),bf=Ie("path"),Bse=EP(),Ket=Cse(),jw=Ise(),vse=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Vet=Yet(wse.readFile),Jet=t=>e=>e.startsWith("!")?"!"+bf.posix.join(t,e.slice(1)):bf.posix.join(t,e),zet=(t,e)=>{let r=jw(bf.relative(e.cwd,bf.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(o=>!o.startsWith("#")).map(Jet(r))},Dse=t=>{let e=Ket();for(let r of t)e.add(zet(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Xet=(t,e)=>{if(t=jw(t),bf.isAbsolute(e)){if(jw(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return bf.join(t,e)},Sse=(t,e)=>r=>t.ignores(jw(bf.relative(e,Xet(e,r.path||r)))),Zet=async(t,e)=>{let r=bf.join(e,t),o=await Vet(r,"utf8");return{cwd:e,filePath:r,content:o}},$et=(t,e)=>{let r=bf.join(e,t),o=wse.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:o}},Pse=({ignore:t=[],cwd:e=jw(process.cwd())}={})=>({ignore:t,cwd:e});eM.exports=async t=>{t=Pse(t);let e=await Bse("**/.gitignore",{ignore:vse.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(a=>Zet(a,t.cwd))),o=Dse(r);return Sse(o,t.cwd)};eM.exports.sync=t=>{t=Pse(t);let r=Bse.sync("**/.gitignore",{ignore:vse.concat(t.ignore),cwd:t.cwd}).map(a=>$et(a,t.cwd)),o=Dse(r);return Sse(o,t.cwd)}});var Qse=U((pNt,bse)=>{"use strict";var{Transform:ett}=Ie("stream"),wP=class extends ett{constructor(){super({objectMode:!0})}},tM=class extends wP{constructor(e){super(),this._filter=e}_transform(e,r,o){this._filter(e)&&this.push(e),o()}},rM=class extends wP{constructor(){super(),this._pushed=new Set}_transform(e,r,o){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),o()}};bse.exports={FilterStream:tM,UniqueStream:rM}});var oM=U((hNt,Bd)=>{"use strict";var Fse=Ie("fs"),BP=bne(),ttt=DL(),vP=EP(),DP=use(),nM=xse(),{FilterStream:rtt,UniqueStream:ntt}=Qse(),Rse=()=>!1,kse=t=>t[0]==="!",itt=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},stt=(t={})=>{if(!t.cwd)return;let e;try{e=Fse.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},ott=t=>t.stats instanceof Fse.Stats?t.path:t,SP=(t,e)=>{t=BP([].concat(t)),itt(t),stt(e);let r=[];e={ignore:[],expandDirectories:!0,...e};for(let[o,a]of t.entries()){if(kse(a))continue;let n=t.slice(o).filter(A=>kse(A)).map(A=>A.slice(1)),u={...e,ignore:e.ignore.concat(n)};r.push({pattern:a,options:u})}return r},att=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r={...r,files:t.options.expandDirectories}:typeof t.options.expandDirectories=="object"&&(r={...r,...t.options.expandDirectories}),e(t.pattern,r)},iM=(t,e)=>t.options.expandDirectories?att(t,e):[t.pattern],Tse=t=>t&&t.gitignore?nM.sync({cwd:t.cwd,ignore:t.ignore}):Rse,sM=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=DP.sync(r.ignore)),{pattern:e,options:r}};Bd.exports=async(t,e)=>{let r=SP(t,e),o=async()=>e&&e.gitignore?nM({cwd:e.cwd,ignore:e.ignore}):Rse,a=async()=>{let p=await Promise.all(r.map(async h=>{let E=await iM(h,DP);return Promise.all(E.map(sM(h)))}));return BP(...p)},[n,u]=await Promise.all([o(),a()]),A=await Promise.all(u.map(p=>vP(p.pattern,p.options)));return BP(...A).filter(p=>!n(ott(p)))};Bd.exports.sync=(t,e)=>{let r=SP(t,e),o=[];for(let u of r){let A=iM(u,DP.sync).map(sM(u));o.push(...A)}let a=Tse(e),n=[];for(let u of o)n=BP(n,vP.sync(u.pattern,u.options));return n.filter(u=>!a(u))};Bd.exports.stream=(t,e)=>{let r=SP(t,e),o=[];for(let A of r){let p=iM(A,DP.sync).map(sM(A));o.push(...p)}let a=Tse(e),n=new rtt(A=>!a(A)),u=new ntt;return ttt(o.map(A=>vP.stream(A.pattern,A.options))).pipe(n).pipe(u)};Bd.exports.generateGlobTasks=SP;Bd.exports.hasMagic=(t,e)=>[].concat(t).some(r=>vP.isDynamicPattern(r,e));Bd.exports.gitignore=nM});var bn={};Yt(bn,{checksumFile:()=>xP,checksumPattern:()=>bP,makeHash:()=>Vs});function Vs(...t){let e=(0,PP.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function xP(t,{baseFs:e,algorithm:r}={baseFs:ae,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,PP.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function bP(t,{cwd:e}){let o=(await(0,aM.default)(t,{cwd:ue.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(A=>`${A}/**/*`),a=await(0,aM.default)([t,...o],{cwd:ue.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=ue.toPortablePath(A),E=await ae.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await ae.readlinkPromise(h))):E.isFile()&&p.push(await ae.readFilePromise(h)),p.join("\0")})),u=(0,PP.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var PP,aM,t0=dt(()=>{bt();PP=Ie("crypto"),aM=tt(oM())});var Y={};Yt(Y,{areDescriptorsEqual:()=>Use,areIdentsEqual:()=>Vw,areLocatorsEqual:()=>Jw,areVirtualPackagesEquivalent:()=>dtt,bindDescriptor:()=>htt,bindLocator:()=>gtt,convertDescriptorToLocator:()=>QP,convertLocatorToDescriptor:()=>cM,convertPackageToLocator:()=>Att,convertToIdent:()=>utt,convertToManifestRange:()=>Ett,copyPackage:()=>Ww,devirtualizeDescriptor:()=>Yw,devirtualizeLocator:()=>Kw,ensureDevirtualizedDescriptor:()=>ftt,ensureDevirtualizedLocator:()=>ptt,getIdentVendorPath:()=>hM,isPackageCompatible:()=>NP,isVirtualDescriptor:()=>Qf,isVirtualLocator:()=>Wc,makeDescriptor:()=>mn,makeIdent:()=>nA,makeLocator:()=>us,makeRange:()=>FP,parseDescriptor:()=>r0,parseFileStyleRange:()=>ytt,parseIdent:()=>Ys,parseLocator:()=>kf,parseRange:()=>vd,prettyDependent:()=>vL,prettyDescriptor:()=>Ln,prettyIdent:()=>cs,prettyLocator:()=>kr,prettyLocatorNoColors:()=>pM,prettyRange:()=>TP,prettyReference:()=>Xw,prettyResolution:()=>qw,prettyWorkspace:()=>Zw,renamePackage:()=>uM,slugifyIdent:()=>lM,slugifyLocator:()=>aC,sortDescriptors:()=>lC,stringifyDescriptor:()=>ba,stringifyIdent:()=>nn,stringifyLocator:()=>Vl,tryParseDescriptor:()=>zw,tryParseIdent:()=>_se,tryParseLocator:()=>kP,tryParseRange:()=>mtt,virtualizeDescriptor:()=>AM,virtualizePackage:()=>fM});function nA(t,e){if(t!=null&&t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:Vs(t,e),scope:t,name:e}}function mn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:Vs(t.identHash,e),range:e}}function us(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:Vs(t.identHash,e),reference:e}}function utt(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function QP(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function cM(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function Att(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function uM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function Ww(t){return uM(t,t)}function AM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return mn(t,`virtual:${e}#${t.range}`)}function fM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return uM(t,us(t,`virtual:${e}#${t.reference}`))}function Qf(t){return t.range.startsWith(Gw)}function Wc(t){return t.reference.startsWith(Gw)}function Yw(t){if(!Qf(t))throw new Error("Not a virtual descriptor");return mn(t,t.range.replace(/^[^#]*#/,""))}function Kw(t){if(!Wc(t))throw new Error("Not a virtual descriptor");return us(t,t.reference.replace(/^[^#]*#/,""))}function ftt(t){return Qf(t)?mn(t,t.range.replace(/^[^#]*#/,"")):t}function ptt(t){return Wc(t)?us(t,t.reference.replace(/^[^#]*#/,"")):t}function htt(t,e){return t.range.includes("::")?t:mn(t,`${t.range}::${oC.default.stringify(e)}`)}function gtt(t,e){return t.reference.includes("::")?t:us(t,`${t.reference}::${oC.default.stringify(e)}`)}function Vw(t,e){return t.identHash===e.identHash}function Use(t,e){return t.descriptorHash===e.descriptorHash}function Jw(t,e){return t.locatorHash===e.locatorHash}function dtt(t,e){if(!Wc(t))throw new Error("Invalid package type");if(!Wc(e))throw new Error("Invalid package type");if(!Vw(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!Use(r,o))return!1}return!0}function Ys(t){let e=_se(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function _se(t){let e=t.match(/^(?:@([^/]+?)\/)?([^@/]+)$/);if(!e)return null;let[,r,o]=e;return nA(typeof r<"u"?r:null,o)}function r0(t,e=!1){let r=zw(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function zw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return mn(nA(u,a),A)}function kf(t,e=!1){let r=kP(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function kP(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return us(nA(u,a),A)}function vd(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if((e==null?void 0:e.requireProtocol)&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e!=null&&e.parseSelector?oC.default.parse(n):n,A=typeof r[4]<"u"?oC.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function mtt(t,e){try{return vd(t,e)}catch{return null}}function ytt(t,{protocol:e}){let{selector:r,params:o}=vd(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:kf(o.locator,!0),path:r}}function Nse(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function Ctt(t){return t===null?!1:Object.entries(t).length>0}function FP({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${Nse(e)}#`),a+=Nse(r),Ctt(o)&&(a+=`::${oC.default.stringify(o)}`),a}function Ett(t){let{params:e,protocol:r,source:o,selector:a}=vd(t);for(let n in e)n.startsWith("__")&&delete e[n];return FP({protocol:r,source:o,params:e,selector:a})}function nn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function ba(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Vl(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function lM(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function aC(t){let{protocol:e,selector:r}=vd(t.reference),o=e!==null?e.replace(/:$/,""):"exotic",a=Lse.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10,A=t.scope?`${lM(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${lM(t)}-${n}-${t.locatorHash.slice(0,u)}`;return Li(A)}function cs(t,e){return e.scope?`${Kt(t,`@${e.scope}/`,Bt.SCOPE)}${Kt(t,e.name,Bt.NAME)}`:`${Kt(t,e.name,Bt.NAME)}`}function RP(t){if(t.startsWith(Gw)){let e=RP(t.substring(t.indexOf("#")+1)),r=t.substring(Gw.length,Gw.length+ltt);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function TP(t,e){return`${Kt(t,RP(e),Bt.RANGE)}`}function Ln(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.RANGE)}${TP(t,e.range)}`}function Xw(t,e){return`${Kt(t,RP(e),Bt.REFERENCE)}`}function kr(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.REFERENCE)}${Xw(t,e.reference)}`}function pM(t){return`${nn(t)}@${RP(t.reference)}`}function lC(t){return Pa(t,[e=>nn(e),e=>e.range])}function Zw(t,e){return cs(t,e.locator)}function qw(t,e,r){let o=Qf(e)?Yw(e):e;return r===null?`${Ln(t,o)} \u2192 ${BL(t).Cross}`:o.identHash===r.identHash?`${Ln(t,o)} \u2192 ${Xw(t,r.reference)}`:`${Ln(t,o)} \u2192 ${kr(t,r)}`}function vL(t,e,r){return r===null?`${kr(t,e)}`:`${kr(t,e)} (via ${TP(t,r.range)})`}function hM(t){return`node_modules/${nn(t)}`}function NP(t,e){return t.conditions?ctt(t.conditions,r=>{let[,o,a]=r.match(Mse),n=e[o];return n?n.includes(a):!0}):!0}var oC,Lse,Ose,Gw,ltt,Mse,ctt,Ks=dt(()=>{bt();oC=tt(Ie("querystring")),Lse=tt(si()),Ose=tt(iX());Jl();t0();Kl();Ks();Gw="virtual:",ltt=5,Mse=/(os|cpu|libc)=([a-z0-9_-]+)/,ctt=(0,Ose.makeParser)(Mse)});var Hse,qse=dt(()=>{Ks();Hse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==nn(r)||e.configuration.normalizeLocator(us(Ys(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==nn(t)||e.configuration.normalizeDependency(mn(kf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(mn(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=Zw(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var $w,Gn,Dd=dt(()=>{$w=class{supportsDescriptor(e,r){return!!(e.range.startsWith($w.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith($w.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice($w.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},Gn=$w;Gn.protocol="workspace:"});var Tr={};Yt(Tr,{SemVer:()=>Wse.SemVer,clean:()=>wtt,satisfiesWithPrereleases:()=>Sd,validRange:()=>ll});function Sd(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=jse.get(o);if(typeof a>"u")try{a=new LP.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{jse.set(o,a||null)}else if(a===null)return!1;let n;try{n=new LP.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function ll(t){if(t.indexOf(":")!==-1)return null;let e=Gse.get(t);if(typeof e<"u")return e;try{e=new LP.default.Range(t)}catch{e=null}return Gse.set(t,e),e}function wtt(t){let e=Itt.exec(t);return e?e[1]:null}var LP,Wse,jse,Gse,Itt,n0=dt(()=>{LP=tt(si()),Wse=tt(si()),jse=new Map;Gse=new Map;Itt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function Yse(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function Kse(t){return t.charCodeAt(0)===65279?t.slice(1):t}function zo(t){return t.replace(/\\/g,"/")}function OP(t,{yamlCompatibilityMode:e}){return e?gL(t):typeof t>"u"||typeof t=="boolean"?t:null}function Vse(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function gM(t,e){return e.length===1?Vse(t,e[0]):`(${e.map(r=>Vse(t,r)).join(" | ")})`}var Jse,cC,Nt,uC=dt(()=>{bt();_l();Jse=tt(si());Dd();Kl();n0();Ks();cC=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new xn}={}){let o=z.join(e,"package.json");try{return await cC.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await cC.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new xn}={}){let o=new cC;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new cC;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(Kse(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=Yse(e)}async loadFile(e,{baseFs:r=new xn}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(Kse(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=Yse(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Ys(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=zo(e.main):this.main=null,typeof e.module=="string"?this.module=zo(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=zo(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set(zo(n),typeof u=="string"?zo(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,zo(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Ys(n);this.bin.set(A.name,zo(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(Gn.protocol)&&!ll(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=mn(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=r0(n),p=this.ensureDependencyMeta(A),h=OP(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=OP(u.optional,{yamlCompatibilityMode:r});if(E===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let w=OP(u.unplugged,{yamlCompatibilityMode:r});if(w===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:w})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=r0(n),p=this.ensurePeerDependencyMeta(A),h=OP(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:xD(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=zo(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=zo(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=zo(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(zo(n),typeof u=="string"?zo(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,zo(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,zo(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(zo(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p);let h=mn(A,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(gM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(gM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(gM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!Jse.default.valid(e.range))throw new Error(`Invalid meta field range for '${ba(e)}'`);let r=nn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${ba(e)}'`);let r=nn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.prototype.hasOwnProperty.call(this.raw,n)));if(a.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=nn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(nn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...lC(o).map(n=>({[nn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...lC(a).map(n=>({[nn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...lC(this.devDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...lC(this.peerDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Pa(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Pa(u.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=A!==null?ba(mn(Ys(n),A)):n,E={...p};r&&A===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Pa(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[bD(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??(e.scripts={});for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}},Nt=cC;Nt.fileName="package.json",Nt.allDependencies=["dependencies","devDependencies","peerDependencies"],Nt.hardDependencies=["dependencies","devDependencies"]});var Xse=U((kNt,zse)=>{var Btt=Wl(),vtt=function(){return Btt.Date.now()};zse.exports=vtt});var $se=U((FNt,Zse)=>{var Dtt=/\s/;function Stt(t){for(var e=t.length;e--&&Dtt.test(t.charAt(e)););return e}Zse.exports=Stt});var toe=U((RNt,eoe)=>{var Ptt=$se(),xtt=/^\s+/;function btt(t){return t&&t.slice(0,Ptt(t)+1).replace(xtt,"")}eoe.exports=btt});var AC=U((TNt,roe)=>{var Qtt=pd(),ktt=Xu(),Ftt="[object Symbol]";function Rtt(t){return typeof t=="symbol"||ktt(t)&&Qtt(t)==Ftt}roe.exports=Rtt});var ooe=U((NNt,soe)=>{var Ttt=toe(),noe=ol(),Ntt=AC(),ioe=0/0,Ltt=/^[-+]0x[0-9a-f]+$/i,Ott=/^0b[01]+$/i,Mtt=/^0o[0-7]+$/i,Utt=parseInt;function _tt(t){if(typeof t=="number")return t;if(Ntt(t))return ioe;if(noe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=noe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Ttt(t);var r=Ott.test(t);return r||Mtt.test(t)?Utt(t.slice(2),r?2:8):Ltt.test(t)?ioe:+t}soe.exports=_tt});var coe=U((LNt,loe)=>{var Htt=ol(),dM=Xse(),aoe=ooe(),qtt="Expected a function",jtt=Math.max,Gtt=Math.min;function Wtt(t,e,r){var o,a,n,u,A,p,h=0,E=!1,w=!1,v=!0;if(typeof t!="function")throw new TypeError(qtt);e=aoe(e)||0,Htt(r)&&(E=!!r.leading,w="maxWait"in r,n=w?jtt(aoe(r.maxWait)||0,e):n,v="trailing"in r?!!r.trailing:v);function b(he){var ve=o,ge=a;return o=a=void 0,h=he,u=t.apply(ge,ve),u}function C(he){return h=he,A=setTimeout(_,e),E?b(he):u}function R(he){var ve=he-p,ge=he-h,le=e-ve;return w?Gtt(le,n-ge):le}function L(he){var ve=he-p,ge=he-h;return p===void 0||ve>=e||ve<0||w&&ge>=n}function _(){var he=dM();if(L(he))return V(he);A=setTimeout(_,R(he))}function V(he){return A=void 0,v&&o?b(he):(o=a=void 0,u)}function re(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function oe(){return A===void 0?u:V(dM())}function pe(){var he=dM(),ve=L(he);if(o=arguments,a=this,p=he,ve){if(A===void 0)return C(p);if(w)return clearTimeout(A),A=setTimeout(_,e),b(p)}return A===void 0&&(A=setTimeout(_,e)),u}return pe.cancel=re,pe.flush=oe,pe}loe.exports=Wtt});var mM=U((ONt,uoe)=>{var Ytt=coe(),Ktt=ol(),Vtt="Expected a function";function Jtt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(Vtt);return Ktt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),Ytt(t,e,{leading:o,maxWait:e,trailing:a})}uoe.exports=Jtt});function Xtt(t){return typeof t.reportCode<"u"}var Aoe,foe,poe,ztt,Vt,Js,Xl=dt(()=>{Aoe=tt(mM()),foe=Ie("stream"),poe=Ie("string_decoder"),ztt=15,Vt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Js=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(E=>{o=E}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r<e;)await a,yield{progress:r/e}}();return{[Symbol.asyncIterator](){return A},hasProgress:!0,hasTitle:!1,set:n,tick:u}}static progressViaTitle(){let e,r,o=new Promise(u=>{r=u}),a=(0,Aoe.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/ztt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportWarningOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportErrorOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportExceptionOnce(e){Xtt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new foe.PassThrough,o=new poe.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(`
135`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var aE,mM=dt(()=>{Jl();Ks();aE=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new Jt(11,`${kr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var vd,yM=dt(()=>{Ks();vd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${Ln(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${kr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var lE,EM=dt(()=>{bt();Ks();lE=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return rE(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=pi.makeVirtualPath(n,u,a),p=new qu(A,{baseFs:r.packageFs,pathUtils:V});return{...r,packageFs:p}}}});var cE,zw,loe=dt(()=>{cE=class{static isVirtualDescriptor(e){return!!e.range.startsWith(cE.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(cE.protocol)}supportsDescriptor(e,r){return cE.isVirtualDescriptor(e)}supportsLocator(e,r){return cE.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},zw=cE;zw.protocol="virtual:"});var uE,CM=dt(()=>{bt();wd();uE=class{supports(e){return!!e.reference.startsWith(oi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new An(o),prefixPath:wt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(oi.protocol.length))}}});function Xw(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function coe(t){return typeof t>"u"?3:Xw(t)?0:Array.isArray(t)?1:2}function BM(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function qtt(t){return Xw(t)&&BM(t,"onConflict")&&typeof t.onConflict=="string"}function jtt(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!qtt(t))return{onConflict:"default",value:t};if(BM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function uoe(t,e){let r=Xw(t)&&BM(t,e)?t[e]:void 0;return jtt(r)}function AE(t,e){return[t,e,Aoe]}function vM(t){return Array.isArray(t)?t[2]===Aoe:!1}function IM(t,e){if(Xw(t)){let r={};for(let o of Object.keys(t))r[o]=IM(t[o],e);return AE(e,r)}return Array.isArray(t)?AE(e,t.map(r=>IM(r,e))):AE(e,t)}function wM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let C=a-1;C>=o;--C){let[w,v]=t[C],{onConflict:b,value:E}=uoe(v,r),R=coe(E);if(R!==3){if(n??(n=R),R!==n||b==="hardReset"){p=A;break}if(R===2)return AE(w,E);if(u.unshift([w,E]),b==="reset"){p=C;break}b==="extend"&&C===o&&(o=0),A=C}}if(typeof n>"u")return null;let h=u.map(([C])=>C).join(", ");switch(n){case 1:return AE(h,new Array().concat(...u.map(([C,w])=>w.map(v=>IM(v,C)))));case 0:{let C=Object.assign({},...u.map(([,R])=>R)),w=Object.keys(C),v={},b=t.map(([R,L])=>[R,uoe(L,r).value]),E=Htt(b,([R,L])=>{let _=coe(L);return _!==0&&_!==3});if(E!==-1){let R=b.slice(E+1);for(let L of w)v[L]=wM(R,e,L,0,R.length)}else for(let R of w)v[R]=wM(b,e,R,p,b.length);return AE(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function foe(t){return wM(t.map(([e,r])=>[e,{["."]:r}]),[],".",0,t.length)}function Zw(t){return vM(t)?t[1]:t}function kP(t){let e=vM(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>kP(r));if(Xw(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=kP(a);return r}return e}function DM(t){return vM(t)?t[0]:null}var Htt,Aoe,poe=dt(()=>{Htt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};Aoe=Symbol()});var FP={};Yt(FP,{getDefaultGlobalFolder:()=>PM,getHomeFolder:()=>fE,isFolderInside:()=>xM});function PM(){if(process.platform==="win32"){let t=Ae.toPortablePath(process.env.LOCALAPPDATA||Ae.join((0,SM.homedir)(),"AppData","Local"));return V.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=Ae.toPortablePath(process.env.XDG_DATA_HOME);return V.resolve(t,"yarn/berry")}return V.resolve(fE(),".yarn/berry")}function fE(){return Ae.toPortablePath((0,SM.homedir)()||"/usr/local/share")}function xM(t,e){let r=V.relative(e,t);return r&&!r.startsWith("..")&&!V.isAbsolute(r)}var SM,RP=dt(()=>{bt();SM=Ie("os")});var moe=U(pE=>{"use strict";var LNt=Ie("net"),Wtt=Ie("tls"),bM=Ie("http"),hoe=Ie("https"),Ytt=Ie("events"),ONt=Ie("assert"),Ktt=Ie("util");pE.httpOverHttp=Jtt;pE.httpsOverHttp=Vtt;pE.httpOverHttps=ztt;pE.httpsOverHttps=Xtt;function Jtt(t){var e=new Qf(t);return e.request=bM.request,e}function Vtt(t){var e=new Qf(t);return e.request=bM.request,e.createSocket=goe,e.defaultPort=443,e}function ztt(t){var e=new Qf(t);return e.request=hoe.request,e}function Xtt(t){var e=new Qf(t);return e.request=hoe.request,e.createSocket=goe,e.defaultPort=443,e}function Qf(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||bM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=doe(a,n,u),p=0,h=e.requests.length;p<h;++p){var C=e.requests[p];if(C.host===A.host&&C.port===A.port){e.requests.splice(p,1),C.request.onSocket(o);return}}o.destroy(),e.removeSocket(o)})}Ktt.inherits(Qf,Ytt.EventEmitter);Qf.prototype.addRequest=function(e,r,o,a){var n=this,u=QM({request:e},n.options,doe(r,o,a));if(n.sockets.length>=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(C){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};Qf.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=QM({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),n0("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",C),u.end();function A(w){w.upgrade=!0}function p(w,v,b){process.nextTick(function(){h(w,v,b)})}function h(w,v,b){if(u.removeAllListeners(),v.removeAllListeners(),w.statusCode!==200){n0("tunneling socket could not be established, statusCode=%d",w.statusCode),v.destroy();var E=new Error("tunneling socket could not be established, statusCode="+w.statusCode);E.code="ECONNRESET",e.request.emit("error",E),o.removeSocket(a);return}if(b.length>0){n0("got illegal response body from proxy"),v.destroy();var E=new Error("got illegal response body from proxy");E.code="ECONNRESET",e.request.emit("error",E),o.removeSocket(a);return}return n0("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function C(w){u.removeAllListeners(),n0(`tunneling socket could not be established, cause=%s 135`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var fC,yM=dt(()=>{Xl();Ks();fC=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new Vt(11,`${kr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var Pd,CM=dt(()=>{Ks();Pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${Ln(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${kr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var pC,EM=dt(()=>{bt();Ks();pC=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return aC(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=pi.makeVirtualPath(n,u,a),p=new ju(A,{baseFs:r.packageFs,pathUtils:z});return{...r,packageFs:p}}}});var hC,e1,hoe=dt(()=>{hC=class{static isVirtualDescriptor(e){return!!e.range.startsWith(hC.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(hC.protocol)}supportsDescriptor(e,r){return hC.isVirtualDescriptor(e)}supportsLocator(e,r){return hC.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},e1=hC;e1.protocol="virtual:"});var gC,IM=dt(()=>{bt();Dd();gC=class{supports(e){return!!e.reference.startsWith(Gn.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new An(o),prefixPath:wt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Gn.protocol.length))}}});function t1(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function goe(t){return typeof t>"u"?3:t1(t)?0:Array.isArray(t)?1:2}function vM(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function $tt(t){return t1(t)&&vM(t,"onConflict")&&typeof t.onConflict=="string"}function ert(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!$tt(t))return{onConflict:"default",value:t};if(vM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function doe(t,e){let r=t1(t)&&vM(t,e)?t[e]:void 0;return ert(r)}function dC(t,e){return[t,e,moe]}function DM(t){return Array.isArray(t)?t[2]===moe:!1}function wM(t,e){if(t1(t)){let r={};for(let o of Object.keys(t))r[o]=wM(t[o],e);return dC(e,r)}return Array.isArray(t)?dC(e,t.map(r=>wM(r,e))):dC(e,t)}function BM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let E=a-1;E>=o;--E){let[w,v]=t[E],{onConflict:b,value:C}=doe(v,r),R=goe(C);if(R!==3){if(n??(n=R),R!==n||b==="hardReset"){p=A;break}if(R===2)return dC(w,C);if(u.unshift([w,C]),b==="reset"){p=E;break}b==="extend"&&E===o&&(o=0),A=E}}if(typeof n>"u")return null;let h=u.map(([E])=>E).join(", ");switch(n){case 1:return dC(h,new Array().concat(...u.map(([E,w])=>w.map(v=>wM(v,E)))));case 0:{let E=Object.assign({},...u.map(([,R])=>R)),w=Object.keys(E),v={},b=t.map(([R,L])=>[R,doe(L,r).value]),C=Ztt(b,([R,L])=>{let _=goe(L);return _!==0&&_!==3});if(C!==-1){let R=b.slice(C+1);for(let L of w)v[L]=BM(R,e,L,0,R.length)}else for(let R of w)v[R]=BM(b,e,R,p,b.length);return dC(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function yoe(t){return BM(t.map(([e,r])=>[e,{["."]:r}]),[],".",0,t.length)}function r1(t){return DM(t)?t[1]:t}function MP(t){let e=DM(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>MP(r));if(t1(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=MP(a);return r}return e}function SM(t){return DM(t)?t[0]:null}var Ztt,moe,Coe=dt(()=>{Ztt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};moe=Symbol()});var UP={};Yt(UP,{getDefaultGlobalFolder:()=>xM,getHomeFolder:()=>mC,isFolderInside:()=>bM});function xM(){if(process.platform==="win32"){let t=ue.toPortablePath(process.env.LOCALAPPDATA||ue.join((0,PM.homedir)(),"AppData","Local"));return z.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=ue.toPortablePath(process.env.XDG_DATA_HOME);return z.resolve(t,"yarn/berry")}return z.resolve(mC(),".yarn/berry")}function mC(){return ue.toPortablePath((0,PM.homedir)()||"/usr/local/share")}function bM(t,e){let r=z.relative(e,t);return r&&!r.startsWith("..")&&!z.isAbsolute(r)}var PM,_P=dt(()=>{bt();PM=Ie("os")});var Boe=U(yC=>{"use strict";var zNt=Ie("net"),rrt=Ie("tls"),QM=Ie("http"),Eoe=Ie("https"),nrt=Ie("events"),XNt=Ie("assert"),irt=Ie("util");yC.httpOverHttp=srt;yC.httpsOverHttp=ort;yC.httpOverHttps=art;yC.httpsOverHttps=lrt;function srt(t){var e=new Ff(t);return e.request=QM.request,e}function ort(t){var e=new Ff(t);return e.request=QM.request,e.createSocket=Ioe,e.defaultPort=443,e}function art(t){var e=new Ff(t);return e.request=Eoe.request,e}function lrt(t){var e=new Ff(t);return e.request=Eoe.request,e.createSocket=Ioe,e.defaultPort=443,e}function Ff(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||QM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=woe(a,n,u),p=0,h=e.requests.length;p<h;++p){var E=e.requests[p];if(E.host===A.host&&E.port===A.port){e.requests.splice(p,1),E.request.onSocket(o);return}}o.destroy(),e.removeSocket(o)})}irt.inherits(Ff,nrt.EventEmitter);Ff.prototype.addRequest=function(e,r,o,a){var n=this,u=kM({request:e},n.options,woe(r,o,a));if(n.sockets.length>=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(E){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};Ff.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=kM({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),i0("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",E),u.end();function A(w){w.upgrade=!0}function p(w,v,b){process.nextTick(function(){h(w,v,b)})}function h(w,v,b){if(u.removeAllListeners(),v.removeAllListeners(),w.statusCode!==200){i0("tunneling socket could not be established, statusCode=%d",w.statusCode),v.destroy();var C=new Error("tunneling socket could not be established, statusCode="+w.statusCode);C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}if(b.length>0){i0("got illegal response body from proxy"),v.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}return i0("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function E(w){u.removeAllListeners(),i0(`tunneling socket could not be established, cause=%s
136`,w.message,w.stack);var v=new Error("tunneling socket could not be established, cause="+w.message);v.code="ECONNRESET",e.request.emit("error",v),o.removeSocket(a)}};Qf.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function goe(t,e){var r=this;Qf.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=QM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=Wtt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function doe(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function QM(t){for(var e=1,r=arguments.length;e<r;++e){var o=arguments[e];if(typeof o=="object")for(var a=Object.keys(o),n=0,u=a.length;n<u;++n){var A=a[n];o[A]!==void 0&&(t[A]=o[A])}}return t}var n0;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?n0=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:n0=function(){};pE.debug=n0});var Eoe=U((UNt,yoe)=>{yoe.exports=moe()});var Ff=U((kf,TP)=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});var Coe=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ztt(t){return Coe.includes(t)}var $tt=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Coe];function ert(t){return $tt.includes(t)}var trt=["null","undefined","string","number","bigint","boolean","symbol"];function rrt(t){return trt.includes(t)}function hE(t){return e=>typeof e===t}var{toString:Ioe}=Object.prototype,$w=t=>{let e=Ioe.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&Fe.domElement(t))return"HTMLElement";if(ert(e))return e},Jn=t=>e=>$w(e)===t;function Fe(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Fe.observable(t))return"Observable";if(Fe.array(t))return"Array";if(Fe.buffer(t))return"Buffer";let e=$w(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Fe.undefined=hE("undefined");Fe.string=hE("string");var nrt=hE("number");Fe.number=t=>nrt(t)&&!Fe.nan(t);Fe.bigint=hE("bigint");Fe.function_=hE("function");Fe.null_=t=>t===null;Fe.class_=t=>Fe.function_(t)&&t.toString().startsWith("class ");Fe.boolean=t=>t===!0||t===!1;Fe.symbol=hE("symbol");Fe.numericString=t=>Fe.string(t)&&!Fe.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));Fe.array=(t,e)=>Array.isArray(t)?Fe.function_(e)?t.every(e):!0:!1;Fe.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};Fe.nullOrUndefined=t=>Fe.null_(t)||Fe.undefined(t);Fe.object=t=>!Fe.null_(t)&&(typeof t=="object"||Fe.function_(t));Fe.iterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};Fe.asyncIterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};Fe.generator=t=>Fe.iterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.asyncGenerator=t=>Fe.asyncIterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.nativePromise=t=>Jn("Promise")(t);var irt=t=>{var e,r;return Fe.function_((e=t)===null||e===void 0?void 0:e.then)&&Fe.function_((r=t)===null||r===void 0?void 0:r.catch)};Fe.promise=t=>Fe.nativePromise(t)||irt(t);Fe.generatorFunction=Jn("GeneratorFunction");Fe.asyncGeneratorFunction=t=>$w(t)==="AsyncGeneratorFunction";Fe.asyncFunction=t=>$w(t)==="AsyncFunction";Fe.boundFunction=t=>Fe.function_(t)&&!t.hasOwnProperty("prototype");Fe.regExp=Jn("RegExp");Fe.date=Jn("Date");Fe.error=Jn("Error");Fe.map=t=>Jn("Map")(t);Fe.set=t=>Jn("Set")(t);Fe.weakMap=t=>Jn("WeakMap")(t);Fe.weakSet=t=>Jn("WeakSet")(t);Fe.int8Array=Jn("Int8Array");Fe.uint8Array=Jn("Uint8Array");Fe.uint8ClampedArray=Jn("Uint8ClampedArray");Fe.int16Array=Jn("Int16Array");Fe.uint16Array=Jn("Uint16Array");Fe.int32Array=Jn("Int32Array");Fe.uint32Array=Jn("Uint32Array");Fe.float32Array=Jn("Float32Array");Fe.float64Array=Jn("Float64Array");Fe.bigInt64Array=Jn("BigInt64Array");Fe.bigUint64Array=Jn("BigUint64Array");Fe.arrayBuffer=Jn("ArrayBuffer");Fe.sharedArrayBuffer=Jn("SharedArrayBuffer");Fe.dataView=Jn("DataView");Fe.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;Fe.urlInstance=t=>Jn("URL")(t);Fe.urlString=t=>{if(!Fe.string(t))return!1;try{return new URL(t),!0}catch{return!1}};Fe.truthy=t=>Boolean(t);Fe.falsy=t=>!t;Fe.nan=t=>Number.isNaN(t);Fe.primitive=t=>Fe.null_(t)||rrt(typeof t);Fe.integer=t=>Number.isInteger(t);Fe.safeInteger=t=>Number.isSafeInteger(t);Fe.plainObject=t=>{if(Ioe.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};Fe.typedArray=t=>Ztt($w(t));var srt=t=>Fe.safeInteger(t)&&t>=0;Fe.arrayLike=t=>!Fe.nullOrUndefined(t)&&!Fe.function_(t)&&srt(t.length);Fe.inRange=(t,e)=>{if(Fe.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(Fe.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ort=1,art=["innerHTML","ownerDocument","style","attributes","nodeValue"];Fe.domElement=t=>Fe.object(t)&&t.nodeType===ort&&Fe.string(t.nodeName)&&!Fe.plainObject(t)&&art.every(e=>e in t);Fe.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};Fe.nodeStream=t=>Fe.object(t)&&Fe.function_(t.pipe)&&!Fe.observable(t);Fe.infinite=t=>t===1/0||t===-1/0;var woe=t=>e=>Fe.integer(e)&&Math.abs(e%2)===t;Fe.evenInteger=woe(0);Fe.oddInteger=woe(1);Fe.emptyArray=t=>Fe.array(t)&&t.length===0;Fe.nonEmptyArray=t=>Fe.array(t)&&t.length>0;Fe.emptyString=t=>Fe.string(t)&&t.length===0;Fe.nonEmptyString=t=>Fe.string(t)&&t.length>0;var lrt=t=>Fe.string(t)&&!/\S/.test(t);Fe.emptyStringOrWhitespace=t=>Fe.emptyString(t)||lrt(t);Fe.emptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length===0;Fe.nonEmptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length>0;Fe.emptySet=t=>Fe.set(t)&&t.size===0;Fe.nonEmptySet=t=>Fe.set(t)&&t.size>0;Fe.emptyMap=t=>Fe.map(t)&&t.size===0;Fe.nonEmptyMap=t=>Fe.map(t)&&t.size>0;Fe.propertyKey=t=>Fe.any([Fe.string,Fe.number,Fe.symbol],t);Fe.formData=t=>Jn("FormData")(t);Fe.urlSearchParams=t=>Jn("URLSearchParams")(t);var Boe=(t,e,r)=>{if(!Fe.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};Fe.any=(t,...e)=>(Fe.array(t)?t:[t]).some(o=>Boe(Array.prototype.some,o,e));Fe.all=(t,...e)=>Boe(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${Fe(u)}\``))].join(", ")}`:`received value of type \`${Fe(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};kf.assert={undefined:t=>Mt(Fe.undefined(t),"undefined",t),string:t=>Mt(Fe.string(t),"string",t),number:t=>Mt(Fe.number(t),"number",t),bigint:t=>Mt(Fe.bigint(t),"bigint",t),function_:t=>Mt(Fe.function_(t),"Function",t),null_:t=>Mt(Fe.null_(t),"null",t),class_:t=>Mt(Fe.class_(t),"Class",t),boolean:t=>Mt(Fe.boolean(t),"boolean",t),symbol:t=>Mt(Fe.symbol(t),"symbol",t),numericString:t=>Mt(Fe.numericString(t),"string with a number",t),array:(t,e)=>{Mt(Fe.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(Fe.buffer(t),"Buffer",t),nullOrUndefined:t=>Mt(Fe.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(Fe.object(t),"Object",t),iterable:t=>Mt(Fe.iterable(t),"Iterable",t),asyncIterable:t=>Mt(Fe.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(Fe.generator(t),"Generator",t),asyncGenerator:t=>Mt(Fe.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(Fe.nativePromise(t),"native Promise",t),promise:t=>Mt(Fe.promise(t),"Promise",t),generatorFunction:t=>Mt(Fe.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(Fe.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(Fe.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(Fe.boundFunction(t),"Function",t),regExp:t=>Mt(Fe.regExp(t),"RegExp",t),date:t=>Mt(Fe.date(t),"Date",t),error:t=>Mt(Fe.error(t),"Error",t),map:t=>Mt(Fe.map(t),"Map",t),set:t=>Mt(Fe.set(t),"Set",t),weakMap:t=>Mt(Fe.weakMap(t),"WeakMap",t),weakSet:t=>Mt(Fe.weakSet(t),"WeakSet",t),int8Array:t=>Mt(Fe.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(Fe.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(Fe.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(Fe.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(Fe.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(Fe.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(Fe.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(Fe.float32Array(t),"Float32Array",t),float64Array:t=>Mt(Fe.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(Fe.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(Fe.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(Fe.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(Fe.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(Fe.dataView(t),"DataView",t),urlInstance:t=>Mt(Fe.urlInstance(t),"URL",t),urlString:t=>Mt(Fe.urlString(t),"string with a URL",t),truthy:t=>Mt(Fe.truthy(t),"truthy",t),falsy:t=>Mt(Fe.falsy(t),"falsy",t),nan:t=>Mt(Fe.nan(t),"NaN",t),primitive:t=>Mt(Fe.primitive(t),"primitive",t),integer:t=>Mt(Fe.integer(t),"integer",t),safeInteger:t=>Mt(Fe.safeInteger(t),"integer",t),plainObject:t=>Mt(Fe.plainObject(t),"plain object",t),typedArray:t=>Mt(Fe.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(Fe.arrayLike(t),"array-like",t),domElement:t=>Mt(Fe.domElement(t),"HTMLElement",t),observable:t=>Mt(Fe.observable(t),"Observable",t),nodeStream:t=>Mt(Fe.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(Fe.infinite(t),"infinite number",t),emptyArray:t=>Mt(Fe.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(Fe.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(Fe.emptyString(t),"empty string",t),nonEmptyString:t=>Mt(Fe.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Mt(Fe.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Mt(Fe.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(Fe.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(Fe.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(Fe.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(Fe.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(Fe.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(Fe.propertyKey(t),"PropertyKey",t),formData:t=>Mt(Fe.formData(t),"FormData",t),urlSearchParams:t=>Mt(Fe.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(Fe.evenInteger(t),"even integer",t),oddInteger:t=>Mt(Fe.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(Fe.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(Fe.inRange(t,e),"in range",t),any:(t,...e)=>Mt(Fe.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(Fe.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(Fe,{class:{value:Fe.class_},function:{value:Fe.function_},null:{value:Fe.null_}});Object.defineProperties(kf.assert,{class:{value:kf.assert.class_},function:{value:kf.assert.function_},null:{value:kf.assert.null_}});kf.default=Fe;TP.exports=Fe;TP.exports.default=Fe;TP.exports.assert=kf.assert});var voe=U((_Nt,kM)=>{"use strict";var NP=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},gE=class{static fn(e){return(...r)=>new gE((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new NP(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(gE.prototype,Promise.prototype);kM.exports=gE;kM.exports.CancelError=NP});var Doe=U((RM,TM)=>{"use strict";Object.defineProperty(RM,"__esModule",{value:!0});var crt=Ie("tls"),FM=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),t instanceof crt.TLSSocket&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};RM.default=FM;TM.exports=FM;TM.exports.default=FM});var Soe=U((LM,OM)=>{"use strict";Object.defineProperty(LM,"__esModule",{value:!0});var urt=Doe(),Art=Number(process.versions.node.split(".")[0]),NM=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Art>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),urt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};LM.default=NM;OM.exports=NM;OM.exports.default=NM});var Roe=U((HNt,_M)=>{"use strict";var{V4MAPPED:frt,ADDRCONFIG:prt,ALL:Foe,promises:{Resolver:Poe},lookup:hrt}=Ie("dns"),{promisify:MM}=Ie("util"),grt=Ie("os"),dE=Symbol("cacheableLookupCreateConnection"),UM=Symbol("cacheableLookupInstance"),xoe=Symbol("expires"),drt=typeof Foe=="number",boe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},mrt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Qoe=()=>{let t=!1,e=!1;for(let r of Object.values(grt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},yrt=t=>Symbol.iterator in t,koe={ttl:!0},Ert={all:!0},LP=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new Poe,lookup:u=hrt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=MM(u),this._resolver instanceof Poe?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=MM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=MM(this._resolver.resolve6.bind(this._resolver))),this._iface=Qoe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&frt&&(drt&&r.hints&Foe||a.length===0)?mrt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&prt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(C){if(C.code==="ENODATA"||C.code==="ENOTFOUND")return[];throw C}},[o,a]=await Promise.all([this._resolve4(e,koe),this._resolve6(e,koe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[xoe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}yrt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Ert);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e<r)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[xoe];a>=A?this._cache.delete(n):A<o&&(o=A)}o!==1/0&&this._tick(o-a)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(boe(e),dE in e)throw new Error("CacheableLookup has been already installed");e[dE]=e.createConnection,e[UM]=this,e.createConnection=(r,o)=>("lookup"in r||(r.lookup=this.lookup),e[dE](r,o))}uninstall(e){if(boe(e),e[dE]){if(e[UM]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[dE],delete e[dE],delete e[UM]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Qoe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};_M.exports=LP;_M.exports.default=LP});var Loe=U((qNt,HM)=>{"use strict";var Crt=typeof URL>"u"?Ie("url").URL:URL,Irt="text/plain",wrt="us-ascii",Toe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Brt=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(C=>{let[w,v=""]=C.split("=").map(b=>b.trim());return w==="charset"&&(v=v.toLowerCase(),v===wrt)?"":`${w}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==Irt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},Noe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Brt(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new Crt(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];Toe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])Toe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};HM.exports=Noe;HM.exports.default=Noe});var Uoe=U((jNt,Moe)=>{Moe.exports=Ooe;function Ooe(t,e){if(t&&e)return Ooe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];var n=t.apply(this,o),u=o[o.length-1];return typeof n=="function"&&n!==u&&Object.keys(u).forEach(function(A){n[A]=u[A]}),n}}});var jM=U((GNt,qM)=>{var _oe=Uoe();qM.exports=_oe(OP);qM.exports.strict=_oe(Hoe);OP.proto=OP(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return OP(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Hoe(this)},configurable:!0})});function OP(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function Hoe(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var GM=U((WNt,joe)=>{var vrt=jM(),Drt=function(){},Srt=function(t){return t.setHeader&&typeof t.abort=="function"},Prt=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},qoe=function(t,e,r){if(typeof e=="function")return qoe(t,null,e);e||(e={}),r=vrt(r||Drt);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},C=function(E){r.call(t,E?new Error("exited with error code: "+E):null)},w=function(E){r.call(t,E)},v=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},b=function(){t.req.on("finish",p)};return Srt(t)?(t.on("complete",p),t.on("abort",v),t.req?b():t.on("request",b)):u&&!o&&(t.on("end",A),t.on("close",A)),Prt(t)&&t.on("exit",C),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",w),t.on("close",v),function(){t.removeListener("complete",p),t.removeListener("abort",v),t.removeListener("request",b),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",C),t.removeListener("end",h),t.removeListener("error",w),t.removeListener("close",v)}};joe.exports=qoe});var Yoe=U((YNt,Woe)=>{var xrt=jM(),brt=GM(),WM=Ie("fs"),e1=function(){},Qrt=/^v?\.0/.test(process.version),MP=function(t){return typeof t=="function"},krt=function(t){return!Qrt||!WM?!1:(t instanceof(WM.ReadStream||e1)||t instanceof(WM.WriteStream||e1))&&MP(t.close)},Frt=function(t){return t.setHeader&&MP(t.abort)},Rrt=function(t,e,r,o){o=xrt(o);var a=!1;t.on("close",function(){a=!0}),brt(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,krt(t))return t.close(e1);if(Frt(t))return t.abort();if(MP(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},Goe=function(t){t()},Trt=function(t,e){return t.pipe(e)},Nrt=function(){var t=Array.prototype.slice.call(arguments),e=MP(t[t.length-1]||e1)&&t.pop()||e1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n<t.length-1,A=n>0;return Rrt(a,u,A,function(p){r||(r=p),p&&o.forEach(Goe),!u&&(o.forEach(Goe),e(r))})});return t.reduce(Trt)};Woe.exports=Nrt});var Joe=U((KNt,Koe)=>{"use strict";var{PassThrough:Lrt}=Ie("stream");Koe.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new Lrt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var Voe=U((JNt,mE)=>{"use strict";var Ort=Yoe(),Mrt=Joe(),UP=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function _P(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=Ort(t,Mrt(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new UP)})}),o.getBufferedValue()}mE.exports=_P;mE.exports.default=_P;mE.exports.buffer=(t,e)=>_P(t,{...e,encoding:"buffer"});mE.exports.array=(t,e)=>_P(t,{...e,array:!0});mE.exports.MaxBufferError=UP});var Xoe=U((zNt,zoe)=>{"use strict";var Urt=new Set([200,203,204,206,300,301,404,405,410,414,501]),_rt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Hrt=new Set([500,502,503,504]),qrt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},jrt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Dd(t){let e=parseInt(t,10);return isFinite(e)?e:0}function Grt(t){return t?Hrt.has(t.status):!0}function YM(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let o of r){let[a,n]=o.split(/\s*=\s*/,2);e[a]=n===void 0?!0:n.replace(/^"|"$/g,"")}return e}function Wrt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(!!e.length)return e.join(", ")}zoe.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=YM(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=YM(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Wrt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&_rt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||Urt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=YM(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)qrt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return Dd(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Dd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Dd(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||o<r?0:Math.max(e,(o-r)/1e3)}if(this._resHeaders["last-modified"]){let o=Date.parse(this._resHeaders["last-modified"]);if(isFinite(o)&&r>o)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+Dd(this._rescc["stale-if-error"]),o=e+Dd(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Dd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Dd(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Grt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!jrt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var HP=U((XNt,Zoe)=>{"use strict";Zoe.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var eae=U((ZNt,$oe)=>{"use strict";var Yrt=Ie("stream").Readable,Krt=HP(),KM=class extends Yrt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Krt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};$oe.exports=KM});var rae=U(($Nt,tae)=>{"use strict";var Jrt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];tae.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Jrt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var iae=U((eLt,nae)=>{"use strict";var Vrt=Ie("stream").PassThrough,zrt=rae(),Xrt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Vrt;return zrt(t,e),t.pipe(e)};nae.exports=Xrt});var sae=U(JM=>{JM.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};JM.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var lae=U((rLt,aae)=>{"use strict";var Zrt=Ie("events"),oae=sae(),$rt=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(Ie(e[r]))(t)}return new Map},VM=class extends Zrt{constructor(e,r){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:oae.stringify,deserialize:oae.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let o=Object.assign({},this.opts);this.opts.store=$rt(o)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",o=>this.emit("error",o)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:o}=this.opts;return Promise.resolve().then(()=>o.get(e)).then(a=>typeof a=="string"?this.opts.deserialize(a):a).then(a=>{if(a!==void 0){if(typeof a.expires=="number"&&Date.now()>a.expires){this.delete(e);return}return r&&r.raw?a:a.value}})}set(e,r,o){e=this._getKeyPrefix(e),typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:a}=this.opts;return Promise.resolve().then(()=>{let n=typeof o=="number"?Date.now()+o:null;return r={value:r,expires:n},this.opts.serialize(r)}).then(n=>a.set(e,n,o)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};aae.exports=VM});var Aae=U((iLt,uae)=>{"use strict";var ent=Ie("events"),qP=Ie("url"),tnt=Loe(),rnt=Voe(),zM=Xoe(),cae=eae(),nnt=HP(),int=iae(),snt=lae(),Gc=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new snt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=XM(qP.parse(r)),r={};else if(r instanceof qP.URL)a=XM(qP.parse(r.toString())),r={};else{let[w,...v]=(r.path||"").split("?"),b=v.length>0?`?${v.join("?")}`:"";a=XM({...r,pathname:w,search:b})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...ont(a)},r.headers=nnt(r.headers);let n=new ent,u=tnt(qP.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,C=w=>{h=!0;let v=!1,b,E=new Promise(L=>{b=()=>{v||(v=!0,L())}}),R=L=>{if(p&&!w.forceRefresh){L.status=L.statusCode;let J=zM.fromObject(p.cachePolicy).revalidatedPolicy(w,L);if(!J.modified){let re=J.policy.responseHeaders();L=new cae(p.statusCode,re,p.body,p.url),L.cachePolicy=J.policy,L.fromCache=!0}}L.fromCache||(L.cachePolicy=new zM(w,L,w),L.fromCache=!1);let _;w.cache&&L.cachePolicy.storable()?(_=int(L),(async()=>{try{let J=rnt.buffer(L);if(await Promise.race([E,new Promise(he=>L.once("end",he))]),v)return;let re=await J,oe={cachePolicy:L.cachePolicy.toObject(),url:L.url,statusCode:L.fromCache?p.statusCode:L.statusCode,body:re},pe=w.strictTtl?L.cachePolicy.timeToLive():void 0;w.maxTtl&&(pe=pe?Math.min(pe,w.maxTtl):w.maxTtl),await this.cache.set(A,oe,pe)}catch(J){n.emit("error",new Gc.CacheError(J))}})()):w.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(J){n.emit("error",new Gc.CacheError(J))}})(),n.emit("response",_||L),typeof o=="function"&&o(_||L)};try{let L=e(w,R);L.once("error",b),L.once("abort",b),n.emit("request",L)}catch(L){n.emit("error",new Gc.RequestError(L))}};return(async()=>{let w=async b=>{await Promise.resolve();let E=b.cache?await this.cache.get(A):void 0;if(typeof E>"u")return C(b);let R=zM.fromObject(E.cachePolicy);if(R.satisfiesWithoutRevalidation(b)&&!b.forceRefresh){let L=R.responseHeaders(),_=new cae(E.statusCode,L,E.body,E.url);_.cachePolicy=R,_.fromCache=!0,n.emit("response",_),typeof o=="function"&&o(_)}else p=E,b.headers=R.revalidationHeaders(b),C(b)},v=b=>n.emit("error",new Gc.CacheError(b));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await w(r)}catch(b){r.automaticFailover&&!h&&C(r),n.emit("error",new Gc.CacheError(b))}})(),n}}};function ont(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function XM(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}Gc.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};Gc.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};uae.exports=Gc});var pae=U((aLt,fae)=>{"use strict";var ant=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];fae.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(ant)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var gae=U((lLt,hae)=>{"use strict";var{Transform:lnt,PassThrough:cnt}=Ie("stream"),ZM=Ie("zlib"),unt=pae();hae.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof ZM.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new lnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new cnt({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?ZM.createBrotliDecompress():ZM.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),unt(t,n),t.pipe(a).pipe(u).pipe(n),n}});var e4=U((cLt,dae)=>{"use strict";var $M=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};dae.exports=$M});var r4=U((uLt,Cae)=>{"use strict";var Ant=Ie("events"),fnt=Ie("tls"),pnt=Ie("http2"),hnt=e4(),zo=Symbol("currentStreamsCount"),mae=Symbol("request"),Vl=Symbol("cachedOriginSet"),yE=Symbol("gracefullyClosing"),gnt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],dnt=(t,e,r)=>{let o=0,a=t.length;for(;o<a;){let n=o+a>>>1;r(t[n],e)?o=n+1:a=n}return o},mnt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,t4=(t,e)=>{for(let r of t)r[Vl].length<e[Vl].length&&r[Vl].every(o=>e[Vl].includes(o))&&r[zo]+e[zo]<=e.remoteSettings.maxConcurrentStreams&&Eae(r)},ynt=(t,e)=>{for(let r of t)e[Vl].length<r[Vl].length&&e[Vl].every(o=>r[Vl].includes(o))&&e[zo]+r[zo]<=r.remoteSettings.maxConcurrentStreams&&Eae(e)},yae=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[nA.kCurrentStreamsCount]<u.remoteSettings.maxConcurrentStreams;return e?A:!A});n.length!==0&&(r[o]=n)}return r},Eae=t=>{t[yE]=!0,t[zo]===0&&t.close()},nA=class extends Ant{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new hnt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of gnt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount<this.maxSessions&&!o.completed&&(o.completed=!0,o())}getSession(e,r,o){return new Promise((a,n)=>{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=nA.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:C}of o)C(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let C=this.sessions[u],w=-1,v=-1,b;for(let E of C){let R=E.remoteSettings.maxConcurrentStreams;if(R<w)break;if(E[Vl].includes(A)){let L=E[zo];if(L>=R||E[yE]||E.destroyed)continue;b||(w=R),L>v&&(b=E,v=L)}}if(b){if(o.length!==1){for(let{reject:E}of o){let R=new Error(`Expected the length of listeners to be 1, got ${o.length}. 136`,w.message,w.stack);var v=new Error("tunneling socket could not be established, cause="+w.message);v.code="ECONNRESET",e.request.emit("error",v),o.removeSocket(a)}};Ff.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function Ioe(t,e){var r=this;Ff.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=kM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=rrt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function woe(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function kM(t){for(var e=1,r=arguments.length;e<r;++e){var o=arguments[e];if(typeof o=="object")for(var a=Object.keys(o),n=0,u=a.length;n<u;++n){var A=a[n];o[A]!==void 0&&(t[A]=o[A])}}return t}var i0;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?i0=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:i0=function(){};yC.debug=i0});var Doe=U(($Nt,voe)=>{voe.exports=Boe()});var Tf=U((Rf,HP)=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});var Soe=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function crt(t){return Soe.includes(t)}var urt=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Soe];function Art(t){return urt.includes(t)}var frt=["null","undefined","string","number","bigint","boolean","symbol"];function prt(t){return frt.includes(t)}function CC(t){return e=>typeof e===t}var{toString:Poe}=Object.prototype,n1=t=>{let e=Poe.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&Fe.domElement(t))return"HTMLElement";if(Art(e))return e},Jn=t=>e=>n1(e)===t;function Fe(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Fe.observable(t))return"Observable";if(Fe.array(t))return"Array";if(Fe.buffer(t))return"Buffer";let e=n1(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Fe.undefined=CC("undefined");Fe.string=CC("string");var hrt=CC("number");Fe.number=t=>hrt(t)&&!Fe.nan(t);Fe.bigint=CC("bigint");Fe.function_=CC("function");Fe.null_=t=>t===null;Fe.class_=t=>Fe.function_(t)&&t.toString().startsWith("class ");Fe.boolean=t=>t===!0||t===!1;Fe.symbol=CC("symbol");Fe.numericString=t=>Fe.string(t)&&!Fe.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));Fe.array=(t,e)=>Array.isArray(t)?Fe.function_(e)?t.every(e):!0:!1;Fe.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};Fe.nullOrUndefined=t=>Fe.null_(t)||Fe.undefined(t);Fe.object=t=>!Fe.null_(t)&&(typeof t=="object"||Fe.function_(t));Fe.iterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};Fe.asyncIterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};Fe.generator=t=>Fe.iterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.asyncGenerator=t=>Fe.asyncIterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.nativePromise=t=>Jn("Promise")(t);var grt=t=>{var e,r;return Fe.function_((e=t)===null||e===void 0?void 0:e.then)&&Fe.function_((r=t)===null||r===void 0?void 0:r.catch)};Fe.promise=t=>Fe.nativePromise(t)||grt(t);Fe.generatorFunction=Jn("GeneratorFunction");Fe.asyncGeneratorFunction=t=>n1(t)==="AsyncGeneratorFunction";Fe.asyncFunction=t=>n1(t)==="AsyncFunction";Fe.boundFunction=t=>Fe.function_(t)&&!t.hasOwnProperty("prototype");Fe.regExp=Jn("RegExp");Fe.date=Jn("Date");Fe.error=Jn("Error");Fe.map=t=>Jn("Map")(t);Fe.set=t=>Jn("Set")(t);Fe.weakMap=t=>Jn("WeakMap")(t);Fe.weakSet=t=>Jn("WeakSet")(t);Fe.int8Array=Jn("Int8Array");Fe.uint8Array=Jn("Uint8Array");Fe.uint8ClampedArray=Jn("Uint8ClampedArray");Fe.int16Array=Jn("Int16Array");Fe.uint16Array=Jn("Uint16Array");Fe.int32Array=Jn("Int32Array");Fe.uint32Array=Jn("Uint32Array");Fe.float32Array=Jn("Float32Array");Fe.float64Array=Jn("Float64Array");Fe.bigInt64Array=Jn("BigInt64Array");Fe.bigUint64Array=Jn("BigUint64Array");Fe.arrayBuffer=Jn("ArrayBuffer");Fe.sharedArrayBuffer=Jn("SharedArrayBuffer");Fe.dataView=Jn("DataView");Fe.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;Fe.urlInstance=t=>Jn("URL")(t);Fe.urlString=t=>{if(!Fe.string(t))return!1;try{return new URL(t),!0}catch{return!1}};Fe.truthy=t=>Boolean(t);Fe.falsy=t=>!t;Fe.nan=t=>Number.isNaN(t);Fe.primitive=t=>Fe.null_(t)||prt(typeof t);Fe.integer=t=>Number.isInteger(t);Fe.safeInteger=t=>Number.isSafeInteger(t);Fe.plainObject=t=>{if(Poe.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};Fe.typedArray=t=>crt(n1(t));var drt=t=>Fe.safeInteger(t)&&t>=0;Fe.arrayLike=t=>!Fe.nullOrUndefined(t)&&!Fe.function_(t)&&drt(t.length);Fe.inRange=(t,e)=>{if(Fe.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(Fe.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var mrt=1,yrt=["innerHTML","ownerDocument","style","attributes","nodeValue"];Fe.domElement=t=>Fe.object(t)&&t.nodeType===mrt&&Fe.string(t.nodeName)&&!Fe.plainObject(t)&&yrt.every(e=>e in t);Fe.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};Fe.nodeStream=t=>Fe.object(t)&&Fe.function_(t.pipe)&&!Fe.observable(t);Fe.infinite=t=>t===1/0||t===-1/0;var xoe=t=>e=>Fe.integer(e)&&Math.abs(e%2)===t;Fe.evenInteger=xoe(0);Fe.oddInteger=xoe(1);Fe.emptyArray=t=>Fe.array(t)&&t.length===0;Fe.nonEmptyArray=t=>Fe.array(t)&&t.length>0;Fe.emptyString=t=>Fe.string(t)&&t.length===0;Fe.nonEmptyString=t=>Fe.string(t)&&t.length>0;var Crt=t=>Fe.string(t)&&!/\S/.test(t);Fe.emptyStringOrWhitespace=t=>Fe.emptyString(t)||Crt(t);Fe.emptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length===0;Fe.nonEmptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length>0;Fe.emptySet=t=>Fe.set(t)&&t.size===0;Fe.nonEmptySet=t=>Fe.set(t)&&t.size>0;Fe.emptyMap=t=>Fe.map(t)&&t.size===0;Fe.nonEmptyMap=t=>Fe.map(t)&&t.size>0;Fe.propertyKey=t=>Fe.any([Fe.string,Fe.number,Fe.symbol],t);Fe.formData=t=>Jn("FormData")(t);Fe.urlSearchParams=t=>Jn("URLSearchParams")(t);var boe=(t,e,r)=>{if(!Fe.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};Fe.any=(t,...e)=>(Fe.array(t)?t:[t]).some(o=>boe(Array.prototype.some,o,e));Fe.all=(t,...e)=>boe(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${Fe(u)}\``))].join(", ")}`:`received value of type \`${Fe(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Rf.assert={undefined:t=>Mt(Fe.undefined(t),"undefined",t),string:t=>Mt(Fe.string(t),"string",t),number:t=>Mt(Fe.number(t),"number",t),bigint:t=>Mt(Fe.bigint(t),"bigint",t),function_:t=>Mt(Fe.function_(t),"Function",t),null_:t=>Mt(Fe.null_(t),"null",t),class_:t=>Mt(Fe.class_(t),"Class",t),boolean:t=>Mt(Fe.boolean(t),"boolean",t),symbol:t=>Mt(Fe.symbol(t),"symbol",t),numericString:t=>Mt(Fe.numericString(t),"string with a number",t),array:(t,e)=>{Mt(Fe.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(Fe.buffer(t),"Buffer",t),nullOrUndefined:t=>Mt(Fe.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(Fe.object(t),"Object",t),iterable:t=>Mt(Fe.iterable(t),"Iterable",t),asyncIterable:t=>Mt(Fe.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(Fe.generator(t),"Generator",t),asyncGenerator:t=>Mt(Fe.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(Fe.nativePromise(t),"native Promise",t),promise:t=>Mt(Fe.promise(t),"Promise",t),generatorFunction:t=>Mt(Fe.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(Fe.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(Fe.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(Fe.boundFunction(t),"Function",t),regExp:t=>Mt(Fe.regExp(t),"RegExp",t),date:t=>Mt(Fe.date(t),"Date",t),error:t=>Mt(Fe.error(t),"Error",t),map:t=>Mt(Fe.map(t),"Map",t),set:t=>Mt(Fe.set(t),"Set",t),weakMap:t=>Mt(Fe.weakMap(t),"WeakMap",t),weakSet:t=>Mt(Fe.weakSet(t),"WeakSet",t),int8Array:t=>Mt(Fe.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(Fe.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(Fe.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(Fe.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(Fe.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(Fe.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(Fe.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(Fe.float32Array(t),"Float32Array",t),float64Array:t=>Mt(Fe.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(Fe.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(Fe.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(Fe.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(Fe.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(Fe.dataView(t),"DataView",t),urlInstance:t=>Mt(Fe.urlInstance(t),"URL",t),urlString:t=>Mt(Fe.urlString(t),"string with a URL",t),truthy:t=>Mt(Fe.truthy(t),"truthy",t),falsy:t=>Mt(Fe.falsy(t),"falsy",t),nan:t=>Mt(Fe.nan(t),"NaN",t),primitive:t=>Mt(Fe.primitive(t),"primitive",t),integer:t=>Mt(Fe.integer(t),"integer",t),safeInteger:t=>Mt(Fe.safeInteger(t),"integer",t),plainObject:t=>Mt(Fe.plainObject(t),"plain object",t),typedArray:t=>Mt(Fe.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(Fe.arrayLike(t),"array-like",t),domElement:t=>Mt(Fe.domElement(t),"HTMLElement",t),observable:t=>Mt(Fe.observable(t),"Observable",t),nodeStream:t=>Mt(Fe.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(Fe.infinite(t),"infinite number",t),emptyArray:t=>Mt(Fe.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(Fe.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(Fe.emptyString(t),"empty string",t),nonEmptyString:t=>Mt(Fe.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Mt(Fe.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Mt(Fe.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(Fe.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(Fe.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(Fe.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(Fe.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(Fe.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(Fe.propertyKey(t),"PropertyKey",t),formData:t=>Mt(Fe.formData(t),"FormData",t),urlSearchParams:t=>Mt(Fe.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(Fe.evenInteger(t),"even integer",t),oddInteger:t=>Mt(Fe.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(Fe.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(Fe.inRange(t,e),"in range",t),any:(t,...e)=>Mt(Fe.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(Fe.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(Fe,{class:{value:Fe.class_},function:{value:Fe.function_},null:{value:Fe.null_}});Object.defineProperties(Rf.assert,{class:{value:Rf.assert.class_},function:{value:Rf.assert.function_},null:{value:Rf.assert.null_}});Rf.default=Fe;HP.exports=Fe;HP.exports.default=Fe;HP.exports.assert=Rf.assert});var Qoe=U((eLt,FM)=>{"use strict";var qP=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},EC=class{static fn(e){return(...r)=>new EC((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new qP(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(EC.prototype,Promise.prototype);FM.exports=EC;FM.exports.CancelError=qP});var koe=U((TM,NM)=>{"use strict";Object.defineProperty(TM,"__esModule",{value:!0});var Ert=Ie("tls"),RM=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),t instanceof Ert.TLSSocket&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};TM.default=RM;NM.exports=RM;NM.exports.default=RM});var Foe=U((OM,MM)=>{"use strict";Object.defineProperty(OM,"__esModule",{value:!0});var Irt=koe(),wrt=Number(process.versions.node.split(".")[0]),LM=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||wrt>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),Irt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};OM.default=LM;MM.exports=LM;MM.exports.default=LM});var Uoe=U((tLt,HM)=>{"use strict";var{V4MAPPED:Brt,ADDRCONFIG:vrt,ALL:Moe,promises:{Resolver:Roe},lookup:Drt}=Ie("dns"),{promisify:UM}=Ie("util"),Srt=Ie("os"),IC=Symbol("cacheableLookupCreateConnection"),_M=Symbol("cacheableLookupInstance"),Toe=Symbol("expires"),Prt=typeof Moe=="number",Noe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},xrt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Loe=()=>{let t=!1,e=!1;for(let r of Object.values(Srt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},brt=t=>Symbol.iterator in t,Ooe={ttl:!0},Qrt={all:!0},jP=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new Roe,lookup:u=Drt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=UM(u),this._resolver instanceof Roe?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=UM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=UM(this._resolver.resolve6.bind(this._resolver))),this._iface=Loe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&Brt&&(Prt&&r.hints&Moe||a.length===0)?xrt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&vrt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[o,a]=await Promise.all([this._resolve4(e,Ooe),this._resolve6(e,Ooe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[Toe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}brt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qrt);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e<r)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[Toe];a>=A?this._cache.delete(n):A<o&&(o=A)}o!==1/0&&this._tick(o-a)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(Noe(e),IC in e)throw new Error("CacheableLookup has been already installed");e[IC]=e.createConnection,e[_M]=this,e.createConnection=(r,o)=>("lookup"in r||(r.lookup=this.lookup),e[IC](r,o))}uninstall(e){if(Noe(e),e[IC]){if(e[_M]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[IC],delete e[IC],delete e[_M]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Loe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};HM.exports=jP;HM.exports.default=jP});var qoe=U((rLt,qM)=>{"use strict";var krt=typeof URL>"u"?Ie("url").URL:URL,Frt="text/plain",Rrt="us-ascii",_oe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Trt=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(E=>{let[w,v=""]=E.split("=").map(b=>b.trim());return w==="charset"&&(v=v.toLowerCase(),v===Rrt)?"":`${w}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==Frt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},Hoe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Trt(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new krt(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];_oe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])_oe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};qM.exports=Hoe;qM.exports.default=Hoe});var Woe=U((nLt,Goe)=>{Goe.exports=joe;function joe(t,e){if(t&&e)return joe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];var n=t.apply(this,o),u=o[o.length-1];return typeof n=="function"&&n!==u&&Object.keys(u).forEach(function(A){n[A]=u[A]}),n}}});var GM=U((iLt,jM)=>{var Yoe=Woe();jM.exports=Yoe(GP);jM.exports.strict=Yoe(Koe);GP.proto=GP(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return GP(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Koe(this)},configurable:!0})});function GP(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function Koe(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var WM=U((sLt,Joe)=>{var Nrt=GM(),Lrt=function(){},Ort=function(t){return t.setHeader&&typeof t.abort=="function"},Mrt=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},Voe=function(t,e,r){if(typeof e=="function")return Voe(t,null,e);e||(e={}),r=Nrt(r||Lrt);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},E=function(C){r.call(t,C?new Error("exited with error code: "+C):null)},w=function(C){r.call(t,C)},v=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},b=function(){t.req.on("finish",p)};return Ort(t)?(t.on("complete",p),t.on("abort",v),t.req?b():t.on("request",b)):u&&!o&&(t.on("end",A),t.on("close",A)),Mrt(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",w),t.on("close",v),function(){t.removeListener("complete",p),t.removeListener("abort",v),t.removeListener("request",b),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",w),t.removeListener("close",v)}};Joe.exports=Voe});var Zoe=U((oLt,Xoe)=>{var Urt=GM(),_rt=WM(),YM=Ie("fs"),i1=function(){},Hrt=/^v?\.0/.test(process.version),WP=function(t){return typeof t=="function"},qrt=function(t){return!Hrt||!YM?!1:(t instanceof(YM.ReadStream||i1)||t instanceof(YM.WriteStream||i1))&&WP(t.close)},jrt=function(t){return t.setHeader&&WP(t.abort)},Grt=function(t,e,r,o){o=Urt(o);var a=!1;t.on("close",function(){a=!0}),_rt(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,qrt(t))return t.close(i1);if(jrt(t))return t.abort();if(WP(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},zoe=function(t){t()},Wrt=function(t,e){return t.pipe(e)},Yrt=function(){var t=Array.prototype.slice.call(arguments),e=WP(t[t.length-1]||i1)&&t.pop()||i1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n<t.length-1,A=n>0;return Grt(a,u,A,function(p){r||(r=p),p&&o.forEach(zoe),!u&&(o.forEach(zoe),e(r))})});return t.reduce(Wrt)};Xoe.exports=Yrt});var eae=U((aLt,$oe)=>{"use strict";var{PassThrough:Krt}=Ie("stream");$oe.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new Krt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var tae=U((lLt,wC)=>{"use strict";var Vrt=Zoe(),Jrt=eae(),YP=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function KP(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=Vrt(t,Jrt(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new YP)})}),o.getBufferedValue()}wC.exports=KP;wC.exports.default=KP;wC.exports.buffer=(t,e)=>KP(t,{...e,encoding:"buffer"});wC.exports.array=(t,e)=>KP(t,{...e,array:!0});wC.exports.MaxBufferError=YP});var nae=U((uLt,rae)=>{"use strict";var zrt=new Set([200,203,204,206,300,301,404,405,410,414,501]),Xrt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Zrt=new Set([500,502,503,504]),$rt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},ent={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function xd(t){let e=parseInt(t,10);return isFinite(e)?e:0}function tnt(t){return t?Zrt.has(t.status):!0}function KM(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let o of r){let[a,n]=o.split(/\s*=\s*/,2);e[a]=n===void 0?!0:n.replace(/^"|"$/g,"")}return e}function rnt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(!!e.length)return e.join(", ")}rae.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=KM(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=KM(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":rnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Xrt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||zrt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=KM(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)$rt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return xd(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return xd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return xd(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||o<r?0:Math.max(e,(o-r)/1e3)}if(this._resHeaders["last-modified"]){let o=Date.parse(this._resHeaders["last-modified"]);if(isFinite(o)&&r>o)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+xd(this._rescc["stale-if-error"]),o=e+xd(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+xd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+xd(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&tnt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!ent[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var VP=U((ALt,iae)=>{"use strict";iae.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var oae=U((fLt,sae)=>{"use strict";var nnt=Ie("stream").Readable,int=VP(),VM=class extends nnt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=int(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};sae.exports=VM});var lae=U((pLt,aae)=>{"use strict";var snt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];aae.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(snt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var uae=U((hLt,cae)=>{"use strict";var ont=Ie("stream").PassThrough,ant=lae(),lnt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new ont;return ant(t,e),t.pipe(e)};cae.exports=lnt});var Aae=U(JM=>{JM.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};JM.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var hae=U((dLt,pae)=>{"use strict";var cnt=Ie("events"),fae=Aae(),unt=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(Ie(e[r]))(t)}return new Map},zM=class extends cnt{constructor(e,r){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:fae.stringify,deserialize:fae.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let o=Object.assign({},this.opts);this.opts.store=unt(o)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",o=>this.emit("error",o)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:o}=this.opts;return Promise.resolve().then(()=>o.get(e)).then(a=>typeof a=="string"?this.opts.deserialize(a):a).then(a=>{if(a!==void 0){if(typeof a.expires=="number"&&Date.now()>a.expires){this.delete(e);return}return r&&r.raw?a:a.value}})}set(e,r,o){e=this._getKeyPrefix(e),typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:a}=this.opts;return Promise.resolve().then(()=>{let n=typeof o=="number"?Date.now()+o:null;return r={value:r,expires:n},this.opts.serialize(r)}).then(n=>a.set(e,n,o)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};pae.exports=zM});var mae=U((yLt,dae)=>{"use strict";var Ant=Ie("events"),JP=Ie("url"),fnt=qoe(),pnt=tae(),XM=nae(),gae=oae(),hnt=VP(),gnt=uae(),dnt=hae(),Yc=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new dnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=ZM(JP.parse(r)),r={};else if(r instanceof JP.URL)a=ZM(JP.parse(r.toString())),r={};else{let[w,...v]=(r.path||"").split("?"),b=v.length>0?`?${v.join("?")}`:"";a=ZM({...r,pathname:w,search:b})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...mnt(a)},r.headers=hnt(r.headers);let n=new Ant,u=fnt(JP.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,E=w=>{h=!0;let v=!1,b,C=new Promise(L=>{b=()=>{v||(v=!0,L())}}),R=L=>{if(p&&!w.forceRefresh){L.status=L.statusCode;let V=XM.fromObject(p.cachePolicy).revalidatedPolicy(w,L);if(!V.modified){let re=V.policy.responseHeaders();L=new gae(p.statusCode,re,p.body,p.url),L.cachePolicy=V.policy,L.fromCache=!0}}L.fromCache||(L.cachePolicy=new XM(w,L,w),L.fromCache=!1);let _;w.cache&&L.cachePolicy.storable()?(_=gnt(L),(async()=>{try{let V=pnt.buffer(L);if(await Promise.race([C,new Promise(he=>L.once("end",he))]),v)return;let re=await V,oe={cachePolicy:L.cachePolicy.toObject(),url:L.url,statusCode:L.fromCache?p.statusCode:L.statusCode,body:re},pe=w.strictTtl?L.cachePolicy.timeToLive():void 0;w.maxTtl&&(pe=pe?Math.min(pe,w.maxTtl):w.maxTtl),await this.cache.set(A,oe,pe)}catch(V){n.emit("error",new Yc.CacheError(V))}})()):w.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(V){n.emit("error",new Yc.CacheError(V))}})(),n.emit("response",_||L),typeof o=="function"&&o(_||L)};try{let L=e(w,R);L.once("error",b),L.once("abort",b),n.emit("request",L)}catch(L){n.emit("error",new Yc.RequestError(L))}};return(async()=>{let w=async b=>{await Promise.resolve();let C=b.cache?await this.cache.get(A):void 0;if(typeof C>"u")return E(b);let R=XM.fromObject(C.cachePolicy);if(R.satisfiesWithoutRevalidation(b)&&!b.forceRefresh){let L=R.responseHeaders(),_=new gae(C.statusCode,L,C.body,C.url);_.cachePolicy=R,_.fromCache=!0,n.emit("response",_),typeof o=="function"&&o(_)}else p=C,b.headers=R.revalidationHeaders(b),E(b)},v=b=>n.emit("error",new Yc.CacheError(b));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await w(r)}catch(b){r.automaticFailover&&!h&&E(r),n.emit("error",new Yc.CacheError(b))}})(),n}}};function mnt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function ZM(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}Yc.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};Yc.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};dae.exports=Yc});var Cae=U((ILt,yae)=>{"use strict";var ynt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];yae.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(ynt)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var Iae=U((wLt,Eae)=>{"use strict";var{Transform:Cnt,PassThrough:Ent}=Ie("stream"),$M=Ie("zlib"),Int=Cae();Eae.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof $M.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new Cnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new Ent({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?$M.createBrotliDecompress():$M.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),Int(t,n),t.pipe(a).pipe(u).pipe(n),n}});var t4=U((BLt,wae)=>{"use strict";var e4=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};wae.exports=e4});var n4=U((vLt,Sae)=>{"use strict";var wnt=Ie("events"),Bnt=Ie("tls"),vnt=Ie("http2"),Dnt=t4(),Xo=Symbol("currentStreamsCount"),Bae=Symbol("request"),Zl=Symbol("cachedOriginSet"),BC=Symbol("gracefullyClosing"),Snt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Pnt=(t,e,r)=>{let o=0,a=t.length;for(;o<a;){let n=o+a>>>1;r(t[n],e)?o=n+1:a=n}return o},xnt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,r4=(t,e)=>{for(let r of t)r[Zl].length<e[Zl].length&&r[Zl].every(o=>e[Zl].includes(o))&&r[Xo]+e[Xo]<=e.remoteSettings.maxConcurrentStreams&&Dae(r)},bnt=(t,e)=>{for(let r of t)e[Zl].length<r[Zl].length&&e[Zl].every(o=>r[Zl].includes(o))&&e[Xo]+r[Xo]<=r.remoteSettings.maxConcurrentStreams&&Dae(e)},vae=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[iA.kCurrentStreamsCount]<u.remoteSettings.maxConcurrentStreams;return e?A:!A});n.length!==0&&(r[o]=n)}return r},Dae=t=>{t[BC]=!0,t[Xo]===0&&t.close()},iA=class extends wnt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Dnt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of Snt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount<this.maxSessions&&!o.completed&&(o.completed=!0,o())}getSession(e,r,o){return new Promise((a,n)=>{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=iA.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:E}of o)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let E=this.sessions[u],w=-1,v=-1,b;for(let C of E){let R=C.remoteSettings.maxConcurrentStreams;if(R<w)break;if(C[Zl].includes(A)){let L=C[Xo];if(L>=R||C[BC]||C.destroyed)continue;b||(w=R),L>v&&(b=C,v=L)}}if(b){if(o.length!==1){for(let{reject:C}of o){let R=new Error(`Expected the length of listeners to be 1, got ${o.length}.
137Please report this to https://github.com/szmarczak/http2-wrapper/`);E(R)}return}o[0].resolve(b);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let C=`${A}:${u}`,w=!1;try{let v=pnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(C),...r});v[zo]=0,v[yE]=!1;let b=()=>v[zo]<v.remoteSettings.maxConcurrentStreams,E=!0;v.socket.once("session",L=>{this.tlsSessionCache.set(C,L)}),v.once("error",L=>{for(let{reject:_}of o)_(L);this.tlsSessionCache.delete(C)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(w){E&&this._freeSessionsCount--,this._sessionsCount--;let L=this.sessions[u];L.splice(L.indexOf(v),1),L.length===0&&delete this.sessions[u]}else{let L=new Error("Session closed without receiving a SETTINGS frame");L.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:_}of o)_(L);p()}this._tryToCreateNewSession(u,A)});let R=()=>{if(!(!(u in this.queue)||!b())){for(let L of v[Vl])if(L in this.queue[u]){let{listeners:_}=this.queue[u][L];for(;_.length!==0&&b();)_.shift().resolve(v);let J=this.queue[u];if(J[L].listeners.length===0&&(delete J[L],Object.keys(J).length===0)){delete this.queue[u];break}if(!b())break}}};v.on("origin",()=>{v[Vl]=v.originSet,b()&&(R(),t4(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let L=new Error("Agent has been destroyed");for(let _ of o)_.reject(L);v.destroy();return}v[Vl]=v.originSet;{let L=this.sessions;if(u in L){let _=L[u];_.splice(dnt(_,v,mnt),0,v)}else L[u]=[v]}this._freeSessionsCount+=1,w=!0,this.emit("session",v),R(),p(),v[zo]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{R(),t4(this.sessions[u],v)})}),v[mae]=v.request,v.request=(L,_)=>{if(v[yE])throw new Error("The session is gracefully closing. No new streams are allowed.");let J=v[mae](L,_);return v.ref(),++v[zo],v[zo]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,J.once("close",()=>{if(E=b(),--v[zo],!v.destroyed&&!v.closed&&(ynt(this.sessions[u],v),b()&&!v.closed)){E||(this._freeSessionsCount++,E=!0);let re=v[zo]===0;re&&v.unref(),re&&(this._freeSessionsCount>this.maxFreeSessions||v[yE])?v.close():(t4(this.sessions[u],v),R())}}),J}}catch(v){for(let b of o)b.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return nA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),fnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[zo]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return yae({agent:this,isFree:!0})}get busySessions(){return yae({agent:this,isFree:!1})}};nA.kCurrentStreamsCount=zo;nA.kGracefullyClosing=yE;Cae.exports={Agent:nA,globalAgent:new nA}});var i4=U((ALt,Iae)=>{"use strict";var{Readable:Ent}=Ie("stream"),n4=class extends Ent{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Iae.exports=n4});var s4=U((fLt,wae)=>{"use strict";wae.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var vae=U((pLt,Bae)=>{"use strict";Bae.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var Sae=U((hLt,Dae)=>{"use strict";Dae.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var xae=U((dLt,Pae)=>{"use strict";var EE=(t,e,r)=>{Pae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};EE(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});EE(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);EE(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);EE(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);EE(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);EE(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var u4=U((mLt,Nae)=>{"use strict";var Cnt=Ie("http2"),{Writable:Int}=Ie("stream"),{Agent:bae,globalAgent:wnt}=r4(),Bnt=i4(),vnt=s4(),Dnt=vae(),Snt=Sae(),{ERR_INVALID_ARG_TYPE:o4,ERR_INVALID_PROTOCOL:Pnt,ERR_HTTP_HEADERS_SENT:Qae,ERR_INVALID_HTTP_TOKEN:xnt,ERR_HTTP_INVALID_HEADER_VALUE:bnt,ERR_INVALID_CHAR:Qnt}=xae(),{HTTP2_HEADER_STATUS:kae,HTTP2_HEADER_METHOD:Fae,HTTP2_HEADER_PATH:Rae,HTTP2_METHOD_CONNECT:knt}=Cnt.constants,xo=Symbol("headers"),a4=Symbol("origin"),l4=Symbol("session"),Tae=Symbol("options"),jP=Symbol("flushedHeaders"),t1=Symbol("jobs"),Fnt=/^[\^`\-\w!#$%&*+.|~]+$/,Rnt=/[^\t\u0020-\u007E\u0080-\u00FF]/,c4=class extends Int{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=vnt(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[l4]=r.h2session;else if(r.agent===!1)this.agent=new bae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new bae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=wnt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new o4("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Pnt(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[xo]=Object.create(null),this[t1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[xo])&&(this[xo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[Tae]=r,n===443?(this[a4]=`https://${u}`,":authority"in this[xo]||(this[xo][":authority"]=u)):(this[a4]=`https://${u}:${n}`,":authority"in this[xo]||(this[xo][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[jP]=!1}get method(){return this[xo][Fae]}set method(e){e&&(this[xo][Fae]=e.toUpperCase())}get path(){return this[xo][Rae]}set path(e){e&&(this[xo][Rae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[t1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[t1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[jP]||this.destroyed)return;this[jP]=!0;let e=this.method===knt,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||Dnt(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new Bnt(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[kae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",C=>{!h._dumped&&!h.push(C)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[kae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[t1])u();this.emit("socket",this.socket)};if(this[l4])try{r(this[l4].request(this[xo]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[a4],this[Tae],this[xo]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new o4("name","string",e);return this[xo][e.toLowerCase()]}get headersSent(){return this[jP]}removeHeader(e){if(typeof e!="string")throw new o4("name","string",e);if(this.headersSent)throw new Qae("remove");delete this[xo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Qae("set");if(typeof e!="string"||!Fnt.test(e)&&!Snt(e))throw new xnt("Header name",e);if(typeof r>"u")throw new bnt(r,e);if(Rnt.test(r))throw new Qnt("header content",e);this[xo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[t1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};Nae.exports=c4});var Oae=U((yLt,Lae)=>{"use strict";var Tnt=Ie("tls");Lae.exports=(t={})=>new Promise((e,r)=>{let o=Tnt.connect(t,()=>{t.resolveSocket?(o.off("error",r),e({alpnProtocol:o.alpnProtocol,socket:o})):(o.destroy(),e({alpnProtocol:o.alpnProtocol}))});o.on("error",r)})});var Uae=U((ELt,Mae)=>{"use strict";var Nnt=Ie("net");Mae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Nnt.isIP(e)?"":e}});var qae=U((CLt,f4)=>{"use strict";var _ae=Ie("http"),A4=Ie("https"),Lnt=Oae(),Ont=e4(),Mnt=u4(),Unt=Uae(),_nt=s4(),GP=new Ont({maxSize:100}),r1=new Map,Hae=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},Hnt=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!GP.has(e)){if(r1.has(e))return(await r1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=Lnt(t);r1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(GP.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=A4,p=A4.Agent.prototype.createConnection;o?o.createConnection===p?Hae(o,n,t):n.destroy():A.createConnection===p?Hae(A,n,t):n.destroy()}return r1.delete(e),u}catch(n){throw r1.delete(e),n}}return GP.get(e)};f4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=_nt(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Unt(e),e.port=e.port||(o?443:80),e._defaultAgent=o?A4.globalAgent:_ae.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await Hnt(e)==="h2"?(a&&(e.agent=a.http2),new Mnt(e,r)):_ae.request(e,r)};f4.exports.protocolCache=GP});var Gae=U((ILt,jae)=>{"use strict";var qnt=Ie("http2"),jnt=r4(),p4=u4(),Gnt=i4(),Wnt=qae(),Ynt=(t,e,r)=>new p4(t,e,r),Knt=(t,e,r)=>{let o=new p4(t,e,r);return o.end(),o};jae.exports={...qnt,ClientRequest:p4,IncomingMessage:Gnt,...jnt,request:Ynt,get:Knt,auto:Wnt}});var g4=U(h4=>{"use strict";Object.defineProperty(h4,"__esModule",{value:!0});var Wae=Ff();h4.default=t=>Wae.default.nodeStream(t)&&Wae.default.function_(t.getBoundary)});var Vae=U(d4=>{"use strict";Object.defineProperty(d4,"__esModule",{value:!0});var Kae=Ie("fs"),Jae=Ie("util"),Yae=Ff(),Jnt=g4(),Vnt=Jae.promisify(Kae.stat);d4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Yae.default.string(t))return Buffer.byteLength(t);if(Yae.default.buffer(t))return t.length;if(Jnt.default(t))return Jae.promisify(t.getLength.bind(t))();if(t instanceof Kae.ReadStream){let{size:r}=await Vnt(t.path);return r===0?void 0:r}}});var y4=U(m4=>{"use strict";Object.defineProperty(m4,"__esModule",{value:!0});function znt(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}m4.default=znt});var zae=U(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});E4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var Zae=U(n1=>{"use strict";Object.defineProperty(n1,"__esModule",{value:!0});n1.TimeoutError=void 0;var Xnt=Ie("net"),Znt=zae(),Xae=Symbol("reentry"),$nt=()=>{},WP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};n1.TimeoutError=WP;n1.default=(t,e,r)=>{if(Xae in t)return $nt;t[Xae]=!0;let o=[],{once:a,unhandleAll:n}=Znt.default(),u=(w,v,b)=>{var E;let R=setTimeout(v,w,w,b);(E=R.unref)===null||E===void 0||E.call(R);let L=()=>{clearTimeout(R)};return o.push(L),L},{host:A,hostname:p}=r,h=(w,v)=>{t.destroy(new WP(w,v))},C=()=>{for(let w of o)w();n()};if(t.once("error",w=>{if(C(),t.listenerCount("error")===0)throw w}),t.once("close",C),a(t,"response",w=>{a(w,"end",C)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let w=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,w),o.push(()=>{t.removeListener("timeout",w)})}return a(t,"socket",w=>{var v;let{socketPath:b}=t;if(w.connecting){let E=Boolean(b??Xnt.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof e.lookup<"u"&&!E&&typeof w.address().address>"u"){let R=u(e.lookup,h,"lookup");a(w,"lookup",R)}if(typeof e.connect<"u"){let R=()=>u(e.connect,h,"connect");E?a(w,"connect",R()):a(w,"lookup",L=>{L===null&&a(w,"connect",R())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(w,"connect",()=>{let R=u(e.secureConnect,h,"secureConnect");a(w,"secureConnect",R)})}if(typeof e.send<"u"){let E=()=>u(e.send,h,"send");w.connecting?a(w,"connect",()=>{a(t,"upload-complete",E())}):a(t,"upload-complete",E())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let w=u(e.response,h,"response");a(t,"response",w)}),C}});var ele=U(C4=>{"use strict";Object.defineProperty(C4,"__esModule",{value:!0});var $ae=Ff();C4.default=t=>{t=t;let e={protocol:t.protocol,hostname:$ae.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return $ae.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var tle=U(I4=>{"use strict";Object.defineProperty(I4,"__esModule",{value:!0});var eit=Ie("url"),tit=["protocol","host","hostname","port","pathname","search"];I4.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new eit.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of tit)e[n]&&(a[n]=e[n].toString());return a}});var rle=U(B4=>{"use strict";Object.defineProperty(B4,"__esModule",{value:!0});var w4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};B4.default=w4});var D4=U(v4=>{"use strict";Object.defineProperty(v4,"__esModule",{value:!0});var rit=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};v4.default=rit});var ile=U(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.dnsLookupIpVersionToFamily=Sd.isDnsLookupIpVersion=void 0;var nle={auto:0,ipv4:4,ipv6:6};Sd.isDnsLookupIpVersion=t=>t in nle;Sd.dnsLookupIpVersionToFamily=t=>{if(Sd.isDnsLookupIpVersion(t))return nle[t];throw new Error("Invalid DNS lookup IP version")}});var S4=U(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});YP.isResponseOk=void 0;YP.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var ole=U(P4=>{"use strict";Object.defineProperty(P4,"__esModule",{value:!0});var sle=new Set;P4.default=t=>{sle.has(t)||(sle.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var ale=U(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var ai=Ff(),nit=(t,e)=>{if(ai.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ai.assert.any([ai.default.string,ai.default.undefined],t.encoding),ai.assert.any([ai.default.boolean,ai.default.undefined],t.resolveBodyOnly),ai.assert.any([ai.default.boolean,ai.default.undefined],t.methodRewriting),ai.assert.any([ai.default.boolean,ai.default.undefined],t.isStream),ai.assert.any([ai.default.string,ai.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ai.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ai.default.number(r)&&(t.retry.limit=r),ai.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ai.default.number))),ai.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!ai.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ai.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ai.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ai.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};x4.default=nit});var lle=U(i1=>{"use strict";Object.defineProperty(i1,"__esModule",{value:!0});i1.retryAfterStatusCodes=void 0;i1.retryAfterStatusCodes=new Set([413,429,503]);var iit=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};i1.default=iit});var a1=U(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.UnsupportedProtocolError=yn.ReadError=yn.TimeoutError=yn.UploadError=yn.CacheError=yn.HTTPError=yn.MaxRedirectsError=yn.RequestError=yn.setNonEnumerableProperties=yn.knownHookEvents=yn.withoutBody=yn.kIsNormalizedAlready=void 0;var cle=Ie("util"),ule=Ie("stream"),sit=Ie("fs"),i0=Ie("url"),Ale=Ie("http"),b4=Ie("http"),oit=Ie("https"),ait=Soe(),lit=Roe(),fle=Aae(),cit=gae(),uit=Gae(),Ait=HP(),nt=Ff(),fit=Vae(),ple=g4(),pit=y4(),hle=Zae(),hit=ele(),gle=tle(),git=rle(),dit=D4(),dle=ile(),mit=S4(),s0=ole(),yit=ale(),Eit=lle(),Q4,zs=Symbol("request"),VP=Symbol("response"),CE=Symbol("responseSize"),IE=Symbol("downloadedSize"),wE=Symbol("bodySize"),BE=Symbol("uploadedSize"),KP=Symbol("serverResponsesPiped"),mle=Symbol("unproxyEvents"),yle=Symbol("isFromCache"),k4=Symbol("cancelTimeouts"),Ele=Symbol("startedReading"),vE=Symbol("stopReading"),JP=Symbol("triggerRead"),o0=Symbol("body"),s1=Symbol("jobs"),Cle=Symbol("originalResponse"),Ile=Symbol("retryTimeout");yn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Cit=nt.default.string(process.versions.brotli);yn.withoutBody=new Set(["GET","HEAD"]);yn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Iit(t){for(let e in t){let r=t[e];if(!nt.default.string(r)&&!nt.default.number(r)&&!nt.default.boolean(r)&&!nt.default.null_(r)&&!nt.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function wit(t){return nt.default.object(t)&&!("statusCode"in t)}var F4=new git.default,Bit=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),vit=new Set([300,301,302,303,304,307,308]),Dit=["context","body","json","form"];yn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(!!o)for(let a of Dit)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Ji=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof rx?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[VP]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,nt.default.string(r.stack)&&nt.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` 137Please report this to https://github.com/szmarczak/http2-wrapper/`);C(R)}return}o[0].resolve(b);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let E=`${A}:${u}`,w=!1;try{let v=vnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});v[Xo]=0,v[BC]=!1;let b=()=>v[Xo]<v.remoteSettings.maxConcurrentStreams,C=!0;v.socket.once("session",L=>{this.tlsSessionCache.set(E,L)}),v.once("error",L=>{for(let{reject:_}of o)_(L);this.tlsSessionCache.delete(E)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(w){C&&this._freeSessionsCount--,this._sessionsCount--;let L=this.sessions[u];L.splice(L.indexOf(v),1),L.length===0&&delete this.sessions[u]}else{let L=new Error("Session closed without receiving a SETTINGS frame");L.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:_}of o)_(L);p()}this._tryToCreateNewSession(u,A)});let R=()=>{if(!(!(u in this.queue)||!b())){for(let L of v[Zl])if(L in this.queue[u]){let{listeners:_}=this.queue[u][L];for(;_.length!==0&&b();)_.shift().resolve(v);let V=this.queue[u];if(V[L].listeners.length===0&&(delete V[L],Object.keys(V).length===0)){delete this.queue[u];break}if(!b())break}}};v.on("origin",()=>{v[Zl]=v.originSet,b()&&(R(),r4(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let L=new Error("Agent has been destroyed");for(let _ of o)_.reject(L);v.destroy();return}v[Zl]=v.originSet;{let L=this.sessions;if(u in L){let _=L[u];_.splice(Pnt(_,v,xnt),0,v)}else L[u]=[v]}this._freeSessionsCount+=1,w=!0,this.emit("session",v),R(),p(),v[Xo]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{R(),r4(this.sessions[u],v)})}),v[Bae]=v.request,v.request=(L,_)=>{if(v[BC])throw new Error("The session is gracefully closing. No new streams are allowed.");let V=v[Bae](L,_);return v.ref(),++v[Xo],v[Xo]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,V.once("close",()=>{if(C=b(),--v[Xo],!v.destroyed&&!v.closed&&(bnt(this.sessions[u],v),b()&&!v.closed)){C||(this._freeSessionsCount++,C=!0);let re=v[Xo]===0;re&&v.unref(),re&&(this._freeSessionsCount>this.maxFreeSessions||v[BC])?v.close():(r4(this.sessions[u],v),R())}}),V}}catch(v){for(let b of o)b.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return iA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),Bnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[Xo]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return vae({agent:this,isFree:!0})}get busySessions(){return vae({agent:this,isFree:!1})}};iA.kCurrentStreamsCount=Xo;iA.kGracefullyClosing=BC;Sae.exports={Agent:iA,globalAgent:new iA}});var s4=U((DLt,Pae)=>{"use strict";var{Readable:Qnt}=Ie("stream"),i4=class extends Qnt{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Pae.exports=i4});var o4=U((SLt,xae)=>{"use strict";xae.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Qae=U((PLt,bae)=>{"use strict";bae.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var Fae=U((xLt,kae)=>{"use strict";kae.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var Tae=U((QLt,Rae)=>{"use strict";var vC=(t,e,r)=>{Rae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};vC(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});vC(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);vC(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);vC(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);vC(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);vC(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var A4=U((kLt,Hae)=>{"use strict";var knt=Ie("http2"),{Writable:Fnt}=Ie("stream"),{Agent:Nae,globalAgent:Rnt}=n4(),Tnt=s4(),Nnt=o4(),Lnt=Qae(),Ont=Fae(),{ERR_INVALID_ARG_TYPE:a4,ERR_INVALID_PROTOCOL:Mnt,ERR_HTTP_HEADERS_SENT:Lae,ERR_INVALID_HTTP_TOKEN:Unt,ERR_HTTP_INVALID_HEADER_VALUE:_nt,ERR_INVALID_CHAR:Hnt}=Tae(),{HTTP2_HEADER_STATUS:Oae,HTTP2_HEADER_METHOD:Mae,HTTP2_HEADER_PATH:Uae,HTTP2_METHOD_CONNECT:qnt}=knt.constants,xo=Symbol("headers"),l4=Symbol("origin"),c4=Symbol("session"),_ae=Symbol("options"),zP=Symbol("flushedHeaders"),s1=Symbol("jobs"),jnt=/^[\^`\-\w!#$%&*+.|~]+$/,Gnt=/[^\t\u0020-\u007E\u0080-\u00FF]/,u4=class extends Fnt{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=Nnt(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[c4]=r.h2session;else if(r.agent===!1)this.agent=new Nae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new Nae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Rnt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new a4("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Mnt(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[xo]=Object.create(null),this[s1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[xo])&&(this[xo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[_ae]=r,n===443?(this[l4]=`https://${u}`,":authority"in this[xo]||(this[xo][":authority"]=u)):(this[l4]=`https://${u}:${n}`,":authority"in this[xo]||(this[xo][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[zP]=!1}get method(){return this[xo][Mae]}set method(e){e&&(this[xo][Mae]=e.toUpperCase())}get path(){return this[xo][Uae]}set path(e){e&&(this[xo][Uae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[s1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[s1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[zP]||this.destroyed)return;this[zP]=!0;let e=this.method===qnt,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||Lnt(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new Tnt(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[Oae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",E=>{!h._dumped&&!h.push(E)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[Oae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[s1])u();this.emit("socket",this.socket)};if(this[c4])try{r(this[c4].request(this[xo]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[l4],this[_ae],this[xo]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new a4("name","string",e);return this[xo][e.toLowerCase()]}get headersSent(){return this[zP]}removeHeader(e){if(typeof e!="string")throw new a4("name","string",e);if(this.headersSent)throw new Lae("remove");delete this[xo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Lae("set");if(typeof e!="string"||!jnt.test(e)&&!Ont(e))throw new Unt("Header name",e);if(typeof r>"u")throw new _nt(r,e);if(Gnt.test(r))throw new Hnt("header content",e);this[xo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[s1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};Hae.exports=u4});var jae=U((FLt,qae)=>{"use strict";var Wnt=Ie("tls");qae.exports=(t={})=>new Promise((e,r)=>{let o=Wnt.connect(t,()=>{t.resolveSocket?(o.off("error",r),e({alpnProtocol:o.alpnProtocol,socket:o})):(o.destroy(),e({alpnProtocol:o.alpnProtocol}))});o.on("error",r)})});var Wae=U((RLt,Gae)=>{"use strict";var Ynt=Ie("net");Gae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Ynt.isIP(e)?"":e}});var Vae=U((TLt,p4)=>{"use strict";var Yae=Ie("http"),f4=Ie("https"),Knt=jae(),Vnt=t4(),Jnt=A4(),znt=Wae(),Xnt=o4(),XP=new Vnt({maxSize:100}),o1=new Map,Kae=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},Znt=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!XP.has(e)){if(o1.has(e))return(await o1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=Knt(t);o1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(XP.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=f4,p=f4.Agent.prototype.createConnection;o?o.createConnection===p?Kae(o,n,t):n.destroy():A.createConnection===p?Kae(A,n,t):n.destroy()}return o1.delete(e),u}catch(n){throw o1.delete(e),n}}return XP.get(e)};p4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=Xnt(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||znt(e),e.port=e.port||(o?443:80),e._defaultAgent=o?f4.globalAgent:Yae.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await Znt(e)==="h2"?(a&&(e.agent=a.http2),new Jnt(e,r)):Yae.request(e,r)};p4.exports.protocolCache=XP});var zae=U((NLt,Jae)=>{"use strict";var $nt=Ie("http2"),eit=n4(),h4=A4(),tit=s4(),rit=Vae(),nit=(t,e,r)=>new h4(t,e,r),iit=(t,e,r)=>{let o=new h4(t,e,r);return o.end(),o};Jae.exports={...$nt,ClientRequest:h4,IncomingMessage:tit,...eit,request:nit,get:iit,auto:rit}});var d4=U(g4=>{"use strict";Object.defineProperty(g4,"__esModule",{value:!0});var Xae=Tf();g4.default=t=>Xae.default.nodeStream(t)&&Xae.default.function_(t.getBoundary)});var tle=U(m4=>{"use strict";Object.defineProperty(m4,"__esModule",{value:!0});var $ae=Ie("fs"),ele=Ie("util"),Zae=Tf(),sit=d4(),oit=ele.promisify($ae.stat);m4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Zae.default.string(t))return Buffer.byteLength(t);if(Zae.default.buffer(t))return t.length;if(sit.default(t))return ele.promisify(t.getLength.bind(t))();if(t instanceof $ae.ReadStream){let{size:r}=await oit(t.path);return r===0?void 0:r}}});var C4=U(y4=>{"use strict";Object.defineProperty(y4,"__esModule",{value:!0});function ait(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}y4.default=ait});var rle=U(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});E4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var ile=U(a1=>{"use strict";Object.defineProperty(a1,"__esModule",{value:!0});a1.TimeoutError=void 0;var lit=Ie("net"),cit=rle(),nle=Symbol("reentry"),uit=()=>{},ZP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};a1.TimeoutError=ZP;a1.default=(t,e,r)=>{if(nle in t)return uit;t[nle]=!0;let o=[],{once:a,unhandleAll:n}=cit.default(),u=(w,v,b)=>{var C;let R=setTimeout(v,w,w,b);(C=R.unref)===null||C===void 0||C.call(R);let L=()=>{clearTimeout(R)};return o.push(L),L},{host:A,hostname:p}=r,h=(w,v)=>{t.destroy(new ZP(w,v))},E=()=>{for(let w of o)w();n()};if(t.once("error",w=>{if(E(),t.listenerCount("error")===0)throw w}),t.once("close",E),a(t,"response",w=>{a(w,"end",E)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let w=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,w),o.push(()=>{t.removeListener("timeout",w)})}return a(t,"socket",w=>{var v;let{socketPath:b}=t;if(w.connecting){let C=Boolean(b??lit.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof e.lookup<"u"&&!C&&typeof w.address().address>"u"){let R=u(e.lookup,h,"lookup");a(w,"lookup",R)}if(typeof e.connect<"u"){let R=()=>u(e.connect,h,"connect");C?a(w,"connect",R()):a(w,"lookup",L=>{L===null&&a(w,"connect",R())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(w,"connect",()=>{let R=u(e.secureConnect,h,"secureConnect");a(w,"secureConnect",R)})}if(typeof e.send<"u"){let C=()=>u(e.send,h,"send");w.connecting?a(w,"connect",()=>{a(t,"upload-complete",C())}):a(t,"upload-complete",C())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let w=u(e.response,h,"response");a(t,"response",w)}),E}});var ole=U(I4=>{"use strict";Object.defineProperty(I4,"__esModule",{value:!0});var sle=Tf();I4.default=t=>{t=t;let e={protocol:t.protocol,hostname:sle.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return sle.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var ale=U(w4=>{"use strict";Object.defineProperty(w4,"__esModule",{value:!0});var Ait=Ie("url"),fit=["protocol","host","hostname","port","pathname","search"];w4.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new Ait.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of fit)e[n]&&(a[n]=e[n].toString());return a}});var lle=U(v4=>{"use strict";Object.defineProperty(v4,"__esModule",{value:!0});var B4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};v4.default=B4});var S4=U(D4=>{"use strict";Object.defineProperty(D4,"__esModule",{value:!0});var pit=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};D4.default=pit});var ule=U(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.dnsLookupIpVersionToFamily=bd.isDnsLookupIpVersion=void 0;var cle={auto:0,ipv4:4,ipv6:6};bd.isDnsLookupIpVersion=t=>t in cle;bd.dnsLookupIpVersionToFamily=t=>{if(bd.isDnsLookupIpVersion(t))return cle[t];throw new Error("Invalid DNS lookup IP version")}});var P4=U($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});$P.isResponseOk=void 0;$P.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var fle=U(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var Ale=new Set;x4.default=t=>{Ale.has(t)||(Ale.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var ple=U(b4=>{"use strict";Object.defineProperty(b4,"__esModule",{value:!0});var ai=Tf(),hit=(t,e)=>{if(ai.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ai.assert.any([ai.default.string,ai.default.undefined],t.encoding),ai.assert.any([ai.default.boolean,ai.default.undefined],t.resolveBodyOnly),ai.assert.any([ai.default.boolean,ai.default.undefined],t.methodRewriting),ai.assert.any([ai.default.boolean,ai.default.undefined],t.isStream),ai.assert.any([ai.default.string,ai.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ai.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ai.default.number(r)&&(t.retry.limit=r),ai.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ai.default.number))),ai.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!ai.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ai.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ai.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ai.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};b4.default=hit});var hle=U(l1=>{"use strict";Object.defineProperty(l1,"__esModule",{value:!0});l1.retryAfterStatusCodes=void 0;l1.retryAfterStatusCodes=new Set([413,429,503]);var git=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};l1.default=git});var A1=U(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.UnsupportedProtocolError=yn.ReadError=yn.TimeoutError=yn.UploadError=yn.CacheError=yn.HTTPError=yn.MaxRedirectsError=yn.RequestError=yn.setNonEnumerableProperties=yn.knownHookEvents=yn.withoutBody=yn.kIsNormalizedAlready=void 0;var gle=Ie("util"),dle=Ie("stream"),dit=Ie("fs"),s0=Ie("url"),mle=Ie("http"),Q4=Ie("http"),mit=Ie("https"),yit=Foe(),Cit=Uoe(),yle=mae(),Eit=Iae(),Iit=zae(),wit=VP(),nt=Tf(),Bit=tle(),Cle=d4(),vit=C4(),Ele=ile(),Dit=ole(),Ile=ale(),Sit=lle(),Pit=S4(),wle=ule(),xit=P4(),o0=fle(),bit=ple(),Qit=hle(),k4,zs=Symbol("request"),rx=Symbol("response"),DC=Symbol("responseSize"),SC=Symbol("downloadedSize"),PC=Symbol("bodySize"),xC=Symbol("uploadedSize"),ex=Symbol("serverResponsesPiped"),Ble=Symbol("unproxyEvents"),vle=Symbol("isFromCache"),F4=Symbol("cancelTimeouts"),Dle=Symbol("startedReading"),bC=Symbol("stopReading"),tx=Symbol("triggerRead"),a0=Symbol("body"),c1=Symbol("jobs"),Sle=Symbol("originalResponse"),Ple=Symbol("retryTimeout");yn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var kit=nt.default.string(process.versions.brotli);yn.withoutBody=new Set(["GET","HEAD"]);yn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Fit(t){for(let e in t){let r=t[e];if(!nt.default.string(r)&&!nt.default.number(r)&&!nt.default.boolean(r)&&!nt.default.null_(r)&&!nt.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Rit(t){return nt.default.object(t)&&!("statusCode"in t)}var R4=new Sit.default,Tit=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),Nit=new Set([300,301,302,303,304,307,308]),Lit=["context","body","json","form"];yn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(!!o)for(let a of Lit)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Vi=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof cx?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[rx]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,nt.default.string(r.stack)&&nt.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(`
138`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` 138`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(`
139`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` 139`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(`
140`)}${A.reverse().join(` 140`)}${A.reverse().join(`
141`)}`}}};yn.RequestError=Ji;var zP=class extends Ji{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};yn.MaxRedirectsError=zP;var XP=class extends Ji{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};yn.HTTPError=XP;var ZP=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};yn.CacheError=ZP;var $P=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};yn.UploadError=$P;var ex=class extends Ji{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};yn.TimeoutError=ex;var o1=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};yn.ReadError=o1;var tx=class extends Ji{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};yn.UnsupportedProtocolError=tx;var Sit=["socket","connect","continue","information","upgrade","timeout"],rx=class extends ule.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[IE]=0,this[BE]=0,this.requestInitialized=!1,this[KP]=new Set,this.redirects=[],this[vE]=!1,this[JP]=!1,this[s1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof b4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),yn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){nt.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof sit.ReadStream&&await Bit(this.options.body);let{url:C}=this.options;if(!C)throw new TypeError("Missing `url` property");if(this.requestUrl=C.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[zs])===null||h===void 0||h.destroy();return}for(let w of this[s1])w();this[s1].length=0,this.requestInitialized=!0}catch(C){if(C instanceof Ji){this._beforeError(C);return}this.destroyed||this.destroy(C)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(nt.default.object(e)&&!nt.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),nt.default.urlInstance(r.url)&&(r.url=new i0.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),nt.assert.any([nt.default.string,nt.default.undefined],r.method),nt.assert.any([nt.default.object,nt.default.undefined],r.headers),nt.assert.any([nt.default.string,nt.default.urlInstance,nt.default.undefined],r.prefixUrl),nt.assert.any([nt.default.object,nt.default.undefined],r.cookieJar),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.searchParams),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.cache),nt.assert.any([nt.default.object,nt.default.number,nt.default.undefined],r.timeout),nt.assert.any([nt.default.object,nt.default.undefined],r.context),nt.assert.any([nt.default.object,nt.default.undefined],r.hooks),nt.assert.any([nt.default.boolean,nt.default.undefined],r.decompress),nt.assert.any([nt.default.boolean,nt.default.undefined],r.ignoreInvalidCookies),nt.assert.any([nt.default.boolean,nt.default.undefined],r.followRedirect),nt.assert.any([nt.default.number,nt.default.undefined],r.maxRedirects),nt.assert.any([nt.default.boolean,nt.default.undefined],r.throwHttpErrors),nt.assert.any([nt.default.boolean,nt.default.undefined],r.http2),nt.assert.any([nt.default.boolean,nt.default.undefined],r.allowGetBody),nt.assert.any([nt.default.string,nt.default.undefined],r.localAddress),nt.assert.any([dle.isDnsLookupIpVersion,nt.default.undefined],r.dnsLookupIpVersion),nt.assert.any([nt.default.object,nt.default.undefined],r.https),nt.assert.any([nt.default.boolean,nt.default.undefined],r.rejectUnauthorized),r.https&&(nt.assert.any([nt.default.boolean,nt.default.undefined],r.https.rejectUnauthorized),nt.assert.any([nt.default.function_,nt.default.undefined],r.https.checkServerIdentity),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificateAuthority),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.key),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificate),nt.assert.any([nt.default.string,nt.default.undefined],r.https.passphrase),nt.assert.any([nt.default.string,nt.default.buffer,nt.default.array,nt.default.undefined],r.https.pfx)),nt.assert.any([nt.default.object,nt.default.undefined],r.cacheOptions),nt.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(o==null?void 0:o.headers)?r.headers={...r.headers}:r.headers=Ait({...o==null?void 0:o.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(o==null?void 0:o.searchParams)){let b;if(nt.default.string(r.searchParams)||r.searchParams instanceof i0.URLSearchParams)b=new i0.URLSearchParams(r.searchParams);else{Iit(r.searchParams),b=new i0.URLSearchParams;for(let E in r.searchParams){let R=r.searchParams[E];R===null?b.append(E,""):R!==void 0&&b.append(E,R)}}(a=o==null?void 0:o.searchParams)===null||a===void 0||a.forEach((E,R)=>{b.has(R)||b.append(R,E)}),r.searchParams=b}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",nt.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o==null?void 0:o.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),nt.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=gle.default(r.prefixUrl+r.url,r)}else(nt.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=gle.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:b}=r;Object.defineProperty(r,"prefixUrl",{set:R=>{let L=r.url;if(!L.href.startsWith(R))throw new Error(`Cannot change \`prefixUrl\` from ${b} to ${R}: ${L.href}`);r.url=new i0.URL(R+L.href.slice(b.length)),b=R},get:()=>b});let{protocol:E}=r.url;if(E==="unix:"&&(E="http:",r.url=new i0.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),E!=="http:"&&E!=="https:")throw new tx(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:C}=r;if(C){let{setCookie:b,getCookieString:E}=C;nt.assert.function_(b),nt.assert.function_(E),b.length===4&&E.length===0&&(b=cle.promisify(b.bind(r.cookieJar)),E=cle.promisify(E.bind(r.cookieJar)),r.cookieJar={setCookie:b,getCookieString:E})}let{cache:w}=r;if(w&&(F4.has(w)||F4.set(w,new fle((b,E)=>{let R=b[zs](b,E);return nt.default.promise(R)&&(R.once=(L,_)=>{if(L==="error")R.catch(_);else if(L==="abort")(async()=>{try{(await R).once("abort",_)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${L}`);return R}),R},w))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)Q4||(Q4=new lit.default),r.dnsCache=Q4;else if(!nt.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${nt.default(r.dnsCache)}`);nt.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===(o==null?void 0:o.hooks);r.hooks={...r.hooks};for(let b of yn.knownHookEvents)if(b in r.hooks)if(nt.default.array(r.hooks[b]))r.hooks[b]=[...r.hooks[b]];else throw new TypeError(`Parameter \`${b}\` must be an Array, got ${nt.default(r.hooks[b])}`);else r.hooks[b]=[];if(o&&!v)for(let b of yn.knownHookEvents)o.hooks[b].length>0&&(r.hooks[b]=[...o.hooks[b],...r.hooks[b]]);if("family"in r&&s0.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o!=null&&o.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&s0.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&s0.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&s0.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&s0.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&s0.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&s0.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&s0.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let b in r.agent)if(b!=="http"&&b!=="https"&&b!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${b}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,yn.setNonEnumerableProperties([o,h],r),yit.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!nt.default.undefined(e.form),a=!nt.default.undefined(e.json),n=!nt.default.undefined(e.body),u=o||a||n,A=yn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof ule.Readable)&&!nt.default.string(e.body)&&!nt.default.buffer(e.body)&&!ple.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!nt.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!nt.default.string(r["content-type"]);n?(ple.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[o0]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[o0]=new i0.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[o0]=e.stringifyJson(e.json));let h=await fit.default(this[o0],e.headers);nt.default.undefined(r["content-length"])&&nt.default.undefined(r["transfer-encoding"])&&!A&&!nt.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[wE]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Cle]=e,r.decompress&&(e=cit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:Ale.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[yle]=n.isFromCache,this[CE]=Number(e.headers["content-length"])||void 0,this[VP]=e,e.once("end",()=>{this[CE]=this[IE],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new o1(A,this))}),e.once("aborted",()=>{this._beforeError(new o1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(nt.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&vit.has(a)){if(e.resume(),this[zs]&&(this[k4](),delete this[zs],this[mle]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[o0]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new zP(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new i0.URL(p,o),C=h.toString();decodeURI(C),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(C),r.url=h;for(let w of r.hooks.beforeRedirect)await w(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!mit.isResponseOk(n)){this._beforeError(new XP(n));return}e.on("readable",()=>{this[JP]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[KP])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,C=e.headers[p];h&&A.setHeader(p,C)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;ait.default(e),this[k4]=hle.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof hle.TimeoutError?new ex(p,this.timings,this):new Ji(p.message,p,this),this._beforeError(p)}),this[mle]=pit.default(e,this,Sit),this[zs]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[o0],A=this.redirects.length===0?this:e;nt.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new $P(p,this))})):(this._unlockWrite(),nt.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,hit.default(e)),delete r.url;let n,u=F4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let _ in A)if(nt.default.undefined(A[_]))delete A[_];else if(nt.default.null_(A[_]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${_}\` header`);if(u.decompress&&nt.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=Cit?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let _=await u.cookieJar.getCookieString(u.url.toString());nt.default.nonEmptyString(_)&&(u.headers.cookie=_)}for(let _ of u.hooks.beforeRequest){let J=await _(u);if(!nt.default.undefined(J)){u.request=()=>J;break}}u.body&&this[o0]!==u.body&&(this[o0]=u.body);let{agent:p,request:h,timeout:C,url:w}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),w.hostname==="unix"){let _=/(?<socketPath>.+?):(?<path>.+)/.exec(`${w.pathname}${w.search}`);if(_!=null&&_.groups){let{socketPath:J,path:re}=_.groups;Object.assign(u,{socketPath:J,path:re,host:""})}}let v=w.protocol==="https:",b;u.http2?b=uit.auto:b=v?oit.request:Ale.request;let E=(e=u.request)!==null&&e!==void 0?e:b,R=u.cache?this._createCacheableRequest:E;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[zs]=E,delete u.request,delete u.timeout;let L=u;if(L.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,L.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,L.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,L.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{L.family=dle.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(L.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(L.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(L.ca=u.https.certificateAuthority),u.https.certificate&&(L.cert=u.https.certificate),u.https.key&&(L.key=u.https.key),u.https.passphrase&&(L.passphrase=u.https.passphrase),u.https.pfx&&(L.pfx=u.https.pfx));try{let _=await R(w,L);nt.default.undefined(_)&&(_=b(w,L)),u.request=h,u.timeout=C,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete L.rejectUnauthorized,u.https.checkServerIdentity&&delete L.checkServerIdentity,u.https.certificateAuthority&&delete L.ca,u.https.certificate&&delete L.cert,u.https.key&&delete L.key,u.https.passphrase&&delete L.passphrase,u.https.pfx&&delete L.pfx),wit(_)?this._onRequest(_):this.writable?(this.once("finish",()=>{this._onResponse(_)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(_)}catch(_){throw _ instanceof fle.CacheError?new ZP(_,this):new Ji(_.message,_,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ji(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[vE])return;let{options:r}=this,o=this.retryCount+1;this[vE]=!0,e instanceof Ji||(e=new Ji(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await dit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:Eit.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Ji(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Ji(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[Ile]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[JP]=!0;let e=this[VP];if(e&&!this[vE]){e.readableLength&&(this[JP]=!1);let r;for(;(r=e.read())!==null;){this[IE]+=r.length,this[Ele]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[s1].push(a)}_writeRequest(e,r,o){this[zs].destroyed||(this._progressCallbacks.push(()=>{this[BE]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[zs].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(zs in this)){e();return}if(this[zs].destroyed){e();return}this[zs].end(o=>{o||(this[wE]=this[BE],this.emit("uploadProgress",this.uploadProgress),this[zs].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[s1].push(r)}_destroy(e,r){var o;this[vE]=!0,clearTimeout(this[Ile]),zs in this&&(this[k4](),!((o=this[VP])===null||o===void 0)&&o.complete||this[zs].destroy()),e!==null&&!nt.default.undefined(e)&&!(e instanceof Ji)&&(e=new Ji(e.message,e,this)),r(e)}get _isAboutToError(){return this[vE]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[zs])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Cle])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[zs])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[CE]?e=this[IE]/this[CE]:this[CE]===this[IE]?e=1:e=0,{percent:e,transferred:this[IE],total:this[CE]}}get uploadProgress(){let e;return this[wE]?e=this[BE]/this[wE]:this[wE]===this[BE]?e=1:e=0,{percent:e,transferred:this[BE],total:this[wE]}}get timings(){var e;return(e=this[zs])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[yle]}pipe(e,r){if(this[Ele])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof b4.ServerResponse&&this[KP].add(e),super.pipe(e,r)}unpipe(e){return e instanceof b4.ServerResponse&&this[KP].delete(e),super.unpipe(e),this}};yn.default=rx});var l1=U(Wc=>{"use strict";var Pit=Wc&&Wc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),xit=Wc&&Wc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Pit(e,t,r)};Object.defineProperty(Wc,"__esModule",{value:!0});Wc.CancelError=Wc.ParseError=void 0;var wle=a1(),R4=class extends wle.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};Wc.ParseError=R4;var T4=class extends wle.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Wc.CancelError=T4;xit(a1(),Wc)});var vle=U(N4=>{"use strict";Object.defineProperty(N4,"__esModule",{value:!0});var Ble=l1(),bit=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new Ble.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new Ble.ParseError(n,t)}};N4.default=bit});var L4=U(a0=>{"use strict";var Qit=a0&&a0.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),kit=a0&&a0.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Qit(e,t,r)};Object.defineProperty(a0,"__esModule",{value:!0});var Fit=Ie("events"),Rit=Ff(),Tit=voe(),nx=l1(),Dle=vle(),Sle=a1(),Nit=y4(),Lit=D4(),Ple=S4(),Oit=["request","response","redirect","uploadProgress","downloadProgress"];function xle(t){let e,r,o=new Fit.EventEmitter,a=new Tit((u,A,p)=>{let h=C=>{let w=new Sle.default(void 0,t);w.retryCount=C,w._noPipe=!0,p(()=>w.destroy()),p.shouldReject=!1,p(()=>A(new nx.CancelError(w))),e=w,w.once("response",async E=>{var R;if(E.retryCount=C,E.request.aborted)return;let L;try{L=await Lit.default(w),E.rawBody=L}catch{return}if(w._isAboutToError)return;let _=((R=E.headers["content-encoding"])!==null&&R!==void 0?R:"").toLowerCase(),J=["gzip","deflate","br"].includes(_),{options:re}=w;if(J&&!re.decompress)E.body=L;else try{E.body=Dle.default(E,re.responseType,re.parseJson,re.encoding)}catch(oe){if(E.body=L.toString(),Ple.isResponseOk(E)){w._beforeError(oe);return}}try{for(let[oe,pe]of re.hooks.afterResponse.entries())E=await pe(E,async he=>{let ve=Sle.default.normalizeArguments(void 0,{...he,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},re);ve.hooks.afterResponse=ve.hooks.afterResponse.slice(0,oe);for(let le of ve.hooks.beforeRetry)await le(ve);let ge=xle(ve);return p(()=>{ge.catch(()=>{}),ge.cancel()}),ge})}catch(oe){w._beforeError(new nx.RequestError(oe.message,oe,w));return}if(!Ple.isResponseOk(E)){w._beforeError(new nx.HTTPError(E));return}r=E,u(w.options.resolveBodyOnly?E.body:E)});let v=E=>{if(a.isCanceled)return;let{options:R}=w;if(E instanceof nx.HTTPError&&!R.throwHttpErrors){let{response:L}=E;u(w.options.resolveBodyOnly?L.body:L);return}A(E)};w.once("error",v);let b=w.options.body;w.once("retry",(E,R)=>{var L,_;if(b===((L=R.request)===null||L===void 0?void 0:L.options.body)&&Rit.default.nodeStream((_=R.request)===null||_===void 0?void 0:_.options.body)){v(R);return}h(E)}),Nit.default(w,o,Oit)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return Dle.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}a0.default=xle;kit(l1(),a0)});var ble=U(O4=>{"use strict";Object.defineProperty(O4,"__esModule",{value:!0});var Mit=l1();function Uit(t,...e){let r=(async()=>{if(t instanceof Mit.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}O4.default=Uit});var Fle=U(M4=>{"use strict";Object.defineProperty(M4,"__esModule",{value:!0});var Qle=Ff();function kle(t){for(let e of Object.values(t))(Qle.default.plainObject(e)||Qle.default.array(e))&&kle(e);return Object.freeze(t)}M4.default=kle});var Tle=U(Rle=>{"use strict";Object.defineProperty(Rle,"__esModule",{value:!0})});var U4=U(Xl=>{"use strict";var _it=Xl&&Xl.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Hit=Xl&&Xl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_it(e,t,r)};Object.defineProperty(Xl,"__esModule",{value:!0});Xl.defaultHandler=void 0;var Nle=Ff(),zl=L4(),qit=ble(),sx=a1(),jit=Fle(),Git={RequestError:zl.RequestError,CacheError:zl.CacheError,ReadError:zl.ReadError,HTTPError:zl.HTTPError,MaxRedirectsError:zl.MaxRedirectsError,TimeoutError:zl.TimeoutError,ParseError:zl.ParseError,CancelError:zl.CancelError,UnsupportedProtocolError:zl.UnsupportedProtocolError,UploadError:zl.UploadError},Wit=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:ix}=sx.default,Lle=(...t)=>{let e;for(let r of t)e=ix(void 0,r,e);return e},Yit=t=>t.isStream?new sx.default(void 0,t):zl.default(t),Kit=t=>"defaults"in t&&"options"in t.defaults,Jit=["get","post","put","patch","head","delete"];Xl.defaultHandler=(t,e)=>e(t);var Ole=(t,e)=>{if(t)for(let r of t)r(e)},Mle=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:C,finally:w}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=C,p.finally=w}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=C=>t.handlers[p++](C,p===t.handlers.length?Yit:h);if(Nle.default.plainObject(o)){let C={...o,...a};sx.setNonEnumerableProperties([o,a],C),a=C,o=void 0}try{let C;try{Ole(t.options.hooks.init,a),Ole((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){C=v}let w=ix(o,a,n??t.options);if(w[sx.kIsNormalizedAlready]=!0,C)throw new zl.RequestError(C.message,C,w);return h(w)}catch(C){if(a.isStream)throw C;return qit.default(C,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)Kit(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Xl.defaultHandler),n.length===0&&n.push(Xl.defaultHandler),Mle({options:Lle(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=ix(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!Nle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h<u.requestLimit;){h!==0&&await Wit(u.backoff);let C=await e(void 0,void 0,n),w=await u.transform(C),v=[];for(let E of w)if(u.filter(E,A,v)&&(!u.shouldContinue(E,A,v)||(yield E,u.stackAllItems&&A.push(E),v.push(E),--p<=0)))return;let b=u.paginate(C,A,v);if(b===!1)return;b===C.request.options?n=C.request.options:b!==void 0&&(n=ix(void 0,b,n)),h++}};e.paginate=r,e.paginate.all=async(o,a)=>{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of Jit)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,Git),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:jit.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=Lle,e};Xl.default=Mle;Hit(Tle(),Xl)});var Hle=U((Rf,ox)=>{"use strict";var Vit=Rf&&Rf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Ule=Rf&&Rf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vit(e,t,r)};Object.defineProperty(Rf,"__esModule",{value:!0});var zit=Ie("url"),_le=U4(),Xit={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new zit.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[_le.defaultHandler],mutableDefaults:!1},_4=_le.default(Xit);Rf.default=_4;ox.exports=_4;ox.exports.default=_4;ox.exports.__esModule=!0;Ule(U4(),Rf);Ule(L4(),Rf)});var ln={};Yt(ln,{Method:()=>Jle,del:()=>rst,get:()=>G4,getNetworkSettings:()=>Kle,post:()=>W4,put:()=>tst,request:()=>c1});function Gle(t){let e=new ax.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function H4(t){return Bf(jle,t,()=>ae.readFilePromise(t).then(e=>(jle.set(t,e),e)))}function est({statusCode:t,statusMessage:e},r){let o=Kt(r,t,Bt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Yy(r,`${o}${e?` (${e})`:""}`,a)}async function lx(t,{configuration:e,customErrorMessage:r}){var o;try{return await t}catch(a){if(a.name!=="HTTPError")throw a;let n=(r==null?void 0:r(a,e))??((o=a.response.body)==null?void 0:o.error);n==null&&(a.message.startsWith("Response code")?n="The remote server failed to provide the requested resource":n=a.message),a.code==="ETIMEDOUT"&&a.event==="socket"&&(n+=`(can be increased via ${Kt(e,"httpTimeout",Bt.SETTING)})`);let u=new Jt(35,n,A=>{a.response&&A.reportError(35,` ${Zu(e,{label:"Response Code",value:Hc(Bt.NO_HINT,est(a.response,e))})}`),a.request&&(A.reportError(35,` ${Zu(e,{label:"Request Method",value:Hc(Bt.NO_HINT,a.request.options.method)})}`),A.reportError(35,` ${Zu(e,{label:"Request URL",value:Hc(Bt.URL,a.request.requestUrl)})}`)),a.request.redirects.length>0&&A.reportError(35,` ${Zu(e,{label:"Request Redirects",value:Hc(Bt.NO_HINT,IL(e,a.request.redirects,Bt.URL))})}`),a.request.retryCount===a.request.options.retry.limit&&A.reportError(35,` ${Zu(e,{label:"Request Retry Count",value:Hc(Bt.NO_HINT,`${Kt(e,a.request.retryCount,Bt.NUMBER)} (can be increased via ${Kt(e,"httpRetry",Bt.SETTING)})`)})}`)});throw u.originalError=a,u}}function Kle(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new ax.URL(t):t;for(let[u,A]of r)if(j4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function c1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=async()=>await nst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u});return await(await r.reduceHook(h=>h.wrapNetworkRequest,A,{target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u}))()}async function G4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,...a}){let n=Bf(qle,t,()=>lx(c1(t,null,{configuration:e,...a}),{configuration:e,customErrorMessage:o}).then(u=>(qle.set(t,u.body),u.body)));return Buffer.isBuffer(n)===!1&&(n=await n),r?JSON.parse(n.toString()):n}async function tst(t,e,{customErrorMessage:r,...o}){return(await lx(c1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function W4(t,e,{customErrorMessage:r,...o}){return(await lx(c1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function rst(t,{customErrorMessage:e,...r}){return(await lx(c1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function nst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new ax.URL(t):t,p=Kle(A,{configuration:r});if(p.enableNetwork===!1)throw new Jt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!j4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new Jt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let C={agent:{http:p.httpProxy?q4.default.httpOverHttp(Gle(p.httpProxy)):Zit,https:p.httpsProxy?q4.default.httpsOverHttp(Gle(p.httpsProxy)):$it},headers:o,method:u};C.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?C.body=e:C.json=e);let w=r.get("httpTimeout"),v=r.get("httpRetry"),b=r.get("enableStrictSsl"),E=p.httpsCaFilePath,R=p.httpsCertFilePath,L=p.httpsKeyFilePath,{default:_}=await Promise.resolve().then(()=>tt(Hle())),J=E?await H4(E):void 0,re=R?await H4(R):void 0,oe=L?await H4(L):void 0,pe=_.extend({timeout:{socket:w},retry:v,https:{rejectUnauthorized:b,certificateAuthority:J,certificate:re,key:oe},...C});return r.getLimit("networkConcurrency")(()=>pe(A))}var Wle,Yle,j4,q4,ax,qle,jle,Zit,$it,Jle,cx=dt(()=>{bt();Wle=Ie("https"),Yle=Ie("http"),j4=tt(Jo()),q4=tt(Eoe()),ax=Ie("url");Jl();Yl();Gl();qle=new Map,jle=new Map,Zit=new Yle.Agent({keepAlive:!0}),$it=new Wle.Agent({keepAlive:!0});Jle=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(Jle||{})});var As={};Yt(As,{availableParallelism:()=>J4,builtinModules:()=>Y4,getArchitecture:()=>u1,getArchitectureName:()=>ost,getArchitectureSet:()=>K4,getCaller:()=>ust,openUrl:()=>ist});function Y4(){return new Set(Zle.default.builtinModules||Object.keys(process.binding("natives")))}function sst(){var o;if(process.platform==="win32")return null;let e=(((o=process.report)==null?void 0:o.getReport())??{}).sharedObjects??[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return Rw(e,a=>{let n=a.match(r);if(!n)return Rw.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function u1(){return zle=zle??{os:process.platform,cpu:process.arch,libc:sst()}}function ost(t=u1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function K4(){let t=u1();return Xle=Xle??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function cst(t){let e=ast.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=lst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"<unknown>",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function ust(){let e=new Error().stack.split(` 141`)}`}}};yn.RequestError=Vi;var nx=class extends Vi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};yn.MaxRedirectsError=nx;var ix=class extends Vi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};yn.HTTPError=ix;var sx=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};yn.CacheError=sx;var ox=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};yn.UploadError=ox;var ax=class extends Vi{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};yn.TimeoutError=ax;var u1=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};yn.ReadError=u1;var lx=class extends Vi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};yn.UnsupportedProtocolError=lx;var Oit=["socket","connect","continue","information","upgrade","timeout"],cx=class extends dle.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[SC]=0,this[xC]=0,this.requestInitialized=!1,this[ex]=new Set,this.redirects=[],this[bC]=!1,this[tx]=!1,this[c1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof Q4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),yn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){nt.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof dit.ReadStream&&await Tit(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[zs])===null||h===void 0||h.destroy();return}for(let w of this[c1])w();this[c1].length=0,this.requestInitialized=!0}catch(E){if(E instanceof Vi){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(nt.default.object(e)&&!nt.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),nt.default.urlInstance(r.url)&&(r.url=new s0.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),nt.assert.any([nt.default.string,nt.default.undefined],r.method),nt.assert.any([nt.default.object,nt.default.undefined],r.headers),nt.assert.any([nt.default.string,nt.default.urlInstance,nt.default.undefined],r.prefixUrl),nt.assert.any([nt.default.object,nt.default.undefined],r.cookieJar),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.searchParams),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.cache),nt.assert.any([nt.default.object,nt.default.number,nt.default.undefined],r.timeout),nt.assert.any([nt.default.object,nt.default.undefined],r.context),nt.assert.any([nt.default.object,nt.default.undefined],r.hooks),nt.assert.any([nt.default.boolean,nt.default.undefined],r.decompress),nt.assert.any([nt.default.boolean,nt.default.undefined],r.ignoreInvalidCookies),nt.assert.any([nt.default.boolean,nt.default.undefined],r.followRedirect),nt.assert.any([nt.default.number,nt.default.undefined],r.maxRedirects),nt.assert.any([nt.default.boolean,nt.default.undefined],r.throwHttpErrors),nt.assert.any([nt.default.boolean,nt.default.undefined],r.http2),nt.assert.any([nt.default.boolean,nt.default.undefined],r.allowGetBody),nt.assert.any([nt.default.string,nt.default.undefined],r.localAddress),nt.assert.any([wle.isDnsLookupIpVersion,nt.default.undefined],r.dnsLookupIpVersion),nt.assert.any([nt.default.object,nt.default.undefined],r.https),nt.assert.any([nt.default.boolean,nt.default.undefined],r.rejectUnauthorized),r.https&&(nt.assert.any([nt.default.boolean,nt.default.undefined],r.https.rejectUnauthorized),nt.assert.any([nt.default.function_,nt.default.undefined],r.https.checkServerIdentity),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificateAuthority),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.key),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificate),nt.assert.any([nt.default.string,nt.default.undefined],r.https.passphrase),nt.assert.any([nt.default.string,nt.default.buffer,nt.default.array,nt.default.undefined],r.https.pfx)),nt.assert.any([nt.default.object,nt.default.undefined],r.cacheOptions),nt.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(o==null?void 0:o.headers)?r.headers={...r.headers}:r.headers=wit({...o==null?void 0:o.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(o==null?void 0:o.searchParams)){let b;if(nt.default.string(r.searchParams)||r.searchParams instanceof s0.URLSearchParams)b=new s0.URLSearchParams(r.searchParams);else{Fit(r.searchParams),b=new s0.URLSearchParams;for(let C in r.searchParams){let R=r.searchParams[C];R===null?b.append(C,""):R!==void 0&&b.append(C,R)}}(a=o==null?void 0:o.searchParams)===null||a===void 0||a.forEach((C,R)=>{b.has(R)||b.append(R,C)}),r.searchParams=b}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",nt.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o==null?void 0:o.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),nt.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=Ile.default(r.prefixUrl+r.url,r)}else(nt.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=Ile.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:b}=r;Object.defineProperty(r,"prefixUrl",{set:R=>{let L=r.url;if(!L.href.startsWith(R))throw new Error(`Cannot change \`prefixUrl\` from ${b} to ${R}: ${L.href}`);r.url=new s0.URL(R+L.href.slice(b.length)),b=R},get:()=>b});let{protocol:C}=r.url;if(C==="unix:"&&(C="http:",r.url=new s0.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),C!=="http:"&&C!=="https:")throw new lx(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:b,getCookieString:C}=E;nt.assert.function_(b),nt.assert.function_(C),b.length===4&&C.length===0&&(b=gle.promisify(b.bind(r.cookieJar)),C=gle.promisify(C.bind(r.cookieJar)),r.cookieJar={setCookie:b,getCookieString:C})}let{cache:w}=r;if(w&&(R4.has(w)||R4.set(w,new yle((b,C)=>{let R=b[zs](b,C);return nt.default.promise(R)&&(R.once=(L,_)=>{if(L==="error")R.catch(_);else if(L==="abort")(async()=>{try{(await R).once("abort",_)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${L}`);return R}),R},w))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)k4||(k4=new Cit.default),r.dnsCache=k4;else if(!nt.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${nt.default(r.dnsCache)}`);nt.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===(o==null?void 0:o.hooks);r.hooks={...r.hooks};for(let b of yn.knownHookEvents)if(b in r.hooks)if(nt.default.array(r.hooks[b]))r.hooks[b]=[...r.hooks[b]];else throw new TypeError(`Parameter \`${b}\` must be an Array, got ${nt.default(r.hooks[b])}`);else r.hooks[b]=[];if(o&&!v)for(let b of yn.knownHookEvents)o.hooks[b].length>0&&(r.hooks[b]=[...o.hooks[b],...r.hooks[b]]);if("family"in r&&o0.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o!=null&&o.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&o0.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&o0.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&o0.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&o0.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&o0.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&o0.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&o0.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let b in r.agent)if(b!=="http"&&b!=="https"&&b!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${b}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,yn.setNonEnumerableProperties([o,h],r),bit.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!nt.default.undefined(e.form),a=!nt.default.undefined(e.json),n=!nt.default.undefined(e.body),u=o||a||n,A=yn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof dle.Readable)&&!nt.default.string(e.body)&&!nt.default.buffer(e.body)&&!Cle.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!nt.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!nt.default.string(r["content-type"]);n?(Cle.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[a0]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[a0]=new s0.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[a0]=e.stringifyJson(e.json));let h=await Bit.default(this[a0],e.headers);nt.default.undefined(r["content-length"])&&nt.default.undefined(r["transfer-encoding"])&&!A&&!nt.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[PC]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Sle]=e,r.decompress&&(e=Eit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:mle.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[vle]=n.isFromCache,this[DC]=Number(e.headers["content-length"])||void 0,this[rx]=e,e.once("end",()=>{this[DC]=this[SC],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new u1(A,this))}),e.once("aborted",()=>{this._beforeError(new u1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(nt.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&Nit.has(a)){if(e.resume(),this[zs]&&(this[F4](),delete this[zs],this[Ble]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[a0]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new nx(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new s0.URL(p,o),E=h.toString();decodeURI(E),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let w of r.hooks.beforeRedirect)await w(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!xit.isResponseOk(n)){this._beforeError(new ix(n));return}e.on("readable",()=>{this[tx]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[ex])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&A.setHeader(p,E)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;yit.default(e),this[F4]=Ele.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof Ele.TimeoutError?new ax(p,this.timings,this):new Vi(p.message,p,this),this._beforeError(p)}),this[Ble]=vit.default(e,this,Oit),this[zs]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[a0],A=this.redirects.length===0?this:e;nt.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new ox(p,this))})):(this._unlockWrite(),nt.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,Dit.default(e)),delete r.url;let n,u=R4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let _ in A)if(nt.default.undefined(A[_]))delete A[_];else if(nt.default.null_(A[_]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${_}\` header`);if(u.decompress&&nt.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=kit?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let _=await u.cookieJar.getCookieString(u.url.toString());nt.default.nonEmptyString(_)&&(u.headers.cookie=_)}for(let _ of u.hooks.beforeRequest){let V=await _(u);if(!nt.default.undefined(V)){u.request=()=>V;break}}u.body&&this[a0]!==u.body&&(this[a0]=u.body);let{agent:p,request:h,timeout:E,url:w}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),w.hostname==="unix"){let _=/(?<socketPath>.+?):(?<path>.+)/.exec(`${w.pathname}${w.search}`);if(_!=null&&_.groups){let{socketPath:V,path:re}=_.groups;Object.assign(u,{socketPath:V,path:re,host:""})}}let v=w.protocol==="https:",b;u.http2?b=Iit.auto:b=v?mit.request:mle.request;let C=(e=u.request)!==null&&e!==void 0?e:b,R=u.cache?this._createCacheableRequest:C;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[zs]=C,delete u.request,delete u.timeout;let L=u;if(L.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,L.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,L.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,L.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{L.family=wle.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(L.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(L.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(L.ca=u.https.certificateAuthority),u.https.certificate&&(L.cert=u.https.certificate),u.https.key&&(L.key=u.https.key),u.https.passphrase&&(L.passphrase=u.https.passphrase),u.https.pfx&&(L.pfx=u.https.pfx));try{let _=await R(w,L);nt.default.undefined(_)&&(_=b(w,L)),u.request=h,u.timeout=E,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete L.rejectUnauthorized,u.https.checkServerIdentity&&delete L.checkServerIdentity,u.https.certificateAuthority&&delete L.ca,u.https.certificate&&delete L.cert,u.https.key&&delete L.key,u.https.passphrase&&delete L.passphrase,u.https.pfx&&delete L.pfx),Rit(_)?this._onRequest(_):this.writable?(this.once("finish",()=>{this._onResponse(_)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(_)}catch(_){throw _ instanceof yle.CacheError?new sx(_,this):new Vi(_.message,_,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Vi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[bC])return;let{options:r}=this,o=this.retryCount+1;this[bC]=!0,e instanceof Vi||(e=new Vi(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Pit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:Qit.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Vi(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Vi(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[Ple]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[tx]=!0;let e=this[rx];if(e&&!this[bC]){e.readableLength&&(this[tx]=!1);let r;for(;(r=e.read())!==null;){this[SC]+=r.length,this[Dle]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[c1].push(a)}_writeRequest(e,r,o){this[zs].destroyed||(this._progressCallbacks.push(()=>{this[xC]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[zs].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(zs in this)){e();return}if(this[zs].destroyed){e();return}this[zs].end(o=>{o||(this[PC]=this[xC],this.emit("uploadProgress",this.uploadProgress),this[zs].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[c1].push(r)}_destroy(e,r){var o;this[bC]=!0,clearTimeout(this[Ple]),zs in this&&(this[F4](),!((o=this[rx])===null||o===void 0)&&o.complete||this[zs].destroy()),e!==null&&!nt.default.undefined(e)&&!(e instanceof Vi)&&(e=new Vi(e.message,e,this)),r(e)}get _isAboutToError(){return this[bC]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[zs])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Sle])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[zs])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[DC]?e=this[SC]/this[DC]:this[DC]===this[SC]?e=1:e=0,{percent:e,transferred:this[SC],total:this[DC]}}get uploadProgress(){let e;return this[PC]?e=this[xC]/this[PC]:this[PC]===this[xC]?e=1:e=0,{percent:e,transferred:this[xC],total:this[PC]}}get timings(){var e;return(e=this[zs])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[vle]}pipe(e,r){if(this[Dle])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof Q4.ServerResponse&&this[ex].add(e),super.pipe(e,r)}unpipe(e){return e instanceof Q4.ServerResponse&&this[ex].delete(e),super.unpipe(e),this}};yn.default=cx});var f1=U(Kc=>{"use strict";var Mit=Kc&&Kc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Uit=Kc&&Kc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Mit(e,t,r)};Object.defineProperty(Kc,"__esModule",{value:!0});Kc.CancelError=Kc.ParseError=void 0;var xle=A1(),T4=class extends xle.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};Kc.ParseError=T4;var N4=class extends xle.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Kc.CancelError=N4;Uit(A1(),Kc)});var Qle=U(L4=>{"use strict";Object.defineProperty(L4,"__esModule",{value:!0});var ble=f1(),_it=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new ble.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new ble.ParseError(n,t)}};L4.default=_it});var O4=U(l0=>{"use strict";var Hit=l0&&l0.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),qit=l0&&l0.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Hit(e,t,r)};Object.defineProperty(l0,"__esModule",{value:!0});var jit=Ie("events"),Git=Tf(),Wit=Qoe(),ux=f1(),kle=Qle(),Fle=A1(),Yit=C4(),Kit=S4(),Rle=P4(),Vit=["request","response","redirect","uploadProgress","downloadProgress"];function Tle(t){let e,r,o=new jit.EventEmitter,a=new Wit((u,A,p)=>{let h=E=>{let w=new Fle.default(void 0,t);w.retryCount=E,w._noPipe=!0,p(()=>w.destroy()),p.shouldReject=!1,p(()=>A(new ux.CancelError(w))),e=w,w.once("response",async C=>{var R;if(C.retryCount=E,C.request.aborted)return;let L;try{L=await Kit.default(w),C.rawBody=L}catch{return}if(w._isAboutToError)return;let _=((R=C.headers["content-encoding"])!==null&&R!==void 0?R:"").toLowerCase(),V=["gzip","deflate","br"].includes(_),{options:re}=w;if(V&&!re.decompress)C.body=L;else try{C.body=kle.default(C,re.responseType,re.parseJson,re.encoding)}catch(oe){if(C.body=L.toString(),Rle.isResponseOk(C)){w._beforeError(oe);return}}try{for(let[oe,pe]of re.hooks.afterResponse.entries())C=await pe(C,async he=>{let ve=Fle.default.normalizeArguments(void 0,{...he,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},re);ve.hooks.afterResponse=ve.hooks.afterResponse.slice(0,oe);for(let le of ve.hooks.beforeRetry)await le(ve);let ge=Tle(ve);return p(()=>{ge.catch(()=>{}),ge.cancel()}),ge})}catch(oe){w._beforeError(new ux.RequestError(oe.message,oe,w));return}if(!Rle.isResponseOk(C)){w._beforeError(new ux.HTTPError(C));return}r=C,u(w.options.resolveBodyOnly?C.body:C)});let v=C=>{if(a.isCanceled)return;let{options:R}=w;if(C instanceof ux.HTTPError&&!R.throwHttpErrors){let{response:L}=C;u(w.options.resolveBodyOnly?L.body:L);return}A(C)};w.once("error",v);let b=w.options.body;w.once("retry",(C,R)=>{var L,_;if(b===((L=R.request)===null||L===void 0?void 0:L.options.body)&&Git.default.nodeStream((_=R.request)===null||_===void 0?void 0:_.options.body)){v(R);return}h(C)}),Yit.default(w,o,Vit)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return kle.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}l0.default=Tle;qit(f1(),l0)});var Nle=U(M4=>{"use strict";Object.defineProperty(M4,"__esModule",{value:!0});var Jit=f1();function zit(t,...e){let r=(async()=>{if(t instanceof Jit.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}M4.default=zit});var Mle=U(U4=>{"use strict";Object.defineProperty(U4,"__esModule",{value:!0});var Lle=Tf();function Ole(t){for(let e of Object.values(t))(Lle.default.plainObject(e)||Lle.default.array(e))&&Ole(e);return Object.freeze(t)}U4.default=Ole});var _le=U(Ule=>{"use strict";Object.defineProperty(Ule,"__esModule",{value:!0})});var _4=U(ec=>{"use strict";var Xit=ec&&ec.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Zit=ec&&ec.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Xit(e,t,r)};Object.defineProperty(ec,"__esModule",{value:!0});ec.defaultHandler=void 0;var Hle=Tf(),$l=O4(),$it=Nle(),fx=A1(),est=Mle(),tst={RequestError:$l.RequestError,CacheError:$l.CacheError,ReadError:$l.ReadError,HTTPError:$l.HTTPError,MaxRedirectsError:$l.MaxRedirectsError,TimeoutError:$l.TimeoutError,ParseError:$l.ParseError,CancelError:$l.CancelError,UnsupportedProtocolError:$l.UnsupportedProtocolError,UploadError:$l.UploadError},rst=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Ax}=fx.default,qle=(...t)=>{let e;for(let r of t)e=Ax(void 0,r,e);return e},nst=t=>t.isStream?new fx.default(void 0,t):$l.default(t),ist=t=>"defaults"in t&&"options"in t.defaults,sst=["get","post","put","patch","head","delete"];ec.defaultHandler=(t,e)=>e(t);var jle=(t,e)=>{if(t)for(let r of t)r(e)},Gle=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:E,finally:w}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=E,p.finally=w}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?nst:h);if(Hle.default.plainObject(o)){let E={...o,...a};fx.setNonEnumerableProperties([o,a],E),a=E,o=void 0}try{let E;try{jle(t.options.hooks.init,a),jle((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){E=v}let w=Ax(o,a,n??t.options);if(w[fx.kIsNormalizedAlready]=!0,E)throw new $l.RequestError(E.message,E,w);return h(w)}catch(E){if(a.isStream)throw E;return $it.default(E,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)ist(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==ec.defaultHandler),n.length===0&&n.push(ec.defaultHandler),Gle({options:qle(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=Ax(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!Hle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h<u.requestLimit;){h!==0&&await rst(u.backoff);let E=await e(void 0,void 0,n),w=await u.transform(E),v=[];for(let C of w)if(u.filter(C,A,v)&&(!u.shouldContinue(C,A,v)||(yield C,u.stackAllItems&&A.push(C),v.push(C),--p<=0)))return;let b=u.paginate(E,A,v);if(b===!1)return;b===E.request.options?n=E.request.options:b!==void 0&&(n=Ax(void 0,b,n)),h++}};e.paginate=r,e.paginate.all=async(o,a)=>{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of sst)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,tst),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:est.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=qle,e};ec.default=Gle;Zit(_le(),ec)});var Kle=U((Nf,px)=>{"use strict";var ost=Nf&&Nf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Wle=Nf&&Nf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ost(e,t,r)};Object.defineProperty(Nf,"__esModule",{value:!0});var ast=Ie("url"),Yle=_4(),lst={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new ast.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[Yle.defaultHandler],mutableDefaults:!1},H4=Yle.default(lst);Nf.default=H4;px.exports=H4;px.exports.default=H4;px.exports.__esModule=!0;Wle(_4(),Nf);Wle(O4(),Nf)});var ln={};Yt(ln,{Method:()=>ece,del:()=>pst,get:()=>W4,getNetworkSettings:()=>$le,post:()=>Y4,put:()=>fst,request:()=>p1});function zle(t){let e=new hx.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function q4(t){return Df(Jle,t,()=>ae.readFilePromise(t).then(e=>(Jle.set(t,e),e)))}function Ast({statusCode:t,statusMessage:e},r){let o=Kt(r,t,Bt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Xy(r,`${o}${e?` (${e})`:""}`,a)}async function gx(t,{configuration:e,customErrorMessage:r}){var o;try{return await t}catch(a){if(a.name!=="HTTPError")throw a;let n=(r==null?void 0:r(a,e))??((o=a.response.body)==null?void 0:o.error);n==null&&(a.message.startsWith("Response code")?n="The remote server failed to provide the requested resource":n=a.message),a.code==="ETIMEDOUT"&&a.event==="socket"&&(n+=`(can be increased via ${Kt(e,"httpTimeout",Bt.SETTING)})`);let u=new Vt(35,n,A=>{a.response&&A.reportError(35,` ${$u(e,{label:"Response Code",value:Gc(Bt.NO_HINT,Ast(a.response,e))})}`),a.request&&(A.reportError(35,` ${$u(e,{label:"Request Method",value:Gc(Bt.NO_HINT,a.request.options.method)})}`),A.reportError(35,` ${$u(e,{label:"Request URL",value:Gc(Bt.URL,a.request.requestUrl)})}`)),a.request.redirects.length>0&&A.reportError(35,` ${$u(e,{label:"Request Redirects",value:Gc(Bt.NO_HINT,wL(e,a.request.redirects,Bt.URL))})}`),a.request.retryCount===a.request.options.retry.limit&&A.reportError(35,` ${$u(e,{label:"Request Retry Count",value:Gc(Bt.NO_HINT,`${Kt(e,a.request.retryCount,Bt.NUMBER)} (can be increased via ${Kt(e,"httpRetry",Bt.SETTING)})`)})}`)});throw u.originalError=a,u}}function $le(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new hx.URL(t):t;for(let[u,A]of r)if(G4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function p1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=async()=>await hst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u});return await(await r.reduceHook(h=>h.wrapNetworkRequest,A,{target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u}))()}async function W4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,...a}){let n=Df(Vle,t,()=>gx(p1(t,null,{configuration:e,...a}),{configuration:e,customErrorMessage:o}).then(u=>(Vle.set(t,u.body),u.body)));return Buffer.isBuffer(n)===!1&&(n=await n),r?JSON.parse(n.toString()):n}async function fst(t,e,{customErrorMessage:r,...o}){return(await gx(p1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function Y4(t,e,{customErrorMessage:r,...o}){return(await gx(p1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function pst(t,{customErrorMessage:e,...r}){return(await gx(p1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function hst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new hx.URL(t):t,p=$le(A,{configuration:r});if(p.enableNetwork===!1)throw new Vt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!G4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new Vt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let E={agent:{http:p.httpProxy?j4.default.httpOverHttp(zle(p.httpProxy)):cst,https:p.httpsProxy?j4.default.httpsOverHttp(zle(p.httpsProxy)):ust},headers:o,method:u};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let w=r.get("httpTimeout"),v=r.get("httpRetry"),b=r.get("enableStrictSsl"),C=p.httpsCaFilePath,R=p.httpsCertFilePath,L=p.httpsKeyFilePath,{default:_}=await Promise.resolve().then(()=>tt(Kle())),V=C?await q4(C):void 0,re=R?await q4(R):void 0,oe=L?await q4(L):void 0,pe=_.extend({timeout:{socket:w},retry:v,https:{rejectUnauthorized:b,certificateAuthority:V,certificate:re,key:oe},...E});return r.getLimit("networkConcurrency")(()=>pe(A))}var Xle,Zle,G4,j4,hx,Vle,Jle,cst,ust,ece,dx=dt(()=>{bt();Xle=Ie("https"),Zle=Ie("http"),G4=tt(Jo()),j4=tt(Doe()),hx=Ie("url");Xl();Jl();Kl();Vle=new Map,Jle=new Map,cst=new Zle.Agent({keepAlive:!0}),ust=new Xle.Agent({keepAlive:!0});ece=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(ece||{})});var As={};Yt(As,{availableParallelism:()=>J4,builtinModules:()=>K4,getArchitecture:()=>h1,getArchitectureName:()=>mst,getArchitectureSet:()=>V4,getCaller:()=>Ist,openUrl:()=>gst});function K4(){return new Set(ice.default.builtinModules||Object.keys(process.binding("natives")))}function dst(){var o;if(process.platform==="win32")return null;let e=(((o=process.report)==null?void 0:o.getReport())??{}).sharedObjects??[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return Ow(e,a=>{let n=a.match(r);if(!n)return Ow.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function h1(){return rce=rce??{os:process.platform,cpu:process.arch,libc:dst()}}function mst(t=h1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function V4(){let t=h1();return nce=nce??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function Est(t){let e=yst.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=Cst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"<unknown>",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function Ist(){let e=new Error().stack.split(`
142`)[3];return cst(e)}function J4(){return"availableParallelism"in ux.default?ux.default.availableParallelism():Math.max(1,ux.default.cpus().length)}var Zle,ux,Vle,ist,zle,Xle,ast,lst,A1=dt(()=>{bt();Zle=tt(Ie("module")),ux=tt(Ie("os"));Ax();Gl();Vle=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),ist=typeof Vle<"u"?async t=>{try{return await V4(Vle,[t],{cwd:V.cwd()}),!0}catch{return!1}}:void 0;ast=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,lst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function eU(t,e,r,o,a){let n=Zw(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>z4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>z4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return z4(t,e,r,o,a)}function z4(t,e,r,o,a){var p;let n=Zw(r);switch(o.type){case"ANY":return kP(n);case"SHAPE":return hst(t,e,r,o,a);case"MAP":return gst(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((p=o.values)!=null&&p.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return Tw(n);if(typeof n!="string")throw new Error(`Expected value (${n}) to be a string`);let h=pL(n,{env:process.env});switch(o.type){case"ABSOLUTE_PATH":{let C=a,w=DM(r);return w&&(C=V.resolve(w,"..")),V.resolve(C,Ae.toPortablePath(h))}case"LOCATOR_LOOSE":return bf(h,!1);case"NUMBER":return parseInt(h);case"LOCATOR":return bf(h);case"BOOLEAN":return Tw(h);default:return h}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function hst(t,e,r,o,a){let n=Zw(r);if(typeof n!="object"||Array.isArray(n))throw new ot(`Object configuration settings "${e}" must be an object`);let u=tU(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new ot(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,eU(t,h,p,o.properties[A],a))}return u}function gst(t,e,r,o,a){let n=Zw(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new ot(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,C=`${e}['${h}']`,w=o.valueDefinition;u.set(h,eU(t,C,p,w,a))}return u}function tU(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,tU(t,n));return o}break;case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?V.isAbsolute(e.default)?V.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>V.resolve(t.projectCwd,o)):V.resolve(t.projectCwd,e.default);default:return e.default}}function px(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return pst;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return Ae.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(px(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries())o.set(a,px(n,e.valueDefinition,r));return o}if(e.type==="SHAPE"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a];o.set(a,px(n,u,r))}return o}return t}function dst(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(gx)&&(e=(0,ece.default)(e.slice(gx.length)),t[e]=r);return t}function hx(){let t=`${gx}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return Z4}var ece,l0,tce,X4,$le,Ast,fst,DE,gx,Z4,$4,pst,f1,rce,dx,fx,rU,Yc,Xe,p1=dt(()=>{bt();Oc();Ol();ece=tt(iJ()),l0=tt(Jg());_t();tce=tt($g()),X4=Ie("stream");Lse();sE();mM();yM();EM();loe();CM();wd();poe();RP();Yl();e0();cx();Gl();A1();r0();Ks();Ast=l0.GITHUB_ACTIONS&&process.env.GITHUB_EVENT_PATH?!((($le=ae.readJsonSync(Ae.toPortablePath(process.env.GITHUB_EVENT_PATH)).repository)==null?void 0:$le.private)??!0):!1,fst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),DE=/^(?!v)[a-z0-9._-]+$/i,gx="yarn_",Z4=".yarnrc.yml",$4="yarn.lock",pst="********",f1=(C=>(C.ANY="ANY",C.BOOLEAN="BOOLEAN",C.ABSOLUTE_PATH="ABSOLUTE_PATH",C.LOCATOR="LOCATOR",C.LOCATOR_LOOSE="LOCATOR_LOOSE",C.NUMBER="NUMBER",C.STRING="STRING",C.SECRET="SECRET",C.SHAPE="SHAPE",C.MAP="MAP",C))(f1||{}),rce=Bt,dx=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(dx||{}),fx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:PM()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:oy},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:$4},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:hx()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:qS,defaultText:"<dynamic>"},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:CL,defaultText:"<dynamic>"},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:l0.isCI,defaultText:"<dynamic>"},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!l0.isCI,defaultText:"<dynamic>"},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:l0.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:"<dynamic>"},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(GS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:l0.isPR&&Ast,defaultText:"<true on public PRs>"},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};rU=(o=>(o[o.LOCKFILE=0]="LOCKFILE",o[o.MANIFEST=1]="MANIFEST",o[o.NONE=2]="NONE",o))(rU||{}),Yc=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,o){let a=new Yc(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(fx);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{lookup:o=0,strict:a=!0,usePath:n=!1,useRc:u=!0}={}){let A=dst();delete A.rcFilename;let p=await Yc.findRcFiles(e),h=await Yc.findHomeRcFile();h&&(p.find(ve=>ve.path===h.path)||p.unshift(h));let C=foe(p.map(he=>[he.path,he.data])),w=".",v=new Set(Object.keys(fx)),b=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le})=>({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le}),E=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ee]of Object.entries(Pe))v.has(De)&&(g[De]=Ee);return g},R=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ee]of Object.entries(Pe))v.has(De)||(g[De]=Ee);return g},L=new Yc(e);if(L.importSettings(b(fx)),L.useWithSource("<environment>",b(A),e,{strict:!1}),C){let[he,ve]=C;L.useWithSource(he,b(ve),w,{strict:!1})}if(n){let he=L.get("yarnPath"),ve=L.get("ignorePath");if(he!==null&&!ve)return L}let _=L.get("lockfileFilename"),J;switch(o){case 0:J=await Yc.findProjectCwd(e,_);break;case 1:J=await Yc.findProjectCwd(e,null);break;case 2:ae.existsSync(V.join(e,"package.json"))?J=V.resolve(e):J=null;break}if(L.startingCwd=e,L.projectCwd=J,L.importSettings(E(fx)),L.useWithSource("<environment>",E(A),e,{strict:a}),C){let[he,ve]=C;L.useWithSource(he,E(ve),w,{strict:a})}let re=he=>"default"in he?he.default:he,oe=new Map([["@@core",Nse]]);if(r!==null)for(let he of r.plugins.keys())oe.set(he,re(r.modules.get(he)));for(let[he,ve]of oe)L.activatePlugin(he,ve);let pe=new Map([]);if(r!==null){let he=new Map;for(let le of Y4())he.set(le,()=>Kp(le));for(let[le,Pe]of r.modules)he.set(le,()=>Pe);let ve=new Set,ge=async(le,Pe)=>{let{factory:g,name:De}=Kp(le);if(!g||ve.has(De))return;let Ee=new Map(he),de=Z=>{if(Ee.has(Z))return Ee.get(Z)();throw new ot(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ne=await jy(async()=>re(await g(de)),Z=>`${Z} (when initializing ${De}, defined in ${Pe})`);he.set(De,()=>ne),ve.add(De),pe.set(De,ne)};if(A.plugins)for(let le of A.plugins.split(";")){let Pe=V.resolve(e,Ae.toPortablePath(le));await ge(Pe,"<environment>")}for(let{path:le,cwd:Pe,data:g}of p)if(!!u&&!!Array.isArray(g.plugins))for(let De of g.plugins){let Ee=typeof De!="string"?De.path:De,de=(De==null?void 0:De.spec)??"",ne=(De==null?void 0:De.checksum)??"",Z=V.resolve(Pe,Ae.toPortablePath(Ee));if(!await ae.existsPromise(Z)){if(!de){let ut=Kt(L,V.basename(Z,".cjs"),Bt.NAME),H=Kt(L,".gitignore",Bt.NAME),yt=Kt(L,L.values.get("rcFilename"),Bt.NAME),Me=Kt(L,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Bt.URL);throw new ot(`Missing source for the ${ut} plugin - please try to remove the plugin from ${yt} then reinstall it manually. This error usually occurs because ${H} is incorrect, check ${Me} to make sure your plugin folder isn't gitignored.`)}if(!de.match(/^https?:/)){let ut=Kt(L,V.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME);throw new ot(`Failed to recognize the source for the ${ut} plugin - please try to delete the plugin from ${H} then reinstall it manually.`)}let me=await G4(de,{configuration:L}),be=Js(me);if(ne&&ne!==be){let ut=Kt(L,V.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME),yt=Kt(L,`yarn plugin import ${de}`,Bt.CODE);throw new ot(`Failed to fetch the ${ut} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${H} then run ${yt} to reimport it.`)}await ae.mkdirPromise(V.dirname(Z),{recursive:!0}),await ae.writeFilePromise(Z,me)}await ge(Z,le)}}for(let[he,ve]of pe)L.activatePlugin(he,ve);if(L.useWithSource("<environment>",R(A),e,{strict:a}),C){let[he,ve]=C;L.useWithSource(he,R(ve),w,{strict:a})}return L.get("enableGlobalCache")&&(L.values.set("cacheFolder",`${L.get("globalFolder")}/cache`),L.sources.set("cacheFolder","<internal>")),await L.refreshPackageExtensions(),L}static async findRcFiles(e){let r=hx(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=V.join(n,r);if(ae.existsSync(u)){let A=await ae.readFilePromise(u,"utf8"),p;try{p=Yi(A)}catch{let C="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(C=" (in particular, make sure you list the colons after each key name)"),new ot(`Parse error when loading ${u}; please check it's proper Yaml${C}`)}o.unshift({path:u,cwd:n,data:p})}a=V.dirname(n)}return o}static async findHomeRcFile(){let e=hx(),r=fE(),o=V.join(r,e);if(ae.existsSync(o)){let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);return{path:o,cwd:r,data:n}}return null}static async findProjectCwd(e,r){let o=null,a=e,n=null;for(;a!==n;){if(n=a,ae.existsSync(V.join(n,"package.json"))&&(o=n),r!==null){if(ae.existsSync(V.join(n,r))){o=n;break}}else if(o!==null)break;a=V.dirname(n)}return o}static async updateConfiguration(e,r){let o=hx(),a=V.join(e,o),n=ae.existsSync(a)?Yi(await ae.readFilePromise(a,"utf8")):{},u=!1,A;if(typeof r=="function"){try{A=r(n)}catch{A=r({})}if(A===n)return}else{A=n;for(let p of Object.keys(r)){let h=n[p],C=r[p],w;if(typeof C=="function")try{w=C(h)}catch{w=C(void 0)}else w=C;h!==w&&(w===Yc.deleteProperty?delete A[p]:A[p]=w,u=!0)}if(!u)return}await ae.changeFilePromise(a,Ia(A),{automaticNewlines:!0})}static async addPlugin(e,r){r.length!==0&&await Yc.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(C=>C.path===p);h?(n.push(h),u=u.filter(C=>C!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=fE();return await Yc.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,tU(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Kt(this,e,Bt.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=DM(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e==="<environment>"&&fst.has(u))continue;if(u==="rcFilename")throw new ot(`The rcFilename settings can only be set via ${`${gx}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let w=fE(),v=V.resolve(e,"..");if(a&&!(w===v))throw new ot(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let C;try{C=eU(this,u,A,h,o)}catch(w){throw w.message+=` in ${Kt(this,e,Bt.PATH)}`,w}if(u==="enableStrictSettings"&&e!=="<environment>"){a=C;continue}if(h.type==="MAP"){let w=this.values.get(u);this.values.set(u,new Map(n?[...w,...C]:[...C,...w])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let w=this.values.get(u);this.values.set(u,n?[...w,...C]:[...C,...w]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,C),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new ot(`Couldn't find a configuration settings named "${e}"`);return px(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=ae.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Kt(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Kt(this,"STDERR","red")}`);n=new X4.PassThrough,n.pipe(p),n.pipe(A),u=new X4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} 142`)[3];return Est(e)}function J4(){return"availableParallelism"in mx.default?mx.default.availableParallelism():Math.max(1,mx.default.cpus().length)}var ice,mx,tce,gst,rce,nce,yst,Cst,g1=dt(()=>{bt();ice=tt(Ie("module")),mx=tt(Ie("os"));yx();Kl();tce=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),gst=typeof tce<"u"?async t=>{try{return await z4(tce,[t],{cwd:z.cwd()}),!0}catch{return!1}}:void 0;yst=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Cst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function tU(t,e,r,o,a){let n=r1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>X4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>X4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return X4(t,e,r,o,a)}function X4(t,e,r,o,a){var p;let n=r1(r);switch(o.type){case"ANY":return MP(n);case"SHAPE":return Dst(t,e,r,o,a);case"MAP":return Sst(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((p=o.values)!=null&&p.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return Mw(n);if(typeof n!="string")throw new Error(`Expected value (${n}) to be a string`);let h=hL(n,{env:process.env});switch(o.type){case"ABSOLUTE_PATH":{let E=a,w=SM(r);return w&&(E=z.resolve(w,"..")),z.resolve(E,ue.toPortablePath(h))}case"LOCATOR_LOOSE":return kf(h,!1);case"NUMBER":return parseInt(h);case"LOCATOR":return kf(h);case"BOOLEAN":return Mw(h);default:return h}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function Dst(t,e,r,o,a){let n=r1(r);if(typeof n!="object"||Array.isArray(n))throw new ot(`Object configuration settings "${e}" must be an object`);let u=rU(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new ot(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,tU(t,h,p,o.properties[A],a))}return u}function Sst(t,e,r,o,a){let n=r1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new ot(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,E=`${e}['${h}']`,w=o.valueDefinition;u.set(h,tU(t,E,p,w,a))}return u}function rU(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,rU(t,n));return o}break;case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?z.isAbsolute(e.default)?z.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>z.resolve(t.projectCwd,o)):z.resolve(t.projectCwd,e.default);default:return e.default}}function Ex(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return vst;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return ue.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(Ex(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries())o.set(a,Ex(n,e.valueDefinition,r));return o}if(e.type==="SHAPE"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a];o.set(a,Ex(n,u,r))}return o}return t}function Pst(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(wx)&&(e=(0,oce.default)(e.slice(wx.length)),t[e]=r);return t}function Ix(){let t=`${wx}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return $4}var oce,c0,ace,Z4,sce,wst,Bst,QC,wx,$4,eU,vst,d1,lce,Bx,Cx,nU,Vc,Xe,m1=dt(()=>{bt();_c();_l();oce=tt(uV()),c0=tt(Xg());_t();ace=tt(rd()),Z4=Ie("stream");qse();uC();yM();CM();EM();hoe();IM();Dd();Coe();_P();Jl();t0();dx();Kl();g1();n0();Ks();wst=c0.GITHUB_ACTIONS&&process.env.GITHUB_EVENT_PATH?!(((sce=ae.readJsonSync(ue.toPortablePath(process.env.GITHUB_EVENT_PATH)).repository)==null?void 0:sce.private)??!0):!1,Bst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry"]),QC=/^(?!v)[a-z0-9._-]+$/i,wx="yarn_",$4=".yarnrc.yml",eU="yarn.lock",vst="********",d1=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(d1||{}),lce=Bt,Bx=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(Bx||{}),Cx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:xM()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Ay},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:eU},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Ix()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:JS,defaultText:"<dynamic>"},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:IL,defaultText:"<dynamic>"},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:c0.isCI,defaultText:"<dynamic>"},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!c0.isCI,defaultText:"<dynamic>"},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:c0.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:"<dynamic>"},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(XS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:c0.isPR&&wst,defaultText:"<true on public PRs>"},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};nU=(o=>(o[o.LOCKFILE=0]="LOCKFILE",o[o.MANIFEST=1]="MANIFEST",o[o.NONE=2]="NONE",o))(nU||{}),Vc=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,o){let a=new Vc(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(Cx);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{lookup:o=0,strict:a=!0,usePath:n=!1,useRc:u=!0}={}){let A=Pst();delete A.rcFilename;let p=await Vc.findRcFiles(e),h=await Vc.findHomeRcFile();h&&(p.find(ve=>ve.path===h.path)||p.unshift(h));let E=yoe(p.map(he=>[he.path,he.data])),w=".",v=new Set(Object.keys(Cx)),b=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le})=>({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le}),C=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ce]of Object.entries(Pe))v.has(De)&&(g[De]=Ce);return g},R=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ce]of Object.entries(Pe))v.has(De)||(g[De]=Ce);return g},L=new Vc(e);if(L.importSettings(b(Cx)),L.useWithSource("<environment>",b(A),e,{strict:!1}),E){let[he,ve]=E;L.useWithSource(he,b(ve),w,{strict:!1})}if(n){let he=L.get("yarnPath"),ve=L.get("ignorePath");if(he!==null&&!ve)return L}let _=L.get("lockfileFilename"),V;switch(o){case 0:V=await Vc.findProjectCwd(e,_);break;case 1:V=await Vc.findProjectCwd(e,null);break;case 2:ae.existsSync(z.join(e,"package.json"))?V=z.resolve(e):V=null;break}if(L.startingCwd=e,L.projectCwd=V,L.importSettings(C(Cx)),L.useWithSource("<environment>",C(A),e,{strict:a}),E){let[he,ve]=E;L.useWithSource(he,C(ve),w,{strict:a})}let re=he=>"default"in he?he.default:he,oe=new Map([["@@core",Hse]]);if(r!==null)for(let he of r.plugins.keys())oe.set(he,re(r.modules.get(he)));for(let[he,ve]of oe)L.activatePlugin(he,ve);let pe=new Map([]);if(r!==null){let he=new Map;for(let le of K4())he.set(le,()=>Vp(le));for(let[le,Pe]of r.modules)he.set(le,()=>Pe);let ve=new Set,ge=async(le,Pe)=>{let{factory:g,name:De}=Vp(le);if(!g||ve.has(De))return;let Ce=new Map(he),de=Z=>{if(Ce.has(Z))return Ce.get(Z)();throw new ot(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ne=await Vy(async()=>re(await g(de)),Z=>`${Z} (when initializing ${De}, defined in ${Pe})`);he.set(De,()=>ne),ve.add(De),pe.set(De,ne)};if(A.plugins)for(let le of A.plugins.split(";")){let Pe=z.resolve(e,ue.toPortablePath(le));await ge(Pe,"<environment>")}for(let{path:le,cwd:Pe,data:g}of p)if(!!u&&!!Array.isArray(g.plugins))for(let De of g.plugins){let Ce=typeof De!="string"?De.path:De,de=(De==null?void 0:De.spec)??"",ne=(De==null?void 0:De.checksum)??"",Z=z.resolve(Pe,ue.toPortablePath(Ce));if(!await ae.existsPromise(Z)){if(!de){let ut=Kt(L,z.basename(Z,".cjs"),Bt.NAME),H=Kt(L,".gitignore",Bt.NAME),yt=Kt(L,L.values.get("rcFilename"),Bt.NAME),Me=Kt(L,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Bt.URL);throw new ot(`Missing source for the ${ut} plugin - please try to remove the plugin from ${yt} then reinstall it manually. This error usually occurs because ${H} is incorrect, check ${Me} to make sure your plugin folder isn't gitignored.`)}if(!de.match(/^https?:/)){let ut=Kt(L,z.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME);throw new ot(`Failed to recognize the source for the ${ut} plugin - please try to delete the plugin from ${H} then reinstall it manually.`)}let me=await W4(de,{configuration:L}),be=Vs(me);if(ne&&ne!==be){let ut=Kt(L,z.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME),yt=Kt(L,`yarn plugin import ${de}`,Bt.CODE);throw new ot(`Failed to fetch the ${ut} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${H} then run ${yt} to reimport it.`)}await ae.mkdirPromise(z.dirname(Z),{recursive:!0}),await ae.writeFilePromise(Z,me)}await ge(Z,le)}}for(let[he,ve]of pe)L.activatePlugin(he,ve);if(L.useWithSource("<environment>",R(A),e,{strict:a}),E){let[he,ve]=E;L.useWithSource(he,R(ve),w,{strict:a})}return L.get("enableGlobalCache")&&(L.values.set("cacheFolder",`${L.get("globalFolder")}/cache`),L.sources.set("cacheFolder","<internal>")),await L.refreshPackageExtensions(),L}static async findRcFiles(e){let r=Ix(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=z.join(n,r);if(ae.existsSync(u)){let A=await ae.readFilePromise(u,"utf8"),p;try{p=Yi(A)}catch{let E="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(E=" (in particular, make sure you list the colons after each key name)"),new ot(`Parse error when loading ${u}; please check it's proper Yaml${E}`)}o.unshift({path:u,cwd:n,data:p})}a=z.dirname(n)}return o}static async findHomeRcFile(){let e=Ix(),r=mC(),o=z.join(r,e);if(ae.existsSync(o)){let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);return{path:o,cwd:r,data:n}}return null}static async findProjectCwd(e,r){let o=null,a=e,n=null;for(;a!==n;){if(n=a,ae.existsSync(z.join(n,"package.json"))&&(o=n),r!==null){if(ae.existsSync(z.join(n,r))){o=n;break}}else if(o!==null)break;a=z.dirname(n)}return o}static async updateConfiguration(e,r){let o=Ix(),a=z.join(e,o),n=ae.existsSync(a)?Yi(await ae.readFilePromise(a,"utf8")):{},u=!1,A;if(typeof r=="function"){try{A=r(n)}catch{A=r({})}if(A===n)return}else{A=n;for(let p of Object.keys(r)){let h=n[p],E=r[p],w;if(typeof E=="function")try{w=E(h)}catch{w=E(void 0)}else w=E;h!==w&&(w===Vc.deleteProperty?delete A[p]:A[p]=w,u=!0)}if(!u)return}await ae.changeFilePromise(a,wa(A),{automaticNewlines:!0})}static async addPlugin(e,r){r.length!==0&&await Vc.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(E=>E.path===p);h?(n.push(h),u=u.filter(E=>E!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=mC();return await Vc.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,rU(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Kt(this,e,Bt.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=SM(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e==="<environment>"&&Bst.has(u))continue;if(u==="rcFilename")throw new ot(`The rcFilename settings can only be set via ${`${wx}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let w=mC(),v=z.resolve(e,"..");if(a&&!(w===v))throw new ot(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=tU(this,u,A,h,o)}catch(w){throw w.message+=` in ${Kt(this,e,Bt.PATH)}`,w}if(u==="enableStrictSettings"&&e!=="<environment>"){a=E;continue}if(h.type==="MAP"){let w=this.values.get(u);this.values.set(u,new Map(n?[...w,...E]:[...E,...w])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let w=this.values.get(u);this.values.set(u,n?[...w,...E]:[...E,...w]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,E),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new ot(`Couldn't find a configuration settings named "${e}"`);return Ex(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=ae.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Kt(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Kt(this,"STDERR","red")}`);n=new Z4.PassThrough,n.pipe(p),n.pipe(A),u=new Z4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r}
143`);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new vd([new zw,new oi,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new aE([new lE,new uE,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=u1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=Xu(n,u=>u==="current"?e.libc??Xu.skip:u)),{os:o,cpu:a,libc:n}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!jc(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Nt;u.load(a,{yamlCompatibilityMode:!0});let A=Hy(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let C of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:C});for(let C of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:C});for(let[C,w]of u.peerDependenciesMeta)for(let[v,b]of Object.entries(w))p.push({...h,type:"PeerDependencyMeta",selector:C,key:v,value:b})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(t0(o,!0),_S(a),{userProvided:!0})}normalizeLocator(e){return jc(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):DE.test(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return jc(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):DE.test(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e){let r=Hw(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let o=this.packageExtensions.get(e.identHash);if(typeof o<"u"){let n=e.version;if(n!==null){for(let[u,A]of o)if(!!Bd(n,u))for(let p of A)switch(p.status==="inactive"&&(p.status="redundant"),p.type){case"Dependency":typeof r.dependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.dependencies.set(p.descriptor.identHash,this.normalizeDependency(p.descriptor)));break;case"PeerDependency":typeof r.peerDependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.peerDependencies.set(p.descriptor.identHash,p.descriptor));break;case"PeerDependencyMeta":{let h=r.peerDependenciesMeta.get(p.selector);(typeof h>"u"||!Object.prototype.hasOwnProperty.call(h,p.key)||h[p.key]!==p.value)&&(p.status="active",Bf(r.peerDependenciesMeta,p.selector,()=>({}))[p.key]=p.value)}break;default:AL(p);break}}}let a=n=>n.scope?`${n.scope}__${n.name}`:`${n.name}`;for(let n of r.peerDependenciesMeta.keys()){let u=Ys(n);r.peerDependencies.has(u.identHash)||r.peerDependencies.set(u.identHash,mn(u,"*"))}for(let n of r.peerDependencies.values()){if(n.scope==="types")continue;let u=a(n),A=rA("types",u),p=nn(A);r.peerDependencies.has(A.identHash)||r.peerDependenciesMeta.has(p)||(r.peerDependencies.set(A.identHash,mn(A,"*")),r.peerDependenciesMeta.set(p,{optional:!0}))}return r.dependencies=new Map(Sa(r.dependencies,([,n])=>xa(n))),r.peerDependencies=new Map(Sa(r.peerDependencies,([,n])=>xa(n))),r}getLimit(e){return Bf(this.limits,e,()=>(0,tce.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);!n||await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);!A||(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Xe=Yc;Xe.deleteProperty=Symbol(),Xe.telemetry=null});var Mr={};Yt(Mr,{EndStrategy:()=>oU,ExecError:()=>mx,PipeError:()=>h1,execvp:()=>V4,pipevp:()=>iA});function Pd(t){return t!==null&&typeof t.fd=="number"}function nU(){}function iU(){for(let t of xd)t.kill()}async function iA(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":Pd(n)&&(h[0]=n),Pd(u)&&(h[1]=u),Pd(A)&&(h[2]=A);let C=(0,sU.default)(t,e,{cwd:Ae.fromPortablePath(r),env:{...o,PWD:Ae.fromPortablePath(r)},stdio:h});xd.add(C),xd.size===1&&(process.on("SIGINT",nU),process.on("SIGTERM",iU)),!Pd(n)&&n!==null&&n.pipe(C.stdin),Pd(u)||C.stdout.pipe(u,{end:!1}),Pd(A)||C.stderr.pipe(A,{end:!1});let w=()=>{for(let v of new Set([u,A]))Pd(v)||v.end()};return new Promise((v,b)=>{C.on("error",E=>{xd.delete(C),xd.size===0&&(process.off("SIGINT",nU),process.off("SIGTERM",iU)),(p===2||p===1)&&w(),b(E)}),C.on("close",(E,R)=>{xd.delete(C),xd.size===0&&(process.off("SIGINT",nU),process.off("SIGTERM",iU)),(p===2||p===1&&E!==0)&&w(),E===0||!a?v({code:aU(E,R)}):b(new h1({fileName:t,code:E,signal:R}))})})}async function V4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=Ae.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let C=(0,sU.default)(t,e,{cwd:h,env:o,stdio:u});return C.stdout.on("data",w=>{A.push(w)}),C.stderr.on("data",w=>{p.push(w)}),await new Promise((w,v)=>{C.on("error",b=>{let E=Xe.create(r),R=Kt(E,t,Bt.PATH);v(new Jt(1,`Process ${R} failed to spawn`,L=>{L.reportError(1,` ${Zu(E,{label:"Thrown Error",value:Hc(Bt.NO_HINT,b.message)})}`)}))}),C.on("close",(b,E)=>{let R=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),L=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);b===0||!n?w({code:aU(b,E),stdout:R,stderr:L}):v(new mx({fileName:t,code:b,signal:E,stdout:R,stderr:L}))})})}function aU(t,e){let r=mst.get(e);return typeof r<"u"?128+r:t??1}function yst(t,e,{configuration:r,report:o}){o.reportError(1,` ${Zu(r,t!==null?{label:"Exit Code",value:Hc(Bt.NUMBER,t)}:{label:"Exit Signal",value:Hc(Bt.CODE,e)})}`)}var sU,oU,h1,mx,xd,mst,Ax=dt(()=>{bt();sU=tt(XR());p1();Jl();Yl();oU=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(oU||{}),h1=class extends Jt{constructor({fileName:r,code:o,signal:a}){let n=Xe.create(V.cwd()),u=Kt(n,r,Bt.PATH);super(1,`Child ${u} reported an error`,A=>{yst(o,a,{configuration:n,report:A})});this.code=aU(o,a)}},mx=class extends h1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};xd=new Set;mst=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});var SE,nce=dt(()=>{bt();_t();g1();SE=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await PE(r,[],{cwd:Ae.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};SE.usage={description:"run a command using yarn's portable shell",details:` 143`);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new Pd([new e1,new Gn,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new fC([new pC,new gC,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=h1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=Zu(n,u=>u==="current"?e.libc??Zu.skip:u)),{os:o,cpu:a,libc:n}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!ll(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Nt;u.load(a,{yamlCompatibilityMode:!0});let A=Yy(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let E of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,w]of u.peerDependenciesMeta)for(let[v,b]of Object.entries(w))p.push({...h,type:"PeerDependencyMeta",selector:E,key:v,value:b})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(r0(o,!0),KS(a),{userProvided:!0})}normalizeLocator(e){return ll(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):QC.test(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return ll(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):QC.test(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e){let r=Ww(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let o=this.packageExtensions.get(e.identHash);if(typeof o<"u"){let n=e.version;if(n!==null){for(let[u,A]of o)if(!!Sd(n,u))for(let p of A)switch(p.status==="inactive"&&(p.status="redundant"),p.type){case"Dependency":typeof r.dependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.dependencies.set(p.descriptor.identHash,this.normalizeDependency(p.descriptor)));break;case"PeerDependency":typeof r.peerDependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.peerDependencies.set(p.descriptor.identHash,p.descriptor));break;case"PeerDependencyMeta":{let h=r.peerDependenciesMeta.get(p.selector);(typeof h>"u"||!Object.prototype.hasOwnProperty.call(h,p.key)||h[p.key]!==p.value)&&(p.status="active",Df(r.peerDependenciesMeta,p.selector,()=>({}))[p.key]=p.value)}break;default:fL(p);break}}}let a=n=>n.scope?`${n.scope}__${n.name}`:`${n.name}`;for(let n of r.peerDependenciesMeta.keys()){let u=Ys(n);r.peerDependencies.has(u.identHash)||r.peerDependencies.set(u.identHash,mn(u,"*"))}for(let n of r.peerDependencies.values()){if(n.scope==="types")continue;let u=a(n),A=nA("types",u),p=nn(A);r.peerDependencies.has(A.identHash)||r.peerDependenciesMeta.has(p)||(r.peerDependencies.set(A.identHash,mn(A,"*")),r.peerDependenciesMeta.set(p,{optional:!0}))}return r.dependencies=new Map(Pa(r.dependencies,([,n])=>ba(n))),r.peerDependencies=new Map(Pa(r.peerDependencies,([,n])=>ba(n))),r}getLimit(e){return Df(this.limits,e,()=>(0,ace.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);!n||await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);!A||(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Xe=Vc;Xe.deleteProperty=Symbol(),Xe.telemetry=null});var Mr={};Yt(Mr,{EndStrategy:()=>aU,ExecError:()=>vx,PipeError:()=>y1,execvp:()=>z4,pipevp:()=>sA});function Qd(t){return t!==null&&typeof t.fd=="number"}function iU(){}function sU(){for(let t of kd)t.kill()}async function sA(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":Qd(n)&&(h[0]=n),Qd(u)&&(h[1]=u),Qd(A)&&(h[2]=A);let E=(0,oU.default)(t,e,{cwd:ue.fromPortablePath(r),env:{...o,PWD:ue.fromPortablePath(r)},stdio:h});kd.add(E),kd.size===1&&(process.on("SIGINT",iU),process.on("SIGTERM",sU)),!Qd(n)&&n!==null&&n.pipe(E.stdin),Qd(u)||E.stdout.pipe(u,{end:!1}),Qd(A)||E.stderr.pipe(A,{end:!1});let w=()=>{for(let v of new Set([u,A]))Qd(v)||v.end()};return new Promise((v,b)=>{E.on("error",C=>{kd.delete(E),kd.size===0&&(process.off("SIGINT",iU),process.off("SIGTERM",sU)),(p===2||p===1)&&w(),b(C)}),E.on("close",(C,R)=>{kd.delete(E),kd.size===0&&(process.off("SIGINT",iU),process.off("SIGTERM",sU)),(p===2||p===1&&C!==0)&&w(),C===0||!a?v({code:lU(C,R)}):b(new y1({fileName:t,code:C,signal:R}))})})}async function z4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=ue.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let E=(0,oU.default)(t,e,{cwd:h,env:o,stdio:u});return E.stdout.on("data",w=>{A.push(w)}),E.stderr.on("data",w=>{p.push(w)}),await new Promise((w,v)=>{E.on("error",b=>{let C=Xe.create(r),R=Kt(C,t,Bt.PATH);v(new Vt(1,`Process ${R} failed to spawn`,L=>{L.reportError(1,` ${$u(C,{label:"Thrown Error",value:Gc(Bt.NO_HINT,b.message)})}`)}))}),E.on("close",(b,C)=>{let R=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),L=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);b===0||!n?w({code:lU(b,C),stdout:R,stderr:L}):v(new vx({fileName:t,code:b,signal:C,stdout:R,stderr:L}))})})}function lU(t,e){let r=xst.get(e);return typeof r<"u"?128+r:t??1}function bst(t,e,{configuration:r,report:o}){o.reportError(1,` ${$u(r,t!==null?{label:"Exit Code",value:Gc(Bt.NUMBER,t)}:{label:"Exit Signal",value:Gc(Bt.CODE,e)})}`)}var oU,aU,y1,vx,kd,xst,yx=dt(()=>{bt();oU=tt(ZR());m1();Xl();Jl();aU=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(aU||{}),y1=class extends Vt{constructor({fileName:r,code:o,signal:a}){let n=Xe.create(z.cwd()),u=Kt(n,r,Bt.PATH);super(1,`Child ${u} reported an error`,A=>{bst(o,a,{configuration:n,report:A})});this.code=lU(o,a)}},vx=class extends y1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};kd=new Set;xst=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});var kC,cce=dt(()=>{bt();_t();C1();kC=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await FC(r,[],{cwd:ue.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};kC.usage={description:"run a command using yarn's portable shell",details:`
144 This command will run a command using Yarn's portable shell. 144 This command will run a command using Yarn's portable shell.
145 145
146 Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. 146 Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell.
@@ -150,124 +150,124 @@ Please report this to https://github.com/szmarczak/http2-wrapper/`);E(R)}return}
150 Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. 150 Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used.
151 151
152 For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. 152 For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md.
153 `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var ol,ice=dt(()=>{ol=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var Cx={};Yt(Cx,{fastGlobOptions:()=>ace,isBraceExpansion:()=>lU,isGlobPattern:()=>Est,match:()=>Cst,micromatchOptions:()=>Ex});function Est(t){if(!yx.default.scan(t,Ex).isGlob)return!1;try{yx.default.parse(t,Ex)}catch{return!1}return!0}function Cst(t,{cwd:e,baseFs:r}){return(0,sce.default)(t,{...ace,cwd:Ae.fromPortablePath(e),fs:fD(oce.default,new Up(r))})}function lU(t){return yx.default.scan(t,Ex).isBrace}var sce,oce,yx,Ex,ace,lce=dt(()=>{bt();sce=tt(pP()),oce=tt(Ie("fs")),yx=tt(Jo()),Ex={strictBrackets:!0},ace={onlyDirectories:!1,onlyFiles:!1}});function cU(){}function uU(){for(let t of bd)t.kill()}function fce(t,e,r,o){return a=>{let n=a[0]instanceof sA.Transform?"pipe":a[0],u=a[1]instanceof sA.Transform?"pipe":a[1],A=a[2]instanceof sA.Transform?"pipe":a[2],p=(0,uce.default)(t,e,{...o,stdio:[n,u,A]});return bd.add(p),bd.size===1&&(process.on("SIGINT",cU),process.on("SIGTERM",uU)),a[0]instanceof sA.Transform&&a[0].pipe(p.stdin),a[1]instanceof sA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof sA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",C=>{switch(bd.delete(p),bd.size===0&&(process.off("SIGINT",cU),process.off("SIGTERM",uU)),C.code){case"ENOENT":a[2].write(`command not found: ${t} 153 `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var cl,uce=dt(()=>{cl=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var Px={};Yt(Px,{fastGlobOptions:()=>pce,isBraceExpansion:()=>cU,isGlobPattern:()=>Qst,match:()=>kst,micromatchOptions:()=>Sx});function Qst(t){if(!Dx.default.scan(t,Sx).isGlob)return!1;try{Dx.default.parse(t,Sx)}catch{return!1}return!0}function kst(t,{cwd:e,baseFs:r}){return(0,Ace.default)(t,{...pce,cwd:ue.fromPortablePath(e),fs:CD(fce.default,new _p(r))})}function cU(t){return Dx.default.scan(t,Sx).isBrace}var Ace,fce,Dx,Sx,pce,hce=dt(()=>{bt();Ace=tt(EP()),fce=tt(Ie("fs")),Dx=tt(Jo()),Sx={strictBrackets:!0},pce={onlyDirectories:!1,onlyFiles:!1}});function uU(){}function AU(){for(let t of Fd)t.kill()}function yce(t,e,r,o){return a=>{let n=a[0]instanceof oA.Transform?"pipe":a[0],u=a[1]instanceof oA.Transform?"pipe":a[1],A=a[2]instanceof oA.Transform?"pipe":a[2],p=(0,dce.default)(t,e,{...o,stdio:[n,u,A]});return Fd.add(p),Fd.size===1&&(process.on("SIGINT",uU),process.on("SIGTERM",AU)),a[0]instanceof oA.Transform&&a[0].pipe(p.stdin),a[1]instanceof oA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof oA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(Fd.delete(p),Fd.size===0&&(process.off("SIGINT",uU),process.off("SIGTERM",AU)),E.code){case"ENOENT":a[2].write(`command not found: ${t}
154`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} 154`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t}
155`),h(128);break;default:a[2].write(`uncaught error: ${C.message} 155`),h(128);break;default:a[2].write(`uncaught error: ${E.message}
156`),h(1);break}}),p.on("close",C=>{bd.delete(p),bd.size===0&&(process.off("SIGINT",cU),process.off("SIGTERM",uU)),h(C!==null?C:129)})})}}}function pce(t){return e=>{let r=e[0]==="pipe"?new sA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function Ix(t,e){return xE.start(t,e)}function cce(t,e=null){let r=new sA.PassThrough,o=new Ace.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` 156`),h(1);break}}),p.on("close",E=>{Fd.delete(p),Fd.size===0&&(process.off("SIGINT",uU),process.off("SIGTERM",AU)),h(E!==null?E:129)})})}}}function Cce(t){return e=>{let r=e[0]==="pipe"?new oA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function xx(t,e){return RC.start(t,e)}function gce(t,e=null){let r=new oA.PassThrough,o=new mce.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(`
157`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function hce(t,{prefix:e}){return{stdout:cce(r=>t.stdout.write(`${r} 157`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function Ece(t,{prefix:e}){return{stdout:gce(r=>t.stdout.write(`${r}
158`),t.stdout.isTTY?e:null),stderr:cce(r=>t.stderr.write(`${r} 158`),t.stdout.isTTY?e:null),stderr:gce(r=>t.stderr.write(`${r}
159`),t.stderr.isTTY?e:null)}}var uce,sA,Ace,bd,Zl,AU,xE,fU=dt(()=>{uce=tt(XR()),sA=Ie("stream"),Ace=Ie("string_decoder"),bd=new Set;Zl=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},AU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},xE=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new xE(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new xE(this,e),a=new AU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var E1={};Yt(E1,{EntryCommand:()=>SE,ShellError:()=>ol,execute:()=>PE,globUtils:()=>Cx});function gce(t,e,r){let o=new al.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof al.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new ol(`Bad file descriptor: "${t}"`)}return o}function Bx(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function Bst(t,e,r){let o=[],a=new al.PassThrough;return a.on("data",n=>o.push(n)),await vx(t,e,Bx(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function dce(t,e,r){let o=t.map(async n=>{let u=await Qd(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function wx(t){return t.match(/[^ \r\n\t]+/g)||[]}async function wce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=wx(n);for(let A=0;A<u.length-1;++A)a(u[A]);o(u[u.length-1])}break;case"*":{let n=e.args.join(" ");if(t.quoted)o(n);else for(let u of wx(n))a(u)}break;case"PPID":o(String(process.ppid));break;case"RANDOM":o(String(Math.floor(Math.random()*32768)));break;default:{let n=parseInt(t.name,10),u,A=Number.isFinite(n);if(A?n>=0&&n<e.args.length&&(u=e.args[n]):Object.prototype.hasOwnProperty.call(r.variables,t.name)?u=r.variables[t.name]:Object.prototype.hasOwnProperty.call(r.environment,t.name)&&(u=r.environment[t.name]),typeof u<"u"&&t.alternativeValue?u=(await Qd(t.alternativeValue,e,r)).join(" "):typeof u>"u"&&(t.defaultValue?u=(await Qd(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new ol(`Unbound argument #${n}`):new ol(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=wx(u);for(let C=0;C<p.length-1;++C)a(p[C]);let h=p[p.length-1];typeof h<"u"&&o(h)}}break}}async function d1(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let o=[];await wce({...t,quoted:!0},e,r,n=>o.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?d1({type:"variable",name:o.join(" ")},e,r):d1({type:"number",value:a},e,r)}else return vst[t.type](await d1(t.left,e,r),await d1(t.right,e,r))}async function Qd(t,e,r){let o=new Map,a=[],n=[],u=C=>{n.push(C)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=C=>{u(C),A()},h=(C,w,v)=>{let b=JSON.stringify({type:C,fd:w}),E=o.get(b);typeof E>"u"&&o.set(b,E=[]),E.push(v)};for(let C of t){let w=!1;switch(C.type){case"redirection":{let v=await Qd(C.args,e,r);for(let b of v)h(C.subtype,C.fd,b)}break;case"argument":for(let v of C.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),w=!0;break;case"shell":{let b=await Bst(v.shell,e,r);if(v.quoted)u(b);else{let E=wx(b);for(let R=0;R<E.length-1;++R)p(E[R]);u(E[E.length-1])}}break;case"variable":await wce(v,e,r,u,p);break;case"arithmetic":u(String(await d1(v.arithmetic,e,r)));break}break}if(A(),w){let v=a.pop();if(typeof v>"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let b=await e.glob.match(v,{cwd:r.cwd,baseFs:e.baseFs});if(b.length===0){let E=lU(v)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new ol(`No matches found: "${v}"${E}`)}for(let E of b.sort())p(E)}}if(o.size>0){let C=[];for(let[w,v]of o.entries())C.splice(C.length,0,w,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...C,"--")}return a}function m1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=Ae.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return fce(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return pce(async({stdin:p,stdout:h,stderr:C})=>{let{stdin:w,stdout:v,stderr:b}=r;r.stdin=p,r.stdout=h,r.stderr=C;try{return await A(u,e,r)}finally{r.stdin=w,r.stdout=v,r.stderr=b}})}function Dst(t,e,r){return o=>{let a=new al.PassThrough,n=vx(t,e,Bx(r,{stdin:a}));return{stdin:a,promise:n}}}function Sst(t,e,r){return o=>{let a=new al.PassThrough,n=vx(t,e,r);return{stdin:a,promise:n}}}function mce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.prototype.hasOwnProperty.call(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,m1([...e,"__ysh_run_procedure",a],r,o)}}async function yce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Qd(o.args,e,r),h=await dce(o.envs,e,r);A=o.envs.length?m1(p,e,Bx(u,{environment:h})):m1(p,e,u)}break;case"subshell":{let p=await Qd(o.args,e,r),h=Dst(o.subshell,e,u);A=mce(h,p,e,u)}break;case"group":{let p=await Qd(o.args,e,r),h=Sst(o.group,e,u);A=mce(h,p,e,u)}break;case"envs":{let p=await dce(o.envs,e,r);u.environment={...u.environment,...p},A=m1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=Ix(A,{stdin:new Zl(u.stdin),stdout:new Zl(u.stdout),stderr:new Zl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Pst(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return Ece.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:C}=hce(r,{prefix:p});return r.backgroundJobs.push(yce(t,e,Bx(r,{stdout:h,stderr:C})).catch(w=>C.write(`${w.message} 159`),t.stderr.isTTY?e:null)}}var dce,oA,mce,Fd,tc,fU,RC,pU=dt(()=>{dce=tt(ZR()),oA=Ie("stream"),mce=Ie("string_decoder"),Fd=new Set;tc=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},fU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},RC=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new RC(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new RC(this,e),a=new fU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var B1={};Yt(B1,{EntryCommand:()=>kC,ShellError:()=>cl,execute:()=>FC,globUtils:()=>Px});function Ice(t,e,r){let o=new ul.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof ul.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new cl(`Bad file descriptor: "${t}"`)}return o}function Qx(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function Tst(t,e,r){let o=[],a=new ul.PassThrough;return a.on("data",n=>o.push(n)),await kx(t,e,Qx(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function wce(t,e,r){let o=t.map(async n=>{let u=await Rd(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function bx(t){return t.match(/[^ \r\n\t]+/g)||[]}async function xce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=bx(n);for(let A=0;A<u.length-1;++A)a(u[A]);o(u[u.length-1])}break;case"*":{let n=e.args.join(" ");if(t.quoted)o(n);else for(let u of bx(n))a(u)}break;case"PPID":o(String(process.ppid));break;case"RANDOM":o(String(Math.floor(Math.random()*32768)));break;default:{let n=parseInt(t.name,10),u,A=Number.isFinite(n);if(A?n>=0&&n<e.args.length&&(u=e.args[n]):Object.prototype.hasOwnProperty.call(r.variables,t.name)?u=r.variables[t.name]:Object.prototype.hasOwnProperty.call(r.environment,t.name)&&(u=r.environment[t.name]),typeof u<"u"&&t.alternativeValue?u=(await Rd(t.alternativeValue,e,r)).join(" "):typeof u>"u"&&(t.defaultValue?u=(await Rd(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new cl(`Unbound argument #${n}`):new cl(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=bx(u);for(let E=0;E<p.length-1;++E)a(p[E]);let h=p[p.length-1];typeof h<"u"&&o(h)}}break}}async function E1(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let o=[];await xce({...t,quoted:!0},e,r,n=>o.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?E1({type:"variable",name:o.join(" ")},e,r):E1({type:"number",value:a},e,r)}else return Nst[t.type](await E1(t.left,e,r),await E1(t.right,e,r))}async function Rd(t,e,r){let o=new Map,a=[],n=[],u=E=>{n.push(E)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{u(E),A()},h=(E,w,v)=>{let b=JSON.stringify({type:E,fd:w}),C=o.get(b);typeof C>"u"&&o.set(b,C=[]),C.push(v)};for(let E of t){let w=!1;switch(E.type){case"redirection":{let v=await Rd(E.args,e,r);for(let b of v)h(E.subtype,E.fd,b)}break;case"argument":for(let v of E.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),w=!0;break;case"shell":{let b=await Tst(v.shell,e,r);if(v.quoted)u(b);else{let C=bx(b);for(let R=0;R<C.length-1;++R)p(C[R]);u(C[C.length-1])}}break;case"variable":await xce(v,e,r,u,p);break;case"arithmetic":u(String(await E1(v.arithmetic,e,r)));break}break}if(A(),w){let v=a.pop();if(typeof v>"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let b=await e.glob.match(v,{cwd:r.cwd,baseFs:e.baseFs});if(b.length===0){let C=cU(v)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new cl(`No matches found: "${v}"${C}`)}for(let C of b.sort())p(C)}}if(o.size>0){let E=[];for(let[w,v]of o.entries())E.splice(E.length,0,w,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function I1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=ue.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return yce(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return Cce(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:w,stdout:v,stderr:b}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await A(u,e,r)}finally{r.stdin=w,r.stdout=v,r.stderr=b}})}function Lst(t,e,r){return o=>{let a=new ul.PassThrough,n=kx(t,e,Qx(r,{stdin:a}));return{stdin:a,promise:n}}}function Ost(t,e,r){return o=>{let a=new ul.PassThrough,n=kx(t,e,r);return{stdin:a,promise:n}}}function Bce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.prototype.hasOwnProperty.call(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,I1([...e,"__ysh_run_procedure",a],r,o)}}async function vce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Rd(o.args,e,r),h=await wce(o.envs,e,r);A=o.envs.length?I1(p,e,Qx(u,{environment:h})):I1(p,e,u)}break;case"subshell":{let p=await Rd(o.args,e,r),h=Lst(o.subshell,e,u);A=Bce(h,p,e,u)}break;case"group":{let p=await Rd(o.args,e,r),h=Ost(o.group,e,u);A=Bce(h,p,e,u)}break;case"envs":{let p=await wce(o.envs,e,r);u.environment={...u.environment,...p},A=I1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=xx(A,{stdin:new tc(u.stdin),stdout:new tc(u.stdout),stderr:new tc(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Mst(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return Dce.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:E}=Ece(r,{prefix:p});return r.backgroundJobs.push(vce(t,e,Qx(r,{stdout:h,stderr:E})).catch(w=>E.write(`${w.message}
160`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(ly(t))}' has ended 160`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(py(t))}' has ended
161`)})),0}return await yce(t,e,r)}async function xst(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await Pst(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof ol))throw p;return r.stderr.write(`${p.message} 161`)})),0}return await vce(t,e,r)}async function Ust(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await Mst(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof cl))throw p;return r.stderr.write(`${p.message}
162`),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function vx(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await xst(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function Bce(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>y1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>y1(e));case"arithmetic":return pU(t.arithmetic);case"shell":return hU(t.shell);default:return!1}}function y1(t){switch(t.type){case"redirection":return t.args.some(e=>y1(e));case"argument":return t.segments.some(e=>Bce(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function pU(t){switch(t.type){case"variable":return Bce(t);case"number":return!1;default:return pU(t.left)||pU(t.right)}}function hU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=hU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>y1(n)))||r.args.some(a=>y1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function PE(t,e=[],{baseFs:r=new xn,builtins:o={},cwd:a=Ae.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:C=Cx}={}){let w={};for(let[E,R]of Object.entries(n))typeof R<"u"&&(w[E]=R);let v=new Map(wst);for(let[E,R]of Object.entries(o))v.set(E,R);u===null&&(u=new al.PassThrough,u.end());let b=yD(t,C);if(!hU(b)&&b.length>0&&e.length>0){let{command:E}=b[b.length-1];for(;E.then;)E=E.then.line;let R=E.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(e.map(L=>({type:"argument",segments:[{type:"text",text:L}]}))))}return await vx(b,{args:e,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:C},{cwd:a,environment:w,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var Ece,Cce,al,Ice,Ist,wst,vst,g1=dt(()=>{bt();Ol();Ece=tt(gN()),Cce=Ie("os"),al=Ie("stream"),Ice=Ie("util");nce();ice();lce();fU();fU();Ist=(0,Ice.promisify)(setTimeout);wst=new Map([["cd",async([t=(0,Cce.homedir)(),...e],r,o)=>{let a=V.resolve(o.cwd,Ae.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new ol(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new ol(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${Ae.fromPortablePath(r.cwd)} 162`),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function kx(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await Ust(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function bce(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>w1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>w1(e));case"arithmetic":return hU(t.arithmetic);case"shell":return gU(t.shell);default:return!1}}function w1(t){switch(t.type){case"redirection":return t.args.some(e=>w1(e));case"argument":return t.segments.some(e=>bce(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function hU(t){switch(t.type){case"variable":return bce(t);case"number":return!1;default:return hU(t.left)||hU(t.right)}}function gU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=gU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>w1(n)))||r.args.some(a=>w1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function FC(t,e=[],{baseFs:r=new xn,builtins:o={},cwd:a=ue.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=Px}={}){let w={};for(let[C,R]of Object.entries(n))typeof R<"u"&&(w[C]=R);let v=new Map(Rst);for(let[C,R]of Object.entries(o))v.set(C,R);u===null&&(u=new ul.PassThrough,u.end());let b=DD(t,E);if(!gU(b)&&b.length>0&&e.length>0){let{command:C}=b[b.length-1];for(;C.then;)C=C.then.line;let R=C.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(e.map(L=>({type:"argument",segments:[{type:"text",text:L}]}))))}return await kx(b,{args:e,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:E},{cwd:a,environment:w,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var Dce,Sce,ul,Pce,Fst,Rst,Nst,C1=dt(()=>{bt();_l();Dce=tt(dN()),Sce=Ie("os"),ul=Ie("stream"),Pce=Ie("util");cce();uce();hce();pU();pU();Fst=(0,Pce.promisify)(setTimeout);Rst=new Map([["cd",async([t=(0,Sce.homedir)(),...e],r,o)=>{let a=z.resolve(o.cwd,ue.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new cl(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new cl(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${ue.fromPortablePath(r.cwd)}
163`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} 163`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")}
164`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new ol("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new ol(`sleep: invalid time interval '${t}'`);return await Ist(1e3*o,0)}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await Ix(o,{stdin:new Zl(r.stdin),stdout:new Zl(r.stdout),stderr:new Zl(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let w=t[h++],{type:v,fd:b}=JSON.parse(w),E=J=>{switch(b){case null:case 0:u.push(J);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},R=J=>{switch(b){case null:case 1:A.push(J);break;case 2:p.push(J);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},L=Number(t[h++]),_=h+L;for(let J=h;J<_;++h,++J)switch(v){case"<":E(()=>e.baseFs.createReadStream(V.resolve(r.cwd,Ae.toPortablePath(t[J]))));break;case"<<<":E(()=>{let re=new al.PassThrough;return process.nextTick(()=>{re.write(`${t[J]} 164`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new cl("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new cl(`sleep: invalid time interval '${t}'`);return await Fst(1e3*o,0)}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await xx(o,{stdin:new tc(r.stdin),stdout:new tc(r.stdout),stderr:new tc(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let w=t[h++],{type:v,fd:b}=JSON.parse(w),C=V=>{switch(b){case null:case 0:u.push(V);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},R=V=>{switch(b){case null:case 1:A.push(V);break;case 2:p.push(V);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},L=Number(t[h++]),_=h+L;for(let V=h;V<_;++h,++V)switch(v){case"<":C(()=>e.baseFs.createReadStream(z.resolve(r.cwd,ue.toPortablePath(t[V]))));break;case"<<<":C(()=>{let re=new ul.PassThrough;return process.nextTick(()=>{re.write(`${t[V]}
165`),re.end()}),re});break;case"<&":E(()=>gce(Number(t[J]),1,r));break;case">":case">>":{let re=V.resolve(r.cwd,Ae.toPortablePath(t[J]));R(re==="/dev/null"?new al.Writable({autoDestroy:!0,emitClose:!0,write(oe,pe,he){setImmediate(he)}}):e.baseFs.createWriteStream(re,v===">>"?{flags:"a"}:void 0))}break;case">&":R(gce(Number(t[J]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let w=new al.PassThrough;o=w;let v=b=>{if(b===u.length)w.end();else{let E=u[b]();E.pipe(w,{end:!1}),E.on("end",()=>{v(b+1)})}};v(0)}if(A.length>0){let w=new al.PassThrough;a=w;for(let v of A)w.pipe(v)}if(p.length>0){let w=new al.PassThrough;n=w;for(let v of p)w.pipe(v)}let C=await Ix(m1(t.slice(h+1),e,r),{stdin:new Zl(o),stdout:new Zl(a),stderr:new Zl(n)}).run();return await Promise.all(A.map(w=>new Promise((v,b)=>{w.on("error",E=>{b(E)}),w.on("close",()=>{v()}),w.end()}))),await Promise.all(p.map(w=>new Promise((v,b)=>{w.on("error",E=>{b(E)}),w.on("close",()=>{v()}),w.end()}))),C}]]);vst={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var Dx=U((VOt,vce)=>{function bst(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}vce.exports=bst});var Qce=U((zOt,bce)=>{var Dce=cd(),Qst=Dx(),kst=jl(),Fst=oE(),Rst=1/0,Sce=Dce?Dce.prototype:void 0,Pce=Sce?Sce.toString:void 0;function xce(t){if(typeof t=="string")return t;if(kst(t))return Qst(t,xce)+"";if(Fst(t))return Pce?Pce.call(t):"";var e=t+"";return e=="0"&&1/t==-Rst?"-0":e}bce.exports=xce});var C1=U((XOt,kce)=>{var Tst=Qce();function Nst(t){return t==null?"":Tst(t)}kce.exports=Nst});var gU=U((ZOt,Fce)=>{function Lst(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o<a;)n[o]=t[o+e];return n}Fce.exports=Lst});var Tce=U(($Ot,Rce)=>{var Ost=gU();function Mst(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:Ost(t,e,r)}Rce.exports=Mst});var dU=U((eMt,Nce)=>{var Ust="\\ud800-\\udfff",_st="\\u0300-\\u036f",Hst="\\ufe20-\\ufe2f",qst="\\u20d0-\\u20ff",jst=_st+Hst+qst,Gst="\\ufe0e\\ufe0f",Wst="\\u200d",Yst=RegExp("["+Wst+Ust+jst+Gst+"]");function Kst(t){return Yst.test(t)}Nce.exports=Kst});var Oce=U((tMt,Lce)=>{function Jst(t){return t.split("")}Lce.exports=Jst});var Wce=U((rMt,Gce)=>{var Mce="\\ud800-\\udfff",Vst="\\u0300-\\u036f",zst="\\ufe20-\\ufe2f",Xst="\\u20d0-\\u20ff",Zst=Vst+zst+Xst,$st="\\ufe0e\\ufe0f",eot="["+Mce+"]",mU="["+Zst+"]",yU="\\ud83c[\\udffb-\\udfff]",tot="(?:"+mU+"|"+yU+")",Uce="[^"+Mce+"]",_ce="(?:\\ud83c[\\udde6-\\uddff]){2}",Hce="[\\ud800-\\udbff][\\udc00-\\udfff]",rot="\\u200d",qce=tot+"?",jce="["+$st+"]?",not="(?:"+rot+"(?:"+[Uce,_ce,Hce].join("|")+")"+jce+qce+")*",iot=jce+qce+not,sot="(?:"+[Uce+mU+"?",mU,_ce,Hce,eot].join("|")+")",oot=RegExp(yU+"(?="+yU+")|"+sot+iot,"g");function aot(t){return t.match(oot)||[]}Gce.exports=aot});var Kce=U((nMt,Yce)=>{var lot=Oce(),cot=dU(),uot=Wce();function Aot(t){return cot(t)?uot(t):lot(t)}Yce.exports=Aot});var Vce=U((iMt,Jce)=>{var fot=Tce(),pot=dU(),hot=Kce(),got=C1();function dot(t){return function(e){e=got(e);var r=pot(e)?hot(e):void 0,o=r?r[0]:e.charAt(0),a=r?fot(r,1).join(""):e.slice(1);return o[t]()+a}}Jce.exports=dot});var Xce=U((sMt,zce)=>{var mot=Vce(),yot=mot("toUpperCase");zce.exports=yot});var EU=U((oMt,Zce)=>{var Eot=C1(),Cot=Xce();function Iot(t){return Cot(Eot(t).toLowerCase())}Zce.exports=Iot});var $ce=U((aMt,Sx)=>{function wot(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,C=10,w=11,v=12,b=13,E=14,R=15,L=16,_=17,J=0,re=1,oe=2,pe=3,he=4;function ve(g,De){return 55296<=g.charCodeAt(De)&&g.charCodeAt(De)<=56319&&56320<=g.charCodeAt(De+1)&&g.charCodeAt(De+1)<=57343}function ge(g,De){De===void 0&&(De=0);var Ee=g.charCodeAt(De);if(55296<=Ee&&Ee<=56319&&De<g.length-1){var de=Ee,ne=g.charCodeAt(De+1);return 56320<=ne&&ne<=57343?(de-55296)*1024+(ne-56320)+65536:de}if(56320<=Ee&&Ee<=57343&&De>=1){var de=g.charCodeAt(De-1),ne=Ee;return 55296<=de&&de<=56319?(de-55296)*1024+(ne-56320)+65536:ne}return Ee}function le(g,De,Ee){var de=[g].concat(De).concat([Ee]),ne=de[de.length-2],Z=Ee,me=de.lastIndexOf(E);if(me>1&&de.slice(1,me).every(function(H){return H==o})&&[o,b,_].indexOf(g)==-1)return oe;var be=de.lastIndexOf(a);if(be>0&&de.slice(1,be).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return de.filter(function(H){return H==a}).length%2==1?pe:he;if(ne==t&&Z==e)return J;if(ne==r||ne==t||ne==e)return Z==E&&De.every(function(H){return H==o})?oe:re;if(Z==r||Z==t||Z==e)return re;if(ne==u&&(Z==u||Z==A||Z==h||Z==C))return J;if((ne==h||ne==A)&&(Z==A||Z==p))return J;if((ne==C||ne==p)&&Z==p)return J;if(Z==o||Z==R)return J;if(Z==n)return J;if(ne==v)return J;var ut=de.indexOf(o)!=-1?de.lastIndexOf(o)-1:de.length-2;return[b,_].indexOf(de[ut])!=-1&&de.slice(ut+1,-1).every(function(H){return H==o})&&Z==E||ne==R&&[L,_].indexOf(Z)!=-1?J:De.indexOf(a)!=-1?oe:ne==a&&Z==a?J:re}this.nextBreak=function(g,De){if(De===void 0&&(De=0),De<0)return 0;if(De>=g.length-1)return g.length;for(var Ee=Pe(ge(g,De)),de=[],ne=De+1;ne<g.length;ne++)if(!ve(g,ne-1)){var Z=Pe(ge(g,ne));if(le(Ee,de,Z))return ne;de.push(Z)}return g.length},this.splitGraphemes=function(g){for(var De=[],Ee=0,de;(de=this.nextBreak(g,Ee))<g.length;)De.push(g.slice(Ee,de)),Ee=de;return Ee<g.length&&De.push(g.slice(Ee)),De},this.iterateGraphemes=function(g){var De=0,Ee={next:function(){var de,ne;return(ne=this.nextBreak(g,De))<g.length?(de=g.slice(De,ne),De=ne,{value:de,done:!1}):De<g.length?(de=g.slice(De),De=g.length,{value:de,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(Ee[Symbol.iterator]=function(){return Ee}),Ee},this.countGraphemes=function(g){for(var De=0,Ee=0,de;(de=this.nextBreak(g,Ee))<g.length;)Ee=de,De++;return Ee<g.length&&De++,De};function Pe(g){return 1536<=g&&g<=1541||g==1757||g==1807||g==2274||g==3406||g==69821||70082<=g&&g<=70083||g==72250||72326<=g&&g<=72329||g==73030?v:g==13?t:g==10?e:0<=g&&g<=9||11<=g&&g<=12||14<=g&&g<=31||127<=g&&g<=159||g==173||g==1564||g==6158||g==8203||8206<=g&&g<=8207||g==8232||g==8233||8234<=g&&g<=8238||8288<=g&&g<=8292||g==8293||8294<=g&&g<=8303||55296<=g&&g<=57343||g==65279||65520<=g&&g<=65528||65529<=g&&g<=65531||113824<=g&&g<=113827||119155<=g&&g<=119162||g==917504||g==917505||917506<=g&&g<=917535||917632<=g&&g<=917759||918e3<=g&&g<=921599?r:768<=g&&g<=879||1155<=g&&g<=1159||1160<=g&&g<=1161||1425<=g&&g<=1469||g==1471||1473<=g&&g<=1474||1476<=g&&g<=1477||g==1479||1552<=g&&g<=1562||1611<=g&&g<=1631||g==1648||1750<=g&&g<=1756||1759<=g&&g<=1764||1767<=g&&g<=1768||1770<=g&&g<=1773||g==1809||1840<=g&&g<=1866||1958<=g&&g<=1968||2027<=g&&g<=2035||2070<=g&&g<=2073||2075<=g&&g<=2083||2085<=g&&g<=2087||2089<=g&&g<=2093||2137<=g&&g<=2139||2260<=g&&g<=2273||2275<=g&&g<=2306||g==2362||g==2364||2369<=g&&g<=2376||g==2381||2385<=g&&g<=2391||2402<=g&&g<=2403||g==2433||g==2492||g==2494||2497<=g&&g<=2500||g==2509||g==2519||2530<=g&&g<=2531||2561<=g&&g<=2562||g==2620||2625<=g&&g<=2626||2631<=g&&g<=2632||2635<=g&&g<=2637||g==2641||2672<=g&&g<=2673||g==2677||2689<=g&&g<=2690||g==2748||2753<=g&&g<=2757||2759<=g&&g<=2760||g==2765||2786<=g&&g<=2787||2810<=g&&g<=2815||g==2817||g==2876||g==2878||g==2879||2881<=g&&g<=2884||g==2893||g==2902||g==2903||2914<=g&&g<=2915||g==2946||g==3006||g==3008||g==3021||g==3031||g==3072||3134<=g&&g<=3136||3142<=g&&g<=3144||3146<=g&&g<=3149||3157<=g&&g<=3158||3170<=g&&g<=3171||g==3201||g==3260||g==3263||g==3266||g==3270||3276<=g&&g<=3277||3285<=g&&g<=3286||3298<=g&&g<=3299||3328<=g&&g<=3329||3387<=g&&g<=3388||g==3390||3393<=g&&g<=3396||g==3405||g==3415||3426<=g&&g<=3427||g==3530||g==3535||3538<=g&&g<=3540||g==3542||g==3551||g==3633||3636<=g&&g<=3642||3655<=g&&g<=3662||g==3761||3764<=g&&g<=3769||3771<=g&&g<=3772||3784<=g&&g<=3789||3864<=g&&g<=3865||g==3893||g==3895||g==3897||3953<=g&&g<=3966||3968<=g&&g<=3972||3974<=g&&g<=3975||3981<=g&&g<=3991||3993<=g&&g<=4028||g==4038||4141<=g&&g<=4144||4146<=g&&g<=4151||4153<=g&&g<=4154||4157<=g&&g<=4158||4184<=g&&g<=4185||4190<=g&&g<=4192||4209<=g&&g<=4212||g==4226||4229<=g&&g<=4230||g==4237||g==4253||4957<=g&&g<=4959||5906<=g&&g<=5908||5938<=g&&g<=5940||5970<=g&&g<=5971||6002<=g&&g<=6003||6068<=g&&g<=6069||6071<=g&&g<=6077||g==6086||6089<=g&&g<=6099||g==6109||6155<=g&&g<=6157||6277<=g&&g<=6278||g==6313||6432<=g&&g<=6434||6439<=g&&g<=6440||g==6450||6457<=g&&g<=6459||6679<=g&&g<=6680||g==6683||g==6742||6744<=g&&g<=6750||g==6752||g==6754||6757<=g&&g<=6764||6771<=g&&g<=6780||g==6783||6832<=g&&g<=6845||g==6846||6912<=g&&g<=6915||g==6964||6966<=g&&g<=6970||g==6972||g==6978||7019<=g&&g<=7027||7040<=g&&g<=7041||7074<=g&&g<=7077||7080<=g&&g<=7081||7083<=g&&g<=7085||g==7142||7144<=g&&g<=7145||g==7149||7151<=g&&g<=7153||7212<=g&&g<=7219||7222<=g&&g<=7223||7376<=g&&g<=7378||7380<=g&&g<=7392||7394<=g&&g<=7400||g==7405||g==7412||7416<=g&&g<=7417||7616<=g&&g<=7673||7675<=g&&g<=7679||g==8204||8400<=g&&g<=8412||8413<=g&&g<=8416||g==8417||8418<=g&&g<=8420||8421<=g&&g<=8432||11503<=g&&g<=11505||g==11647||11744<=g&&g<=11775||12330<=g&&g<=12333||12334<=g&&g<=12335||12441<=g&&g<=12442||g==42607||42608<=g&&g<=42610||42612<=g&&g<=42621||42654<=g&&g<=42655||42736<=g&&g<=42737||g==43010||g==43014||g==43019||43045<=g&&g<=43046||43204<=g&&g<=43205||43232<=g&&g<=43249||43302<=g&&g<=43309||43335<=g&&g<=43345||43392<=g&&g<=43394||g==43443||43446<=g&&g<=43449||g==43452||g==43493||43561<=g&&g<=43566||43569<=g&&g<=43570||43573<=g&&g<=43574||g==43587||g==43596||g==43644||g==43696||43698<=g&&g<=43700||43703<=g&&g<=43704||43710<=g&&g<=43711||g==43713||43756<=g&&g<=43757||g==43766||g==44005||g==44008||g==44013||g==64286||65024<=g&&g<=65039||65056<=g&&g<=65071||65438<=g&&g<=65439||g==66045||g==66272||66422<=g&&g<=66426||68097<=g&&g<=68099||68101<=g&&g<=68102||68108<=g&&g<=68111||68152<=g&&g<=68154||g==68159||68325<=g&&g<=68326||g==69633||69688<=g&&g<=69702||69759<=g&&g<=69761||69811<=g&&g<=69814||69817<=g&&g<=69818||69888<=g&&g<=69890||69927<=g&&g<=69931||69933<=g&&g<=69940||g==70003||70016<=g&&g<=70017||70070<=g&&g<=70078||70090<=g&&g<=70092||70191<=g&&g<=70193||g==70196||70198<=g&&g<=70199||g==70206||g==70367||70371<=g&&g<=70378||70400<=g&&g<=70401||g==70460||g==70462||g==70464||g==70487||70502<=g&&g<=70508||70512<=g&&g<=70516||70712<=g&&g<=70719||70722<=g&&g<=70724||g==70726||g==70832||70835<=g&&g<=70840||g==70842||g==70845||70847<=g&&g<=70848||70850<=g&&g<=70851||g==71087||71090<=g&&g<=71093||71100<=g&&g<=71101||71103<=g&&g<=71104||71132<=g&&g<=71133||71219<=g&&g<=71226||g==71229||71231<=g&&g<=71232||g==71339||g==71341||71344<=g&&g<=71349||g==71351||71453<=g&&g<=71455||71458<=g&&g<=71461||71463<=g&&g<=71467||72193<=g&&g<=72198||72201<=g&&g<=72202||72243<=g&&g<=72248||72251<=g&&g<=72254||g==72263||72273<=g&&g<=72278||72281<=g&&g<=72283||72330<=g&&g<=72342||72344<=g&&g<=72345||72752<=g&&g<=72758||72760<=g&&g<=72765||g==72767||72850<=g&&g<=72871||72874<=g&&g<=72880||72882<=g&&g<=72883||72885<=g&&g<=72886||73009<=g&&g<=73014||g==73018||73020<=g&&g<=73021||73023<=g&&g<=73029||g==73031||92912<=g&&g<=92916||92976<=g&&g<=92982||94095<=g&&g<=94098||113821<=g&&g<=113822||g==119141||119143<=g&&g<=119145||119150<=g&&g<=119154||119163<=g&&g<=119170||119173<=g&&g<=119179||119210<=g&&g<=119213||119362<=g&&g<=119364||121344<=g&&g<=121398||121403<=g&&g<=121452||g==121461||g==121476||121499<=g&&g<=121503||121505<=g&&g<=121519||122880<=g&&g<=122886||122888<=g&&g<=122904||122907<=g&&g<=122913||122915<=g&&g<=122916||122918<=g&&g<=122922||125136<=g&&g<=125142||125252<=g&&g<=125258||917536<=g&&g<=917631||917760<=g&&g<=917999?o:127462<=g&&g<=127487?a:g==2307||g==2363||2366<=g&&g<=2368||2377<=g&&g<=2380||2382<=g&&g<=2383||2434<=g&&g<=2435||2495<=g&&g<=2496||2503<=g&&g<=2504||2507<=g&&g<=2508||g==2563||2622<=g&&g<=2624||g==2691||2750<=g&&g<=2752||g==2761||2763<=g&&g<=2764||2818<=g&&g<=2819||g==2880||2887<=g&&g<=2888||2891<=g&&g<=2892||g==3007||3009<=g&&g<=3010||3014<=g&&g<=3016||3018<=g&&g<=3020||3073<=g&&g<=3075||3137<=g&&g<=3140||3202<=g&&g<=3203||g==3262||3264<=g&&g<=3265||3267<=g&&g<=3268||3271<=g&&g<=3272||3274<=g&&g<=3275||3330<=g&&g<=3331||3391<=g&&g<=3392||3398<=g&&g<=3400||3402<=g&&g<=3404||3458<=g&&g<=3459||3536<=g&&g<=3537||3544<=g&&g<=3550||3570<=g&&g<=3571||g==3635||g==3763||3902<=g&&g<=3903||g==3967||g==4145||4155<=g&&g<=4156||4182<=g&&g<=4183||g==4228||g==6070||6078<=g&&g<=6085||6087<=g&&g<=6088||6435<=g&&g<=6438||6441<=g&&g<=6443||6448<=g&&g<=6449||6451<=g&&g<=6456||6681<=g&&g<=6682||g==6741||g==6743||6765<=g&&g<=6770||g==6916||g==6965||g==6971||6973<=g&&g<=6977||6979<=g&&g<=6980||g==7042||g==7073||7078<=g&&g<=7079||g==7082||g==7143||7146<=g&&g<=7148||g==7150||7154<=g&&g<=7155||7204<=g&&g<=7211||7220<=g&&g<=7221||g==7393||7410<=g&&g<=7411||g==7415||43043<=g&&g<=43044||g==43047||43136<=g&&g<=43137||43188<=g&&g<=43203||43346<=g&&g<=43347||g==43395||43444<=g&&g<=43445||43450<=g&&g<=43451||43453<=g&&g<=43456||43567<=g&&g<=43568||43571<=g&&g<=43572||g==43597||g==43755||43758<=g&&g<=43759||g==43765||44003<=g&&g<=44004||44006<=g&&g<=44007||44009<=g&&g<=44010||g==44012||g==69632||g==69634||g==69762||69808<=g&&g<=69810||69815<=g&&g<=69816||g==69932||g==70018||70067<=g&&g<=70069||70079<=g&&g<=70080||70188<=g&&g<=70190||70194<=g&&g<=70195||g==70197||70368<=g&&g<=70370||70402<=g&&g<=70403||g==70463||70465<=g&&g<=70468||70471<=g&&g<=70472||70475<=g&&g<=70477||70498<=g&&g<=70499||70709<=g&&g<=70711||70720<=g&&g<=70721||g==70725||70833<=g&&g<=70834||g==70841||70843<=g&&g<=70844||g==70846||g==70849||71088<=g&&g<=71089||71096<=g&&g<=71099||g==71102||71216<=g&&g<=71218||71227<=g&&g<=71228||g==71230||g==71340||71342<=g&&g<=71343||g==71350||71456<=g&&g<=71457||g==71462||72199<=g&&g<=72200||g==72249||72279<=g&&g<=72280||g==72343||g==72751||g==72766||g==72873||g==72881||g==72884||94033<=g&&g<=94078||g==119142||g==119149?n:4352<=g&&g<=4447||43360<=g&&g<=43388?u:4448<=g&&g<=4519||55216<=g&&g<=55238?A:4520<=g&&g<=4607||55243<=g&&g<=55291?p:g==44032||g==44060||g==44088||g==44116||g==44144||g==44172||g==44200||g==44228||g==44256||g==44284||g==44312||g==44340||g==44368||g==44396||g==44424||g==44452||g==44480||g==44508||g==44536||g==44564||g==44592||g==44620||g==44648||g==44676||g==44704||g==44732||g==44760||g==44788||g==44816||g==44844||g==44872||g==44900||g==44928||g==44956||g==44984||g==45012||g==45040||g==45068||g==45096||g==45124||g==45152||g==45180||g==45208||g==45236||g==45264||g==45292||g==45320||g==45348||g==45376||g==45404||g==45432||g==45460||g==45488||g==45516||g==45544||g==45572||g==45600||g==45628||g==45656||g==45684||g==45712||g==45740||g==45768||g==45796||g==45824||g==45852||g==45880||g==45908||g==45936||g==45964||g==45992||g==46020||g==46048||g==46076||g==46104||g==46132||g==46160||g==46188||g==46216||g==46244||g==46272||g==46300||g==46328||g==46356||g==46384||g==46412||g==46440||g==46468||g==46496||g==46524||g==46552||g==46580||g==46608||g==46636||g==46664||g==46692||g==46720||g==46748||g==46776||g==46804||g==46832||g==46860||g==46888||g==46916||g==46944||g==46972||g==47e3||g==47028||g==47056||g==47084||g==47112||g==47140||g==47168||g==47196||g==47224||g==47252||g==47280||g==47308||g==47336||g==47364||g==47392||g==47420||g==47448||g==47476||g==47504||g==47532||g==47560||g==47588||g==47616||g==47644||g==47672||g==47700||g==47728||g==47756||g==47784||g==47812||g==47840||g==47868||g==47896||g==47924||g==47952||g==47980||g==48008||g==48036||g==48064||g==48092||g==48120||g==48148||g==48176||g==48204||g==48232||g==48260||g==48288||g==48316||g==48344||g==48372||g==48400||g==48428||g==48456||g==48484||g==48512||g==48540||g==48568||g==48596||g==48624||g==48652||g==48680||g==48708||g==48736||g==48764||g==48792||g==48820||g==48848||g==48876||g==48904||g==48932||g==48960||g==48988||g==49016||g==49044||g==49072||g==49100||g==49128||g==49156||g==49184||g==49212||g==49240||g==49268||g==49296||g==49324||g==49352||g==49380||g==49408||g==49436||g==49464||g==49492||g==49520||g==49548||g==49576||g==49604||g==49632||g==49660||g==49688||g==49716||g==49744||g==49772||g==49800||g==49828||g==49856||g==49884||g==49912||g==49940||g==49968||g==49996||g==50024||g==50052||g==50080||g==50108||g==50136||g==50164||g==50192||g==50220||g==50248||g==50276||g==50304||g==50332||g==50360||g==50388||g==50416||g==50444||g==50472||g==50500||g==50528||g==50556||g==50584||g==50612||g==50640||g==50668||g==50696||g==50724||g==50752||g==50780||g==50808||g==50836||g==50864||g==50892||g==50920||g==50948||g==50976||g==51004||g==51032||g==51060||g==51088||g==51116||g==51144||g==51172||g==51200||g==51228||g==51256||g==51284||g==51312||g==51340||g==51368||g==51396||g==51424||g==51452||g==51480||g==51508||g==51536||g==51564||g==51592||g==51620||g==51648||g==51676||g==51704||g==51732||g==51760||g==51788||g==51816||g==51844||g==51872||g==51900||g==51928||g==51956||g==51984||g==52012||g==52040||g==52068||g==52096||g==52124||g==52152||g==52180||g==52208||g==52236||g==52264||g==52292||g==52320||g==52348||g==52376||g==52404||g==52432||g==52460||g==52488||g==52516||g==52544||g==52572||g==52600||g==52628||g==52656||g==52684||g==52712||g==52740||g==52768||g==52796||g==52824||g==52852||g==52880||g==52908||g==52936||g==52964||g==52992||g==53020||g==53048||g==53076||g==53104||g==53132||g==53160||g==53188||g==53216||g==53244||g==53272||g==53300||g==53328||g==53356||g==53384||g==53412||g==53440||g==53468||g==53496||g==53524||g==53552||g==53580||g==53608||g==53636||g==53664||g==53692||g==53720||g==53748||g==53776||g==53804||g==53832||g==53860||g==53888||g==53916||g==53944||g==53972||g==54e3||g==54028||g==54056||g==54084||g==54112||g==54140||g==54168||g==54196||g==54224||g==54252||g==54280||g==54308||g==54336||g==54364||g==54392||g==54420||g==54448||g==54476||g==54504||g==54532||g==54560||g==54588||g==54616||g==54644||g==54672||g==54700||g==54728||g==54756||g==54784||g==54812||g==54840||g==54868||g==54896||g==54924||g==54952||g==54980||g==55008||g==55036||g==55064||g==55092||g==55120||g==55148||g==55176?h:44033<=g&&g<=44059||44061<=g&&g<=44087||44089<=g&&g<=44115||44117<=g&&g<=44143||44145<=g&&g<=44171||44173<=g&&g<=44199||44201<=g&&g<=44227||44229<=g&&g<=44255||44257<=g&&g<=44283||44285<=g&&g<=44311||44313<=g&&g<=44339||44341<=g&&g<=44367||44369<=g&&g<=44395||44397<=g&&g<=44423||44425<=g&&g<=44451||44453<=g&&g<=44479||44481<=g&&g<=44507||44509<=g&&g<=44535||44537<=g&&g<=44563||44565<=g&&g<=44591||44593<=g&&g<=44619||44621<=g&&g<=44647||44649<=g&&g<=44675||44677<=g&&g<=44703||44705<=g&&g<=44731||44733<=g&&g<=44759||44761<=g&&g<=44787||44789<=g&&g<=44815||44817<=g&&g<=44843||44845<=g&&g<=44871||44873<=g&&g<=44899||44901<=g&&g<=44927||44929<=g&&g<=44955||44957<=g&&g<=44983||44985<=g&&g<=45011||45013<=g&&g<=45039||45041<=g&&g<=45067||45069<=g&&g<=45095||45097<=g&&g<=45123||45125<=g&&g<=45151||45153<=g&&g<=45179||45181<=g&&g<=45207||45209<=g&&g<=45235||45237<=g&&g<=45263||45265<=g&&g<=45291||45293<=g&&g<=45319||45321<=g&&g<=45347||45349<=g&&g<=45375||45377<=g&&g<=45403||45405<=g&&g<=45431||45433<=g&&g<=45459||45461<=g&&g<=45487||45489<=g&&g<=45515||45517<=g&&g<=45543||45545<=g&&g<=45571||45573<=g&&g<=45599||45601<=g&&g<=45627||45629<=g&&g<=45655||45657<=g&&g<=45683||45685<=g&&g<=45711||45713<=g&&g<=45739||45741<=g&&g<=45767||45769<=g&&g<=45795||45797<=g&&g<=45823||45825<=g&&g<=45851||45853<=g&&g<=45879||45881<=g&&g<=45907||45909<=g&&g<=45935||45937<=g&&g<=45963||45965<=g&&g<=45991||45993<=g&&g<=46019||46021<=g&&g<=46047||46049<=g&&g<=46075||46077<=g&&g<=46103||46105<=g&&g<=46131||46133<=g&&g<=46159||46161<=g&&g<=46187||46189<=g&&g<=46215||46217<=g&&g<=46243||46245<=g&&g<=46271||46273<=g&&g<=46299||46301<=g&&g<=46327||46329<=g&&g<=46355||46357<=g&&g<=46383||46385<=g&&g<=46411||46413<=g&&g<=46439||46441<=g&&g<=46467||46469<=g&&g<=46495||46497<=g&&g<=46523||46525<=g&&g<=46551||46553<=g&&g<=46579||46581<=g&&g<=46607||46609<=g&&g<=46635||46637<=g&&g<=46663||46665<=g&&g<=46691||46693<=g&&g<=46719||46721<=g&&g<=46747||46749<=g&&g<=46775||46777<=g&&g<=46803||46805<=g&&g<=46831||46833<=g&&g<=46859||46861<=g&&g<=46887||46889<=g&&g<=46915||46917<=g&&g<=46943||46945<=g&&g<=46971||46973<=g&&g<=46999||47001<=g&&g<=47027||47029<=g&&g<=47055||47057<=g&&g<=47083||47085<=g&&g<=47111||47113<=g&&g<=47139||47141<=g&&g<=47167||47169<=g&&g<=47195||47197<=g&&g<=47223||47225<=g&&g<=47251||47253<=g&&g<=47279||47281<=g&&g<=47307||47309<=g&&g<=47335||47337<=g&&g<=47363||47365<=g&&g<=47391||47393<=g&&g<=47419||47421<=g&&g<=47447||47449<=g&&g<=47475||47477<=g&&g<=47503||47505<=g&&g<=47531||47533<=g&&g<=47559||47561<=g&&g<=47587||47589<=g&&g<=47615||47617<=g&&g<=47643||47645<=g&&g<=47671||47673<=g&&g<=47699||47701<=g&&g<=47727||47729<=g&&g<=47755||47757<=g&&g<=47783||47785<=g&&g<=47811||47813<=g&&g<=47839||47841<=g&&g<=47867||47869<=g&&g<=47895||47897<=g&&g<=47923||47925<=g&&g<=47951||47953<=g&&g<=47979||47981<=g&&g<=48007||48009<=g&&g<=48035||48037<=g&&g<=48063||48065<=g&&g<=48091||48093<=g&&g<=48119||48121<=g&&g<=48147||48149<=g&&g<=48175||48177<=g&&g<=48203||48205<=g&&g<=48231||48233<=g&&g<=48259||48261<=g&&g<=48287||48289<=g&&g<=48315||48317<=g&&g<=48343||48345<=g&&g<=48371||48373<=g&&g<=48399||48401<=g&&g<=48427||48429<=g&&g<=48455||48457<=g&&g<=48483||48485<=g&&g<=48511||48513<=g&&g<=48539||48541<=g&&g<=48567||48569<=g&&g<=48595||48597<=g&&g<=48623||48625<=g&&g<=48651||48653<=g&&g<=48679||48681<=g&&g<=48707||48709<=g&&g<=48735||48737<=g&&g<=48763||48765<=g&&g<=48791||48793<=g&&g<=48819||48821<=g&&g<=48847||48849<=g&&g<=48875||48877<=g&&g<=48903||48905<=g&&g<=48931||48933<=g&&g<=48959||48961<=g&&g<=48987||48989<=g&&g<=49015||49017<=g&&g<=49043||49045<=g&&g<=49071||49073<=g&&g<=49099||49101<=g&&g<=49127||49129<=g&&g<=49155||49157<=g&&g<=49183||49185<=g&&g<=49211||49213<=g&&g<=49239||49241<=g&&g<=49267||49269<=g&&g<=49295||49297<=g&&g<=49323||49325<=g&&g<=49351||49353<=g&&g<=49379||49381<=g&&g<=49407||49409<=g&&g<=49435||49437<=g&&g<=49463||49465<=g&&g<=49491||49493<=g&&g<=49519||49521<=g&&g<=49547||49549<=g&&g<=49575||49577<=g&&g<=49603||49605<=g&&g<=49631||49633<=g&&g<=49659||49661<=g&&g<=49687||49689<=g&&g<=49715||49717<=g&&g<=49743||49745<=g&&g<=49771||49773<=g&&g<=49799||49801<=g&&g<=49827||49829<=g&&g<=49855||49857<=g&&g<=49883||49885<=g&&g<=49911||49913<=g&&g<=49939||49941<=g&&g<=49967||49969<=g&&g<=49995||49997<=g&&g<=50023||50025<=g&&g<=50051||50053<=g&&g<=50079||50081<=g&&g<=50107||50109<=g&&g<=50135||50137<=g&&g<=50163||50165<=g&&g<=50191||50193<=g&&g<=50219||50221<=g&&g<=50247||50249<=g&&g<=50275||50277<=g&&g<=50303||50305<=g&&g<=50331||50333<=g&&g<=50359||50361<=g&&g<=50387||50389<=g&&g<=50415||50417<=g&&g<=50443||50445<=g&&g<=50471||50473<=g&&g<=50499||50501<=g&&g<=50527||50529<=g&&g<=50555||50557<=g&&g<=50583||50585<=g&&g<=50611||50613<=g&&g<=50639||50641<=g&&g<=50667||50669<=g&&g<=50695||50697<=g&&g<=50723||50725<=g&&g<=50751||50753<=g&&g<=50779||50781<=g&&g<=50807||50809<=g&&g<=50835||50837<=g&&g<=50863||50865<=g&&g<=50891||50893<=g&&g<=50919||50921<=g&&g<=50947||50949<=g&&g<=50975||50977<=g&&g<=51003||51005<=g&&g<=51031||51033<=g&&g<=51059||51061<=g&&g<=51087||51089<=g&&g<=51115||51117<=g&&g<=51143||51145<=g&&g<=51171||51173<=g&&g<=51199||51201<=g&&g<=51227||51229<=g&&g<=51255||51257<=g&&g<=51283||51285<=g&&g<=51311||51313<=g&&g<=51339||51341<=g&&g<=51367||51369<=g&&g<=51395||51397<=g&&g<=51423||51425<=g&&g<=51451||51453<=g&&g<=51479||51481<=g&&g<=51507||51509<=g&&g<=51535||51537<=g&&g<=51563||51565<=g&&g<=51591||51593<=g&&g<=51619||51621<=g&&g<=51647||51649<=g&&g<=51675||51677<=g&&g<=51703||51705<=g&&g<=51731||51733<=g&&g<=51759||51761<=g&&g<=51787||51789<=g&&g<=51815||51817<=g&&g<=51843||51845<=g&&g<=51871||51873<=g&&g<=51899||51901<=g&&g<=51927||51929<=g&&g<=51955||51957<=g&&g<=51983||51985<=g&&g<=52011||52013<=g&&g<=52039||52041<=g&&g<=52067||52069<=g&&g<=52095||52097<=g&&g<=52123||52125<=g&&g<=52151||52153<=g&&g<=52179||52181<=g&&g<=52207||52209<=g&&g<=52235||52237<=g&&g<=52263||52265<=g&&g<=52291||52293<=g&&g<=52319||52321<=g&&g<=52347||52349<=g&&g<=52375||52377<=g&&g<=52403||52405<=g&&g<=52431||52433<=g&&g<=52459||52461<=g&&g<=52487||52489<=g&&g<=52515||52517<=g&&g<=52543||52545<=g&&g<=52571||52573<=g&&g<=52599||52601<=g&&g<=52627||52629<=g&&g<=52655||52657<=g&&g<=52683||52685<=g&&g<=52711||52713<=g&&g<=52739||52741<=g&&g<=52767||52769<=g&&g<=52795||52797<=g&&g<=52823||52825<=g&&g<=52851||52853<=g&&g<=52879||52881<=g&&g<=52907||52909<=g&&g<=52935||52937<=g&&g<=52963||52965<=g&&g<=52991||52993<=g&&g<=53019||53021<=g&&g<=53047||53049<=g&&g<=53075||53077<=g&&g<=53103||53105<=g&&g<=53131||53133<=g&&g<=53159||53161<=g&&g<=53187||53189<=g&&g<=53215||53217<=g&&g<=53243||53245<=g&&g<=53271||53273<=g&&g<=53299||53301<=g&&g<=53327||53329<=g&&g<=53355||53357<=g&&g<=53383||53385<=g&&g<=53411||53413<=g&&g<=53439||53441<=g&&g<=53467||53469<=g&&g<=53495||53497<=g&&g<=53523||53525<=g&&g<=53551||53553<=g&&g<=53579||53581<=g&&g<=53607||53609<=g&&g<=53635||53637<=g&&g<=53663||53665<=g&&g<=53691||53693<=g&&g<=53719||53721<=g&&g<=53747||53749<=g&&g<=53775||53777<=g&&g<=53803||53805<=g&&g<=53831||53833<=g&&g<=53859||53861<=g&&g<=53887||53889<=g&&g<=53915||53917<=g&&g<=53943||53945<=g&&g<=53971||53973<=g&&g<=53999||54001<=g&&g<=54027||54029<=g&&g<=54055||54057<=g&&g<=54083||54085<=g&&g<=54111||54113<=g&&g<=54139||54141<=g&&g<=54167||54169<=g&&g<=54195||54197<=g&&g<=54223||54225<=g&&g<=54251||54253<=g&&g<=54279||54281<=g&&g<=54307||54309<=g&&g<=54335||54337<=g&&g<=54363||54365<=g&&g<=54391||54393<=g&&g<=54419||54421<=g&&g<=54447||54449<=g&&g<=54475||54477<=g&&g<=54503||54505<=g&&g<=54531||54533<=g&&g<=54559||54561<=g&&g<=54587||54589<=g&&g<=54615||54617<=g&&g<=54643||54645<=g&&g<=54671||54673<=g&&g<=54699||54701<=g&&g<=54727||54729<=g&&g<=54755||54757<=g&&g<=54783||54785<=g&&g<=54811||54813<=g&&g<=54839||54841<=g&&g<=54867||54869<=g&&g<=54895||54897<=g&&g<=54923||54925<=g&&g<=54951||54953<=g&&g<=54979||54981<=g&&g<=55007||55009<=g&&g<=55035||55037<=g&&g<=55063||55065<=g&&g<=55091||55093<=g&&g<=55119||55121<=g&&g<=55147||55149<=g&&g<=55175||55177<=g&&g<=55203?C:g==9757||g==9977||9994<=g&&g<=9997||g==127877||127938<=g&&g<=127940||g==127943||127946<=g&&g<=127948||128066<=g&&g<=128067||128070<=g&&g<=128080||g==128110||128112<=g&&g<=128120||g==128124||128129<=g&&g<=128131||128133<=g&&g<=128135||g==128170||128372<=g&&g<=128373||g==128378||g==128400||128405<=g&&g<=128406||128581<=g&&g<=128583||128587<=g&&g<=128591||g==128675||128692<=g&&g<=128694||g==128704||g==128716||129304<=g&&g<=129308||129310<=g&&g<=129311||g==129318||129328<=g&&g<=129337||129341<=g&&g<=129342||129489<=g&&g<=129501?b:127995<=g&&g<=127999?E:g==8205?R:g==9792||g==9794||9877<=g&&g<=9878||g==9992||g==10084||g==127752||g==127806||g==127859||g==127891||g==127908||g==127912||g==127979||g==127981||g==128139||128187<=g&&g<=128188||g==128295||g==128300||g==128488||g==128640||g==128658?L:128102<=g&&g<=128105?_:w}return this}typeof Sx<"u"&&Sx.exports&&(Sx.exports=wot)});var tue=U((lMt,eue)=>{var Bot=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,Px;function vot(){if(Px)return Px;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return Px=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=$ce(),e=new t;return Px=r=>e.splitGraphemes(r)}}eue.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(Bot)||[t,t,void 0],p=vot()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let C=Math.min(o-u,p.length);a+=p.slice(0,C).join(""),n+=h,u+=C,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});function oue(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Ku(t===null?0:t);return!r&&t===null?Kt(e,a,"grey"):a}function CU(t,{configuration:e,json:r}){let o=oue(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=dr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Yy(e,o,n)}var sue,bx,rue,nue,Dot,Sot,xx,iue,Pot,xot,Qx,bot,Ct,kx=dt(()=>{sue=tt(tue()),bx=tt(Jg());KD();Jl();Yl();Ks();rue=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],nue=80,Dot=new Set([13,19]),Sot=5,xx=bx.default.GITHUB_ACTIONS?{start:t=>`::group::${t} 165`),re.end()}),re});break;case"<&":C(()=>Ice(Number(t[V]),1,r));break;case">":case">>":{let re=z.resolve(r.cwd,ue.toPortablePath(t[V]));R(re==="/dev/null"?new ul.Writable({autoDestroy:!0,emitClose:!0,write(oe,pe,he){setImmediate(he)}}):e.baseFs.createWriteStream(re,v===">>"?{flags:"a"}:void 0))}break;case">&":R(Ice(Number(t[V]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let w=new ul.PassThrough;o=w;let v=b=>{if(b===u.length)w.end();else{let C=u[b]();C.pipe(w,{end:!1}),C.on("end",()=>{v(b+1)})}};v(0)}if(A.length>0){let w=new ul.PassThrough;a=w;for(let v of A)w.pipe(v)}if(p.length>0){let w=new ul.PassThrough;n=w;for(let v of p)w.pipe(v)}let E=await xx(I1(t.slice(h+1),e,r),{stdin:new tc(o),stdout:new tc(a),stderr:new tc(n)}).run();return await Promise.all(A.map(w=>new Promise((v,b)=>{w.on("error",C=>{b(C)}),w.on("close",()=>{v()}),w.end()}))),await Promise.all(p.map(w=>new Promise((v,b)=>{w.on("error",C=>{b(C)}),w.on("close",()=>{v()}),w.end()}))),E}]]);Nst={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var Fx=U((cMt,Qce)=>{function _st(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}Qce.exports=_st});var Lce=U((uMt,Nce)=>{var kce=fd(),Hst=Fx(),qst=Yl(),jst=AC(),Gst=1/0,Fce=kce?kce.prototype:void 0,Rce=Fce?Fce.toString:void 0;function Tce(t){if(typeof t=="string")return t;if(qst(t))return Hst(t,Tce)+"";if(jst(t))return Rce?Rce.call(t):"";var e=t+"";return e=="0"&&1/t==-Gst?"-0":e}Nce.exports=Tce});var v1=U((AMt,Oce)=>{var Wst=Lce();function Yst(t){return t==null?"":Wst(t)}Oce.exports=Yst});var dU=U((fMt,Mce)=>{function Kst(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o<a;)n[o]=t[o+e];return n}Mce.exports=Kst});var _ce=U((pMt,Uce)=>{var Vst=dU();function Jst(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:Vst(t,e,r)}Uce.exports=Jst});var mU=U((hMt,Hce)=>{var zst="\\ud800-\\udfff",Xst="\\u0300-\\u036f",Zst="\\ufe20-\\ufe2f",$st="\\u20d0-\\u20ff",eot=Xst+Zst+$st,tot="\\ufe0e\\ufe0f",rot="\\u200d",not=RegExp("["+rot+zst+eot+tot+"]");function iot(t){return not.test(t)}Hce.exports=iot});var jce=U((gMt,qce)=>{function sot(t){return t.split("")}qce.exports=sot});var Xce=U((dMt,zce)=>{var Gce="\\ud800-\\udfff",oot="\\u0300-\\u036f",aot="\\ufe20-\\ufe2f",lot="\\u20d0-\\u20ff",cot=oot+aot+lot,uot="\\ufe0e\\ufe0f",Aot="["+Gce+"]",yU="["+cot+"]",CU="\\ud83c[\\udffb-\\udfff]",fot="(?:"+yU+"|"+CU+")",Wce="[^"+Gce+"]",Yce="(?:\\ud83c[\\udde6-\\uddff]){2}",Kce="[\\ud800-\\udbff][\\udc00-\\udfff]",pot="\\u200d",Vce=fot+"?",Jce="["+uot+"]?",hot="(?:"+pot+"(?:"+[Wce,Yce,Kce].join("|")+")"+Jce+Vce+")*",got=Jce+Vce+hot,dot="(?:"+[Wce+yU+"?",yU,Yce,Kce,Aot].join("|")+")",mot=RegExp(CU+"(?="+CU+")|"+dot+got,"g");function yot(t){return t.match(mot)||[]}zce.exports=yot});var $ce=U((mMt,Zce)=>{var Cot=jce(),Eot=mU(),Iot=Xce();function wot(t){return Eot(t)?Iot(t):Cot(t)}Zce.exports=wot});var tue=U((yMt,eue)=>{var Bot=_ce(),vot=mU(),Dot=$ce(),Sot=v1();function Pot(t){return function(e){e=Sot(e);var r=vot(e)?Dot(e):void 0,o=r?r[0]:e.charAt(0),a=r?Bot(r,1).join(""):e.slice(1);return o[t]()+a}}eue.exports=Pot});var nue=U((CMt,rue)=>{var xot=tue(),bot=xot("toUpperCase");rue.exports=bot});var EU=U((EMt,iue)=>{var Qot=v1(),kot=nue();function Fot(t){return kot(Qot(t).toLowerCase())}iue.exports=Fot});var sue=U((IMt,Rx)=>{function Rot(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,E=10,w=11,v=12,b=13,C=14,R=15,L=16,_=17,V=0,re=1,oe=2,pe=3,he=4;function ve(g,De){return 55296<=g.charCodeAt(De)&&g.charCodeAt(De)<=56319&&56320<=g.charCodeAt(De+1)&&g.charCodeAt(De+1)<=57343}function ge(g,De){De===void 0&&(De=0);var Ce=g.charCodeAt(De);if(55296<=Ce&&Ce<=56319&&De<g.length-1){var de=Ce,ne=g.charCodeAt(De+1);return 56320<=ne&&ne<=57343?(de-55296)*1024+(ne-56320)+65536:de}if(56320<=Ce&&Ce<=57343&&De>=1){var de=g.charCodeAt(De-1),ne=Ce;return 55296<=de&&de<=56319?(de-55296)*1024+(ne-56320)+65536:ne}return Ce}function le(g,De,Ce){var de=[g].concat(De).concat([Ce]),ne=de[de.length-2],Z=Ce,me=de.lastIndexOf(C);if(me>1&&de.slice(1,me).every(function(H){return H==o})&&[o,b,_].indexOf(g)==-1)return oe;var be=de.lastIndexOf(a);if(be>0&&de.slice(1,be).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return de.filter(function(H){return H==a}).length%2==1?pe:he;if(ne==t&&Z==e)return V;if(ne==r||ne==t||ne==e)return Z==C&&De.every(function(H){return H==o})?oe:re;if(Z==r||Z==t||Z==e)return re;if(ne==u&&(Z==u||Z==A||Z==h||Z==E))return V;if((ne==h||ne==A)&&(Z==A||Z==p))return V;if((ne==E||ne==p)&&Z==p)return V;if(Z==o||Z==R)return V;if(Z==n)return V;if(ne==v)return V;var ut=de.indexOf(o)!=-1?de.lastIndexOf(o)-1:de.length-2;return[b,_].indexOf(de[ut])!=-1&&de.slice(ut+1,-1).every(function(H){return H==o})&&Z==C||ne==R&&[L,_].indexOf(Z)!=-1?V:De.indexOf(a)!=-1?oe:ne==a&&Z==a?V:re}this.nextBreak=function(g,De){if(De===void 0&&(De=0),De<0)return 0;if(De>=g.length-1)return g.length;for(var Ce=Pe(ge(g,De)),de=[],ne=De+1;ne<g.length;ne++)if(!ve(g,ne-1)){var Z=Pe(ge(g,ne));if(le(Ce,de,Z))return ne;de.push(Z)}return g.length},this.splitGraphemes=function(g){for(var De=[],Ce=0,de;(de=this.nextBreak(g,Ce))<g.length;)De.push(g.slice(Ce,de)),Ce=de;return Ce<g.length&&De.push(g.slice(Ce)),De},this.iterateGraphemes=function(g){var De=0,Ce={next:function(){var de,ne;return(ne=this.nextBreak(g,De))<g.length?(de=g.slice(De,ne),De=ne,{value:de,done:!1}):De<g.length?(de=g.slice(De),De=g.length,{value:de,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(Ce[Symbol.iterator]=function(){return Ce}),Ce},this.countGraphemes=function(g){for(var De=0,Ce=0,de;(de=this.nextBreak(g,Ce))<g.length;)Ce=de,De++;return Ce<g.length&&De++,De};function Pe(g){return 1536<=g&&g<=1541||g==1757||g==1807||g==2274||g==3406||g==69821||70082<=g&&g<=70083||g==72250||72326<=g&&g<=72329||g==73030?v:g==13?t:g==10?e:0<=g&&g<=9||11<=g&&g<=12||14<=g&&g<=31||127<=g&&g<=159||g==173||g==1564||g==6158||g==8203||8206<=g&&g<=8207||g==8232||g==8233||8234<=g&&g<=8238||8288<=g&&g<=8292||g==8293||8294<=g&&g<=8303||55296<=g&&g<=57343||g==65279||65520<=g&&g<=65528||65529<=g&&g<=65531||113824<=g&&g<=113827||119155<=g&&g<=119162||g==917504||g==917505||917506<=g&&g<=917535||917632<=g&&g<=917759||918e3<=g&&g<=921599?r:768<=g&&g<=879||1155<=g&&g<=1159||1160<=g&&g<=1161||1425<=g&&g<=1469||g==1471||1473<=g&&g<=1474||1476<=g&&g<=1477||g==1479||1552<=g&&g<=1562||1611<=g&&g<=1631||g==1648||1750<=g&&g<=1756||1759<=g&&g<=1764||1767<=g&&g<=1768||1770<=g&&g<=1773||g==1809||1840<=g&&g<=1866||1958<=g&&g<=1968||2027<=g&&g<=2035||2070<=g&&g<=2073||2075<=g&&g<=2083||2085<=g&&g<=2087||2089<=g&&g<=2093||2137<=g&&g<=2139||2260<=g&&g<=2273||2275<=g&&g<=2306||g==2362||g==2364||2369<=g&&g<=2376||g==2381||2385<=g&&g<=2391||2402<=g&&g<=2403||g==2433||g==2492||g==2494||2497<=g&&g<=2500||g==2509||g==2519||2530<=g&&g<=2531||2561<=g&&g<=2562||g==2620||2625<=g&&g<=2626||2631<=g&&g<=2632||2635<=g&&g<=2637||g==2641||2672<=g&&g<=2673||g==2677||2689<=g&&g<=2690||g==2748||2753<=g&&g<=2757||2759<=g&&g<=2760||g==2765||2786<=g&&g<=2787||2810<=g&&g<=2815||g==2817||g==2876||g==2878||g==2879||2881<=g&&g<=2884||g==2893||g==2902||g==2903||2914<=g&&g<=2915||g==2946||g==3006||g==3008||g==3021||g==3031||g==3072||3134<=g&&g<=3136||3142<=g&&g<=3144||3146<=g&&g<=3149||3157<=g&&g<=3158||3170<=g&&g<=3171||g==3201||g==3260||g==3263||g==3266||g==3270||3276<=g&&g<=3277||3285<=g&&g<=3286||3298<=g&&g<=3299||3328<=g&&g<=3329||3387<=g&&g<=3388||g==3390||3393<=g&&g<=3396||g==3405||g==3415||3426<=g&&g<=3427||g==3530||g==3535||3538<=g&&g<=3540||g==3542||g==3551||g==3633||3636<=g&&g<=3642||3655<=g&&g<=3662||g==3761||3764<=g&&g<=3769||3771<=g&&g<=3772||3784<=g&&g<=3789||3864<=g&&g<=3865||g==3893||g==3895||g==3897||3953<=g&&g<=3966||3968<=g&&g<=3972||3974<=g&&g<=3975||3981<=g&&g<=3991||3993<=g&&g<=4028||g==4038||4141<=g&&g<=4144||4146<=g&&g<=4151||4153<=g&&g<=4154||4157<=g&&g<=4158||4184<=g&&g<=4185||4190<=g&&g<=4192||4209<=g&&g<=4212||g==4226||4229<=g&&g<=4230||g==4237||g==4253||4957<=g&&g<=4959||5906<=g&&g<=5908||5938<=g&&g<=5940||5970<=g&&g<=5971||6002<=g&&g<=6003||6068<=g&&g<=6069||6071<=g&&g<=6077||g==6086||6089<=g&&g<=6099||g==6109||6155<=g&&g<=6157||6277<=g&&g<=6278||g==6313||6432<=g&&g<=6434||6439<=g&&g<=6440||g==6450||6457<=g&&g<=6459||6679<=g&&g<=6680||g==6683||g==6742||6744<=g&&g<=6750||g==6752||g==6754||6757<=g&&g<=6764||6771<=g&&g<=6780||g==6783||6832<=g&&g<=6845||g==6846||6912<=g&&g<=6915||g==6964||6966<=g&&g<=6970||g==6972||g==6978||7019<=g&&g<=7027||7040<=g&&g<=7041||7074<=g&&g<=7077||7080<=g&&g<=7081||7083<=g&&g<=7085||g==7142||7144<=g&&g<=7145||g==7149||7151<=g&&g<=7153||7212<=g&&g<=7219||7222<=g&&g<=7223||7376<=g&&g<=7378||7380<=g&&g<=7392||7394<=g&&g<=7400||g==7405||g==7412||7416<=g&&g<=7417||7616<=g&&g<=7673||7675<=g&&g<=7679||g==8204||8400<=g&&g<=8412||8413<=g&&g<=8416||g==8417||8418<=g&&g<=8420||8421<=g&&g<=8432||11503<=g&&g<=11505||g==11647||11744<=g&&g<=11775||12330<=g&&g<=12333||12334<=g&&g<=12335||12441<=g&&g<=12442||g==42607||42608<=g&&g<=42610||42612<=g&&g<=42621||42654<=g&&g<=42655||42736<=g&&g<=42737||g==43010||g==43014||g==43019||43045<=g&&g<=43046||43204<=g&&g<=43205||43232<=g&&g<=43249||43302<=g&&g<=43309||43335<=g&&g<=43345||43392<=g&&g<=43394||g==43443||43446<=g&&g<=43449||g==43452||g==43493||43561<=g&&g<=43566||43569<=g&&g<=43570||43573<=g&&g<=43574||g==43587||g==43596||g==43644||g==43696||43698<=g&&g<=43700||43703<=g&&g<=43704||43710<=g&&g<=43711||g==43713||43756<=g&&g<=43757||g==43766||g==44005||g==44008||g==44013||g==64286||65024<=g&&g<=65039||65056<=g&&g<=65071||65438<=g&&g<=65439||g==66045||g==66272||66422<=g&&g<=66426||68097<=g&&g<=68099||68101<=g&&g<=68102||68108<=g&&g<=68111||68152<=g&&g<=68154||g==68159||68325<=g&&g<=68326||g==69633||69688<=g&&g<=69702||69759<=g&&g<=69761||69811<=g&&g<=69814||69817<=g&&g<=69818||69888<=g&&g<=69890||69927<=g&&g<=69931||69933<=g&&g<=69940||g==70003||70016<=g&&g<=70017||70070<=g&&g<=70078||70090<=g&&g<=70092||70191<=g&&g<=70193||g==70196||70198<=g&&g<=70199||g==70206||g==70367||70371<=g&&g<=70378||70400<=g&&g<=70401||g==70460||g==70462||g==70464||g==70487||70502<=g&&g<=70508||70512<=g&&g<=70516||70712<=g&&g<=70719||70722<=g&&g<=70724||g==70726||g==70832||70835<=g&&g<=70840||g==70842||g==70845||70847<=g&&g<=70848||70850<=g&&g<=70851||g==71087||71090<=g&&g<=71093||71100<=g&&g<=71101||71103<=g&&g<=71104||71132<=g&&g<=71133||71219<=g&&g<=71226||g==71229||71231<=g&&g<=71232||g==71339||g==71341||71344<=g&&g<=71349||g==71351||71453<=g&&g<=71455||71458<=g&&g<=71461||71463<=g&&g<=71467||72193<=g&&g<=72198||72201<=g&&g<=72202||72243<=g&&g<=72248||72251<=g&&g<=72254||g==72263||72273<=g&&g<=72278||72281<=g&&g<=72283||72330<=g&&g<=72342||72344<=g&&g<=72345||72752<=g&&g<=72758||72760<=g&&g<=72765||g==72767||72850<=g&&g<=72871||72874<=g&&g<=72880||72882<=g&&g<=72883||72885<=g&&g<=72886||73009<=g&&g<=73014||g==73018||73020<=g&&g<=73021||73023<=g&&g<=73029||g==73031||92912<=g&&g<=92916||92976<=g&&g<=92982||94095<=g&&g<=94098||113821<=g&&g<=113822||g==119141||119143<=g&&g<=119145||119150<=g&&g<=119154||119163<=g&&g<=119170||119173<=g&&g<=119179||119210<=g&&g<=119213||119362<=g&&g<=119364||121344<=g&&g<=121398||121403<=g&&g<=121452||g==121461||g==121476||121499<=g&&g<=121503||121505<=g&&g<=121519||122880<=g&&g<=122886||122888<=g&&g<=122904||122907<=g&&g<=122913||122915<=g&&g<=122916||122918<=g&&g<=122922||125136<=g&&g<=125142||125252<=g&&g<=125258||917536<=g&&g<=917631||917760<=g&&g<=917999?o:127462<=g&&g<=127487?a:g==2307||g==2363||2366<=g&&g<=2368||2377<=g&&g<=2380||2382<=g&&g<=2383||2434<=g&&g<=2435||2495<=g&&g<=2496||2503<=g&&g<=2504||2507<=g&&g<=2508||g==2563||2622<=g&&g<=2624||g==2691||2750<=g&&g<=2752||g==2761||2763<=g&&g<=2764||2818<=g&&g<=2819||g==2880||2887<=g&&g<=2888||2891<=g&&g<=2892||g==3007||3009<=g&&g<=3010||3014<=g&&g<=3016||3018<=g&&g<=3020||3073<=g&&g<=3075||3137<=g&&g<=3140||3202<=g&&g<=3203||g==3262||3264<=g&&g<=3265||3267<=g&&g<=3268||3271<=g&&g<=3272||3274<=g&&g<=3275||3330<=g&&g<=3331||3391<=g&&g<=3392||3398<=g&&g<=3400||3402<=g&&g<=3404||3458<=g&&g<=3459||3536<=g&&g<=3537||3544<=g&&g<=3550||3570<=g&&g<=3571||g==3635||g==3763||3902<=g&&g<=3903||g==3967||g==4145||4155<=g&&g<=4156||4182<=g&&g<=4183||g==4228||g==6070||6078<=g&&g<=6085||6087<=g&&g<=6088||6435<=g&&g<=6438||6441<=g&&g<=6443||6448<=g&&g<=6449||6451<=g&&g<=6456||6681<=g&&g<=6682||g==6741||g==6743||6765<=g&&g<=6770||g==6916||g==6965||g==6971||6973<=g&&g<=6977||6979<=g&&g<=6980||g==7042||g==7073||7078<=g&&g<=7079||g==7082||g==7143||7146<=g&&g<=7148||g==7150||7154<=g&&g<=7155||7204<=g&&g<=7211||7220<=g&&g<=7221||g==7393||7410<=g&&g<=7411||g==7415||43043<=g&&g<=43044||g==43047||43136<=g&&g<=43137||43188<=g&&g<=43203||43346<=g&&g<=43347||g==43395||43444<=g&&g<=43445||43450<=g&&g<=43451||43453<=g&&g<=43456||43567<=g&&g<=43568||43571<=g&&g<=43572||g==43597||g==43755||43758<=g&&g<=43759||g==43765||44003<=g&&g<=44004||44006<=g&&g<=44007||44009<=g&&g<=44010||g==44012||g==69632||g==69634||g==69762||69808<=g&&g<=69810||69815<=g&&g<=69816||g==69932||g==70018||70067<=g&&g<=70069||70079<=g&&g<=70080||70188<=g&&g<=70190||70194<=g&&g<=70195||g==70197||70368<=g&&g<=70370||70402<=g&&g<=70403||g==70463||70465<=g&&g<=70468||70471<=g&&g<=70472||70475<=g&&g<=70477||70498<=g&&g<=70499||70709<=g&&g<=70711||70720<=g&&g<=70721||g==70725||70833<=g&&g<=70834||g==70841||70843<=g&&g<=70844||g==70846||g==70849||71088<=g&&g<=71089||71096<=g&&g<=71099||g==71102||71216<=g&&g<=71218||71227<=g&&g<=71228||g==71230||g==71340||71342<=g&&g<=71343||g==71350||71456<=g&&g<=71457||g==71462||72199<=g&&g<=72200||g==72249||72279<=g&&g<=72280||g==72343||g==72751||g==72766||g==72873||g==72881||g==72884||94033<=g&&g<=94078||g==119142||g==119149?n:4352<=g&&g<=4447||43360<=g&&g<=43388?u:4448<=g&&g<=4519||55216<=g&&g<=55238?A:4520<=g&&g<=4607||55243<=g&&g<=55291?p:g==44032||g==44060||g==44088||g==44116||g==44144||g==44172||g==44200||g==44228||g==44256||g==44284||g==44312||g==44340||g==44368||g==44396||g==44424||g==44452||g==44480||g==44508||g==44536||g==44564||g==44592||g==44620||g==44648||g==44676||g==44704||g==44732||g==44760||g==44788||g==44816||g==44844||g==44872||g==44900||g==44928||g==44956||g==44984||g==45012||g==45040||g==45068||g==45096||g==45124||g==45152||g==45180||g==45208||g==45236||g==45264||g==45292||g==45320||g==45348||g==45376||g==45404||g==45432||g==45460||g==45488||g==45516||g==45544||g==45572||g==45600||g==45628||g==45656||g==45684||g==45712||g==45740||g==45768||g==45796||g==45824||g==45852||g==45880||g==45908||g==45936||g==45964||g==45992||g==46020||g==46048||g==46076||g==46104||g==46132||g==46160||g==46188||g==46216||g==46244||g==46272||g==46300||g==46328||g==46356||g==46384||g==46412||g==46440||g==46468||g==46496||g==46524||g==46552||g==46580||g==46608||g==46636||g==46664||g==46692||g==46720||g==46748||g==46776||g==46804||g==46832||g==46860||g==46888||g==46916||g==46944||g==46972||g==47e3||g==47028||g==47056||g==47084||g==47112||g==47140||g==47168||g==47196||g==47224||g==47252||g==47280||g==47308||g==47336||g==47364||g==47392||g==47420||g==47448||g==47476||g==47504||g==47532||g==47560||g==47588||g==47616||g==47644||g==47672||g==47700||g==47728||g==47756||g==47784||g==47812||g==47840||g==47868||g==47896||g==47924||g==47952||g==47980||g==48008||g==48036||g==48064||g==48092||g==48120||g==48148||g==48176||g==48204||g==48232||g==48260||g==48288||g==48316||g==48344||g==48372||g==48400||g==48428||g==48456||g==48484||g==48512||g==48540||g==48568||g==48596||g==48624||g==48652||g==48680||g==48708||g==48736||g==48764||g==48792||g==48820||g==48848||g==48876||g==48904||g==48932||g==48960||g==48988||g==49016||g==49044||g==49072||g==49100||g==49128||g==49156||g==49184||g==49212||g==49240||g==49268||g==49296||g==49324||g==49352||g==49380||g==49408||g==49436||g==49464||g==49492||g==49520||g==49548||g==49576||g==49604||g==49632||g==49660||g==49688||g==49716||g==49744||g==49772||g==49800||g==49828||g==49856||g==49884||g==49912||g==49940||g==49968||g==49996||g==50024||g==50052||g==50080||g==50108||g==50136||g==50164||g==50192||g==50220||g==50248||g==50276||g==50304||g==50332||g==50360||g==50388||g==50416||g==50444||g==50472||g==50500||g==50528||g==50556||g==50584||g==50612||g==50640||g==50668||g==50696||g==50724||g==50752||g==50780||g==50808||g==50836||g==50864||g==50892||g==50920||g==50948||g==50976||g==51004||g==51032||g==51060||g==51088||g==51116||g==51144||g==51172||g==51200||g==51228||g==51256||g==51284||g==51312||g==51340||g==51368||g==51396||g==51424||g==51452||g==51480||g==51508||g==51536||g==51564||g==51592||g==51620||g==51648||g==51676||g==51704||g==51732||g==51760||g==51788||g==51816||g==51844||g==51872||g==51900||g==51928||g==51956||g==51984||g==52012||g==52040||g==52068||g==52096||g==52124||g==52152||g==52180||g==52208||g==52236||g==52264||g==52292||g==52320||g==52348||g==52376||g==52404||g==52432||g==52460||g==52488||g==52516||g==52544||g==52572||g==52600||g==52628||g==52656||g==52684||g==52712||g==52740||g==52768||g==52796||g==52824||g==52852||g==52880||g==52908||g==52936||g==52964||g==52992||g==53020||g==53048||g==53076||g==53104||g==53132||g==53160||g==53188||g==53216||g==53244||g==53272||g==53300||g==53328||g==53356||g==53384||g==53412||g==53440||g==53468||g==53496||g==53524||g==53552||g==53580||g==53608||g==53636||g==53664||g==53692||g==53720||g==53748||g==53776||g==53804||g==53832||g==53860||g==53888||g==53916||g==53944||g==53972||g==54e3||g==54028||g==54056||g==54084||g==54112||g==54140||g==54168||g==54196||g==54224||g==54252||g==54280||g==54308||g==54336||g==54364||g==54392||g==54420||g==54448||g==54476||g==54504||g==54532||g==54560||g==54588||g==54616||g==54644||g==54672||g==54700||g==54728||g==54756||g==54784||g==54812||g==54840||g==54868||g==54896||g==54924||g==54952||g==54980||g==55008||g==55036||g==55064||g==55092||g==55120||g==55148||g==55176?h:44033<=g&&g<=44059||44061<=g&&g<=44087||44089<=g&&g<=44115||44117<=g&&g<=44143||44145<=g&&g<=44171||44173<=g&&g<=44199||44201<=g&&g<=44227||44229<=g&&g<=44255||44257<=g&&g<=44283||44285<=g&&g<=44311||44313<=g&&g<=44339||44341<=g&&g<=44367||44369<=g&&g<=44395||44397<=g&&g<=44423||44425<=g&&g<=44451||44453<=g&&g<=44479||44481<=g&&g<=44507||44509<=g&&g<=44535||44537<=g&&g<=44563||44565<=g&&g<=44591||44593<=g&&g<=44619||44621<=g&&g<=44647||44649<=g&&g<=44675||44677<=g&&g<=44703||44705<=g&&g<=44731||44733<=g&&g<=44759||44761<=g&&g<=44787||44789<=g&&g<=44815||44817<=g&&g<=44843||44845<=g&&g<=44871||44873<=g&&g<=44899||44901<=g&&g<=44927||44929<=g&&g<=44955||44957<=g&&g<=44983||44985<=g&&g<=45011||45013<=g&&g<=45039||45041<=g&&g<=45067||45069<=g&&g<=45095||45097<=g&&g<=45123||45125<=g&&g<=45151||45153<=g&&g<=45179||45181<=g&&g<=45207||45209<=g&&g<=45235||45237<=g&&g<=45263||45265<=g&&g<=45291||45293<=g&&g<=45319||45321<=g&&g<=45347||45349<=g&&g<=45375||45377<=g&&g<=45403||45405<=g&&g<=45431||45433<=g&&g<=45459||45461<=g&&g<=45487||45489<=g&&g<=45515||45517<=g&&g<=45543||45545<=g&&g<=45571||45573<=g&&g<=45599||45601<=g&&g<=45627||45629<=g&&g<=45655||45657<=g&&g<=45683||45685<=g&&g<=45711||45713<=g&&g<=45739||45741<=g&&g<=45767||45769<=g&&g<=45795||45797<=g&&g<=45823||45825<=g&&g<=45851||45853<=g&&g<=45879||45881<=g&&g<=45907||45909<=g&&g<=45935||45937<=g&&g<=45963||45965<=g&&g<=45991||45993<=g&&g<=46019||46021<=g&&g<=46047||46049<=g&&g<=46075||46077<=g&&g<=46103||46105<=g&&g<=46131||46133<=g&&g<=46159||46161<=g&&g<=46187||46189<=g&&g<=46215||46217<=g&&g<=46243||46245<=g&&g<=46271||46273<=g&&g<=46299||46301<=g&&g<=46327||46329<=g&&g<=46355||46357<=g&&g<=46383||46385<=g&&g<=46411||46413<=g&&g<=46439||46441<=g&&g<=46467||46469<=g&&g<=46495||46497<=g&&g<=46523||46525<=g&&g<=46551||46553<=g&&g<=46579||46581<=g&&g<=46607||46609<=g&&g<=46635||46637<=g&&g<=46663||46665<=g&&g<=46691||46693<=g&&g<=46719||46721<=g&&g<=46747||46749<=g&&g<=46775||46777<=g&&g<=46803||46805<=g&&g<=46831||46833<=g&&g<=46859||46861<=g&&g<=46887||46889<=g&&g<=46915||46917<=g&&g<=46943||46945<=g&&g<=46971||46973<=g&&g<=46999||47001<=g&&g<=47027||47029<=g&&g<=47055||47057<=g&&g<=47083||47085<=g&&g<=47111||47113<=g&&g<=47139||47141<=g&&g<=47167||47169<=g&&g<=47195||47197<=g&&g<=47223||47225<=g&&g<=47251||47253<=g&&g<=47279||47281<=g&&g<=47307||47309<=g&&g<=47335||47337<=g&&g<=47363||47365<=g&&g<=47391||47393<=g&&g<=47419||47421<=g&&g<=47447||47449<=g&&g<=47475||47477<=g&&g<=47503||47505<=g&&g<=47531||47533<=g&&g<=47559||47561<=g&&g<=47587||47589<=g&&g<=47615||47617<=g&&g<=47643||47645<=g&&g<=47671||47673<=g&&g<=47699||47701<=g&&g<=47727||47729<=g&&g<=47755||47757<=g&&g<=47783||47785<=g&&g<=47811||47813<=g&&g<=47839||47841<=g&&g<=47867||47869<=g&&g<=47895||47897<=g&&g<=47923||47925<=g&&g<=47951||47953<=g&&g<=47979||47981<=g&&g<=48007||48009<=g&&g<=48035||48037<=g&&g<=48063||48065<=g&&g<=48091||48093<=g&&g<=48119||48121<=g&&g<=48147||48149<=g&&g<=48175||48177<=g&&g<=48203||48205<=g&&g<=48231||48233<=g&&g<=48259||48261<=g&&g<=48287||48289<=g&&g<=48315||48317<=g&&g<=48343||48345<=g&&g<=48371||48373<=g&&g<=48399||48401<=g&&g<=48427||48429<=g&&g<=48455||48457<=g&&g<=48483||48485<=g&&g<=48511||48513<=g&&g<=48539||48541<=g&&g<=48567||48569<=g&&g<=48595||48597<=g&&g<=48623||48625<=g&&g<=48651||48653<=g&&g<=48679||48681<=g&&g<=48707||48709<=g&&g<=48735||48737<=g&&g<=48763||48765<=g&&g<=48791||48793<=g&&g<=48819||48821<=g&&g<=48847||48849<=g&&g<=48875||48877<=g&&g<=48903||48905<=g&&g<=48931||48933<=g&&g<=48959||48961<=g&&g<=48987||48989<=g&&g<=49015||49017<=g&&g<=49043||49045<=g&&g<=49071||49073<=g&&g<=49099||49101<=g&&g<=49127||49129<=g&&g<=49155||49157<=g&&g<=49183||49185<=g&&g<=49211||49213<=g&&g<=49239||49241<=g&&g<=49267||49269<=g&&g<=49295||49297<=g&&g<=49323||49325<=g&&g<=49351||49353<=g&&g<=49379||49381<=g&&g<=49407||49409<=g&&g<=49435||49437<=g&&g<=49463||49465<=g&&g<=49491||49493<=g&&g<=49519||49521<=g&&g<=49547||49549<=g&&g<=49575||49577<=g&&g<=49603||49605<=g&&g<=49631||49633<=g&&g<=49659||49661<=g&&g<=49687||49689<=g&&g<=49715||49717<=g&&g<=49743||49745<=g&&g<=49771||49773<=g&&g<=49799||49801<=g&&g<=49827||49829<=g&&g<=49855||49857<=g&&g<=49883||49885<=g&&g<=49911||49913<=g&&g<=49939||49941<=g&&g<=49967||49969<=g&&g<=49995||49997<=g&&g<=50023||50025<=g&&g<=50051||50053<=g&&g<=50079||50081<=g&&g<=50107||50109<=g&&g<=50135||50137<=g&&g<=50163||50165<=g&&g<=50191||50193<=g&&g<=50219||50221<=g&&g<=50247||50249<=g&&g<=50275||50277<=g&&g<=50303||50305<=g&&g<=50331||50333<=g&&g<=50359||50361<=g&&g<=50387||50389<=g&&g<=50415||50417<=g&&g<=50443||50445<=g&&g<=50471||50473<=g&&g<=50499||50501<=g&&g<=50527||50529<=g&&g<=50555||50557<=g&&g<=50583||50585<=g&&g<=50611||50613<=g&&g<=50639||50641<=g&&g<=50667||50669<=g&&g<=50695||50697<=g&&g<=50723||50725<=g&&g<=50751||50753<=g&&g<=50779||50781<=g&&g<=50807||50809<=g&&g<=50835||50837<=g&&g<=50863||50865<=g&&g<=50891||50893<=g&&g<=50919||50921<=g&&g<=50947||50949<=g&&g<=50975||50977<=g&&g<=51003||51005<=g&&g<=51031||51033<=g&&g<=51059||51061<=g&&g<=51087||51089<=g&&g<=51115||51117<=g&&g<=51143||51145<=g&&g<=51171||51173<=g&&g<=51199||51201<=g&&g<=51227||51229<=g&&g<=51255||51257<=g&&g<=51283||51285<=g&&g<=51311||51313<=g&&g<=51339||51341<=g&&g<=51367||51369<=g&&g<=51395||51397<=g&&g<=51423||51425<=g&&g<=51451||51453<=g&&g<=51479||51481<=g&&g<=51507||51509<=g&&g<=51535||51537<=g&&g<=51563||51565<=g&&g<=51591||51593<=g&&g<=51619||51621<=g&&g<=51647||51649<=g&&g<=51675||51677<=g&&g<=51703||51705<=g&&g<=51731||51733<=g&&g<=51759||51761<=g&&g<=51787||51789<=g&&g<=51815||51817<=g&&g<=51843||51845<=g&&g<=51871||51873<=g&&g<=51899||51901<=g&&g<=51927||51929<=g&&g<=51955||51957<=g&&g<=51983||51985<=g&&g<=52011||52013<=g&&g<=52039||52041<=g&&g<=52067||52069<=g&&g<=52095||52097<=g&&g<=52123||52125<=g&&g<=52151||52153<=g&&g<=52179||52181<=g&&g<=52207||52209<=g&&g<=52235||52237<=g&&g<=52263||52265<=g&&g<=52291||52293<=g&&g<=52319||52321<=g&&g<=52347||52349<=g&&g<=52375||52377<=g&&g<=52403||52405<=g&&g<=52431||52433<=g&&g<=52459||52461<=g&&g<=52487||52489<=g&&g<=52515||52517<=g&&g<=52543||52545<=g&&g<=52571||52573<=g&&g<=52599||52601<=g&&g<=52627||52629<=g&&g<=52655||52657<=g&&g<=52683||52685<=g&&g<=52711||52713<=g&&g<=52739||52741<=g&&g<=52767||52769<=g&&g<=52795||52797<=g&&g<=52823||52825<=g&&g<=52851||52853<=g&&g<=52879||52881<=g&&g<=52907||52909<=g&&g<=52935||52937<=g&&g<=52963||52965<=g&&g<=52991||52993<=g&&g<=53019||53021<=g&&g<=53047||53049<=g&&g<=53075||53077<=g&&g<=53103||53105<=g&&g<=53131||53133<=g&&g<=53159||53161<=g&&g<=53187||53189<=g&&g<=53215||53217<=g&&g<=53243||53245<=g&&g<=53271||53273<=g&&g<=53299||53301<=g&&g<=53327||53329<=g&&g<=53355||53357<=g&&g<=53383||53385<=g&&g<=53411||53413<=g&&g<=53439||53441<=g&&g<=53467||53469<=g&&g<=53495||53497<=g&&g<=53523||53525<=g&&g<=53551||53553<=g&&g<=53579||53581<=g&&g<=53607||53609<=g&&g<=53635||53637<=g&&g<=53663||53665<=g&&g<=53691||53693<=g&&g<=53719||53721<=g&&g<=53747||53749<=g&&g<=53775||53777<=g&&g<=53803||53805<=g&&g<=53831||53833<=g&&g<=53859||53861<=g&&g<=53887||53889<=g&&g<=53915||53917<=g&&g<=53943||53945<=g&&g<=53971||53973<=g&&g<=53999||54001<=g&&g<=54027||54029<=g&&g<=54055||54057<=g&&g<=54083||54085<=g&&g<=54111||54113<=g&&g<=54139||54141<=g&&g<=54167||54169<=g&&g<=54195||54197<=g&&g<=54223||54225<=g&&g<=54251||54253<=g&&g<=54279||54281<=g&&g<=54307||54309<=g&&g<=54335||54337<=g&&g<=54363||54365<=g&&g<=54391||54393<=g&&g<=54419||54421<=g&&g<=54447||54449<=g&&g<=54475||54477<=g&&g<=54503||54505<=g&&g<=54531||54533<=g&&g<=54559||54561<=g&&g<=54587||54589<=g&&g<=54615||54617<=g&&g<=54643||54645<=g&&g<=54671||54673<=g&&g<=54699||54701<=g&&g<=54727||54729<=g&&g<=54755||54757<=g&&g<=54783||54785<=g&&g<=54811||54813<=g&&g<=54839||54841<=g&&g<=54867||54869<=g&&g<=54895||54897<=g&&g<=54923||54925<=g&&g<=54951||54953<=g&&g<=54979||54981<=g&&g<=55007||55009<=g&&g<=55035||55037<=g&&g<=55063||55065<=g&&g<=55091||55093<=g&&g<=55119||55121<=g&&g<=55147||55149<=g&&g<=55175||55177<=g&&g<=55203?E:g==9757||g==9977||9994<=g&&g<=9997||g==127877||127938<=g&&g<=127940||g==127943||127946<=g&&g<=127948||128066<=g&&g<=128067||128070<=g&&g<=128080||g==128110||128112<=g&&g<=128120||g==128124||128129<=g&&g<=128131||128133<=g&&g<=128135||g==128170||128372<=g&&g<=128373||g==128378||g==128400||128405<=g&&g<=128406||128581<=g&&g<=128583||128587<=g&&g<=128591||g==128675||128692<=g&&g<=128694||g==128704||g==128716||129304<=g&&g<=129308||129310<=g&&g<=129311||g==129318||129328<=g&&g<=129337||129341<=g&&g<=129342||129489<=g&&g<=129501?b:127995<=g&&g<=127999?C:g==8205?R:g==9792||g==9794||9877<=g&&g<=9878||g==9992||g==10084||g==127752||g==127806||g==127859||g==127891||g==127908||g==127912||g==127979||g==127981||g==128139||128187<=g&&g<=128188||g==128295||g==128300||g==128488||g==128640||g==128658?L:128102<=g&&g<=128105?_:w}return this}typeof Rx<"u"&&Rx.exports&&(Rx.exports=Rot)});var aue=U((wMt,oue)=>{var Tot=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,Tx;function Not(){if(Tx)return Tx;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return Tx=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=sue(),e=new t;return Tx=r=>e.splitGraphemes(r)}}oue.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(Tot)||[t,t,void 0],p=Not()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(o-u,p.length);a+=p.slice(0,E).join(""),n+=h,u+=E,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});function fue(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Vu(t===null?0:t);return!r&&t===null?Kt(e,a,"grey"):a}function IU(t,{configuration:e,json:r}){let o=fue(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=dr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Xy(e,o,n)}var Aue,Lx,lue,cue,Lot,Oot,Nx,uue,Mot,Uot,Ox,_ot,Et,Mx=dt(()=>{Aue=tt(aue()),Lx=tt(Xg());eS();Xl();Jl();Ks();lue=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],cue=80,Lot=new Set([13,19]),Oot=5,Nx=Lx.default.GITHUB_ACTIONS?{start:t=>`::group::${t}
166`,end:t=>`::endgroup:: 166`,end:t=>`::endgroup::
167`}:bx.default.TRAVIS?{start:t=>`travis_fold:start:${t} 167`}:Lx.default.TRAVIS?{start:t=>`travis_fold:start:${t}
168`,end:t=>`travis_fold:end:${t} 168`,end:t=>`travis_fold:end:${t}
169`}:bx.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} 169`}:Lx.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t}
170`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,iue=new Date,Pot=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,xot=t=>t,Qx=xot({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),bot=Pot&&Object.keys(Qx).find(t=>{let e=Qx[t];return!(e.date&&(e.date[0]!==iue.getDate()||e.date[1]!==iue.getMonth()+1))})||"default";Ct=class extends Vs{constructor({configuration:r,stdout:o,json:a=!1,includeNames:n=!0,includePrefix:u=!0,includeFooter:A=!0,includeLogs:p=!a,includeInfos:h=p,includeWarnings:C=p,forgettableBufferSize:w=Sot,forgettableNames:v=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Ow(this,{configuration:r}),this.configuration=r,this.forgettableBufferSize=w,this.forgettableNames=new Set([...v,...Dot]),this.includeNames=n,this.includePrefix=u,this.includeFooter=A,this.includeInfos=h,this.includeWarnings=C,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let b=r.get("progressBarStyle")||bot;if(!Object.prototype.hasOwnProperty.call(Qx,b))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Qx[b];let E=12,R=Math.max(0,Math.min(o.columns-E,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*R/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)};try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){this.cacheHitCount+=1}reportCacheMiss(r,o){this.lastCacheMiss=r,this.cacheMissCount+=1,typeof o<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,o)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.reportInfo(null,`\u250C ${r}`),this.indent+=1,xx!==null&&!this.json&&this.includeInfos&&this.stdout.write(xx.start(r))},reportFooter:A=>{this.indent-=1,xx!==null&&!this.json&&this.includeInfos&&this.stdout.write(xx.end(r)),this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Kt(this.configuration,A,Bt.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}async startCacheReport(r){let o=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await r()}catch(a){throw this.reportExceptionOnce(a),a}finally{o!==null&&this.reportCacheChanges(o)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;if(this.json)this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o});else if(this.forgettableNames.has(r))if(this.forgettableLines.push(u),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(u,{truncate:!0});else this.writeLineWithForgettableReset(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Kt(this.configuration,Date.now()-this.startTime,Bt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} 170`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,uue=new Date,Mot=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,Uot=t=>t,Ox=Uot({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),_ot=Mot&&Object.keys(Ox).find(t=>{let e=Ox[t];return!(e.date&&(e.date[0]!==uue.getDate()||e.date[1]!==uue.getMonth()+1))})||"default";Et=class extends Js{constructor({configuration:r,stdout:o,json:a=!1,includeNames:n=!0,includePrefix:u=!0,includeFooter:A=!0,includeLogs:p=!a,includeInfos:h=p,includeWarnings:E=p,forgettableBufferSize:w=Oot,forgettableNames:v=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Hw(this,{configuration:r}),this.configuration=r,this.forgettableBufferSize=w,this.forgettableNames=new Set([...v,...Lot]),this.includeNames=n,this.includePrefix=u,this.includeFooter=A,this.includeInfos=h,this.includeWarnings=E,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let b=r.get("progressBarStyle")||_ot;if(!Object.prototype.hasOwnProperty.call(Ox,b))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Ox[b];let C=12,R=Math.max(0,Math.min(o.columns-C,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*R/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)};try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){this.cacheHitCount+=1}reportCacheMiss(r,o){this.lastCacheMiss=r,this.cacheMissCount+=1,typeof o<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,o)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.reportInfo(null,`\u250C ${r}`),this.indent+=1,Nx!==null&&!this.json&&this.includeInfos&&this.stdout.write(Nx.start(r))},reportFooter:A=>{this.indent-=1,Nx!==null&&!this.json&&this.includeInfos&&this.stdout.write(Nx.end(r)),this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Kt(this.configuration,A,Bt.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}async startCacheReport(r){let o=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await r()}catch(a){throw this.reportExceptionOnce(a),a}finally{o!==null&&this.reportCacheChanges(o)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;if(this.json)this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o});else if(this.forgettableNames.has(r))if(this.forgettableLines.push(u),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(u,{truncate:!0});else this.writeLineWithForgettableReset(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Kt(this.configuration,Date.now()-this.startTime,Bt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})}
171`),this.writeProgress()}writeLineWithForgettableReset(r,{truncate:o}={}){this.forgettableLines=[],this.writeLine(r,{truncate:o})}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} 171`),this.writeProgress()}writeLineWithForgettableReset(r,{truncate:o}={}){this.forgettableLines=[],this.writeLine(r,{truncate:o})}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})}
172`);this.writeProgress()}reportCacheChanges({cacheHitCount:r,cacheMissCount:o}){let a=this.cacheHitCount-r,n=this.cacheMissCount-o;if(a===0&&n===0)return;let u="";this.cacheHitCount>1?u+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?u+=" - one package was already cached":u+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?u+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(u+=`, one had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?u+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(u+=` - one package had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,u)}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>nue&&(this.progressFrame=(this.progressFrame+1)%rue.length,this.progressTime=r);let o=rue[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),C=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${C}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Kt(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} 172`);this.writeProgress()}reportCacheChanges({cacheHitCount:r,cacheMissCount:o}){let a=this.cacheHitCount-r,n=this.cacheMissCount-o;if(a===0&&n===0)return;let u="";this.cacheHitCount>1?u+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?u+=" - one package was already cached":u+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?u+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(u+=`, one had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?u+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(u+=` - one package had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,u)}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>cue&&(this.progressFrame=(this.progressFrame+1)%lue.length,this.progressTime=r);let o=lue[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Kt(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p}
173`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},nue)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,sue.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?oue(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Kt(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?CU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return"\u2502 ".repeat(this.indent)}}});var On,IU=dt(()=>{On="4.0.0-rc.37"});var sn={};Yt(sn,{PackageManager:()=>cue,detectPackageManager:()=>uue,executePackageAccessibleBinary:()=>gue,executePackageScript:()=>Fx,executePackageShellcode:()=>wU,executeWorkspaceAccessibleBinary:()=>Lot,executeWorkspaceLifecycleScript:()=>pue,executeWorkspaceScript:()=>fue,getPackageAccessibleBinaries:()=>Rx,getWorkspaceAccessibleBinaries:()=>hue,hasPackageScript:()=>Rot,hasWorkspaceScript:()=>BU,makeScriptEnv:()=>I1,maybeExecuteWorkspaceLifecycleScript:()=>Not,prepareExternalProject:()=>Fot});async function Tf(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await ae.writeFilePromise(V.format({dir:t,name:e,ext:".cmd"}),a)}await ae.writeFilePromise(V.join(t,e),`#!/bin/sh 173`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},cue)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,Aue.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?fue(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Kt(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?IU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return"\u2502 ".repeat(this.indent)}}});var On,wU=dt(()=>{On="4.0.0-rc.42"});var sn={};Yt(sn,{PackageManager:()=>gue,detectPackageManager:()=>due,executePackageAccessibleBinary:()=>Iue,executePackageScript:()=>Ux,executePackageShellcode:()=>BU,executeWorkspaceAccessibleBinary:()=>Kot,executeWorkspaceLifecycleScript:()=>Cue,executeWorkspaceScript:()=>yue,getPackageAccessibleBinaries:()=>_x,getWorkspaceAccessibleBinaries:()=>Eue,hasPackageScript:()=>Got,hasWorkspaceScript:()=>vU,makeScriptEnv:()=>D1,maybeExecuteWorkspaceLifecycleScript:()=>Yot,prepareExternalProject:()=>jot});async function Lf(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await ae.writeFilePromise(z.format({dir:t,name:e,ext:".cmd"}),a)}await ae.writeFilePromise(z.join(t,e),`#!/bin/sh
174exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" 174exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@"
175`,{mode:493})}async function uue(t){let e=await Nt.tryFind(t);if(e!=null&&e.packageManager){let o=vP(e.packageManager);if(o!=null&&o.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await ae.readFilePromise(V.join(t,Lr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:ae.existsSync(V.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:ae.existsSync(V.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function I1({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a}){let n={};for(let[h,C]of Object.entries(process.env))typeof C<"u"&&(n[h.toLowerCase()!=="path"?h:"PATH"]=C);let u=Ae.fromPortablePath(r);n.BERRY_BIN_FOLDER=Ae.fromPortablePath(u);let A=process.env.COREPACK_ROOT&&!o?Ae.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Tf(r,"node",process.execPath),...On!==null?[Tf(r,"run",process.execPath,[A,"run"]),Tf(r,"yarn",process.execPath,[A]),Tf(r,"yarnpkg",process.execPath,[A]),Tf(r,"node-gyp",process.execPath,[A,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=Ae.cwd(),n.PROJECT_CWD=Ae.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${u}${Ae.delimiter}${n.PATH}`:`${u}`,n.npm_execpath=`${u}${Ae.sep}yarn`,n.npm_node_execpath=`${u}${Ae.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let h=t.tryWorkspaceByLocator(e),C=h?h.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";n.npm_package_name=nn(e),n.npm_package_version=C;let w;if(h)w=h.cwd;else{let v=t.storedPackages.get(e.locatorHash);if(!v)throw new Error(`Package for ${kr(t.configuration,e)} not found in the project`);let b=t.configuration.getLinkers(),E={project:t,report:new Ct({stdout:new c0.PassThrough,configuration:t.configuration})},R=b.find(L=>L.supportsPackage(v,E));if(!R)throw new Error(`The package ${kr(t.configuration,v)} isn't supported by any of the available linkers`);w=await R.findPackageLocation(v,E)}n.npm_package_json=Ae.fromPortablePath(V.join(w,Lr.manifest))}let p=On!==null?`yarn/${On}`:`yarn/${Kp("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${p} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(n.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(h=>h.setupScriptEnvironment,t,n,async(h,C,w)=>await Tf(r,Li(h),C,w)),n}async function Fot(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await kot(async()=>{await ae.mktempPromise(async u=>{let A=V.join(u,"pack.log"),p=null,{stdout:h,stderr:C}=r.getSubprocessStreams(A,{prefix:Ae.fromPortablePath(t),report:o}),w=n&&qc(n)?jw(n):n,v=w?Wl(w):"an external project";h.write(`Packing ${v} from sources 175`,{mode:493})}async function due(t){let e=await Nt.tryFind(t);if(e!=null&&e.packageManager){let o=kP(e.packageManager);if(o!=null&&o.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await ae.readFilePromise(z.join(t,Lr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:ae.existsSync(z.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:ae.existsSync(z.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function D1({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a}){let n={};for(let[h,E]of Object.entries(process.env))typeof E<"u"&&(n[h.toLowerCase()!=="path"?h:"PATH"]=E);let u=ue.fromPortablePath(r);n.BERRY_BIN_FOLDER=ue.fromPortablePath(u);let A=process.env.COREPACK_ROOT&&!o?ue.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Lf(r,"node",process.execPath),...On!==null?[Lf(r,"run",process.execPath,[A,"run"]),Lf(r,"yarn",process.execPath,[A]),Lf(r,"yarnpkg",process.execPath,[A]),Lf(r,"node-gyp",process.execPath,[A,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=ue.cwd(),n.PROJECT_CWD=ue.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${u}${ue.delimiter}${n.PATH}`:`${u}`,n.npm_execpath=`${u}${ue.sep}yarn`,n.npm_node_execpath=`${u}${ue.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let h=t.tryWorkspaceByLocator(e),E=h?h.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";n.npm_package_name=nn(e),n.npm_package_version=E;let w;if(h)w=h.cwd;else{let v=t.storedPackages.get(e.locatorHash);if(!v)throw new Error(`Package for ${kr(t.configuration,e)} not found in the project`);let b=t.configuration.getLinkers(),C={project:t,report:new Et({stdout:new u0.PassThrough,configuration:t.configuration})},R=b.find(L=>L.supportsPackage(v,C));if(!R)throw new Error(`The package ${kr(t.configuration,v)} isn't supported by any of the available linkers`);w=await R.findPackageLocation(v,C)}n.npm_package_json=ue.fromPortablePath(z.join(w,Lr.manifest))}let p=On!==null?`yarn/${On}`:`yarn/${Vp("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${p} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(n.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(h=>h.setupScriptEnvironment,t,n,async(h,E,w)=>await Lf(r,Li(h),E,w)),n}async function jot(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await qot(async()=>{await ae.mktempPromise(async u=>{let A=z.join(u,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(A,{prefix:ue.fromPortablePath(t),report:o}),w=n&&Wc(n)?Kw(n):n,v=w?Vl(w):"an external project";h.write(`Packing ${v} from sources
176`);let b=await uue(t),E;b!==null?(h.write(`Using ${b.packageManager} for bootstrap. Reason: ${b.reason} 176`);let b=await due(t),C;b!==null?(h.write(`Using ${b.packageManager} for bootstrap. Reason: ${b.reason}
177 177
178`),E=b.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn 178`),C=b.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn
179 179
180`),E="Yarn");let R=E==="Yarn"&&!(b!=null&&b.packageManagerField);await ae.mktempPromise(async L=>{let _=await I1({binFolder:L,ignoreCorepack:R}),re=new Map([["Yarn Classic",async()=>{let pe=a!==null?["workspace",a]:[],he=V.join(t,Lr.manifest),ve=await ae.readFilePromise(he),ge=await iA(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:_,stdin:p,stdout:h,stderr:C,end:1});if(ge.code!==0)return ge.code;await ae.writeFilePromise(he,ve),await ae.appendFilePromise(V.join(t,".npmignore"),`/.yarn 180`),C="Yarn");let R=C==="Yarn"&&!(b!=null&&b.packageManagerField);await ae.mktempPromise(async L=>{let _=await D1({binFolder:L,ignoreCorepack:R}),re=new Map([["Yarn Classic",async()=>{let pe=a!==null?["workspace",a]:[],he=z.join(t,Lr.manifest),ve=await ae.readFilePromise(he),ge=await sA(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:_,stdin:p,stdout:h,stderr:E,end:1});if(ge.code!==0)return ge.code;await ae.writeFilePromise(he,ve),await ae.appendFilePromise(z.join(t,".npmignore"),`/.yarn
181`),h.write(` 181`),h.write(`
182`),delete _.NODE_ENV;let le=await iA("yarn",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:C,end:1});if(le.code!==0)return le.code;h.write(` 182`),delete _.NODE_ENV;let le=await sA("yarn",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:E,end:1});if(le.code!==0)return le.code;h.write(`
183`);let Pe=await iA("yarn",[...pe,"pack","--filename",Ae.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:C});return Pe.code!==0?Pe.code:0}],["Yarn",async()=>{let pe=a!==null?["workspace",a]:[];_.YARN_ENABLE_INLINE_BUILDS="1";let he=V.join(t,Lr.lockfile);await ae.existsPromise(he)||await ae.writeFilePromise(he,"");let ve=await iA("yarn",[...pe,"pack","--install-if-needed","--filename",Ae.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:C});return ve.code!==0?ve.code:0}],["npm",async()=>{if(a!==null){let De=new c0.PassThrough,Ee=Gy(De);De.pipe(h,{end:!1});let de=await iA("npm",["--version"],{cwd:t,env:_,stdin:p,stdout:De,stderr:C,end:0});if(De.end(),de.code!==0)return h.end(),C.end(),de.code;let ne=(await Ee).toString().trim();if(!Bd(ne,">=7.x")){let Z=rA(null,"npm"),me=mn(Z,ne),be=mn(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${Ln(r,me)}; please upgrade to ${Ln(r,be)} (npm has been detected as the primary package manager for ${Kt(r,t,Bt.PATH)})`)}}let pe=a!==null?["--workspace",a]:[];delete _.npm_config_user_agent,delete _.npm_config_production,delete _.NPM_CONFIG_PRODUCTION,delete _.NODE_ENV;let he=await iA("npm",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:C,end:1});if(he.code!==0)return he.code;let ve=new c0.PassThrough,ge=Gy(ve);ve.pipe(h);let le=await iA("npm",["pack","--silent",...pe],{cwd:t,env:_,stdin:p,stdout:ve,stderr:C});if(le.code!==0)return le.code;let Pe=(await ge).toString().trim().replace(/^.*\n/s,""),g=V.resolve(t,Ae.toPortablePath(Pe));return await ae.renamePromise(g,e),0}]]).get(E);if(typeof re>"u")throw new Error("Assertion failed: Unsupported workflow");let oe=await re();if(!(oe===0||typeof oe>"u"))throw ae.detachTemp(u),new Jt(58,`Packing the package failed (exit code ${oe}, logs can be found here: ${Kt(r,A,Bt.PATH)})`)})})})}async function Rot(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return BU(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r.configuration,t)} not found in the project`);return await Ll.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Ct({stdout:new c0.PassThrough,configuration:u})},h=A.find(b=>b.supportsPackage(a,p));if(!h)throw new Error(`The package ${kr(r.configuration,a)} isn't supported by any of the available linkers`);let C=await h.findPackageLocation(a,p),w=new An(C,{baseFs:n});return(await Nt.find(wt.dot,{baseFs:w})).scripts.has(e)})}async function Fx(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{manifest:h,env:C,cwd:w}=await Aue(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),v=h.scripts.get(e);if(typeof v>"u")return 1;let b=async()=>await PE(v,r,{cwd:w,env:C,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,b,a,t,e,{script:v,args:r,cwd:w,env:C,stdin:n,stdout:u,stderr:A}))()})}async function wU(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{env:h,cwd:C}=await Aue(t,{project:a,binFolder:p,cwd:o});return await PE(e,r,{cwd:C,env:h,stdin:n,stdout:u,stderr:A})})}async function Tot(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await I1({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await Promise.all(Array.from(await hue(t),([n,[,u]])=>Tf(e,Li(n),process.execPath,[u]))),typeof r>"u"&&(r=V.dirname(await ae.realpathPromise(V.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function Aue(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Tot(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${kr(e.configuration,t)} not found in the project`);return await Ll.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),C={project:e,report:new Ct({stdout:new c0.PassThrough,configuration:p})},w=h.find(L=>L.supportsPackage(u,C));if(!w)throw new Error(`The package ${kr(e.configuration,u)} isn't supported by any of the available linkers`);let v=await I1({project:e,locator:t,binFolder:r,lifecycleScript:a});await Promise.all(Array.from(await Rx(t,{project:e}),([L,[,_]])=>Tf(r,Li(L),process.execPath,[_])));let b=await w.findPackageLocation(u,C),E=new An(b,{baseFs:A}),R=await Nt.find(wt.dot,{baseFs:E});return typeof o>"u"&&(o=b),{manifest:R,binFolder:r,env:v,cwd:o}})}async function fue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Fx(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function BU(t,e){return t.manifest.scripts.has(e)}async function pue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await ae.mktempPromise(async u=>{let A=V.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${Ae.fromPortablePath(t.cwd)}") 183`);let Pe=await sA("yarn",[...pe,"pack","--filename",ue.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:E});return Pe.code!==0?Pe.code:0}],["Yarn",async()=>{let pe=a!==null?["workspace",a]:[];_.YARN_ENABLE_INLINE_BUILDS="1";let he=z.join(t,Lr.lockfile);await ae.existsPromise(he)||await ae.writeFilePromise(he,"");let ve=await sA("yarn",[...pe,"pack","--install-if-needed","--filename",ue.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:E});return ve.code!==0?ve.code:0}],["npm",async()=>{if(a!==null){let De=new u0.PassThrough,Ce=Jy(De);De.pipe(h,{end:!1});let de=await sA("npm",["--version"],{cwd:t,env:_,stdin:p,stdout:De,stderr:E,end:0});if(De.end(),de.code!==0)return h.end(),E.end(),de.code;let ne=(await Ce).toString().trim();if(!Sd(ne,">=7.x")){let Z=nA(null,"npm"),me=mn(Z,ne),be=mn(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${Ln(r,me)}; please upgrade to ${Ln(r,be)} (npm has been detected as the primary package manager for ${Kt(r,t,Bt.PATH)})`)}}let pe=a!==null?["--workspace",a]:[];delete _.npm_config_user_agent,delete _.npm_config_production,delete _.NPM_CONFIG_PRODUCTION,delete _.NODE_ENV;let he=await sA("npm",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:E,end:1});if(he.code!==0)return he.code;let ve=new u0.PassThrough,ge=Jy(ve);ve.pipe(h);let le=await sA("npm",["pack","--silent",...pe],{cwd:t,env:_,stdin:p,stdout:ve,stderr:E});if(le.code!==0)return le.code;let Pe=(await ge).toString().trim().replace(/^.*\n/s,""),g=z.resolve(t,ue.toPortablePath(Pe));return await ae.renamePromise(g,e),0}]]).get(C);if(typeof re>"u")throw new Error("Assertion failed: Unsupported workflow");let oe=await re();if(!(oe===0||typeof oe>"u"))throw ae.detachTemp(u),new Vt(58,`Packing the package failed (exit code ${oe}, logs can be found here: ${Kt(r,A,Bt.PATH)})`)})})})}async function Got(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return vU(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r.configuration,t)} not found in the project`);return await Ul.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Et({stdout:new u0.PassThrough,configuration:u})},h=A.find(b=>b.supportsPackage(a,p));if(!h)throw new Error(`The package ${kr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),w=new An(E,{baseFs:n});return(await Nt.find(wt.dot,{baseFs:w})).scripts.has(e)})}async function Ux(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{manifest:h,env:E,cwd:w}=await mue(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),v=h.scripts.get(e);if(typeof v>"u")return 1;let b=async()=>await FC(v,r,{cwd:w,env:E,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,b,a,t,e,{script:v,args:r,cwd:w,env:E,stdin:n,stdout:u,stderr:A}))()})}async function BU(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{env:h,cwd:E}=await mue(t,{project:a,binFolder:p,cwd:o});return await FC(e,r,{cwd:E,env:h,stdin:n,stdout:u,stderr:A})})}async function Wot(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await D1({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await Promise.all(Array.from(await Eue(t),([n,[,u]])=>Lf(e,Li(n),process.execPath,[u]))),typeof r>"u"&&(r=z.dirname(await ae.realpathPromise(z.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function mue(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Wot(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${kr(e.configuration,t)} not found in the project`);return await Ul.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Et({stdout:new u0.PassThrough,configuration:p})},w=h.find(L=>L.supportsPackage(u,E));if(!w)throw new Error(`The package ${kr(e.configuration,u)} isn't supported by any of the available linkers`);let v=await D1({project:e,locator:t,binFolder:r,lifecycleScript:a});await Promise.all(Array.from(await _x(t,{project:e}),([L,[,_]])=>Lf(r,Li(L),process.execPath,[_])));let b=await w.findPackageLocation(u,E),C=new An(b,{baseFs:A}),R=await Nt.find(wt.dot,{baseFs:C});return typeof o>"u"&&(o=b),{manifest:R,binFolder:r,env:v,cwd:o}})}async function yue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Ux(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function vU(t,e){return t.manifest.scripts.has(e)}async function Cue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await ae.mktempPromise(async u=>{let A=z.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${ue.fromPortablePath(t.cwd)}")
184`,{stdout:h,stderr:C}=a.getSubprocessStreams(A,{report:o,prefix:kr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let w=await fue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:C});if(h.end(),C.end(),w!==0)throw ae.detachTemp(u),new Jt(36,`${(0,aue.default)(e)} script failed (exit code ${Kt(a,w,Bt.NUMBER)}, logs can be found here: ${Kt(a,A,Bt.PATH)}); run ${Kt(a,`yarn ${e}`,Bt.CODE)} to investigate`)})}async function Not(t,e,r){BU(t,e)&&await pue(t,e,r)}async function Rx(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r,t)} not found in the project`);let n=new c0.Writable,u=r.getLinkers(),A={project:e,report:new Ct({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let C of a.dependencies.values()){let w=e.storedResolutions.get(C.descriptorHash);if(!w)throw new Error(`Assertion failed: The resolution (${Ln(r,C)}) should have been registered`);p.add(w)}let h=await Promise.all(Array.from(p,async C=>{let w=e.storedPackages.get(C);if(!w)throw new Error(`Assertion failed: The package (${C}) should have been registered`);if(w.bin.size===0)return Xu.skip;let v=u.find(E=>E.supportsPackage(w,A));if(!v)return Xu.skip;let b=null;try{b=await v.findPackageLocation(w,A)}catch(E){if(E.code==="LOCATOR_NOT_INSTALLED")return Xu.skip;throw E}return{dependency:w,packageLocation:b}}));for(let C of h){if(C===Xu.skip)continue;let{dependency:w,packageLocation:v}=C;for(let[b,E]of w.bin)o.set(b,[w,Ae.fromPortablePath(V.resolve(v,E))])}return o}async function hue(t){return await Rx(t.anchoredLocator,{project:t.project})}async function gue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??(h=await Rx(t,{project:a}));let C=h.get(e);if(!C)throw new Error(`Binary not found (${e}) for ${kr(a.configuration,t)}`);return await ae.mktempPromise(async w=>{let[,v]=C,b=await I1({project:a,locator:t,binFolder:w});await Promise.all(Array.from(h,([R,[,L]])=>Tf(b.BERRY_BIN_FOLDER,Li(R),process.execPath,[L])));let E;try{E=await iA(process.execPath,[...p,v,...r],{cwd:o,env:b,stdin:n,stdout:u,stderr:A})}finally{await ae.removePromise(b.BERRY_BIN_FOLDER)}return E.code})}async function Lot(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await gue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var aue,lue,c0,cue,Qot,kot,vU=dt(()=>{bt();bt();Oc();g1();aue=tt(EU()),lue=tt($g()),c0=Ie("stream");sE();Jl();kx();IU();Ax();Yl();Gl();r0();Ks();cue=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(cue||{});Qot=2,kot=(0,lue.default)(Qot)});var bE=U((xMt,mue)=>{"use strict";var due=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);mue.exports=t=>t?Object.keys(t).map(e=>[due.has(e)?due.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var kE=U((bMt,Sue)=>{"use strict";var yue=typeof process=="object"&&process?process:{stdout:null,stderr:null},Oot=Ie("events"),Eue=Ie("stream"),Cue=Ie("string_decoder").StringDecoder,Nf=Symbol("EOF"),Lf=Symbol("maybeEmitEnd"),u0=Symbol("emittedEnd"),Tx=Symbol("emittingEnd"),w1=Symbol("emittedError"),Nx=Symbol("closed"),Iue=Symbol("read"),Lx=Symbol("flush"),wue=Symbol("flushChunk"),ba=Symbol("encoding"),Of=Symbol("decoder"),Ox=Symbol("flowing"),B1=Symbol("paused"),QE=Symbol("resume"),Ss=Symbol("bufferLength"),DU=Symbol("bufferPush"),SU=Symbol("bufferShift"),bo=Symbol("objectMode"),Qo=Symbol("destroyed"),PU=Symbol("emitData"),Bue=Symbol("emitEnd"),xU=Symbol("emitEnd2"),Mf=Symbol("async"),v1=t=>Promise.resolve().then(t),vue=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Mot=vue&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Uot=vue&&Symbol.iterator||Symbol("iterator not implemented"),_ot=t=>t==="end"||t==="finish"||t==="prefinish",Hot=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,qot=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),Mx=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[QE](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},bU=class extends Mx{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};Sue.exports=class Due extends Eue{constructor(e){super(),this[Ox]=!1,this[B1]=!1,this.pipes=[],this.buffer=[],this[bo]=e&&e.objectMode||!1,this[bo]?this[ba]=null:this[ba]=e&&e.encoding||null,this[ba]==="buffer"&&(this[ba]=null),this[Mf]=e&&!!e.async||!1,this[Of]=this[ba]?new Cue(this[ba]):null,this[Nf]=!1,this[u0]=!1,this[Tx]=!1,this[Nx]=!1,this[w1]=null,this.writable=!0,this.readable=!0,this[Ss]=0,this[Qo]=!1}get bufferLength(){return this[Ss]}get encoding(){return this[ba]}set encoding(e){if(this[bo])throw new Error("cannot set encoding in objectMode");if(this[ba]&&e!==this[ba]&&(this[Of]&&this[Of].lastNeed||this[Ss]))throw new Error("cannot change encoding");this[ba]!==e&&(this[Of]=e?new Cue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Of].write(r)))),this[ba]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[bo]}set objectMode(e){this[bo]=this[bo]||!!e}get async(){return this[Mf]}set async(e){this[Mf]=this[Mf]||!!e}write(e,r,o){if(this[Nf])throw new Error("write after end");if(this[Qo])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[Mf]?v1:n=>n();return!this[bo]&&!Buffer.isBuffer(e)&&(qot(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Hot(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[bo]?(this.flowing&&this[Ss]!==0&&this[Lx](!0),this.flowing?this.emit("data",e):this[DU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[ba]&&!this[Of].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[ba]&&(e=this[Of].write(e)),this.flowing&&this[Ss]!==0&&this[Lx](!0),this.flowing?this.emit("data",e):this[DU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Qo])return null;if(this[Ss]===0||e===0||e>this[Ss])return this[Lf](),null;this[bo]&&(e=null),this.buffer.length>1&&!this[bo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ss])]);let r=this[Iue](e||null,this.buffer[0]);return this[Lf](),r}[Iue](e,r){return e===r.length||e===null?this[SU]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Ss]-=e),this.emit("data",r),!this.buffer.length&&!this[Nf]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Nf]=!0,this.writable=!1,(this.flowing||!this[B1])&&this[Lf](),this}[QE](){this[Qo]||(this[B1]=!1,this[Ox]=!0,this.emit("resume"),this.buffer.length?this[Lx]():this[Nf]?this[Lf]():this.emit("drain"))}resume(){return this[QE]()}pause(){this[Ox]=!1,this[B1]=!0}get destroyed(){return this[Qo]}get flowing(){return this[Ox]}get paused(){return this[B1]}[DU](e){this[bo]?this[Ss]+=1:this[Ss]+=e.length,this.buffer.push(e)}[SU](){return this.buffer.length&&(this[bo]?this[Ss]-=1:this[Ss]-=this.buffer[0].length),this.buffer.shift()}[Lx](e){do;while(this[wue](this[SU]()));!e&&!this.buffer.length&&!this[Nf]&&this.emit("drain")}[wue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Qo])return;let o=this[u0];return r=r||{},e===yue.stdout||e===yue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new bU(this,e,r):new Mx(this,e,r)),this[Mf]?v1(()=>this[QE]()):this[QE]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[QE]():e==="readable"&&this[Ss]!==0?super.emit("readable"):_ot(e)&&this[u0]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[w1]&&(this[Mf]?v1(()=>r.call(this,this[w1])):r.call(this,this[w1])),o}get emittedEnd(){return this[u0]}[Lf](){!this[Tx]&&!this[u0]&&!this[Qo]&&this.buffer.length===0&&this[Nf]&&(this[Tx]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Nx]&&this.emit("close"),this[Tx]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Qo&&this[Qo])return;if(e==="data")return r?this[Mf]?v1(()=>this[PU](r)):this[PU](r):!1;if(e==="end")return this[Bue]();if(e==="close"){if(this[Nx]=!0,!this[u0]&&!this[Qo])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[w1]=r;let n=super.emit("error",r);return this[Lf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Lf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Lf](),a}[PU](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Lf](),r}[Bue](){this[u0]||(this[u0]=!0,this.readable=!1,this[Mf]?v1(()=>this[xU]()):this[xU]())}[xU](){if(this[Of]){let r=this[Of].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[bo]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[bo]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this[ba]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Qo,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[Mot](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Nf])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Nf]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,C)=>{a=C,o=h,this.once(Qo,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[Uot](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Qo]?(e?this.emit("error",e):this.emit(Qo),this):(this[Qo]=!0,this.buffer.length=0,this[Ss]=0,typeof this.close=="function"&&!this[Nx]&&this.close(),e?this.emit("error",e):this.emit(Qo),this)}static isStream(e){return!!e&&(e instanceof Due||e instanceof Eue||e instanceof Oot&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var xue=U((QMt,Pue)=>{var jot=Ie("zlib").constants||{ZLIB_VERNUM:4736};Pue.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},jot))});var WU=U(ll=>{"use strict";var TU=Ie("assert"),A0=Ie("buffer").Buffer,kue=Ie("zlib"),kd=ll.constants=xue(),Got=kE(),bue=A0.concat,Fd=Symbol("_superWrite"),RE=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Wot=Symbol("opts"),D1=Symbol("flushFlag"),Que=Symbol("finishFlushFlag"),GU=Symbol("fullFlushFlag"),Vn=Symbol("handle"),Ux=Symbol("onError"),FE=Symbol("sawError"),QU=Symbol("level"),kU=Symbol("strategy"),FU=Symbol("ended"),kMt=Symbol("_defaultFullFlush"),_x=class extends Got{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[FE]=!1,this[FU]=!1,this[Wot]=e,this[D1]=e.flush,this[Que]=e.finishFlush;try{this[Vn]=new kue[r](e)}catch(o){throw new RE(o)}this[Ux]=o=>{this[FE]||(this[FE]=!0,this.close(),this.emit("error",o))},this[Vn].on("error",o=>this[Ux](new RE(o))),this.once("end",()=>this.close)}close(){this[Vn]&&(this[Vn].close(),this[Vn]=null,this.emit("close"))}reset(){if(!this[FE])return TU(this[Vn],"zlib binding closed"),this[Vn].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[GU]),this.write(Object.assign(A0.alloc(0),{[D1]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[Que]),this[FU]=!0,super.end(null,null,o)}get ended(){return this[FU]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=A0.from(e,r)),this[FE])return;TU(this[Vn],"zlib binding closed");let a=this[Vn]._handle,n=a.close;a.close=()=>{};let u=this[Vn].close;this[Vn].close=()=>{},A0.concat=h=>h;let A;try{let h=typeof e[D1]=="number"?e[D1]:this[D1];A=this[Vn]._processChunk(e,h),A0.concat=bue}catch(h){A0.concat=bue,this[Ux](new RE(h))}finally{this[Vn]&&(this[Vn]._handle=a,a.close=n,this[Vn].close=u,this[Vn].removeAllListeners("error"))}this[Vn]&&this[Vn].on("error",h=>this[Ux](new RE(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Fd](A0.from(A[0]));for(let h=1;h<A.length;h++)p=this[Fd](A[h])}else p=this[Fd](A0.from(A));return o&&o(),p}[Fd](e){return super.write(e)}},Uf=class extends _x{constructor(e,r){e=e||{},e.flush=e.flush||kd.Z_NO_FLUSH,e.finishFlush=e.finishFlush||kd.Z_FINISH,super(e,r),this[GU]=kd.Z_FULL_FLUSH,this[QU]=e.level,this[kU]=e.strategy}params(e,r){if(!this[FE]){if(!this[Vn])throw new Error("cannot switch params when binding is closed");if(!this[Vn].params)throw new Error("not supported in this implementation");if(this[QU]!==e||this[kU]!==r){this.flush(kd.Z_SYNC_FLUSH),TU(this[Vn],"zlib binding closed");let o=this[Vn].flush;this[Vn].flush=(a,n)=>{this.flush(a),n()};try{this[Vn].params(e,r)}finally{this[Vn].flush=o}this[Vn]&&(this[QU]=e,this[kU]=r)}}}},NU=class extends Uf{constructor(e){super(e,"Deflate")}},LU=class extends Uf{constructor(e){super(e,"Inflate")}},RU=Symbol("_portable"),OU=class extends Uf{constructor(e){super(e,"Gzip"),this[RU]=e&&!!e.portable}[Fd](e){return this[RU]?(this[RU]=!1,e[9]=255,super[Fd](e)):super[Fd](e)}},MU=class extends Uf{constructor(e){super(e,"Gunzip")}},UU=class extends Uf{constructor(e){super(e,"DeflateRaw")}},_U=class extends Uf{constructor(e){super(e,"InflateRaw")}},HU=class extends Uf{constructor(e){super(e,"Unzip")}},Hx=class extends _x{constructor(e,r){e=e||{},e.flush=e.flush||kd.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||kd.BROTLI_OPERATION_FINISH,super(e,r),this[GU]=kd.BROTLI_OPERATION_FLUSH}},qU=class extends Hx{constructor(e){super(e,"BrotliCompress")}},jU=class extends Hx{constructor(e){super(e,"BrotliDecompress")}};ll.Deflate=NU;ll.Inflate=LU;ll.Gzip=OU;ll.Gunzip=MU;ll.DeflateRaw=UU;ll.InflateRaw=_U;ll.Unzip=HU;typeof kue.BrotliCompress=="function"?(ll.BrotliCompress=qU,ll.BrotliDecompress=jU):ll.BrotliCompress=ll.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var TE=U((TMt,Fue)=>{var Yot=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;Fue.exports=Yot!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var qx=U((LMt,Rue)=>{"use strict";var Kot=kE(),YU=TE(),KU=Symbol("slurp");Rue.exports=class extends Kot{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=YU(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=YU(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[KU](r),o&&this[KU](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[KU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?YU(e[o]):e[o])}}});var JU=U(jx=>{"use strict";jx.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);jx.code=new Map(Array.from(jx.name).map(t=>[t[1],t[0]]))});var Oue=U((MMt,Lue)=>{"use strict";var Jot=(t,e)=>{if(Number.isSafeInteger(t))t<0?zot(t,e):Vot(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Vot=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},zot=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=Tue(a):a===0?e[o-1]=0:(r=!0,e[o-1]=Nue(a))}},Xot=t=>{let e=t[0],r=e===128?$ot(t.slice(1,t.length)):e===255?Zot(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},Zot=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=Tue(n):n===0?u=n:(o=!0,u=Nue(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},$ot=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},Tue=t=>(255^t)&255,Nue=t=>(255^t)+1&255;Lue.exports={encode:Jot,parse:Xot}});var LE=U((UMt,Uue)=>{"use strict";var VU=JU(),NE=Ie("path").posix,Mue=Oue(),zU=Symbol("slurp"),cl=Symbol("type"),$U=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[cl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Rd(e,r,100),this.mode=f0(e,r+100,8),this.uid=f0(e,r+108,8),this.gid=f0(e,r+116,8),this.size=f0(e,r+124,12),this.mtime=XU(e,r+136,12),this.cksum=f0(e,r+148,12),this[zU](o),this[zU](a,!0),this[cl]=Rd(e,r+156,1),this[cl]===""&&(this[cl]="0"),this[cl]==="0"&&this.path.substr(-1)==="/"&&(this[cl]="5"),this[cl]==="5"&&(this.size=0),this.linkpath=Rd(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Rd(e,r+265,32),this.gname=Rd(e,r+297,32),this.devmaj=f0(e,r+329,8),this.devmin=f0(e,r+337,8),e[r+475]!==0){let u=Rd(e,r+345,155);this.path=u+"/"+this.path}else{let u=Rd(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=XU(e,r+476,12),this.ctime=XU(e,r+488,12)}let n=8*32;for(let u=r;u<r+148;u++)n+=e[u];for(let u=r+156;u<r+512;u++)n+=e[u];this.cksumValid=n===this.cksum,this.cksum===null&&n===8*32&&(this.nullBlock=!0)}[zU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=e[o])}encode(e,r){if(e||(e=this.block=Buffer.alloc(512),r=0),r||(r=0),!(e.length>=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=eat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Td(e,r,100,n)||this.needPax,this.needPax=p0(e,r+100,8,this.mode)||this.needPax,this.needPax=p0(e,r+108,8,this.uid)||this.needPax,this.needPax=p0(e,r+116,8,this.gid)||this.needPax,this.needPax=p0(e,r+124,12,this.size)||this.needPax,this.needPax=ZU(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[cl].charCodeAt(0),this.needPax=Td(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Td(e,r+265,32,this.uname)||this.needPax,this.needPax=Td(e,r+297,32,this.gname)||this.needPax,this.needPax=p0(e,r+329,8,this.devmaj)||this.needPax,this.needPax=p0(e,r+337,8,this.devmin)||this.needPax,this.needPax=Td(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Td(e,r+345,155,u)||this.needPax:(this.needPax=Td(e,r+345,130,u)||this.needPax,this.needPax=ZU(e,r+476,12,this.atime)||this.needPax,this.needPax=ZU(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p<r+148;p++)A+=e[p];for(let p=r+156;p<r+512;p++)A+=e[p];return this.cksum=A,p0(e,r+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let r in e)e[r]!==null&&e[r]!==void 0&&(this[r]=e[r])}get type(){return VU.name.get(this[cl])||this[cl]}get typeKey(){return this[cl]}set type(e){VU.code.has(e)?this[cl]=VU.code.get(e):this[cl]=e}},eat=(t,e)=>{let o=t,a="",n,u=NE.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=NE.dirname(o),o=NE.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,100-1),a,!0]:(o=NE.join(NE.basename(a),o),a=NE.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,100-1),"",!0])}return n},Rd=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),XU=(t,e,r)=>tat(f0(t,e,r)),tat=t=>t===null?null:new Date(t*1e3),f0=(t,e,r)=>t[e]&128?Mue.parse(t.slice(e,e+r)):nat(t,e,r),rat=t=>isNaN(t)?null:t,nat=(t,e,r)=>rat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),iat={12:8589934591,8:2097151},p0=(t,e,r,o)=>o===null?!1:o>iat[r]||o<0?(Mue.encode(o,t.slice(e,e+r)),!0):(sat(t,e,r,o),!1),sat=(t,e,r,o)=>t.write(oat(o,r),e,r,"ascii"),oat=(t,e)=>aat(Math.floor(t).toString(8),e),aat=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",ZU=(t,e,r,o)=>o===null?!1:p0(t,e,r,o.getTime()/1e3),lat=new Array(156).join("\0"),Td=(t,e,r,o)=>o===null?!1:(t.write(o+lat,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);Uue.exports=$U});var Gx=U((_Mt,_ue)=>{"use strict";var cat=LE(),uat=Ie("path"),S1=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new cat({path:("PaxHeader/"+uat.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n<a.length;n++)a[n]=0;return a}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(e){if(this[e]===null||this[e]===void 0)return"";let r=this[e]instanceof Date?this[e].getTime()/1e3:this[e],o=" "+(e==="dev"||e==="ino"||e==="nlink"?"SCHILY.":"")+e+"="+r+` 184`,{stdout:h,stderr:E}=a.getSubprocessStreams(A,{report:o,prefix:kr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let w=await yue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),w!==0)throw ae.detachTemp(u),new Vt(36,`${(0,pue.default)(e)} script failed (exit code ${Kt(a,w,Bt.NUMBER)}, logs can be found here: ${Kt(a,A,Bt.PATH)}); run ${Kt(a,`yarn ${e}`,Bt.CODE)} to investigate`)})}async function Yot(t,e,r){vU(t,e)&&await Cue(t,e,r)}async function _x(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r,t)} not found in the project`);let n=new u0.Writable,u=r.getLinkers(),A={project:e,report:new Et({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let w=e.storedResolutions.get(E.descriptorHash);if(!w)throw new Error(`Assertion failed: The resolution (${Ln(r,E)}) should have been registered`);p.add(w)}let h=await Promise.all(Array.from(p,async E=>{let w=e.storedPackages.get(E);if(!w)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(w.bin.size===0)return Zu.skip;let v=u.find(C=>C.supportsPackage(w,A));if(!v)return Zu.skip;let b=null;try{b=await v.findPackageLocation(w,A)}catch(C){if(C.code==="LOCATOR_NOT_INSTALLED")return Zu.skip;throw C}return{dependency:w,packageLocation:b}}));for(let E of h){if(E===Zu.skip)continue;let{dependency:w,packageLocation:v}=E;for(let[b,C]of w.bin)o.set(b,[w,ue.fromPortablePath(z.resolve(v,C))])}return o}async function Eue(t){return await _x(t.anchoredLocator,{project:t.project})}async function Iue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??(h=await _x(t,{project:a}));let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${kr(a.configuration,t)}`);return await ae.mktempPromise(async w=>{let[,v]=E,b=await D1({project:a,locator:t,binFolder:w});await Promise.all(Array.from(h,([R,[,L]])=>Lf(b.BERRY_BIN_FOLDER,Li(R),process.execPath,[L])));let C;try{C=await sA(process.execPath,[...p,v,...r],{cwd:o,env:b,stdin:n,stdout:u,stderr:A})}finally{await ae.removePromise(b.BERRY_BIN_FOLDER)}return C.code})}async function Kot(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await Iue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var pue,hue,u0,gue,Hot,qot,DU=dt(()=>{bt();bt();_c();C1();pue=tt(EU()),hue=tt(rd()),u0=Ie("stream");uC();Xl();Mx();wU();yx();Jl();Kl();n0();Ks();gue=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(gue||{});Hot=2,qot=(0,hue.default)(Hot)});var TC=U((qMt,Bue)=>{"use strict";var wue=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);Bue.exports=t=>t?Object.keys(t).map(e=>[wue.has(e)?wue.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var LC=U((jMt,Fue)=>{"use strict";var vue=typeof process=="object"&&process?process:{stdout:null,stderr:null},Vot=Ie("events"),Due=Ie("stream"),Sue=Ie("string_decoder").StringDecoder,Of=Symbol("EOF"),Mf=Symbol("maybeEmitEnd"),A0=Symbol("emittedEnd"),Hx=Symbol("emittingEnd"),S1=Symbol("emittedError"),qx=Symbol("closed"),Pue=Symbol("read"),jx=Symbol("flush"),xue=Symbol("flushChunk"),Qa=Symbol("encoding"),Uf=Symbol("decoder"),Gx=Symbol("flowing"),P1=Symbol("paused"),NC=Symbol("resume"),Ss=Symbol("bufferLength"),SU=Symbol("bufferPush"),PU=Symbol("bufferShift"),bo=Symbol("objectMode"),Qo=Symbol("destroyed"),xU=Symbol("emitData"),bue=Symbol("emitEnd"),bU=Symbol("emitEnd2"),_f=Symbol("async"),x1=t=>Promise.resolve().then(t),Que=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Jot=Que&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zot=Que&&Symbol.iterator||Symbol("iterator not implemented"),Xot=t=>t==="end"||t==="finish"||t==="prefinish",Zot=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,$ot=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),Wx=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[NC](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},QU=class extends Wx{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};Fue.exports=class kue extends Due{constructor(e){super(),this[Gx]=!1,this[P1]=!1,this.pipes=[],this.buffer=[],this[bo]=e&&e.objectMode||!1,this[bo]?this[Qa]=null:this[Qa]=e&&e.encoding||null,this[Qa]==="buffer"&&(this[Qa]=null),this[_f]=e&&!!e.async||!1,this[Uf]=this[Qa]?new Sue(this[Qa]):null,this[Of]=!1,this[A0]=!1,this[Hx]=!1,this[qx]=!1,this[S1]=null,this.writable=!0,this.readable=!0,this[Ss]=0,this[Qo]=!1}get bufferLength(){return this[Ss]}get encoding(){return this[Qa]}set encoding(e){if(this[bo])throw new Error("cannot set encoding in objectMode");if(this[Qa]&&e!==this[Qa]&&(this[Uf]&&this[Uf].lastNeed||this[Ss]))throw new Error("cannot change encoding");this[Qa]!==e&&(this[Uf]=e?new Sue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Uf].write(r)))),this[Qa]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[bo]}set objectMode(e){this[bo]=this[bo]||!!e}get async(){return this[_f]}set async(e){this[_f]=this[_f]||!!e}write(e,r,o){if(this[Of])throw new Error("write after end");if(this[Qo])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[_f]?x1:n=>n();return!this[bo]&&!Buffer.isBuffer(e)&&($ot(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Zot(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[bo]?(this.flowing&&this[Ss]!==0&&this[jx](!0),this.flowing?this.emit("data",e):this[SU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[Qa]&&!this[Uf].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Qa]&&(e=this[Uf].write(e)),this.flowing&&this[Ss]!==0&&this[jx](!0),this.flowing?this.emit("data",e):this[SU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Qo])return null;if(this[Ss]===0||e===0||e>this[Ss])return this[Mf](),null;this[bo]&&(e=null),this.buffer.length>1&&!this[bo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ss])]);let r=this[Pue](e||null,this.buffer[0]);return this[Mf](),r}[Pue](e,r){return e===r.length||e===null?this[PU]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Ss]-=e),this.emit("data",r),!this.buffer.length&&!this[Of]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Of]=!0,this.writable=!1,(this.flowing||!this[P1])&&this[Mf](),this}[NC](){this[Qo]||(this[P1]=!1,this[Gx]=!0,this.emit("resume"),this.buffer.length?this[jx]():this[Of]?this[Mf]():this.emit("drain"))}resume(){return this[NC]()}pause(){this[Gx]=!1,this[P1]=!0}get destroyed(){return this[Qo]}get flowing(){return this[Gx]}get paused(){return this[P1]}[SU](e){this[bo]?this[Ss]+=1:this[Ss]+=e.length,this.buffer.push(e)}[PU](){return this.buffer.length&&(this[bo]?this[Ss]-=1:this[Ss]-=this.buffer[0].length),this.buffer.shift()}[jx](e){do;while(this[xue](this[PU]()));!e&&!this.buffer.length&&!this[Of]&&this.emit("drain")}[xue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Qo])return;let o=this[A0];return r=r||{},e===vue.stdout||e===vue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new QU(this,e,r):new Wx(this,e,r)),this[_f]?x1(()=>this[NC]()):this[NC]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[NC]():e==="readable"&&this[Ss]!==0?super.emit("readable"):Xot(e)&&this[A0]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[S1]&&(this[_f]?x1(()=>r.call(this,this[S1])):r.call(this,this[S1])),o}get emittedEnd(){return this[A0]}[Mf](){!this[Hx]&&!this[A0]&&!this[Qo]&&this.buffer.length===0&&this[Of]&&(this[Hx]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[qx]&&this.emit("close"),this[Hx]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Qo&&this[Qo])return;if(e==="data")return r?this[_f]?x1(()=>this[xU](r)):this[xU](r):!1;if(e==="end")return this[bue]();if(e==="close"){if(this[qx]=!0,!this[A0]&&!this[Qo])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[S1]=r;let n=super.emit("error",r);return this[Mf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Mf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Mf](),a}[xU](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Mf](),r}[bue](){this[A0]||(this[A0]=!0,this.readable=!1,this[_f]?x1(()=>this[bU]()):this[bU]())}[bU](){if(this[Uf]){let r=this[Uf].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[bo]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[bo]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this[Qa]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Qo,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[Jot](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Of])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Of]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,o=h,this.once(Qo,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[zot](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Qo]?(e?this.emit("error",e):this.emit(Qo),this):(this[Qo]=!0,this.buffer.length=0,this[Ss]=0,typeof this.close=="function"&&!this[qx]&&this.close(),e?this.emit("error",e):this.emit(Qo),this)}static isStream(e){return!!e&&(e instanceof kue||e instanceof Due||e instanceof Vot&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var Tue=U((GMt,Rue)=>{var eat=Ie("zlib").constants||{ZLIB_VERNUM:4736};Rue.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},eat))});var YU=U(Al=>{"use strict";var NU=Ie("assert"),f0=Ie("buffer").Buffer,Oue=Ie("zlib"),Td=Al.constants=Tue(),tat=LC(),Nue=f0.concat,Nd=Symbol("_superWrite"),MC=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},rat=Symbol("opts"),b1=Symbol("flushFlag"),Lue=Symbol("finishFlushFlag"),WU=Symbol("fullFlushFlag"),zn=Symbol("handle"),Yx=Symbol("onError"),OC=Symbol("sawError"),kU=Symbol("level"),FU=Symbol("strategy"),RU=Symbol("ended"),WMt=Symbol("_defaultFullFlush"),Kx=class extends tat{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[OC]=!1,this[RU]=!1,this[rat]=e,this[b1]=e.flush,this[Lue]=e.finishFlush;try{this[zn]=new Oue[r](e)}catch(o){throw new MC(o)}this[Yx]=o=>{this[OC]||(this[OC]=!0,this.close(),this.emit("error",o))},this[zn].on("error",o=>this[Yx](new MC(o))),this.once("end",()=>this.close)}close(){this[zn]&&(this[zn].close(),this[zn]=null,this.emit("close"))}reset(){if(!this[OC])return NU(this[zn],"zlib binding closed"),this[zn].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[WU]),this.write(Object.assign(f0.alloc(0),{[b1]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[Lue]),this[RU]=!0,super.end(null,null,o)}get ended(){return this[RU]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=f0.from(e,r)),this[OC])return;NU(this[zn],"zlib binding closed");let a=this[zn]._handle,n=a.close;a.close=()=>{};let u=this[zn].close;this[zn].close=()=>{},f0.concat=h=>h;let A;try{let h=typeof e[b1]=="number"?e[b1]:this[b1];A=this[zn]._processChunk(e,h),f0.concat=Nue}catch(h){f0.concat=Nue,this[Yx](new MC(h))}finally{this[zn]&&(this[zn]._handle=a,a.close=n,this[zn].close=u,this[zn].removeAllListeners("error"))}this[zn]&&this[zn].on("error",h=>this[Yx](new MC(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Nd](f0.from(A[0]));for(let h=1;h<A.length;h++)p=this[Nd](A[h])}else p=this[Nd](f0.from(A));return o&&o(),p}[Nd](e){return super.write(e)}},Hf=class extends Kx{constructor(e,r){e=e||{},e.flush=e.flush||Td.Z_NO_FLUSH,e.finishFlush=e.finishFlush||Td.Z_FINISH,super(e,r),this[WU]=Td.Z_FULL_FLUSH,this[kU]=e.level,this[FU]=e.strategy}params(e,r){if(!this[OC]){if(!this[zn])throw new Error("cannot switch params when binding is closed");if(!this[zn].params)throw new Error("not supported in this implementation");if(this[kU]!==e||this[FU]!==r){this.flush(Td.Z_SYNC_FLUSH),NU(this[zn],"zlib binding closed");let o=this[zn].flush;this[zn].flush=(a,n)=>{this.flush(a),n()};try{this[zn].params(e,r)}finally{this[zn].flush=o}this[zn]&&(this[kU]=e,this[FU]=r)}}}},LU=class extends Hf{constructor(e){super(e,"Deflate")}},OU=class extends Hf{constructor(e){super(e,"Inflate")}},TU=Symbol("_portable"),MU=class extends Hf{constructor(e){super(e,"Gzip"),this[TU]=e&&!!e.portable}[Nd](e){return this[TU]?(this[TU]=!1,e[9]=255,super[Nd](e)):super[Nd](e)}},UU=class extends Hf{constructor(e){super(e,"Gunzip")}},_U=class extends Hf{constructor(e){super(e,"DeflateRaw")}},HU=class extends Hf{constructor(e){super(e,"InflateRaw")}},qU=class extends Hf{constructor(e){super(e,"Unzip")}},Vx=class extends Kx{constructor(e,r){e=e||{},e.flush=e.flush||Td.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Td.BROTLI_OPERATION_FINISH,super(e,r),this[WU]=Td.BROTLI_OPERATION_FLUSH}},jU=class extends Vx{constructor(e){super(e,"BrotliCompress")}},GU=class extends Vx{constructor(e){super(e,"BrotliDecompress")}};Al.Deflate=LU;Al.Inflate=OU;Al.Gzip=MU;Al.Gunzip=UU;Al.DeflateRaw=_U;Al.InflateRaw=HU;Al.Unzip=qU;typeof Oue.BrotliCompress=="function"?(Al.BrotliCompress=jU,Al.BrotliDecompress=GU):Al.BrotliCompress=Al.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var UC=U((VMt,Mue)=>{var nat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;Mue.exports=nat!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var Jx=U((zMt,Uue)=>{"use strict";var iat=LC(),KU=UC(),VU=Symbol("slurp");Uue.exports=class extends iat{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=KU(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=KU(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[VU](r),o&&this[VU](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[VU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?KU(e[o]):e[o])}}});var JU=U(zx=>{"use strict";zx.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);zx.code=new Map(Array.from(zx.name).map(t=>[t[1],t[0]]))});var jue=U((ZMt,que)=>{"use strict";var sat=(t,e)=>{if(Number.isSafeInteger(t))t<0?aat(t,e):oat(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},oat=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},aat=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=_ue(a):a===0?e[o-1]=0:(r=!0,e[o-1]=Hue(a))}},lat=t=>{let e=t[0],r=e===128?uat(t.slice(1,t.length)):e===255?cat(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},cat=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=_ue(n):n===0?u=n:(o=!0,u=Hue(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},uat=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},_ue=t=>(255^t)&255,Hue=t=>(255^t)+1&255;que.exports={encode:sat,parse:lat}});var HC=U(($Mt,Wue)=>{"use strict";var zU=JU(),_C=Ie("path").posix,Gue=jue(),XU=Symbol("slurp"),fl=Symbol("type"),e3=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[fl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Ld(e,r,100),this.mode=p0(e,r+100,8),this.uid=p0(e,r+108,8),this.gid=p0(e,r+116,8),this.size=p0(e,r+124,12),this.mtime=ZU(e,r+136,12),this.cksum=p0(e,r+148,12),this[XU](o),this[XU](a,!0),this[fl]=Ld(e,r+156,1),this[fl]===""&&(this[fl]="0"),this[fl]==="0"&&this.path.substr(-1)==="/"&&(this[fl]="5"),this[fl]==="5"&&(this.size=0),this.linkpath=Ld(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Ld(e,r+265,32),this.gname=Ld(e,r+297,32),this.devmaj=p0(e,r+329,8),this.devmin=p0(e,r+337,8),e[r+475]!==0){let u=Ld(e,r+345,155);this.path=u+"/"+this.path}else{let u=Ld(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=ZU(e,r+476,12),this.ctime=ZU(e,r+488,12)}let n=8*32;for(let u=r;u<r+148;u++)n+=e[u];for(let u=r+156;u<r+512;u++)n+=e[u];this.cksumValid=n===this.cksum,this.cksum===null&&n===8*32&&(this.nullBlock=!0)}[XU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=e[o])}encode(e,r){if(e||(e=this.block=Buffer.alloc(512),r=0),r||(r=0),!(e.length>=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=Aat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Od(e,r,100,n)||this.needPax,this.needPax=h0(e,r+100,8,this.mode)||this.needPax,this.needPax=h0(e,r+108,8,this.uid)||this.needPax,this.needPax=h0(e,r+116,8,this.gid)||this.needPax,this.needPax=h0(e,r+124,12,this.size)||this.needPax,this.needPax=$U(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[fl].charCodeAt(0),this.needPax=Od(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Od(e,r+265,32,this.uname)||this.needPax,this.needPax=Od(e,r+297,32,this.gname)||this.needPax,this.needPax=h0(e,r+329,8,this.devmaj)||this.needPax,this.needPax=h0(e,r+337,8,this.devmin)||this.needPax,this.needPax=Od(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Od(e,r+345,155,u)||this.needPax:(this.needPax=Od(e,r+345,130,u)||this.needPax,this.needPax=$U(e,r+476,12,this.atime)||this.needPax,this.needPax=$U(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p<r+148;p++)A+=e[p];for(let p=r+156;p<r+512;p++)A+=e[p];return this.cksum=A,h0(e,r+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let r in e)e[r]!==null&&e[r]!==void 0&&(this[r]=e[r])}get type(){return zU.name.get(this[fl])||this[fl]}get typeKey(){return this[fl]}set type(e){zU.code.has(e)?this[fl]=zU.code.get(e):this[fl]=e}},Aat=(t,e)=>{let o=t,a="",n,u=_C.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=_C.dirname(o),o=_C.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,100-1),a,!0]:(o=_C.join(_C.basename(a),o),a=_C.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,100-1),"",!0])}return n},Ld=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),ZU=(t,e,r)=>fat(p0(t,e,r)),fat=t=>t===null?null:new Date(t*1e3),p0=(t,e,r)=>t[e]&128?Gue.parse(t.slice(e,e+r)):hat(t,e,r),pat=t=>isNaN(t)?null:t,hat=(t,e,r)=>pat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),gat={12:8589934591,8:2097151},h0=(t,e,r,o)=>o===null?!1:o>gat[r]||o<0?(Gue.encode(o,t.slice(e,e+r)),!0):(dat(t,e,r,o),!1),dat=(t,e,r,o)=>t.write(mat(o,r),e,r,"ascii"),mat=(t,e)=>yat(Math.floor(t).toString(8),e),yat=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",$U=(t,e,r,o)=>o===null?!1:h0(t,e,r,o.getTime()/1e3),Cat=new Array(156).join("\0"),Od=(t,e,r,o)=>o===null?!1:(t.write(o+Cat,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);Wue.exports=e3});var Xx=U((e4t,Yue)=>{"use strict";var Eat=HC(),Iat=Ie("path"),Q1=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new Eat({path:("PaxHeader/"+Iat.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n<a.length;n++)a[n]=0;return a}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(e){if(this[e]===null||this[e]===void 0)return"";let r=this[e]instanceof Date?this[e].getTime()/1e3:this[e],o=" "+(e==="dev"||e==="ino"||e==="nlink"?"SCHILY.":"")+e+"="+r+`
185`,a=Buffer.byteLength(o),n=Math.floor(Math.log(a)/Math.log(10))+1;return a+n>=Math.pow(10,n)&&(n+=1),n+a+o}};S1.parse=(t,e,r)=>new S1(Aat(fat(t),e),r);var Aat=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,fat=t=>t.replace(/\n$/,"").split(` 185`,a=Buffer.byteLength(o),n=Math.floor(Math.log(a)/Math.log(10))+1;return a+n>=Math.pow(10,n)&&(n+=1),n+a+o}};Q1.parse=(t,e,r)=>new Q1(wat(Bat(t),e),r);var wat=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,Bat=t=>t.replace(/\n$/,"").split(`
186`).reduce(pat,Object.create(null)),pat=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};_ue.exports=S1});var OE=U((HMt,Hue)=>{Hue.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var Wx=U((qMt,que)=>{"use strict";que.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var t3=U((GMt,jue)=>{"use strict";var Yx=["|","<",">","?",":"],e3=Yx.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),hat=new Map(Yx.map((t,e)=>[t,e3[e]])),gat=new Map(e3.map((t,e)=>[t,Yx[e]]));jue.exports={encode:t=>Yx.reduce((e,r)=>e.split(r).join(hat.get(r)),t),decode:t=>e3.reduce((e,r)=>e.split(r).join(gat.get(r)),t)}});var r3=U((WMt,Wue)=>{var{isAbsolute:dat,parse:Gue}=Ie("path").win32;Wue.exports=t=>{let e="",r=Gue(t);for(;dat(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=Gue(t)}return[e,t]}});var Kue=U((YMt,Yue)=>{"use strict";Yue.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var f3=U((VMt,aAe)=>{"use strict";var eAe=kE(),tAe=Gx(),rAe=LE(),aA=Ie("fs"),Jue=Ie("path"),oA=TE(),mat=OE(),nAe=(t,e)=>e?(t=oA(t).replace(/^\.(\/|$)/,""),mat(e)+"/"+t):oA(t),yat=16*1024*1024,Vue=Symbol("process"),zue=Symbol("file"),Xue=Symbol("directory"),i3=Symbol("symlink"),Zue=Symbol("hardlink"),P1=Symbol("header"),Kx=Symbol("read"),s3=Symbol("lstat"),Jx=Symbol("onlstat"),o3=Symbol("onread"),a3=Symbol("onreadlink"),l3=Symbol("openfile"),c3=Symbol("onopenfile"),h0=Symbol("close"),Vx=Symbol("mode"),u3=Symbol("awaitDrain"),n3=Symbol("ondrain"),lA=Symbol("prefix"),$ue=Symbol("hadError"),iAe=Wx(),Eat=t3(),sAe=r3(),oAe=Kue(),zx=iAe(class extends eAe{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=oA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||yat,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=oA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?oA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=sAe(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Eat.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=oA(r.absolute||Jue.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[Jx](this.statCache.get(this.absolute)):this[s3]()}emit(e,...r){return e==="error"&&(this[$ue]=!0),super.emit(e,...r)}[s3](){aA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Jx](r)})}[Jx](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=Iat(e),this.emit("stat",e),this[Vue]()}[Vue](){switch(this.type){case"File":return this[zue]();case"Directory":return this[Xue]();case"SymbolicLink":return this[i3]();default:return this.end()}}[Vx](e){return oAe(e,this.type==="Directory",this.portable)}[lA](e){return nAe(e,this.prefix)}[P1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new rAe({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this[Vx](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new tAe({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[Xue](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[P1](),this.end()}[i3](){aA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[a3](r)})}[a3](e){this.linkpath=oA(e),this[P1](),this.end()}[Zue](e){this.type="Link",this.linkpath=oA(Jue.relative(this.cwd,e)),this.stat.size=0,this[P1](),this.end()}[zue](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[Zue](r)}this.linkCache.set(e,this.absolute)}if(this[P1](),this.stat.size===0)return this.end();this[l3]()}[l3](){aA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[c3](r)})}[c3](e){if(this.fd=e,this[$ue])return this[h0]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[Kx]()}[Kx](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;aA.read(e,r,o,a,n,(u,A)=>{if(u)return this[h0](()=>this.emit("error",u));this[o3](A)})}[h0](e){aA.close(this.fd,e)}[o3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[h0](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[h0](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;a<this.length&&e<this.blockRemain;a++)this.buf[a+this.offset]=0,e++,this.remain++;let r=this.offset===0&&e===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+e);this.write(r)?this[n3]():this[u3](()=>this[n3]())}[u3](e){this.once("drain",e)}write(e){if(this.blockRemain<e.length){let r=new Error("writing more data than expected");return r.path=this.absolute,this.emit("error",r)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e)}[n3](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[h0](e=>e?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[Kx]()}}),A3=class extends zx{[s3](){this[Jx](aA.lstatSync(this.absolute))}[i3](){this[a3](aA.readlinkSync(this.absolute))}[l3](){this[c3](aA.openSync(this.absolute,"r"))}[Kx](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=aA.readSync(r,o,a,n,u);this[o3](A),e=!1}finally{if(e)try{this[h0](()=>{})}catch{}}}[u3](e){e()}[h0](e){aA.closeSync(this.fd),e()}},Cat=iAe(class extends eAe{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=oA(e.path),this.mode=this[Vx](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=oA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=sAe(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new rAe({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new tAe({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[lA](e){return nAe(e,this.prefix)}[Vx](e){return oAe(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});zx.Sync=A3;zx.Tar=Cat;var Iat=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";aAe.exports=zx});var sb=U((XMt,hAe)=>{"use strict";var nb=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},wat=kE(),Bat=WU(),vat=qx(),I3=f3(),Dat=I3.Sync,Sat=I3.Tar,Pat=iS(),lAe=Buffer.alloc(1024),$x=Symbol("onStat"),Xx=Symbol("ended"),cA=Symbol("queue"),ME=Symbol("current"),Nd=Symbol("process"),Zx=Symbol("processing"),cAe=Symbol("processJob"),uA=Symbol("jobs"),p3=Symbol("jobDone"),eb=Symbol("addFSEntry"),uAe=Symbol("addTarEntry"),m3=Symbol("stat"),y3=Symbol("readdir"),tb=Symbol("onreaddir"),rb=Symbol("pipe"),AAe=Symbol("entry"),h3=Symbol("entryOpt"),E3=Symbol("writeEntryClass"),pAe=Symbol("write"),g3=Symbol("ondrain"),ib=Ie("fs"),fAe=Ie("path"),xat=Wx(),d3=TE(),w3=xat(class extends wat{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=d3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[E3]=I3,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new Bat.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[g3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[g3]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[cA]=new Pat,this[uA]=0,this.jobs=+e.jobs||4,this[Zx]=!1,this[Xx]=!1}[pAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[Xx]=!0,this[Nd](),this}write(e){if(this[Xx])throw new Error("write after end");return e instanceof vat?this[uAe](e):this[eb](e),this.flowing}[uAe](e){let r=d3(fAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new nb(e.path,r,!1);o.entry=new Sat(e,this[h3](o)),o.entry.on("end",a=>this[p3](o)),this[uA]+=1,this[cA].push(o)}this[Nd]()}[eb](e){let r=d3(fAe.resolve(this.cwd,e));this[cA].push(new nb(e,r)),this[Nd]()}[m3](e){e.pending=!0,this[uA]+=1;let r=this.follow?"stat":"lstat";ib[r](e.absolute,(o,a)=>{e.pending=!1,this[uA]-=1,o?this.emit("error",o):this[$x](e,a)})}[$x](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Nd]()}[y3](e){e.pending=!0,this[uA]+=1,ib.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[uA]-=1,r)return this.emit("error",r);this[tb](e,o)})}[tb](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Nd]()}[Nd](){if(!this[Zx]){this[Zx]=!0;for(let e=this[cA].head;e!==null&&this[uA]<this.jobs;e=e.next)if(this[cAe](e.value),e.value.ignore){let r=e.next;this[cA].removeNode(e),e.next=r}this[Zx]=!1,this[Xx]&&!this[cA].length&&this[uA]===0&&(this.zip?this.zip.end(lAe):(super.write(lAe),super.end()))}}get[ME](){return this[cA]&&this[cA].head&&this[cA].head.value}[p3](e){this[cA].shift(),this[uA]-=1,this[Nd]()}[cAe](e){if(!e.pending){if(e.entry){e===this[ME]&&!e.piped&&this[rb](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[$x](e,this.statCache.get(e.absolute)):this[m3](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[tb](e,this.readdirCache.get(e.absolute)):this[y3](e),!e.readdir))){if(e.entry=this[AAe](e),!e.entry){e.ignore=!0;return}e===this[ME]&&!e.piped&&this[rb](e)}}}[h3](e){return{onwarn:(r,o,a)=>this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[AAe](e){this[uA]+=1;try{return new this[E3](e.path,this[h3](e)).on("end",()=>this[p3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[g3](){this[ME]&&this[ME].entry&&this[ME].entry.resume()}[rb](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[eb](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),C3=class extends w3{constructor(e){super(e),this[E3]=Dat}pause(){}resume(){}[m3](e){let r=this.follow?"statSync":"lstatSync";this[$x](e,ib[r](e.absolute))}[y3](e,r){this[tb](e,ib.readdirSync(e.absolute))}[rb](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[eb](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[pAe](a)})}};w3.Sync=C3;hAe.exports=w3});var YE=U(b1=>{"use strict";var bat=kE(),Qat=Ie("events").EventEmitter,Qa=Ie("fs"),D3=Qa.writev;if(!D3){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;D3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var GE=Symbol("_autoClose"),Kc=Symbol("_close"),x1=Symbol("_ended"),Mn=Symbol("_fd"),gAe=Symbol("_finished"),d0=Symbol("_flags"),B3=Symbol("_flush"),S3=Symbol("_handleChunk"),P3=Symbol("_makeBuf"),Ab=Symbol("_mode"),ob=Symbol("_needDrain"),qE=Symbol("_onerror"),WE=Symbol("_onopen"),v3=Symbol("_onread"),_E=Symbol("_onwrite"),m0=Symbol("_open"),_f=Symbol("_path"),Ld=Symbol("_pos"),AA=Symbol("_queue"),HE=Symbol("_read"),dAe=Symbol("_readSize"),g0=Symbol("_reading"),ab=Symbol("_remain"),mAe=Symbol("_size"),lb=Symbol("_write"),UE=Symbol("_writing"),ub=Symbol("_defaultFlag"),jE=Symbol("_errored"),fb=class extends bat{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[jE]=!1,this[Mn]=typeof r.fd=="number"?r.fd:null,this[_f]=e,this[dAe]=r.readSize||16*1024*1024,this[g0]=!1,this[mAe]=typeof r.size=="number"?r.size:1/0,this[ab]=this[mAe],this[GE]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Mn]=="number"?this[HE]():this[m0]()}get fd(){return this[Mn]}get path(){return this[_f]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[m0](){Qa.open(this[_f],"r",(e,r)=>this[WE](e,r))}[WE](e,r){e?this[qE](e):(this[Mn]=r,this.emit("open",r),this[HE]())}[P3](){return Buffer.allocUnsafe(Math.min(this[dAe],this[ab]))}[HE](){if(!this[g0]){this[g0]=!0;let e=this[P3]();if(e.length===0)return process.nextTick(()=>this[v3](null,0,e));Qa.read(this[Mn],e,0,e.length,null,(r,o,a)=>this[v3](r,o,a))}}[v3](e,r,o){this[g0]=!1,e?this[qE](e):this[S3](r,o)&&this[HE]()}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[qE](e){this[g0]=!0,this[Kc](),this.emit("error",e)}[S3](e,r){let o=!1;return this[ab]-=e,e>0&&(o=super.write(e<r.length?r.slice(0,e):r)),(e===0||this[ab]<=0)&&(o=!1,this[Kc](),super.end()),o}emit(e,r){switch(e){case"prefinish":case"finish":break;case"drain":typeof this[Mn]=="number"&&this[HE]();break;case"error":return this[jE]?void 0:(this[jE]=!0,super.emit(e,r));default:return super.emit(e,r)}}},x3=class extends fb{[m0](){let e=!0;try{this[WE](null,Qa.openSync(this[_f],"r")),e=!1}finally{e&&this[Kc]()}}[HE](){let e=!0;try{if(!this[g0]){this[g0]=!0;do{let r=this[P3](),o=r.length===0?0:Qa.readSync(this[Mn],r,0,r.length,null);if(!this[S3](o,r))break}while(!0);this[g0]=!1}e=!1}finally{e&&this[Kc]()}}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.closeSync(e),this.emit("close")}}},pb=class extends Qat{constructor(e,r){r=r||{},super(r),this.readable=!1,this.writable=!0,this[jE]=!1,this[UE]=!1,this[x1]=!1,this[ob]=!1,this[AA]=[],this[_f]=e,this[Mn]=typeof r.fd=="number"?r.fd:null,this[Ab]=r.mode===void 0?438:r.mode,this[Ld]=typeof r.start=="number"?r.start:null,this[GE]=typeof r.autoClose=="boolean"?r.autoClose:!0;let o=this[Ld]!==null?"r+":"w";this[ub]=r.flags===void 0,this[d0]=this[ub]?o:r.flags,this[Mn]===null&&this[m0]()}emit(e,r){if(e==="error"){if(this[jE])return;this[jE]=!0}return super.emit(e,r)}get fd(){return this[Mn]}get path(){return this[_f]}[qE](e){this[Kc](),this[UE]=!0,this.emit("error",e)}[m0](){Qa.open(this[_f],this[d0],this[Ab],(e,r)=>this[WE](e,r))}[WE](e,r){this[ub]&&this[d0]==="r+"&&e&&e.code==="ENOENT"?(this[d0]="w",this[m0]()):e?this[qE](e):(this[Mn]=r,this.emit("open",r),this[B3]())}end(e,r){return e&&this.write(e,r),this[x1]=!0,!this[UE]&&!this[AA].length&&typeof this[Mn]=="number"&&this[_E](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[x1]?(this.emit("error",new Error("write() after end()")),!1):this[Mn]===null||this[UE]||this[AA].length?(this[AA].push(e),this[ob]=!0,!1):(this[UE]=!0,this[lb](e),!0)}[lb](e){Qa.write(this[Mn],e,0,e.length,this[Ld],(r,o)=>this[_E](r,o))}[_E](e,r){e?this[qE](e):(this[Ld]!==null&&(this[Ld]+=r),this[AA].length?this[B3]():(this[UE]=!1,this[x1]&&!this[gAe]?(this[gAe]=!0,this[Kc](),this.emit("finish")):this[ob]&&(this[ob]=!1,this.emit("drain"))))}[B3](){if(this[AA].length===0)this[x1]&&this[_E](null,0);else if(this[AA].length===1)this[lb](this[AA].pop());else{let e=this[AA];this[AA]=[],D3(this[Mn],e,this[Ld],(r,o)=>this[_E](r,o))}}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},b3=class extends pb{[m0](){let e;if(this[ub]&&this[d0]==="r+")try{e=Qa.openSync(this[_f],this[d0],this[Ab])}catch(r){if(r.code==="ENOENT")return this[d0]="w",this[m0]();throw r}else e=Qa.openSync(this[_f],this[d0],this[Ab]);this[WE](null,e)}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.closeSync(e),this.emit("close")}}[lb](e){let r=!0;try{this[_E](null,Qa.writeSync(this[Mn],e,0,e.length,this[Ld])),r=!1}finally{if(r)try{this[Kc]()}catch{}}}};b1.ReadStream=fb;b1.ReadStreamSync=x3;b1.WriteStream=pb;b1.WriteStreamSync=b3});var Cb=U((e4t,vAe)=>{"use strict";var kat=Wx(),Fat=LE(),Rat=Ie("events"),Tat=iS(),Nat=1024*1024,Lat=qx(),yAe=Gx(),Oat=WU(),Q3=Buffer.from([31,139]),$l=Symbol("state"),Od=Symbol("writeEntry"),Hf=Symbol("readEntry"),k3=Symbol("nextEntry"),EAe=Symbol("processEntry"),ec=Symbol("extendedHeader"),Q1=Symbol("globalExtendedHeader"),y0=Symbol("meta"),CAe=Symbol("emitMeta"),li=Symbol("buffer"),qf=Symbol("queue"),Md=Symbol("ended"),IAe=Symbol("emittedEnd"),Ud=Symbol("emit"),ka=Symbol("unzip"),hb=Symbol("consumeChunk"),gb=Symbol("consumeChunkSub"),F3=Symbol("consumeBody"),wAe=Symbol("consumeMeta"),BAe=Symbol("consumeHeader"),db=Symbol("consuming"),R3=Symbol("bufferConcat"),T3=Symbol("maybeEnd"),k1=Symbol("writing"),E0=Symbol("aborted"),mb=Symbol("onDone"),_d=Symbol("sawValidEntry"),yb=Symbol("sawNullBlock"),Eb=Symbol("sawEOF"),Mat=t=>!0;vAe.exports=kat(class extends Rat{constructor(e){e=e||{},super(e),this.file=e.file||"",this[_d]=null,this.on(mb,r=>{(this[$l]==="begin"||this[_d]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(mb,e.ondone):this.on(mb,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Nat,this.filter=typeof e.filter=="function"?e.filter:Mat,this.writable=!0,this.readable=!1,this[qf]=new Tat,this[li]=null,this[Hf]=null,this[Od]=null,this[$l]="begin",this[y0]="",this[ec]=null,this[Q1]=null,this[Md]=!1,this[ka]=null,this[E0]=!1,this[yb]=!1,this[Eb]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[BAe](e,r){this[_d]===null&&(this[_d]=!1);let o;try{o=new Fat(e,r,this[ec],this[Q1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[yb]?(this[Eb]=!0,this[$l]==="begin"&&(this[$l]="header"),this[Ud]("eof")):(this[yb]=!0,this[Ud]("nullBlock"));else if(this[yb]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[Od]=new Lat(o,this[ec],this[Q1]);if(!this[_d])if(n.remain){let u=()=>{n.invalid||(this[_d]=!0)};n.on("end",u)}else this[_d]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[Ud]("ignoredEntry",n),this[$l]="ignore",n.resume()):n.size>0&&(this[y0]="",n.on("data",u=>this[y0]+=u),this[$l]="meta"):(this[ec]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[Ud]("ignoredEntry",n),this[$l]=n.remain?"ignore":"header",n.resume()):(n.remain?this[$l]="body":(this[$l]="header",n.end()),this[Hf]?this[qf].push(n):(this[qf].push(n),this[k3]())))}}}[EAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Hf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[k3]()),r=!1)):(this[Hf]=null,r=!1),r}[k3](){do;while(this[EAe](this[qf].shift()));if(!this[qf].length){let e=this[Hf];!e||e.flowing||e.size===e.remain?this[k1]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[F3](e,r){let o=this[Od],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[$l]="header",this[Od]=null,o.end()),n.length}[wAe](e,r){let o=this[Od],a=this[F3](e,r);return this[Od]||this[CAe](o),a}[Ud](e,r,o){!this[qf].length&&!this[Hf]?this.emit(e,r,o):this[qf].push([e,r,o])}[CAe](e){switch(this[Ud]("meta",this[y0]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[ec]=yAe.parse(this[y0],this[ec],!1);break;case"GlobalExtendedHeader":this[Q1]=yAe.parse(this[y0],this[Q1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[ec]=this[ec]||Object.create(null),this[ec].path=this[y0].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[ec]=this[ec]||Object.create(null),this[ec].linkpath=this[y0].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[E0]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[E0])return;if(this[ka]===null&&e){if(this[li]&&(e=Buffer.concat([this[li],e]),this[li]=null),e.length<Q3.length)return this[li]=e,!0;for(let o=0;this[ka]===null&&o<Q3.length;o++)e[o]!==Q3[o]&&(this[ka]=!1);if(this[ka]===null){let o=this[Md];this[Md]=!1,this[ka]=new Oat.Unzip,this[ka].on("data",n=>this[hb](n)),this[ka].on("error",n=>this.abort(n)),this[ka].on("end",n=>{this[Md]=!0,this[hb]()}),this[k1]=!0;let a=this[ka][o?"end":"write"](e);return this[k1]=!1,a}}this[k1]=!0,this[ka]?this[ka].write(e):this[hb](e),this[k1]=!1;let r=this[qf].length?!1:this[Hf]?this[Hf].flowing:!0;return!r&&!this[qf].length&&this[Hf].once("drain",o=>this.emit("drain")),r}[R3](e){e&&!this[E0]&&(this[li]=this[li]?Buffer.concat([this[li],e]):e)}[T3](){if(this[Md]&&!this[IAe]&&!this[E0]&&!this[db]){this[IAe]=!0;let e=this[Od];if(e&&e.blockRemain){let r=this[li]?this[li].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[li]&&e.write(this[li]),e.end()}this[Ud](mb)}}[hb](e){if(this[db])this[R3](e);else if(!e&&!this[li])this[T3]();else{if(this[db]=!0,this[li]){this[R3](e);let r=this[li];this[li]=null,this[gb](r)}else this[gb](e);for(;this[li]&&this[li].length>=512&&!this[E0]&&!this[Eb];){let r=this[li];this[li]=null,this[gb](r)}this[db]=!1}(!this[li]||this[Md])&&this[T3]()}[gb](e){let r=0,o=e.length;for(;r+512<=o&&!this[E0]&&!this[Eb];)switch(this[$l]){case"begin":case"header":this[BAe](e,r),r+=512;break;case"ignore":case"body":r+=this[F3](e,r);break;case"meta":r+=this[wAe](e,r);break;default:throw new Error("invalid state: "+this[$l])}r<o&&(this[li]?this[li]=Buffer.concat([e.slice(r),this[li]]):this[li]=e.slice(r))}end(e){this[E0]||(this[ka]?this[ka].end(e):(this[Md]=!0,this.write(e)))}})});var Ib=U((t4t,xAe)=>{"use strict";var Uat=bE(),SAe=Cb(),KE=Ie("fs"),_at=YE(),DAe=Ie("path"),N3=OE();xAe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=Uat(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&qat(o,e),o.noResume||Hat(o),o.file&&o.sync?jat(o):o.file?Gat(o,r):PAe(o)};var Hat=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},qat=(t,e)=>{let r=new Map(e.map(n=>[N3(n),!0])),o=t.filter,a=(n,u)=>{let A=u||DAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(DAe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(N3(n)):n=>a(N3(n))},jat=t=>{let e=PAe(t),r=t.file,o=!0,a;try{let n=KE.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size<u)e.end(KE.readFileSync(r));else{let A=0,p=Buffer.allocUnsafe(u);for(a=KE.openSync(r,"r");A<n.size;){let h=KE.readSync(a,p,0,u,A);A+=h,e.write(p.slice(0,h))}e.end()}o=!1}finally{if(o&&a)try{KE.closeSync(a)}catch{}}},Gat=(t,e)=>{let r=new SAe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),KE.stat(a,(p,h)=>{if(p)A(p);else{let C=new _at.ReadStream(a,{readSize:o,size:h.size});C.on("error",A),C.pipe(r)}})});return e?n.then(e,e):n},PAe=t=>new SAe(t)});var TAe=U((r4t,RAe)=>{"use strict";var Wat=bE(),wb=sb(),bAe=YE(),QAe=Ib(),kAe=Ie("path");RAe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=Wat(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?Yat(o,e):o.file?Kat(o,e,r):o.sync?Jat(o,e):Vat(o,e)};var Yat=(t,e)=>{let r=new wb.Sync(t),o=new bAe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),FAe(r,e)},Kat=(t,e,r)=>{let o=new wb(t),a=new bAe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return L3(o,e),r?n.then(r,r):n},FAe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?QAe({file:kAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},L3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return QAe({file:kAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>L3(t,e));t.add(r)}t.end()},Jat=(t,e)=>{let r=new wb.Sync(t);return FAe(r,e),r},Vat=(t,e)=>{let r=new wb(t);return L3(r,e),r}});var O3=U((n4t,HAe)=>{"use strict";var zat=bE(),NAe=sb(),ul=Ie("fs"),LAe=YE(),OAe=Ib(),MAe=Ie("path"),UAe=LE();HAe.exports=(t,e,r)=>{let o=zat(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?Xat(o,e):$at(o,e,r)};var Xat=(t,e)=>{let r=new NAe.Sync(t),o=!0,a,n;try{try{a=ul.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=ul.openSync(t.file,"w+");else throw p}let u=ul.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;n<u.size;n+=512){for(let C=0,w=0;C<512;C+=w){if(w=ul.readSync(a,A,C,A.length-C,n+C),n===0&&A[0]===31&&A[1]===139)throw new Error("cannot append to compressed archives");if(!w)break e}let p=new UAe(A);if(!p.cksumValid)break;let h=512*Math.ceil(p.size/512);if(n+h+512>u.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,Zat(t,r,n,a,e)}finally{if(o)try{ul.closeSync(a)}catch{}}},Zat=(t,e,r,o,a)=>{let n=new LAe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),elt(e,a)},$at=(t,e,r)=>{e=Array.from(e);let o=new NAe(t),a=(u,A,p)=>{let h=(E,R)=>{E?ul.close(u,L=>p(E)):p(null,R)},C=0;if(A===0)return h(null,0);let w=0,v=Buffer.alloc(512),b=(E,R)=>{if(E)return h(E);if(w+=R,w<512&&R)return ul.read(u,v,w,v.length-w,C+w,b);if(C===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(w<512)return h(null,C);let L=new UAe(v);if(!L.cksumValid)return h(null,C);let _=512*Math.ceil(L.size/512);if(C+_+512>A||(C+=_+512,C>=A))return h(null,C);t.mtimeCache&&t.mtimeCache.set(L.path,L.mtime),w=0,ul.read(u,v,0,512,C,b)};ul.read(u,v,0,512,C,b)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(C,w)=>{if(C&&C.code==="ENOENT"&&p==="r+")return p="w+",ul.open(t.file,p,h);if(C)return A(C);ul.fstat(w,(v,b)=>{if(v)return ul.close(w,()=>A(v));a(w,b.size,(E,R)=>{if(E)return A(E);let L=new LAe.WriteStream(t.file,{fd:w,start:R});o.pipe(L),L.on("error",A),L.on("close",u),_Ae(o,e)})})};ul.open(t.file,p,h)});return r?n.then(r,r):n},elt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?OAe({file:MAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},_Ae=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return OAe({file:MAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>_Ae(t,e));t.add(r)}t.end()}});var jAe=U((i4t,qAe)=>{"use strict";var tlt=bE(),rlt=O3();qAe.exports=(t,e,r)=>{let o=tlt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),nlt(o),rlt(o,e,r)};var nlt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var YAe=U((s4t,WAe)=>{var{promisify:GAe}=Ie("util"),C0=Ie("fs"),ilt=t=>{if(!t)t={mode:511,fs:C0};else if(typeof t=="object")t={mode:511,fs:C0,...t};else if(typeof t=="number")t={mode:t,fs:C0};else if(typeof t=="string")t={mode:parseInt(t,8),fs:C0};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||C0.mkdir,t.mkdirAsync=GAe(t.mkdir),t.stat=t.stat||t.fs.stat||C0.stat,t.statAsync=GAe(t.stat),t.statSync=t.statSync||t.fs.statSync||C0.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||C0.mkdirSync,t};WAe.exports=ilt});var JAe=U((o4t,KAe)=>{var slt=process.platform,{resolve:olt,parse:alt}=Ie("path"),llt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=olt(t),slt==="win32"){let e=/[*|"<>?:]/,{root:r}=alt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};KAe.exports=llt});var $Ae=U((a4t,ZAe)=>{var{dirname:VAe}=Ie("path"),zAe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?zAe(t,VAe(e),e):void 0),XAe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?XAe(t,VAe(e),e):void 0}};ZAe.exports={findMade:zAe,findMadeSync:XAe}});var _3=U((l4t,tfe)=>{var{dirname:efe}=Ie("path"),M3=(t,e,r)=>{e.recursive=!1;let o=efe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return M3(o,e).then(n=>M3(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},U3=(t,e,r)=>{let o=efe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return U3(t,e,U3(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};tfe.exports={mkdirpManual:M3,mkdirpManualSync:U3}});var ife=U((c4t,nfe)=>{var{dirname:rfe}=Ie("path"),{findMade:clt,findMadeSync:ult}=$Ae(),{mkdirpManual:Alt,mkdirpManualSync:flt}=_3(),plt=(t,e)=>(e.recursive=!0,rfe(t)===t?e.mkdirAsync(t,e):clt(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return Alt(t,e);throw a}))),hlt=(t,e)=>{if(e.recursive=!0,rfe(t)===t)return e.mkdirSync(t,e);let o=ult(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return flt(t,e);throw a}};nfe.exports={mkdirpNative:plt,mkdirpNativeSync:hlt}});var lfe=U((u4t,afe)=>{var sfe=Ie("fs"),glt=process.version,H3=glt.replace(/^v/,"").split("."),ofe=+H3[0]>10||+H3[0]==10&&+H3[1]>=12,dlt=ofe?t=>t.mkdir===sfe.mkdir:()=>!1,mlt=ofe?t=>t.mkdirSync===sfe.mkdirSync:()=>!1;afe.exports={useNative:dlt,useNativeSync:mlt}});var hfe=U((A4t,pfe)=>{var JE=YAe(),VE=JAe(),{mkdirpNative:cfe,mkdirpNativeSync:ufe}=ife(),{mkdirpManual:Afe,mkdirpManualSync:ffe}=_3(),{useNative:ylt,useNativeSync:Elt}=lfe(),zE=(t,e)=>(t=VE(t),e=JE(e),ylt(e)?cfe(t,e):Afe(t,e)),Clt=(t,e)=>(t=VE(t),e=JE(e),Elt(e)?ufe(t,e):ffe(t,e));zE.sync=Clt;zE.native=(t,e)=>cfe(VE(t),JE(e));zE.manual=(t,e)=>Afe(VE(t),JE(e));zE.nativeSync=(t,e)=>ufe(VE(t),JE(e));zE.manualSync=(t,e)=>ffe(VE(t),JE(e));pfe.exports=zE});var Ife=U((f4t,Cfe)=>{"use strict";var tc=Ie("fs"),Hd=Ie("path"),Ilt=tc.lchown?"lchown":"chown",wlt=tc.lchownSync?"lchownSync":"chownSync",dfe=tc.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),gfe=(t,e,r)=>{try{return tc[wlt](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},Blt=(t,e,r)=>{try{return tc.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},vlt=dfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):tc.chown(t,e,r,o)}:(t,e,r,o)=>o,q3=dfe?(t,e,r)=>{try{return gfe(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;Blt(t,e,r)}}:(t,e,r)=>gfe(t,e,r),Dlt=process.version,mfe=(t,e,r)=>tc.readdir(t,e,r),Slt=(t,e)=>tc.readdirSync(t,e);/^v4\./.test(Dlt)&&(mfe=(t,e,r)=>tc.readdir(t,r));var Bb=(t,e,r,o)=>{tc[Ilt](t,e,r,vlt(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},yfe=(t,e,r,o,a)=>{if(typeof e=="string")return tc.lstat(Hd.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,yfe(t,u,r,o,a)});if(e.isDirectory())j3(Hd.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=Hd.resolve(t,e.name);Bb(u,r,o,a)});else{let n=Hd.resolve(t,e.name);Bb(n,r,o,a)}},j3=(t,e,r,o)=>{mfe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Bb(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Bb(t,e,r,o)}};n.forEach(h=>yfe(t,h,e,r,p))})},Plt=(t,e,r,o)=>{if(typeof e=="string")try{let a=tc.lstatSync(Hd.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&Efe(Hd.resolve(t,e.name),r,o),q3(Hd.resolve(t,e.name),r,o)},Efe=(t,e,r)=>{let o;try{o=Slt(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return q3(t,e,r);throw a}return o&&o.length&&o.forEach(a=>Plt(t,a,e,r)),q3(t,e,r)};Cfe.exports=j3;j3.sync=Efe});var Dfe=U((p4t,G3)=>{"use strict";var wfe=hfe(),rc=Ie("fs"),vb=Ie("path"),Bfe=Ife(),Jc=TE(),Db=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},Sb=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},Pb=(t,e)=>t.get(Jc(e)),F1=(t,e,r)=>t.set(Jc(e),r),xlt=(t,e)=>{rc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new Sb(t,r&&r.code||"ENOTDIR")),e(r)})};G3.exports=(t,e,r)=>{t=Jc(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,C=e.unlink,w=e.cache,v=Jc(e.cwd),b=(L,_)=>{L?r(L):(F1(w,t,!0),_&&p?Bfe(_,u,A,J=>b(J)):n?rc.chmod(t,a,r):r())};if(w&&Pb(w,t)===!0)return b();if(t===v)return xlt(t,b);if(h)return wfe(t,{mode:a}).then(L=>b(null,L),b);let R=Jc(vb.relative(v,t)).split("/");xb(v,R,a,w,C,v,null,b)};var xb=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=Jc(vb.resolve(t+"/"+p));if(Pb(o,h))return xb(h,e,r,o,a,n,u,A);rc.mkdir(h,r,vfe(h,e,r,o,a,n,u,A))},vfe=(t,e,r,o,a,n,u,A)=>p=>{p?rc.lstat(t,(h,C)=>{if(h)h.path=h.path&&Jc(h.path),A(h);else if(C.isDirectory())xb(t,e,r,o,a,n,u,A);else if(a)rc.unlink(t,w=>{if(w)return A(w);rc.mkdir(t,r,vfe(t,e,r,o,a,n,u,A))});else{if(C.isSymbolicLink())return A(new Db(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,xb(t,e,r,o,a,n,u,A))},blt=t=>{let e=!1,r="ENOTDIR";try{e=rc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new Sb(t,r)}};G3.exports.sync=(t,e)=>{t=Jc(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,C=e.cache,w=Jc(e.cwd),v=L=>{F1(C,t,!0),L&&A&&Bfe.sync(L,n,u),a&&rc.chmodSync(t,o)};if(C&&Pb(C,t)===!0)return v();if(t===w)return blt(w),v();if(p)return v(wfe.sync(t,o));let E=Jc(vb.relative(w,t)).split("/"),R=null;for(let L=E.shift(),_=w;L&&(_+="/"+L);L=E.shift())if(_=Jc(vb.resolve(_)),!Pb(C,_))try{rc.mkdirSync(_,o),R=R||_,F1(C,_,!0)}catch{let re=rc.lstatSync(_);if(re.isDirectory()){F1(C,_,!0);continue}else if(h){rc.unlinkSync(_),rc.mkdirSync(_,o),R=R||_,F1(C,_,!0);continue}else if(re.isSymbolicLink())return new Db(_,_+"/"+E.join("/"))}return v(R)}});var Y3=U((h4t,Sfe)=>{var W3=Object.create(null),{hasOwnProperty:Qlt}=Object.prototype;Sfe.exports=t=>(Qlt.call(W3,t)||(W3[t]=t.normalize("NFKD")),W3[t])});var Qfe=U((g4t,bfe)=>{var Pfe=Ie("assert"),klt=Y3(),Flt=OE(),{join:xfe}=Ie("path"),Rlt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Tlt=Rlt==="win32";bfe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((w,v)=>(w.length&&(v=xfe(w[w.length-1],v)),w.push(v||"/"),w),[]),o=new Set,a=h=>{let C=e.get(h);if(!C)throw new Error("function does not have any path reservations");return{paths:C.paths.map(w=>t.get(w)),dirs:[...C.dirs].map(w=>t.get(w))}},n=h=>{let{paths:C,dirs:w}=a(h);return C.every(v=>v[0]===h)&&w.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:C,dirs:w}=e.get(h),v=new Set;return C.forEach(b=>{let E=t.get(b);Pfe.equal(E[0],h),E.length===1?t.delete(b):(E.shift(),typeof E[0]=="function"?v.add(E[0]):E[0].forEach(R=>v.add(R)))}),w.forEach(b=>{let E=t.get(b);Pfe(E[0]instanceof Set),E[0].size===1&&E.length===1?t.delete(b):E[0].size===1?(E.shift(),v.add(E[0])):E[0].delete(h)}),o.delete(h),v.forEach(b=>u(b)),!0};return{check:n,reserve:(h,C)=>{h=Tlt?["win32 parallelization disabled"]:h.map(v=>klt(Flt(xfe(v))).toLowerCase());let w=new Set(h.map(v=>r(v)).reduce((v,b)=>v.concat(b)));return e.set(C,{dirs:w,paths:h}),h.forEach(v=>{let b=t.get(v);b?b.push(C):t.set(v,[C])}),w.forEach(v=>{let b=t.get(v);b?b[b.length-1]instanceof Set?b[b.length-1].add(C):b.push(new Set([C])):t.set(v,[new Set([C])])}),u(C)}}}});var Rfe=U((d4t,Ffe)=>{var Nlt=process.platform,Llt=Nlt==="win32",Olt=global.__FAKE_TESTING_FS__||Ie("fs"),{O_CREAT:Mlt,O_TRUNC:Ult,O_WRONLY:_lt,UV_FS_O_FILEMAP:kfe=0}=Olt.constants,Hlt=Llt&&!!kfe,qlt=512*1024,jlt=kfe|Ult|Mlt|_lt;Ffe.exports=Hlt?t=>t<qlt?jlt:"w":()=>"w"});var t_=U((m4t,Kfe)=>{"use strict";var Glt=Ie("assert"),Wlt=Cb(),En=Ie("fs"),Ylt=YE(),jf=Ie("path"),Gfe=Dfe(),Tfe=t3(),Klt=Qfe(),Jlt=r3(),Al=TE(),Vlt=OE(),zlt=Y3(),Nfe=Symbol("onEntry"),V3=Symbol("checkFs"),Lfe=Symbol("checkFs2"),kb=Symbol("pruneCache"),z3=Symbol("isReusable"),nc=Symbol("makeFs"),X3=Symbol("file"),Z3=Symbol("directory"),Fb=Symbol("link"),Ofe=Symbol("symlink"),Mfe=Symbol("hardlink"),Ufe=Symbol("unsupported"),_fe=Symbol("checkPath"),I0=Symbol("mkdir"),ko=Symbol("onError"),bb=Symbol("pending"),Hfe=Symbol("pend"),XE=Symbol("unpend"),K3=Symbol("ended"),J3=Symbol("maybeClose"),$3=Symbol("skip"),R1=Symbol("doChown"),T1=Symbol("uid"),N1=Symbol("gid"),L1=Symbol("checkedCwd"),Wfe=Ie("crypto"),Yfe=Rfe(),Xlt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,O1=Xlt==="win32",Zlt=(t,e)=>{if(!O1)return En.unlink(t,e);let r=t+".DELETE."+Wfe.randomBytes(16).toString("hex");En.rename(t,r,o=>{if(o)return e(o);En.unlink(r,e)})},$lt=t=>{if(!O1)return En.unlinkSync(t);let e=t+".DELETE."+Wfe.randomBytes(16).toString("hex");En.renameSync(t,e),En.unlinkSync(e)},qfe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,jfe=t=>zlt(Vlt(Al(t))).toLowerCase(),ect=(t,e)=>{e=jfe(e);for(let r of t.keys()){let o=jfe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},tct=t=>{for(let e of t.keys())t.delete(e)},M1=class extends Wlt{constructor(e){if(e||(e={}),e.ondone=r=>{this[K3]=!0,this[J3]()},super(e),this[L1]=!1,this.reservations=Klt(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[bb]=0,this[K3]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||O1,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Al(jf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[Nfe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[J3](){this[K3]&&this[bb]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[_fe](e){if(this.strip){let r=Al(e.path).split("/");if(r.length<this.strip)return!1;if(e.path=r.slice(this.strip).join("/"),e.type==="Link"){let o=Al(e.linkpath).split("/");if(o.length>=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=Al(e.path),o=r.split("/");if(o.includes("..")||O1&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=Jlt(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(jf.isAbsolute(e.path)?e.absolute=Al(jf.resolve(e.path)):e.absolute=Al(jf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:Al(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=jf.win32.parse(e.absolute);e.absolute=r+Tfe.encode(e.absolute.substr(r.length));let{root:o}=jf.win32.parse(e.path);e.path=o+Tfe.encode(e.path.substr(o.length))}return!0}[Nfe](e){if(!this[_fe](e))return e.resume();switch(Glt.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[V3](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Ufe](e)}}[ko](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[XE](),r.resume())}[I0](e,r,o){Gfe(Al(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[R1](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[T1](e){return qfe(this.uid,e.uid,this.processUid)}[N1](e){return qfe(this.gid,e.gid,this.processGid)}[X3](e,r){let o=e.mode&4095||this.fmode,a=new Ylt.WriteStream(e.absolute,{flags:Yfe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&En.close(a.fd,()=>{}),a.write=()=>!0,this[ko](p,e),r()});let n=1,u=p=>{if(p){a.fd&&En.close(a.fd,()=>{}),this[ko](p,e),r();return}--n===0&&En.close(a.fd,h=>{h?this[ko](h,e):this[XE](),r()})};a.on("finish",p=>{let h=e.absolute,C=a.fd;if(e.mtime&&!this.noMtime){n++;let w=e.atime||new Date,v=e.mtime;En.futimes(C,w,v,b=>b?En.utimes(h,w,v,E=>u(E&&b)):u())}if(this[R1](e)){n++;let w=this[T1](e),v=this[N1](e);En.fchown(C,w,v,b=>b?En.chown(h,w,v,E=>u(E&&b)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[ko](p,e),r()}),e.pipe(A)),A.pipe(a)}[Z3](e,r){let o=e.mode&4095||this.dmode;this[I0](e.absolute,o,a=>{if(a){this[ko](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[XE](),e.resume())};e.mtime&&!this.noMtime&&(n++,En.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[R1](e)&&(n++,En.chown(e.absolute,this[T1](e),this[N1](e),u)),u()})}[Ufe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[Ofe](e,r){this[Fb](e,e.linkpath,"symlink",r)}[Mfe](e,r){let o=Al(jf.resolve(this.cwd,e.linkpath));this[Fb](e,o,"link",r)}[Hfe](){this[bb]++}[XE](){this[bb]--,this[J3]()}[$3](e){this[XE](),e.resume()}[z3](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!O1}[V3](e){this[Hfe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[Lfe](e,o))}[kb](e){e.type==="SymbolicLink"?tct(this.dirCache):e.type!=="Directory"&&ect(this.dirCache,e.absolute)}[Lfe](e,r){this[kb](e);let o=A=>{this[kb](e),r(A)},a=()=>{this[I0](this.cwd,this.dmode,A=>{if(A){this[ko](A,e),o();return}this[L1]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=Al(jf.dirname(e.absolute));if(A!==this.cwd)return this[I0](A,this.dmode,p=>{if(p){this[ko](p,e),o();return}u()})}u()},u=()=>{En.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[$3](e),o();return}if(A||this[z3](e,p))return this[nc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,C=w=>this[nc](w,e,o);return h?En.chmod(e.absolute,e.mode,C):C()}if(e.absolute!==this.cwd)return En.rmdir(e.absolute,h=>this[nc](h,e,o))}if(e.absolute===this.cwd)return this[nc](null,e,o);Zlt(e.absolute,h=>this[nc](h,e,o))})};this[L1]?n():a()}[nc](e,r,o){if(e){this[ko](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[X3](r,o);case"Link":return this[Mfe](r,o);case"SymbolicLink":return this[Ofe](r,o);case"Directory":case"GNUDumpDir":return this[Z3](r,o)}}[Fb](e,r,o,a){En[o](r,e.absolute,n=>{n?this[ko](n,e):(this[XE](),e.resume()),a()})}},Qb=t=>{try{return[null,t()]}catch(e){return[e,null]}},e_=class extends M1{[nc](e,r){return super[nc](e,r,()=>{})}[V3](e){if(this[kb](e),!this[L1]){let n=this[I0](this.cwd,this.dmode);if(n)return this[ko](n,e);this[L1]=!0}if(e.absolute!==this.cwd){let n=Al(jf.dirname(e.absolute));if(n!==this.cwd){let u=this[I0](n,this.dmode);if(u)return this[ko](u,e)}}let[r,o]=Qb(()=>En.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[$3](e);if(r||this[z3](e,o))return this[nc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?Qb(()=>{En.chmodSync(e.absolute,e.mode)}):[];return this[nc](A,e)}let[n]=Qb(()=>En.rmdirSync(e.absolute));this[nc](n,e)}let[a]=e.absolute===this.cwd?[]:Qb(()=>$lt(e.absolute));this[nc](a,e)}[X3](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{En.closeSync(n)}catch(h){p=h}(A||p)&&this[ko](A||p,e),r()},n;try{n=En.openSync(e.absolute,Yfe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[ko](A,e)),e.pipe(u)),u.on("data",A=>{try{En.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,C=e.mtime;try{En.futimesSync(n,h,C)}catch(w){try{En.utimesSync(e.absolute,h,C)}catch{p=w}}}if(this[R1](e)){let h=this[T1](e),C=this[N1](e);try{En.fchownSync(n,h,C)}catch(w){try{En.chownSync(e.absolute,h,C)}catch{p=p||w}}}a(p)})}[Z3](e,r){let o=e.mode&4095||this.dmode,a=this[I0](e.absolute,o);if(a){this[ko](a,e),r();return}if(e.mtime&&!this.noMtime)try{En.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[R1](e))try{En.chownSync(e.absolute,this[T1](e),this[N1](e))}catch{}r(),e.resume()}[I0](e,r){try{return Gfe.sync(Al(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[Fb](e,r,o,a){try{En[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[ko](n,e)}}};M1.Sync=e_;Kfe.exports=M1});var Zfe=U((y4t,Xfe)=>{"use strict";var rct=bE(),Rb=t_(),Vfe=Ie("fs"),zfe=YE(),Jfe=Ie("path"),r_=OE();Xfe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=rct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&nct(o,e),o.file&&o.sync?ict(o):o.file?sct(o,r):o.sync?oct(o):act(o)};var nct=(t,e)=>{let r=new Map(e.map(n=>[r_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||Jfe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Jfe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(r_(n)):n=>a(r_(n))},ict=t=>{let e=new Rb.Sync(t),r=t.file,o=Vfe.statSync(r),a=t.maxReadSize||16*1024*1024;new zfe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},sct=(t,e)=>{let r=new Rb(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),Vfe.stat(a,(p,h)=>{if(p)A(p);else{let C=new zfe.ReadStream(a,{readSize:o,size:h.size});C.on("error",A),C.pipe(r)}})});return e?n.then(e,e):n},oct=t=>new Rb.Sync(t),act=t=>new Rb(t)});var $fe=U(fs=>{"use strict";fs.c=fs.create=TAe();fs.r=fs.replace=O3();fs.t=fs.list=Ib();fs.u=fs.update=jAe();fs.x=fs.extract=Zfe();fs.Pack=sb();fs.Unpack=t_();fs.Parse=Cb();fs.ReadEntry=qx();fs.WriteEntry=f3();fs.Header=LE();fs.Pax=Gx();fs.types=JU()});var epe,tpe,w0,Tb,rpe=dt(()=>{epe=tt($g()),tpe=Ie("worker_threads");A1();w0=Symbol("kTaskInfo"),Tb=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,epe.default)(J4());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new tpe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[w0])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[w0].resolve(r),e[w0]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var o;(o=e[w0])==null||o.reject(r),e[w0]=null}),e.on("exit",r=>{var o;r!==0&&((o=e[w0])==null||o.reject(new Error(`Worker exited with code ${r}`))),e[w0]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[w0]={resolve:o,reject:a},r.postMessage(e)})})}}});var ipe=U((I4t,npe)=>{var n_;npe.exports.getContent=()=>(typeof n_>"u"&&(n_=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),n_)});var Vi={};Yt(Vi,{convertToZip:()=>cct,extractArchiveTo:()=>Act,makeArchiveFromDirectory:()=>lct});async function lct(t,{baseFs:e=new xn,prefixPath:r=wt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new os(null,{level:o});else{let A=await ae.mktempPromise(),p=V.join(A,"archive.zip");n=new os(p,{create:!0,level:o})}let u=V.resolve(wt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function cct(t,e){let r=await ae.mktempPromise(),o=V.join(r,"archive.zip");return spe||(spe=new Tb((0,lpe.getContent)())),await spe.run({tmpFile:o,tgz:t,opts:e}),new os(o,{level:e.compressionLevel})}async function*uct(t){let e=new ape.default.Parse,r=new ope.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function Act(t,e,{stripComponents:r=0,prefixPath:o=wt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of uct(t)){if(a(n))continue;let u=V.normalize(Ae.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=V.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.writeFileSync(p,await Gy(n),{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break}}return e}var ope,ape,lpe,spe,cpe=dt(()=>{bt();Oc();ope=Ie("stream"),ape=tt($fe());rpe();Gl();lpe=tt(ipe())});var Ape=U((i_,upe)=>{(function(t,e){typeof i_=="object"?upe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(i_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,C){var w="",v=0,b,E,R=A.slice(0);if(R.push([n,u])&&A.length>0&&(A.forEach(function(_,J){J>0&&(w+=(_[1]?" ":"\u2502")+" "),!E&&_[0]===n&&(E=!0)}),w+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(w+=": "+n),E&&(w+=" (circular ref.)"),C(w)),!E&&typeof n=="object"){var L=e(n,h);L.forEach(function(_){b=++v===L.length,r(_,n[_],b,R,p,h,C)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` 186`).reduce(vat,Object.create(null)),vat=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};Yue.exports=Q1});var qC=U((t4t,Kue)=>{Kue.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var Zx=U((r4t,Vue)=>{"use strict";Vue.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var r3=U((i4t,Jue)=>{"use strict";var $x=["|","<",">","?",":"],t3=$x.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),Dat=new Map($x.map((t,e)=>[t,t3[e]])),Sat=new Map(t3.map((t,e)=>[t,$x[e]]));Jue.exports={encode:t=>$x.reduce((e,r)=>e.split(r).join(Dat.get(r)),t),decode:t=>t3.reduce((e,r)=>e.split(r).join(Sat.get(r)),t)}});var n3=U((s4t,Xue)=>{var{isAbsolute:Pat,parse:zue}=Ie("path").win32;Xue.exports=t=>{let e="",r=zue(t);for(;Pat(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=zue(t)}return[e,t]}});var $ue=U((o4t,Zue)=>{"use strict";Zue.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var p3=U((c4t,pAe)=>{"use strict";var oAe=LC(),aAe=Xx(),lAe=HC(),lA=Ie("fs"),eAe=Ie("path"),aA=UC(),xat=qC(),cAe=(t,e)=>e?(t=aA(t).replace(/^\.(\/|$)/,""),xat(e)+"/"+t):aA(t),bat=16*1024*1024,tAe=Symbol("process"),rAe=Symbol("file"),nAe=Symbol("directory"),s3=Symbol("symlink"),iAe=Symbol("hardlink"),k1=Symbol("header"),eb=Symbol("read"),o3=Symbol("lstat"),tb=Symbol("onlstat"),a3=Symbol("onread"),l3=Symbol("onreadlink"),c3=Symbol("openfile"),u3=Symbol("onopenfile"),g0=Symbol("close"),rb=Symbol("mode"),A3=Symbol("awaitDrain"),i3=Symbol("ondrain"),cA=Symbol("prefix"),sAe=Symbol("hadError"),uAe=Zx(),Qat=r3(),AAe=n3(),fAe=$ue(),nb=uAe(class extends oAe{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=aA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||bat,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=aA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?aA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=AAe(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Qat.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=aA(r.absolute||eAe.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[tb](this.statCache.get(this.absolute)):this[o3]()}emit(e,...r){return e==="error"&&(this[sAe]=!0),super.emit(e,...r)}[o3](){lA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[tb](r)})}[tb](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=Fat(e),this.emit("stat",e),this[tAe]()}[tAe](){switch(this.type){case"File":return this[rAe]();case"Directory":return this[nAe]();case"SymbolicLink":return this[s3]();default:return this.end()}}[rb](e){return fAe(e,this.type==="Directory",this.portable)}[cA](e){return cAe(e,this.prefix)}[k1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new lAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this[rb](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new aAe({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[nAe](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[k1](),this.end()}[s3](){lA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[l3](r)})}[l3](e){this.linkpath=aA(e),this[k1](),this.end()}[iAe](e){this.type="Link",this.linkpath=aA(eAe.relative(this.cwd,e)),this.stat.size=0,this[k1](),this.end()}[rAe](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[iAe](r)}this.linkCache.set(e,this.absolute)}if(this[k1](),this.stat.size===0)return this.end();this[c3]()}[c3](){lA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[u3](r)})}[u3](e){if(this.fd=e,this[sAe])return this[g0]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[eb]()}[eb](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;lA.read(e,r,o,a,n,(u,A)=>{if(u)return this[g0](()=>this.emit("error",u));this[a3](A)})}[g0](e){lA.close(this.fd,e)}[a3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[g0](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[g0](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;a<this.length&&e<this.blockRemain;a++)this.buf[a+this.offset]=0,e++,this.remain++;let r=this.offset===0&&e===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+e);this.write(r)?this[i3]():this[A3](()=>this[i3]())}[A3](e){this.once("drain",e)}write(e){if(this.blockRemain<e.length){let r=new Error("writing more data than expected");return r.path=this.absolute,this.emit("error",r)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e)}[i3](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[g0](e=>e?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[eb]()}}),f3=class extends nb{[o3](){this[tb](lA.lstatSync(this.absolute))}[s3](){this[l3](lA.readlinkSync(this.absolute))}[c3](){this[u3](lA.openSync(this.absolute,"r"))}[eb](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=lA.readSync(r,o,a,n,u);this[a3](A),e=!1}finally{if(e)try{this[g0](()=>{})}catch{}}}[A3](e){e()}[g0](e){lA.closeSync(this.fd),e()}},kat=uAe(class extends oAe{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=aA(e.path),this.mode=this[rb](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=aA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=AAe(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new lAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new aAe({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[cA](e){return cAe(e,this.prefix)}[rb](e){return fAe(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});nb.Sync=f3;nb.Tar=kat;var Fat=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";pAe.exports=nb});var pb=U((A4t,EAe)=>{"use strict";var Ab=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},Rat=LC(),Tat=YU(),Nat=Jx(),w3=p3(),Lat=w3.Sync,Oat=w3.Tar,Mat=AS(),hAe=Buffer.alloc(1024),ob=Symbol("onStat"),ib=Symbol("ended"),uA=Symbol("queue"),jC=Symbol("current"),Md=Symbol("process"),sb=Symbol("processing"),gAe=Symbol("processJob"),AA=Symbol("jobs"),h3=Symbol("jobDone"),ab=Symbol("addFSEntry"),dAe=Symbol("addTarEntry"),y3=Symbol("stat"),C3=Symbol("readdir"),lb=Symbol("onreaddir"),ub=Symbol("pipe"),mAe=Symbol("entry"),g3=Symbol("entryOpt"),E3=Symbol("writeEntryClass"),CAe=Symbol("write"),d3=Symbol("ondrain"),fb=Ie("fs"),yAe=Ie("path"),Uat=Zx(),m3=UC(),B3=Uat(class extends Rat{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=m3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[E3]=w3,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new Tat.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[d3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[d3]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[uA]=new Mat,this[AA]=0,this.jobs=+e.jobs||4,this[sb]=!1,this[ib]=!1}[CAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[ib]=!0,this[Md](),this}write(e){if(this[ib])throw new Error("write after end");return e instanceof Nat?this[dAe](e):this[ab](e),this.flowing}[dAe](e){let r=m3(yAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new Ab(e.path,r,!1);o.entry=new Oat(e,this[g3](o)),o.entry.on("end",a=>this[h3](o)),this[AA]+=1,this[uA].push(o)}this[Md]()}[ab](e){let r=m3(yAe.resolve(this.cwd,e));this[uA].push(new Ab(e,r)),this[Md]()}[y3](e){e.pending=!0,this[AA]+=1;let r=this.follow?"stat":"lstat";fb[r](e.absolute,(o,a)=>{e.pending=!1,this[AA]-=1,o?this.emit("error",o):this[ob](e,a)})}[ob](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Md]()}[C3](e){e.pending=!0,this[AA]+=1,fb.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[AA]-=1,r)return this.emit("error",r);this[lb](e,o)})}[lb](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Md]()}[Md](){if(!this[sb]){this[sb]=!0;for(let e=this[uA].head;e!==null&&this[AA]<this.jobs;e=e.next)if(this[gAe](e.value),e.value.ignore){let r=e.next;this[uA].removeNode(e),e.next=r}this[sb]=!1,this[ib]&&!this[uA].length&&this[AA]===0&&(this.zip?this.zip.end(hAe):(super.write(hAe),super.end()))}}get[jC](){return this[uA]&&this[uA].head&&this[uA].head.value}[h3](e){this[uA].shift(),this[AA]-=1,this[Md]()}[gAe](e){if(!e.pending){if(e.entry){e===this[jC]&&!e.piped&&this[ub](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[ob](e,this.statCache.get(e.absolute)):this[y3](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[lb](e,this.readdirCache.get(e.absolute)):this[C3](e),!e.readdir))){if(e.entry=this[mAe](e),!e.entry){e.ignore=!0;return}e===this[jC]&&!e.piped&&this[ub](e)}}}[g3](e){return{onwarn:(r,o,a)=>this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[mAe](e){this[AA]+=1;try{return new this[E3](e.path,this[g3](e)).on("end",()=>this[h3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[d3](){this[jC]&&this[jC].entry&&this[jC].entry.resume()}[ub](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[ab](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),I3=class extends B3{constructor(e){super(e),this[E3]=Lat}pause(){}resume(){}[y3](e){let r=this.follow?"statSync":"lstatSync";this[ob](e,fb[r](e.absolute))}[C3](e,r){this[lb](e,fb.readdirSync(e.absolute))}[ub](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[ab](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[CAe](a)})}};B3.Sync=I3;EAe.exports=B3});var XC=U(R1=>{"use strict";var _at=LC(),Hat=Ie("events").EventEmitter,ka=Ie("fs"),S3=ka.writev;if(!S3){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;S3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var JC=Symbol("_autoClose"),Jc=Symbol("_close"),F1=Symbol("_ended"),Mn=Symbol("_fd"),IAe=Symbol("_finished"),m0=Symbol("_flags"),v3=Symbol("_flush"),P3=Symbol("_handleChunk"),x3=Symbol("_makeBuf"),yb=Symbol("_mode"),hb=Symbol("_needDrain"),KC=Symbol("_onerror"),zC=Symbol("_onopen"),D3=Symbol("_onread"),WC=Symbol("_onwrite"),y0=Symbol("_open"),qf=Symbol("_path"),Ud=Symbol("_pos"),fA=Symbol("_queue"),YC=Symbol("_read"),wAe=Symbol("_readSize"),d0=Symbol("_reading"),gb=Symbol("_remain"),BAe=Symbol("_size"),db=Symbol("_write"),GC=Symbol("_writing"),mb=Symbol("_defaultFlag"),VC=Symbol("_errored"),Cb=class extends _at{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[VC]=!1,this[Mn]=typeof r.fd=="number"?r.fd:null,this[qf]=e,this[wAe]=r.readSize||16*1024*1024,this[d0]=!1,this[BAe]=typeof r.size=="number"?r.size:1/0,this[gb]=this[BAe],this[JC]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Mn]=="number"?this[YC]():this[y0]()}get fd(){return this[Mn]}get path(){return this[qf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[y0](){ka.open(this[qf],"r",(e,r)=>this[zC](e,r))}[zC](e,r){e?this[KC](e):(this[Mn]=r,this.emit("open",r),this[YC]())}[x3](){return Buffer.allocUnsafe(Math.min(this[wAe],this[gb]))}[YC](){if(!this[d0]){this[d0]=!0;let e=this[x3]();if(e.length===0)return process.nextTick(()=>this[D3](null,0,e));ka.read(this[Mn],e,0,e.length,null,(r,o,a)=>this[D3](r,o,a))}}[D3](e,r,o){this[d0]=!1,e?this[KC](e):this[P3](r,o)&&this[YC]()}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[KC](e){this[d0]=!0,this[Jc](),this.emit("error",e)}[P3](e,r){let o=!1;return this[gb]-=e,e>0&&(o=super.write(e<r.length?r.slice(0,e):r)),(e===0||this[gb]<=0)&&(o=!1,this[Jc](),super.end()),o}emit(e,r){switch(e){case"prefinish":case"finish":break;case"drain":typeof this[Mn]=="number"&&this[YC]();break;case"error":return this[VC]?void 0:(this[VC]=!0,super.emit(e,r));default:return super.emit(e,r)}}},b3=class extends Cb{[y0](){let e=!0;try{this[zC](null,ka.openSync(this[qf],"r")),e=!1}finally{e&&this[Jc]()}}[YC](){let e=!0;try{if(!this[d0]){this[d0]=!0;do{let r=this[x3](),o=r.length===0?0:ka.readSync(this[Mn],r,0,r.length,null);if(!this[P3](o,r))break}while(!0);this[d0]=!1}e=!1}finally{e&&this[Jc]()}}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.closeSync(e),this.emit("close")}}},Eb=class extends Hat{constructor(e,r){r=r||{},super(r),this.readable=!1,this.writable=!0,this[VC]=!1,this[GC]=!1,this[F1]=!1,this[hb]=!1,this[fA]=[],this[qf]=e,this[Mn]=typeof r.fd=="number"?r.fd:null,this[yb]=r.mode===void 0?438:r.mode,this[Ud]=typeof r.start=="number"?r.start:null,this[JC]=typeof r.autoClose=="boolean"?r.autoClose:!0;let o=this[Ud]!==null?"r+":"w";this[mb]=r.flags===void 0,this[m0]=this[mb]?o:r.flags,this[Mn]===null&&this[y0]()}emit(e,r){if(e==="error"){if(this[VC])return;this[VC]=!0}return super.emit(e,r)}get fd(){return this[Mn]}get path(){return this[qf]}[KC](e){this[Jc](),this[GC]=!0,this.emit("error",e)}[y0](){ka.open(this[qf],this[m0],this[yb],(e,r)=>this[zC](e,r))}[zC](e,r){this[mb]&&this[m0]==="r+"&&e&&e.code==="ENOENT"?(this[m0]="w",this[y0]()):e?this[KC](e):(this[Mn]=r,this.emit("open",r),this[v3]())}end(e,r){return e&&this.write(e,r),this[F1]=!0,!this[GC]&&!this[fA].length&&typeof this[Mn]=="number"&&this[WC](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[F1]?(this.emit("error",new Error("write() after end()")),!1):this[Mn]===null||this[GC]||this[fA].length?(this[fA].push(e),this[hb]=!0,!1):(this[GC]=!0,this[db](e),!0)}[db](e){ka.write(this[Mn],e,0,e.length,this[Ud],(r,o)=>this[WC](r,o))}[WC](e,r){e?this[KC](e):(this[Ud]!==null&&(this[Ud]+=r),this[fA].length?this[v3]():(this[GC]=!1,this[F1]&&!this[IAe]?(this[IAe]=!0,this[Jc](),this.emit("finish")):this[hb]&&(this[hb]=!1,this.emit("drain"))))}[v3](){if(this[fA].length===0)this[F1]&&this[WC](null,0);else if(this[fA].length===1)this[db](this[fA].pop());else{let e=this[fA];this[fA]=[],S3(this[Mn],e,this[Ud],(r,o)=>this[WC](r,o))}}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},Q3=class extends Eb{[y0](){let e;if(this[mb]&&this[m0]==="r+")try{e=ka.openSync(this[qf],this[m0],this[yb])}catch(r){if(r.code==="ENOENT")return this[m0]="w",this[y0]();throw r}else e=ka.openSync(this[qf],this[m0],this[yb]);this[zC](null,e)}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.closeSync(e),this.emit("close")}}[db](e){let r=!0;try{this[WC](null,ka.writeSync(this[Mn],e,0,e.length,this[Ud])),r=!1}finally{if(r)try{this[Jc]()}catch{}}}};R1.ReadStream=Cb;R1.ReadStreamSync=b3;R1.WriteStream=Eb;R1.WriteStreamSync=Q3});var Pb=U((h4t,QAe)=>{"use strict";var qat=Zx(),jat=HC(),Gat=Ie("events"),Wat=AS(),Yat=1024*1024,Kat=Jx(),vAe=Xx(),Vat=YU(),k3=Buffer.from([31,139]),rc=Symbol("state"),_d=Symbol("writeEntry"),jf=Symbol("readEntry"),F3=Symbol("nextEntry"),DAe=Symbol("processEntry"),nc=Symbol("extendedHeader"),T1=Symbol("globalExtendedHeader"),C0=Symbol("meta"),SAe=Symbol("emitMeta"),li=Symbol("buffer"),Gf=Symbol("queue"),Hd=Symbol("ended"),PAe=Symbol("emittedEnd"),qd=Symbol("emit"),Fa=Symbol("unzip"),Ib=Symbol("consumeChunk"),wb=Symbol("consumeChunkSub"),R3=Symbol("consumeBody"),xAe=Symbol("consumeMeta"),bAe=Symbol("consumeHeader"),Bb=Symbol("consuming"),T3=Symbol("bufferConcat"),N3=Symbol("maybeEnd"),N1=Symbol("writing"),E0=Symbol("aborted"),vb=Symbol("onDone"),jd=Symbol("sawValidEntry"),Db=Symbol("sawNullBlock"),Sb=Symbol("sawEOF"),Jat=t=>!0;QAe.exports=qat(class extends Gat{constructor(e){e=e||{},super(e),this.file=e.file||"",this[jd]=null,this.on(vb,r=>{(this[rc]==="begin"||this[jd]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(vb,e.ondone):this.on(vb,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Yat,this.filter=typeof e.filter=="function"?e.filter:Jat,this.writable=!0,this.readable=!1,this[Gf]=new Wat,this[li]=null,this[jf]=null,this[_d]=null,this[rc]="begin",this[C0]="",this[nc]=null,this[T1]=null,this[Hd]=!1,this[Fa]=null,this[E0]=!1,this[Db]=!1,this[Sb]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[bAe](e,r){this[jd]===null&&(this[jd]=!1);let o;try{o=new jat(e,r,this[nc],this[T1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[Db]?(this[Sb]=!0,this[rc]==="begin"&&(this[rc]="header"),this[qd]("eof")):(this[Db]=!0,this[qd]("nullBlock"));else if(this[Db]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[_d]=new Kat(o,this[nc],this[T1]);if(!this[jd])if(n.remain){let u=()=>{n.invalid||(this[jd]=!0)};n.on("end",u)}else this[jd]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[qd]("ignoredEntry",n),this[rc]="ignore",n.resume()):n.size>0&&(this[C0]="",n.on("data",u=>this[C0]+=u),this[rc]="meta"):(this[nc]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[qd]("ignoredEntry",n),this[rc]=n.remain?"ignore":"header",n.resume()):(n.remain?this[rc]="body":(this[rc]="header",n.end()),this[jf]?this[Gf].push(n):(this[Gf].push(n),this[F3]())))}}}[DAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[jf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[F3]()),r=!1)):(this[jf]=null,r=!1),r}[F3](){do;while(this[DAe](this[Gf].shift()));if(!this[Gf].length){let e=this[jf];!e||e.flowing||e.size===e.remain?this[N1]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[R3](e,r){let o=this[_d],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[rc]="header",this[_d]=null,o.end()),n.length}[xAe](e,r){let o=this[_d],a=this[R3](e,r);return this[_d]||this[SAe](o),a}[qd](e,r,o){!this[Gf].length&&!this[jf]?this.emit(e,r,o):this[Gf].push([e,r,o])}[SAe](e){switch(this[qd]("meta",this[C0]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[nc]=vAe.parse(this[C0],this[nc],!1);break;case"GlobalExtendedHeader":this[T1]=vAe.parse(this[C0],this[T1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[nc]=this[nc]||Object.create(null),this[nc].path=this[C0].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[nc]=this[nc]||Object.create(null),this[nc].linkpath=this[C0].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[E0]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[E0])return;if(this[Fa]===null&&e){if(this[li]&&(e=Buffer.concat([this[li],e]),this[li]=null),e.length<k3.length)return this[li]=e,!0;for(let o=0;this[Fa]===null&&o<k3.length;o++)e[o]!==k3[o]&&(this[Fa]=!1);if(this[Fa]===null){let o=this[Hd];this[Hd]=!1,this[Fa]=new Vat.Unzip,this[Fa].on("data",n=>this[Ib](n)),this[Fa].on("error",n=>this.abort(n)),this[Fa].on("end",n=>{this[Hd]=!0,this[Ib]()}),this[N1]=!0;let a=this[Fa][o?"end":"write"](e);return this[N1]=!1,a}}this[N1]=!0,this[Fa]?this[Fa].write(e):this[Ib](e),this[N1]=!1;let r=this[Gf].length?!1:this[jf]?this[jf].flowing:!0;return!r&&!this[Gf].length&&this[jf].once("drain",o=>this.emit("drain")),r}[T3](e){e&&!this[E0]&&(this[li]=this[li]?Buffer.concat([this[li],e]):e)}[N3](){if(this[Hd]&&!this[PAe]&&!this[E0]&&!this[Bb]){this[PAe]=!0;let e=this[_d];if(e&&e.blockRemain){let r=this[li]?this[li].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[li]&&e.write(this[li]),e.end()}this[qd](vb)}}[Ib](e){if(this[Bb])this[T3](e);else if(!e&&!this[li])this[N3]();else{if(this[Bb]=!0,this[li]){this[T3](e);let r=this[li];this[li]=null,this[wb](r)}else this[wb](e);for(;this[li]&&this[li].length>=512&&!this[E0]&&!this[Sb];){let r=this[li];this[li]=null,this[wb](r)}this[Bb]=!1}(!this[li]||this[Hd])&&this[N3]()}[wb](e){let r=0,o=e.length;for(;r+512<=o&&!this[E0]&&!this[Sb];)switch(this[rc]){case"begin":case"header":this[bAe](e,r),r+=512;break;case"ignore":case"body":r+=this[R3](e,r);break;case"meta":r+=this[xAe](e,r);break;default:throw new Error("invalid state: "+this[rc])}r<o&&(this[li]?this[li]=Buffer.concat([e.slice(r),this[li]]):this[li]=e.slice(r))}end(e){this[E0]||(this[Fa]?this[Fa].end(e):(this[Hd]=!0,this.write(e)))}})});var xb=U((g4t,TAe)=>{"use strict";var zat=TC(),FAe=Pb(),ZC=Ie("fs"),Xat=XC(),kAe=Ie("path"),L3=qC();TAe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=zat(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&$at(o,e),o.noResume||Zat(o),o.file&&o.sync?elt(o):o.file?tlt(o,r):RAe(o)};var Zat=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},$at=(t,e)=>{let r=new Map(e.map(n=>[L3(n),!0])),o=t.filter,a=(n,u)=>{let A=u||kAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(kAe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(L3(n)):n=>a(L3(n))},elt=t=>{let e=RAe(t),r=t.file,o=!0,a;try{let n=ZC.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size<u)e.end(ZC.readFileSync(r));else{let A=0,p=Buffer.allocUnsafe(u);for(a=ZC.openSync(r,"r");A<n.size;){let h=ZC.readSync(a,p,0,u,A);A+=h,e.write(p.slice(0,h))}e.end()}o=!1}finally{if(o&&a)try{ZC.closeSync(a)}catch{}}},tlt=(t,e)=>{let r=new FAe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),ZC.stat(a,(p,h)=>{if(p)A(p);else{let E=new Xat.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},RAe=t=>new FAe(t)});var _Ae=U((d4t,UAe)=>{"use strict";var rlt=TC(),bb=pb(),NAe=XC(),LAe=xb(),OAe=Ie("path");UAe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=rlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?nlt(o,e):o.file?ilt(o,e,r):o.sync?slt(o,e):olt(o,e)};var nlt=(t,e)=>{let r=new bb.Sync(t),o=new NAe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),MAe(r,e)},ilt=(t,e,r)=>{let o=new bb(t),a=new NAe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return O3(o,e),r?n.then(r,r):n},MAe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?LAe({file:OAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},O3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return LAe({file:OAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>O3(t,e));t.add(r)}t.end()},slt=(t,e)=>{let r=new bb.Sync(t);return MAe(r,e),r},olt=(t,e)=>{let r=new bb(t);return O3(r,e),r}});var M3=U((m4t,KAe)=>{"use strict";var alt=TC(),HAe=pb(),pl=Ie("fs"),qAe=XC(),jAe=xb(),GAe=Ie("path"),WAe=HC();KAe.exports=(t,e,r)=>{let o=alt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?llt(o,e):ult(o,e,r)};var llt=(t,e)=>{let r=new HAe.Sync(t),o=!0,a,n;try{try{a=pl.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=pl.openSync(t.file,"w+");else throw p}let u=pl.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;n<u.size;n+=512){for(let E=0,w=0;E<512;E+=w){if(w=pl.readSync(a,A,E,A.length-E,n+E),n===0&&A[0]===31&&A[1]===139)throw new Error("cannot append to compressed archives");if(!w)break e}let p=new WAe(A);if(!p.cksumValid)break;let h=512*Math.ceil(p.size/512);if(n+h+512>u.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,clt(t,r,n,a,e)}finally{if(o)try{pl.closeSync(a)}catch{}}},clt=(t,e,r,o,a)=>{let n=new qAe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),Alt(e,a)},ult=(t,e,r)=>{e=Array.from(e);let o=new HAe(t),a=(u,A,p)=>{let h=(C,R)=>{C?pl.close(u,L=>p(C)):p(null,R)},E=0;if(A===0)return h(null,0);let w=0,v=Buffer.alloc(512),b=(C,R)=>{if(C)return h(C);if(w+=R,w<512&&R)return pl.read(u,v,w,v.length-w,E+w,b);if(E===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(w<512)return h(null,E);let L=new WAe(v);if(!L.cksumValid)return h(null,E);let _=512*Math.ceil(L.size/512);if(E+_+512>A||(E+=_+512,E>=A))return h(null,E);t.mtimeCache&&t.mtimeCache.set(L.path,L.mtime),w=0,pl.read(u,v,0,512,E,b)};pl.read(u,v,0,512,E,b)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(E,w)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",pl.open(t.file,p,h);if(E)return A(E);pl.fstat(w,(v,b)=>{if(v)return pl.close(w,()=>A(v));a(w,b.size,(C,R)=>{if(C)return A(C);let L=new qAe.WriteStream(t.file,{fd:w,start:R});o.pipe(L),L.on("error",A),L.on("close",u),YAe(o,e)})})};pl.open(t.file,p,h)});return r?n.then(r,r):n},Alt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?jAe({file:GAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},YAe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return jAe({file:GAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>YAe(t,e));t.add(r)}t.end()}});var JAe=U((y4t,VAe)=>{"use strict";var flt=TC(),plt=M3();VAe.exports=(t,e,r)=>{let o=flt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),hlt(o),plt(o,e,r)};var hlt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var ZAe=U((C4t,XAe)=>{var{promisify:zAe}=Ie("util"),I0=Ie("fs"),glt=t=>{if(!t)t={mode:511,fs:I0};else if(typeof t=="object")t={mode:511,fs:I0,...t};else if(typeof t=="number")t={mode:t,fs:I0};else if(typeof t=="string")t={mode:parseInt(t,8),fs:I0};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||I0.mkdir,t.mkdirAsync=zAe(t.mkdir),t.stat=t.stat||t.fs.stat||I0.stat,t.statAsync=zAe(t.stat),t.statSync=t.statSync||t.fs.statSync||I0.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||I0.mkdirSync,t};XAe.exports=glt});var efe=U((E4t,$Ae)=>{var dlt=process.platform,{resolve:mlt,parse:ylt}=Ie("path"),Clt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=mlt(t),dlt==="win32"){let e=/[*|"<>?:]/,{root:r}=ylt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};$Ae.exports=Clt});var sfe=U((I4t,ife)=>{var{dirname:tfe}=Ie("path"),rfe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?rfe(t,tfe(e),e):void 0),nfe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?nfe(t,tfe(e),e):void 0}};ife.exports={findMade:rfe,findMadeSync:nfe}});var H3=U((w4t,afe)=>{var{dirname:ofe}=Ie("path"),U3=(t,e,r)=>{e.recursive=!1;let o=ofe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return U3(o,e).then(n=>U3(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},_3=(t,e,r)=>{let o=ofe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return _3(t,e,_3(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};afe.exports={mkdirpManual:U3,mkdirpManualSync:_3}});var ufe=U((B4t,cfe)=>{var{dirname:lfe}=Ie("path"),{findMade:Elt,findMadeSync:Ilt}=sfe(),{mkdirpManual:wlt,mkdirpManualSync:Blt}=H3(),vlt=(t,e)=>(e.recursive=!0,lfe(t)===t?e.mkdirAsync(t,e):Elt(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return wlt(t,e);throw a}))),Dlt=(t,e)=>{if(e.recursive=!0,lfe(t)===t)return e.mkdirSync(t,e);let o=Ilt(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return Blt(t,e);throw a}};cfe.exports={mkdirpNative:vlt,mkdirpNativeSync:Dlt}});var hfe=U((v4t,pfe)=>{var Afe=Ie("fs"),Slt=process.version,q3=Slt.replace(/^v/,"").split("."),ffe=+q3[0]>10||+q3[0]==10&&+q3[1]>=12,Plt=ffe?t=>t.mkdir===Afe.mkdir:()=>!1,xlt=ffe?t=>t.mkdirSync===Afe.mkdirSync:()=>!1;pfe.exports={useNative:Plt,useNativeSync:xlt}});var Efe=U((D4t,Cfe)=>{var $C=ZAe(),eE=efe(),{mkdirpNative:gfe,mkdirpNativeSync:dfe}=ufe(),{mkdirpManual:mfe,mkdirpManualSync:yfe}=H3(),{useNative:blt,useNativeSync:Qlt}=hfe(),tE=(t,e)=>(t=eE(t),e=$C(e),blt(e)?gfe(t,e):mfe(t,e)),klt=(t,e)=>(t=eE(t),e=$C(e),Qlt(e)?dfe(t,e):yfe(t,e));tE.sync=klt;tE.native=(t,e)=>gfe(eE(t),$C(e));tE.manual=(t,e)=>mfe(eE(t),$C(e));tE.nativeSync=(t,e)=>dfe(eE(t),$C(e));tE.manualSync=(t,e)=>yfe(eE(t),$C(e));Cfe.exports=tE});var Pfe=U((S4t,Sfe)=>{"use strict";var ic=Ie("fs"),Gd=Ie("path"),Flt=ic.lchown?"lchown":"chown",Rlt=ic.lchownSync?"lchownSync":"chownSync",wfe=ic.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),Ife=(t,e,r)=>{try{return ic[Rlt](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},Tlt=(t,e,r)=>{try{return ic.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},Nlt=wfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):ic.chown(t,e,r,o)}:(t,e,r,o)=>o,j3=wfe?(t,e,r)=>{try{return Ife(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;Tlt(t,e,r)}}:(t,e,r)=>Ife(t,e,r),Llt=process.version,Bfe=(t,e,r)=>ic.readdir(t,e,r),Olt=(t,e)=>ic.readdirSync(t,e);/^v4\./.test(Llt)&&(Bfe=(t,e,r)=>ic.readdir(t,r));var Qb=(t,e,r,o)=>{ic[Flt](t,e,r,Nlt(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},vfe=(t,e,r,o,a)=>{if(typeof e=="string")return ic.lstat(Gd.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,vfe(t,u,r,o,a)});if(e.isDirectory())G3(Gd.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=Gd.resolve(t,e.name);Qb(u,r,o,a)});else{let n=Gd.resolve(t,e.name);Qb(n,r,o,a)}},G3=(t,e,r,o)=>{Bfe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Qb(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Qb(t,e,r,o)}};n.forEach(h=>vfe(t,h,e,r,p))})},Mlt=(t,e,r,o)=>{if(typeof e=="string")try{let a=ic.lstatSync(Gd.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&Dfe(Gd.resolve(t,e.name),r,o),j3(Gd.resolve(t,e.name),r,o)},Dfe=(t,e,r)=>{let o;try{o=Olt(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return j3(t,e,r);throw a}return o&&o.length&&o.forEach(a=>Mlt(t,a,e,r)),j3(t,e,r)};Sfe.exports=G3;G3.sync=Dfe});var kfe=U((P4t,W3)=>{"use strict";var xfe=Efe(),sc=Ie("fs"),kb=Ie("path"),bfe=Pfe(),zc=UC(),Fb=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},Rb=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},Tb=(t,e)=>t.get(zc(e)),L1=(t,e,r)=>t.set(zc(e),r),Ult=(t,e)=>{sc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new Rb(t,r&&r.code||"ENOTDIR")),e(r)})};W3.exports=(t,e,r)=>{t=zc(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,E=e.unlink,w=e.cache,v=zc(e.cwd),b=(L,_)=>{L?r(L):(L1(w,t,!0),_&&p?bfe(_,u,A,V=>b(V)):n?sc.chmod(t,a,r):r())};if(w&&Tb(w,t)===!0)return b();if(t===v)return Ult(t,b);if(h)return xfe(t,{mode:a}).then(L=>b(null,L),b);let R=zc(kb.relative(v,t)).split("/");Nb(v,R,a,w,E,v,null,b)};var Nb=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=zc(kb.resolve(t+"/"+p));if(Tb(o,h))return Nb(h,e,r,o,a,n,u,A);sc.mkdir(h,r,Qfe(h,e,r,o,a,n,u,A))},Qfe=(t,e,r,o,a,n,u,A)=>p=>{p?sc.lstat(t,(h,E)=>{if(h)h.path=h.path&&zc(h.path),A(h);else if(E.isDirectory())Nb(t,e,r,o,a,n,u,A);else if(a)sc.unlink(t,w=>{if(w)return A(w);sc.mkdir(t,r,Qfe(t,e,r,o,a,n,u,A))});else{if(E.isSymbolicLink())return A(new Fb(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,Nb(t,e,r,o,a,n,u,A))},_lt=t=>{let e=!1,r="ENOTDIR";try{e=sc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new Rb(t,r)}};W3.exports.sync=(t,e)=>{t=zc(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,w=zc(e.cwd),v=L=>{L1(E,t,!0),L&&A&&bfe.sync(L,n,u),a&&sc.chmodSync(t,o)};if(E&&Tb(E,t)===!0)return v();if(t===w)return _lt(w),v();if(p)return v(xfe.sync(t,o));let C=zc(kb.relative(w,t)).split("/"),R=null;for(let L=C.shift(),_=w;L&&(_+="/"+L);L=C.shift())if(_=zc(kb.resolve(_)),!Tb(E,_))try{sc.mkdirSync(_,o),R=R||_,L1(E,_,!0)}catch{let re=sc.lstatSync(_);if(re.isDirectory()){L1(E,_,!0);continue}else if(h){sc.unlinkSync(_),sc.mkdirSync(_,o),R=R||_,L1(E,_,!0);continue}else if(re.isSymbolicLink())return new Fb(_,_+"/"+C.join("/"))}return v(R)}});var K3=U((x4t,Ffe)=>{var Y3=Object.create(null),{hasOwnProperty:Hlt}=Object.prototype;Ffe.exports=t=>(Hlt.call(Y3,t)||(Y3[t]=t.normalize("NFKD")),Y3[t])});var Lfe=U((b4t,Nfe)=>{var Rfe=Ie("assert"),qlt=K3(),jlt=qC(),{join:Tfe}=Ie("path"),Glt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Wlt=Glt==="win32";Nfe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((w,v)=>(w.length&&(v=Tfe(w[w.length-1],v)),w.push(v||"/"),w),[]),o=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(w=>t.get(w)),dirs:[...E.dirs].map(w=>t.get(w))}},n=h=>{let{paths:E,dirs:w}=a(h);return E.every(v=>v[0]===h)&&w.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:E,dirs:w}=e.get(h),v=new Set;return E.forEach(b=>{let C=t.get(b);Rfe.equal(C[0],h),C.length===1?t.delete(b):(C.shift(),typeof C[0]=="function"?v.add(C[0]):C[0].forEach(R=>v.add(R)))}),w.forEach(b=>{let C=t.get(b);Rfe(C[0]instanceof Set),C[0].size===1&&C.length===1?t.delete(b):C[0].size===1?(C.shift(),v.add(C[0])):C[0].delete(h)}),o.delete(h),v.forEach(b=>u(b)),!0};return{check:n,reserve:(h,E)=>{h=Wlt?["win32 parallelization disabled"]:h.map(v=>qlt(jlt(Tfe(v))).toLowerCase());let w=new Set(h.map(v=>r(v)).reduce((v,b)=>v.concat(b)));return e.set(E,{dirs:w,paths:h}),h.forEach(v=>{let b=t.get(v);b?b.push(E):t.set(v,[E])}),w.forEach(v=>{let b=t.get(v);b?b[b.length-1]instanceof Set?b[b.length-1].add(E):b.push(new Set([E])):t.set(v,[new Set([E])])}),u(E)}}}});var Ufe=U((Q4t,Mfe)=>{var Ylt=process.platform,Klt=Ylt==="win32",Vlt=global.__FAKE_TESTING_FS__||Ie("fs"),{O_CREAT:Jlt,O_TRUNC:zlt,O_WRONLY:Xlt,UV_FS_O_FILEMAP:Ofe=0}=Vlt.constants,Zlt=Klt&&!!Ofe,$lt=512*1024,ect=Ofe|zlt|Jlt|Xlt;Mfe.exports=Zlt?t=>t<$lt?ect:"w":()=>"w"});var r_=U((k4t,$fe)=>{"use strict";var tct=Ie("assert"),rct=Pb(),Cn=Ie("fs"),nct=XC(),Wf=Ie("path"),zfe=kfe(),_fe=r3(),ict=Lfe(),sct=n3(),hl=UC(),oct=qC(),act=K3(),Hfe=Symbol("onEntry"),z3=Symbol("checkFs"),qfe=Symbol("checkFs2"),Mb=Symbol("pruneCache"),X3=Symbol("isReusable"),oc=Symbol("makeFs"),Z3=Symbol("file"),$3=Symbol("directory"),Ub=Symbol("link"),jfe=Symbol("symlink"),Gfe=Symbol("hardlink"),Wfe=Symbol("unsupported"),Yfe=Symbol("checkPath"),w0=Symbol("mkdir"),ko=Symbol("onError"),Lb=Symbol("pending"),Kfe=Symbol("pend"),rE=Symbol("unpend"),V3=Symbol("ended"),J3=Symbol("maybeClose"),e_=Symbol("skip"),O1=Symbol("doChown"),M1=Symbol("uid"),U1=Symbol("gid"),_1=Symbol("checkedCwd"),Xfe=Ie("crypto"),Zfe=Ufe(),lct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,H1=lct==="win32",cct=(t,e)=>{if(!H1)return Cn.unlink(t,e);let r=t+".DELETE."+Xfe.randomBytes(16).toString("hex");Cn.rename(t,r,o=>{if(o)return e(o);Cn.unlink(r,e)})},uct=t=>{if(!H1)return Cn.unlinkSync(t);let e=t+".DELETE."+Xfe.randomBytes(16).toString("hex");Cn.renameSync(t,e),Cn.unlinkSync(e)},Vfe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,Jfe=t=>act(oct(hl(t))).toLowerCase(),Act=(t,e)=>{e=Jfe(e);for(let r of t.keys()){let o=Jfe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},fct=t=>{for(let e of t.keys())t.delete(e)},q1=class extends rct{constructor(e){if(e||(e={}),e.ondone=r=>{this[V3]=!0,this[J3]()},super(e),this[_1]=!1,this.reservations=ict(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[Lb]=0,this[V3]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||H1,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=hl(Wf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[Hfe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[J3](){this[V3]&&this[Lb]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[Yfe](e){if(this.strip){let r=hl(e.path).split("/");if(r.length<this.strip)return!1;if(e.path=r.slice(this.strip).join("/"),e.type==="Link"){let o=hl(e.linkpath).split("/");if(o.length>=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=hl(e.path),o=r.split("/");if(o.includes("..")||H1&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=sct(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Wf.isAbsolute(e.path)?e.absolute=hl(Wf.resolve(e.path)):e.absolute=hl(Wf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:hl(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Wf.win32.parse(e.absolute);e.absolute=r+_fe.encode(e.absolute.substr(r.length));let{root:o}=Wf.win32.parse(e.path);e.path=o+_fe.encode(e.path.substr(o.length))}return!0}[Hfe](e){if(!this[Yfe](e))return e.resume();switch(tct.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[z3](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Wfe](e)}}[ko](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[rE](),r.resume())}[w0](e,r,o){zfe(hl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[O1](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[M1](e){return Vfe(this.uid,e.uid,this.processUid)}[U1](e){return Vfe(this.gid,e.gid,this.processGid)}[Z3](e,r){let o=e.mode&4095||this.fmode,a=new nct.WriteStream(e.absolute,{flags:Zfe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&Cn.close(a.fd,()=>{}),a.write=()=>!0,this[ko](p,e),r()});let n=1,u=p=>{if(p){a.fd&&Cn.close(a.fd,()=>{}),this[ko](p,e),r();return}--n===0&&Cn.close(a.fd,h=>{h?this[ko](h,e):this[rE](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let w=e.atime||new Date,v=e.mtime;Cn.futimes(E,w,v,b=>b?Cn.utimes(h,w,v,C=>u(C&&b)):u())}if(this[O1](e)){n++;let w=this[M1](e),v=this[U1](e);Cn.fchown(E,w,v,b=>b?Cn.chown(h,w,v,C=>u(C&&b)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[ko](p,e),r()}),e.pipe(A)),A.pipe(a)}[$3](e,r){let o=e.mode&4095||this.dmode;this[w0](e.absolute,o,a=>{if(a){this[ko](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[rE](),e.resume())};e.mtime&&!this.noMtime&&(n++,Cn.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[O1](e)&&(n++,Cn.chown(e.absolute,this[M1](e),this[U1](e),u)),u()})}[Wfe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[jfe](e,r){this[Ub](e,e.linkpath,"symlink",r)}[Gfe](e,r){let o=hl(Wf.resolve(this.cwd,e.linkpath));this[Ub](e,o,"link",r)}[Kfe](){this[Lb]++}[rE](){this[Lb]--,this[J3]()}[e_](e){this[rE](),e.resume()}[X3](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!H1}[z3](e){this[Kfe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[qfe](e,o))}[Mb](e){e.type==="SymbolicLink"?fct(this.dirCache):e.type!=="Directory"&&Act(this.dirCache,e.absolute)}[qfe](e,r){this[Mb](e);let o=A=>{this[Mb](e),r(A)},a=()=>{this[w0](this.cwd,this.dmode,A=>{if(A){this[ko](A,e),o();return}this[_1]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=hl(Wf.dirname(e.absolute));if(A!==this.cwd)return this[w0](A,this.dmode,p=>{if(p){this[ko](p,e),o();return}u()})}u()},u=()=>{Cn.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[e_](e),o();return}if(A||this[X3](e,p))return this[oc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=w=>this[oc](w,e,o);return h?Cn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return Cn.rmdir(e.absolute,h=>this[oc](h,e,o))}if(e.absolute===this.cwd)return this[oc](null,e,o);cct(e.absolute,h=>this[oc](h,e,o))})};this[_1]?n():a()}[oc](e,r,o){if(e){this[ko](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Z3](r,o);case"Link":return this[Gfe](r,o);case"SymbolicLink":return this[jfe](r,o);case"Directory":case"GNUDumpDir":return this[$3](r,o)}}[Ub](e,r,o,a){Cn[o](r,e.absolute,n=>{n?this[ko](n,e):(this[rE](),e.resume()),a()})}},Ob=t=>{try{return[null,t()]}catch(e){return[e,null]}},t_=class extends q1{[oc](e,r){return super[oc](e,r,()=>{})}[z3](e){if(this[Mb](e),!this[_1]){let n=this[w0](this.cwd,this.dmode);if(n)return this[ko](n,e);this[_1]=!0}if(e.absolute!==this.cwd){let n=hl(Wf.dirname(e.absolute));if(n!==this.cwd){let u=this[w0](n,this.dmode);if(u)return this[ko](u,e)}}let[r,o]=Ob(()=>Cn.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[e_](e);if(r||this[X3](e,o))return this[oc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?Ob(()=>{Cn.chmodSync(e.absolute,e.mode)}):[];return this[oc](A,e)}let[n]=Ob(()=>Cn.rmdirSync(e.absolute));this[oc](n,e)}let[a]=e.absolute===this.cwd?[]:Ob(()=>uct(e.absolute));this[oc](a,e)}[Z3](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{Cn.closeSync(n)}catch(h){p=h}(A||p)&&this[ko](A||p,e),r()},n;try{n=Cn.openSync(e.absolute,Zfe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[ko](A,e)),e.pipe(u)),u.on("data",A=>{try{Cn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{Cn.futimesSync(n,h,E)}catch(w){try{Cn.utimesSync(e.absolute,h,E)}catch{p=w}}}if(this[O1](e)){let h=this[M1](e),E=this[U1](e);try{Cn.fchownSync(n,h,E)}catch(w){try{Cn.chownSync(e.absolute,h,E)}catch{p=p||w}}}a(p)})}[$3](e,r){let o=e.mode&4095||this.dmode,a=this[w0](e.absolute,o);if(a){this[ko](a,e),r();return}if(e.mtime&&!this.noMtime)try{Cn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[O1](e))try{Cn.chownSync(e.absolute,this[M1](e),this[U1](e))}catch{}r(),e.resume()}[w0](e,r){try{return zfe.sync(hl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[Ub](e,r,o,a){try{Cn[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[ko](n,e)}}};q1.Sync=t_;$fe.exports=q1});var ipe=U((F4t,npe)=>{"use strict";var pct=TC(),_b=r_(),tpe=Ie("fs"),rpe=XC(),epe=Ie("path"),n_=qC();npe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=pct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&hct(o,e),o.file&&o.sync?gct(o):o.file?dct(o,r):o.sync?mct(o):yct(o)};var hct=(t,e)=>{let r=new Map(e.map(n=>[n_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||epe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(epe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(n_(n)):n=>a(n_(n))},gct=t=>{let e=new _b.Sync(t),r=t.file,o=tpe.statSync(r),a=t.maxReadSize||16*1024*1024;new rpe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},dct=(t,e)=>{let r=new _b(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),tpe.stat(a,(p,h)=>{if(p)A(p);else{let E=new rpe.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},mct=t=>new _b.Sync(t),yct=t=>new _b(t)});var spe=U(fs=>{"use strict";fs.c=fs.create=_Ae();fs.r=fs.replace=M3();fs.t=fs.list=xb();fs.u=fs.update=JAe();fs.x=fs.extract=ipe();fs.Pack=pb();fs.Unpack=r_();fs.Parse=Pb();fs.ReadEntry=Jx();fs.WriteEntry=p3();fs.Header=HC();fs.Pax=Xx();fs.types=JU()});var ope,ape,B0,Hb,lpe=dt(()=>{ope=tt(rd()),ape=Ie("worker_threads");g1();B0=Symbol("kTaskInfo"),Hb=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,ope.default)(J4());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new ape.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[B0])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[B0].resolve(r),e[B0]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var o;(o=e[B0])==null||o.reject(r),e[B0]=null}),e.on("exit",r=>{var o;r!==0&&((o=e[B0])==null||o.reject(new Error(`Worker exited with code ${r}`))),e[B0]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[B0]={resolve:o,reject:a},r.postMessage(e)})})}}});var upe=U((N4t,cpe)=>{var i_;cpe.exports.getContent=()=>(typeof i_>"u"&&(i_=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),i_)});var Ji={};Yt(Ji,{convertToZip:()=>Ect,extractArchiveTo:()=>wct,makeArchiveFromDirectory:()=>Cct});async function Cct(t,{baseFs:e=new xn,prefixPath:r=wt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new os(null,{level:o});else{let A=await ae.mktempPromise(),p=z.join(A,"archive.zip");n=new os(p,{create:!0,level:o})}let u=z.resolve(wt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function Ect(t,e){let r=await ae.mktempPromise(),o=z.join(r,"archive.zip");return Ape||(Ape=new Hb((0,hpe.getContent)())),await Ape.run({tmpFile:o,tgz:t,opts:e}),new os(o,{level:e.compressionLevel})}async function*Ict(t){let e=new ppe.default.Parse,r=new fpe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function wct(t,e,{stripComponents:r=0,prefixPath:o=wt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of Ict(t)){if(a(n))continue;let u=z.normalize(ue.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=z.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.writeFileSync(p,await Jy(n),{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break}}return e}var fpe,ppe,hpe,Ape,gpe=dt(()=>{bt();_c();fpe=Ie("stream"),ppe=tt(spe());lpe();Kl();hpe=tt(upe())});var mpe=U((s_,dpe)=>{(function(t,e){typeof s_=="object"?dpe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(s_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,E){var w="",v=0,b,C,R=A.slice(0);if(R.push([n,u])&&A.length>0&&(A.forEach(function(_,V){V>0&&(w+=(_[1]?" ":"\u2502")+" "),!C&&_[0]===n&&(C=!0)}),w+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(w+=": "+n),C&&(w+=" (circular ref.)"),E(w)),!C&&typeof n=="object"){var L=e(n,h);L.forEach(function(_){b=++v===L.length,r(_,n[_],b,R,p,h,E)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+`
187`}),A},o})});var Xo={};Yt(Xo,{emitList:()=>fct,emitTree:()=>gpe,treeNodeToJson:()=>hpe,treeNodeToTreeify:()=>ppe});function ppe(t,{configuration:e}){let r={},o=(a,n)=>{let u=Array.isArray(a)?a.entries():Object.entries(a);for(let[A,{label:p,value:h,children:C}]of u){let w=[];typeof p<"u"&&w.push(jS(e,p,2)),typeof h<"u"&&w.push(Kt(e,h[0],h[1])),w.length===0&&w.push(jS(e,`${A}`,2));let v=w.join(": "),b=n[v]={};typeof C<"u"&&o(C,b)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return o(t.children,r),r}function hpe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return hd(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)a[n]=e(u);return typeof r.value>"u"?a:{value:hd(r.value[0],r.value[1]),children:a}};return e(t)}function fct(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));gpe({children:a},{configuration:e,stdout:r,json:o})}function gpe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)r.write(`${JSON.stringify(hpe(A))} 187`}),A},o})});var Zo={};Yt(Zo,{emitList:()=>Bct,emitTree:()=>Ipe,treeNodeToJson:()=>Epe,treeNodeToTreeify:()=>Cpe});function Cpe(t,{configuration:e}){let r={},o=(a,n)=>{let u=Array.isArray(a)?a.entries():Object.entries(a);for(let[A,{label:p,value:h,children:E}]of u){let w=[];typeof p<"u"&&w.push(zS(e,p,2)),typeof h<"u"&&w.push(Kt(e,h[0],h[1])),w.length===0&&w.push(zS(e,`${A}`,2));let v=w.join(": "),b=n[v]={};typeof E<"u"&&o(E,b)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return o(t.children,r),r}function Epe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return md(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)a[n]=e(u);return typeof r.value>"u"?a:{value:md(r.value[0],r.value[1]),children:a}};return e(t)}function Bct(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));Ipe({children:a},{configuration:e,stdout:r,json:o})}function Ipe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)r.write(`${JSON.stringify(Epe(A))}
188`);return}let n=(0,fpe.asTree)(ppe(t,{configuration:e}),!1,!1);if(a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 188`);return}let n=(0,ype.asTree)(Cpe(t,{configuration:e}),!1,!1);if(a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502
189$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 189$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502
190$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}var fpe,dpe=dt(()=>{fpe=tt(Ape());Yl()});function s_(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hct(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var mpe,o_,pct,Ur,ype=dt(()=>{bt();bt();Oc();mpe=Ie("crypto"),o_=tt(Ie("fs"));Jl();e0();Gl();Ks();pct=9,Ur=class{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,mpe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let n=r.get("cacheKeyOverride");if(n!==null)this.cacheKey=`${n}`;else{let u=r.get("compressionLevel"),A=u!==oy?`c${u}`:"";this.cacheKey=[pct,A].join("")}}static async find(e,{immutable:r,check:o}={}){let a=new Ur(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${rE(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=hct(r).slice(0,10);return`${rE(e)}-${a}.zip`}getLocatorPath(e,r,o={}){var n;return this.mirrorCwd===null||((n=o.unstablePackages)==null?void 0:n.has(e.locatorHash))?V.resolve(this.cwd,this.getVersionFilename(e)):r===null||s_(r)!==this.cacheKey?null:V.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?V.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await ae.existsPromise(this.cwd))throw new Jt(56,"Cache path does not exist.")}else{await ae.mkdirPromise(this.cwd,{recursive:!0});let e=V.resolve(this.cwd,".gitignore");await ae.changeFilePromise(e,`/.gitignore 190$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}var ype,wpe=dt(()=>{ype=tt(mpe());Jl()});function o_(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function Dct(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var Bpe,a_,vct,Ur,vpe=dt(()=>{bt();bt();_c();Bpe=Ie("crypto"),a_=tt(Ie("fs"));Xl();t0();Kl();Ks();vct=9,Ur=class{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,Bpe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let n=r.get("cacheKeyOverride");if(n!==null)this.cacheKey=`${n}`;else{let u=r.get("compressionLevel"),A=u!==Ay?`c${u}`:"";this.cacheKey=[vct,A].join("")}}static async find(e,{immutable:r,check:o}={}){let a=new Ur(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${aC(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=Dct(r).slice(0,10);return`${aC(e)}-${a}.zip`}getLocatorPath(e,r,o={}){var n;return this.mirrorCwd===null||((n=o.unstablePackages)==null?void 0:n.has(e.locatorHash))?z.resolve(this.cwd,this.getVersionFilename(e)):r===null||o_(r)!==this.cacheKey?null:z.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?z.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await ae.existsPromise(this.cwd))throw new Vt(56,"Cache path does not exist.")}else{await ae.mkdirPromise(this.cwd,{recursive:!0});let e=z.resolve(this.cwd,".gitignore");await ae.changeFilePromise(e,`/.gitignore
191*.flock 191*.flock
192*.tmp 192*.tmp
193`)}(this.mirrorCwd||!this.immutable)&&await ae.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:o,onMiss:a,loader:n,...u}){var ge;let A=this.getLocatorMirrorPath(e),p=new xn,h=()=>{let le=new os,Pe=V.join(wt.root,pM(e));return le.mkdirSync(Pe,{recursive:!0}),le.writeJsonSync(V.join(Pe,Lr.manifest),{name:nn(e),mocked:!0}),le},C=async(le,Pe=null)=>{var De;if(Pe===null&&((De=u.unstablePackages)==null?void 0:De.has(e.locatorHash)))return{isValid:!0,hash:null};let g=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await IP(le)}`:r;if(Pe!==null){let Ee=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await IP(Pe)}`:r;if(g!==Ee)throw new Jt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&g!==r){let Ee;switch(this.check?Ee="throw":s_(r)!==s_(g)?Ee="update":Ee=this.configuration.get("checksumBehavior"),Ee){case"ignore":return{isValid:!0,hash:r};case"update":return{isValid:!0,hash:g};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Jt(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:g}},w=async le=>{if(!n)throw new Error(`Cache check required but no loader configured for ${kr(this.configuration,e)}`);let Pe=await n(),g=Pe.getRealPath();Pe.saveAndClose(),await ae.chmodPromise(g,420);let De=await C(le,g);if(!De.isValid)throw new Error("Assertion failed: Expected a valid checksum");return De.hash},v=async()=>{if(A===null||!await ae.existsPromise(A)){let le=await n(),Pe=le.getRealPath();return le.saveAndClose(),{source:"loader",path:Pe}}return{source:"mirror",path:A}},b=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${kr(this.configuration,e)}`);if(this.immutable)throw new Jt(56,`Cache entry required but missing for ${kr(this.configuration,e)}`);let{path:le,source:Pe}=await v(),g=(await C(le)).hash,De=this.getLocatorPath(e,g,u);if(!De)throw new Error("Assertion failed: Expected the cache path to be available");let Ee=[];Pe!=="mirror"&&A!==null&&Ee.push(async()=>{let ne=`${A}${this.cacheId}`;await ae.copyFilePromise(le,ne,o_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,A)}),(!u.mirrorWriteOnly||A===null)&&Ee.push(async()=>{let ne=`${De}${this.cacheId}`;await ae.copyFilePromise(le,ne,o_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,De)});let de=u.mirrorWriteOnly?A??De:De;return await Promise.all(Ee.map(ne=>ne())),[!1,de,g]},E=async()=>{let Pe=(async()=>{var Z;let g=this.getLocatorPath(e,r,u),De=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ee=!!((Z=u.mockedPackages)!=null&&Z.has(e.locatorHash))&&(!this.check||!De),de=Ee||De,ne=de?o:a;if(ne&&ne(),de){let me=null,be=g;if(!Ee)if(this.check)me=await w(be);else{let ut=await C(be);if(ut.isValid)me=ut.hash;else return b()}return[Ee,be,me]}else return b()})();this.mutexes.set(e.locatorHash,Pe);try{return await Pe}finally{this.mutexes.delete(e.locatorHash)}};for(let le;le=this.mutexes.get(e.locatorHash);)await le;let[R,L,_]=await E();R||this.markedFiles.add(L);let J,re=R?()=>h():()=>new os(L,{baseFs:p,readOnly:!0}),oe=new ty(()=>fL(()=>J=re(),le=>`Failed to open the cache entry for ${kr(this.configuration,e)}: ${le}`),V),pe=new qu(L,{baseFs:oe,pathUtils:V}),he=()=>{J==null||J.discardAndClose()},ve=(ge=u.unstablePackages)!=null&&ge.has(e.locatorHash)?null:_;return[pe,he,ve]}}});var Nb,Epe=dt(()=>{Nb=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(Nb||{})});var gct,ZE,a_=dt(()=>{bt();Ol();r0();Ks();gct=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>DP({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],ZE=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=V.join(e.cwd,e.configuration.get("lockfileFilename"));if(!ae.existsSync(o))return;let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);if(Object.prototype.hasOwnProperty.call(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=Yw(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=jc(p.range)?mn(p,`npm:${p.range}`):p,{version:C,resolved:w}=n[A];if(!w)continue;let v;for(let[E,R]of gct){let L=w.match(E);if(L){v=R(C,...L);break}}if(!v){r.reportWarning(14,`${Ln(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${w}")`);continue}let b=h;try{let E=Id(h.range),R=Yw(E.selector,!0);R&&(b=R)}catch{}u.set(h.descriptorHash,us(b,v))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=lM(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var fA,Cpe=dt(()=>{Jl();kx();Yl();fA=class extends Vs{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;Ow(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}async startCacheReport(r){return await r()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} 193`)}(this.mirrorCwd||!this.immutable)&&await ae.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:o,onMiss:a,loader:n,...u}){var ge;let A=this.getLocatorMirrorPath(e),p=new xn,h=()=>{let le=new os,Pe=z.join(wt.root,hM(e));return le.mkdirSync(Pe,{recursive:!0}),le.writeJsonSync(z.join(Pe,Lr.manifest),{name:nn(e),mocked:!0}),le},E=async(le,Pe=null)=>{var De;if(Pe===null&&((De=u.unstablePackages)==null?void 0:De.has(e.locatorHash)))return{isValid:!0,hash:null};let g=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await xP(le)}`:r;if(Pe!==null){let Ce=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await xP(Pe)}`:r;if(g!==Ce)throw new Vt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&g!==r){let Ce;switch(this.check?Ce="throw":o_(r)!==o_(g)?Ce="update":Ce=this.configuration.get("checksumBehavior"),Ce){case"ignore":return{isValid:!0,hash:r};case"update":return{isValid:!0,hash:g};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Vt(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:g}},w=async le=>{if(!n)throw new Error(`Cache check required but no loader configured for ${kr(this.configuration,e)}`);let Pe=await n(),g=Pe.getRealPath();Pe.saveAndClose(),await ae.chmodPromise(g,420);let De=await E(le,g);if(!De.isValid)throw new Error("Assertion failed: Expected a valid checksum");return De.hash},v=async()=>{if(A===null||!await ae.existsPromise(A)){let le=await n(),Pe=le.getRealPath();return le.saveAndClose(),{source:"loader",path:Pe}}return{source:"mirror",path:A}},b=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${kr(this.configuration,e)}`);if(this.immutable)throw new Vt(56,`Cache entry required but missing for ${kr(this.configuration,e)}`);let{path:le,source:Pe}=await v(),g=(await E(le)).hash,De=this.getLocatorPath(e,g,u);if(!De)throw new Error("Assertion failed: Expected the cache path to be available");let Ce=[];Pe!=="mirror"&&A!==null&&Ce.push(async()=>{let ne=`${A}${this.cacheId}`;await ae.copyFilePromise(le,ne,a_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,A)}),(!u.mirrorWriteOnly||A===null)&&Ce.push(async()=>{let ne=`${De}${this.cacheId}`;await ae.copyFilePromise(le,ne,a_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,De)});let de=u.mirrorWriteOnly?A??De:De;return await Promise.all(Ce.map(ne=>ne())),[!1,de,g]},C=async()=>{let Pe=(async()=>{var Z;let g=this.getLocatorPath(e,r,u),De=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ce=!!((Z=u.mockedPackages)!=null&&Z.has(e.locatorHash))&&(!this.check||!De),de=Ce||De,ne=de?o:a;if(ne&&ne(),de){let me=null,be=g;if(!Ce)if(this.check)me=await w(be);else{let ut=await E(be);if(ut.isValid)me=ut.hash;else return b()}return[Ce,be,me]}else return b()})();this.mutexes.set(e.locatorHash,Pe);try{return await Pe}finally{this.mutexes.delete(e.locatorHash)}};for(let le;le=this.mutexes.get(e.locatorHash);)await le;let[R,L,_]=await C();R||this.markedFiles.add(L);let V,re=R?()=>h():()=>new os(L,{baseFs:p,readOnly:!0}),oe=new oy(()=>pL(()=>V=re(),le=>`Failed to open the cache entry for ${kr(this.configuration,e)}: ${le}`),z),pe=new ju(L,{baseFs:oe,pathUtils:z}),he=()=>{V==null||V.discardAndClose()},ve=(ge=u.unstablePackages)!=null&&ge.has(e.locatorHash)?null:_;return[pe,he,ve]}}});var qb,Dpe=dt(()=>{qb=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(qb||{})});var Sct,nE,l_=dt(()=>{bt();_l();n0();Ks();Sct=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>FP({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],nE=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=z.join(e.cwd,e.configuration.get("lockfileFilename"));if(!ae.existsSync(o))return;let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);if(Object.prototype.hasOwnProperty.call(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=zw(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=ll(p.range)?mn(p,`npm:${p.range}`):p,{version:E,resolved:w}=n[A];if(!w)continue;let v;for(let[C,R]of Sct){let L=w.match(C);if(L){v=R(E,...L);break}}if(!v){r.reportWarning(14,`${Ln(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${w}")`);continue}let b=h;try{let C=vd(h.range),R=zw(C.selector,!0);R&&(b=R)}catch{}u.set(h.descriptorHash,us(b,v))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=cM(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var pA,Spe=dt(()=>{Xl();Mx();Jl();pA=class extends Js{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;Hw(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}async startCacheReport(r){return await r()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o}
194`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}async finalize(){this.errorCount>0&&(this.stdout.write(` 194`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}async finalize(){this.errorCount>0&&(this.stdout.write(`
195`),this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. 195`),this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command.
196`),this.suggestInstall&&this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. 196`),this.suggestInstall&&this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.
197`))}formatNameWithHyperlink(r){return CU(r,{configuration:this.configuration,json:!1})}}});var $E,l_=dt(()=>{Ks();$E=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(BP(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(BP(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Gf(){}function dct(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;n<u;n++){var h=e[n];if(h.removed){if(h.value=t.join(o.slice(p,p+h.count)),p+=h.count,n&&e[n-1].added){var w=e[n-1];e[n-1]=e[n],e[n]=w}}else{if(!h.added&&a){var C=r.slice(A,A+h.count);C=C.map(function(b,E){var R=o[p+E];return R.length>b.length?R:b}),h.value=t.join(C)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=e[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[u-2].value+=v.value,e.pop()),e}function mct(t){return{newPos:t.newPos,components:t.components.slice(0)}}function yct(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function Bpe(t,e,r){return r=yct(r,{ignoreWhitespace:!0}),p_.diff(t,e,r)}function Ect(t,e,r){return h_.diff(t,e,r)}function Lb(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Lb=function(e){return typeof e}:Lb=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Lb(t)}function c_(t){return wct(t)||Bct(t)||vct(t)||Dct()}function wct(t){if(Array.isArray(t))return u_(t)}function Bct(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function vct(t,e){if(!!t){if(typeof t=="string")return u_(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 u_(t,e)}}function u_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=t[r];return o}function Dct(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 197`))}formatNameWithHyperlink(r){return IU(r,{configuration:this.configuration,json:!1})}}});var iE,c_=dt(()=>{Ks();iE=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(QP(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(QP(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Yf(){}function Pct(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;n<u;n++){var h=e[n];if(h.removed){if(h.value=t.join(o.slice(p,p+h.count)),p+=h.count,n&&e[n-1].added){var w=e[n-1];e[n-1]=e[n],e[n]=w}}else{if(!h.added&&a){var E=r.slice(A,A+h.count);E=E.map(function(b,C){var R=o[p+C];return R.length>b.length?R:b}),h.value=t.join(E)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=e[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[u-2].value+=v.value,e.pop()),e}function xct(t){return{newPos:t.newPos,components:t.components.slice(0)}}function bct(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function bpe(t,e,r){return r=bct(r,{ignoreWhitespace:!0}),h_.diff(t,e,r)}function Qct(t,e,r){return g_.diff(t,e,r)}function jb(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?jb=function(e){return typeof e}:jb=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jb(t)}function u_(t){return Rct(t)||Tct(t)||Nct(t)||Lct()}function Rct(t){if(Array.isArray(t))return A_(t)}function Tct(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function Nct(t,e){if(!!t){if(typeof t=="string")return A_(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 A_(t,e)}}function A_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=t[r];return o}function Lct(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
198In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A_(t,e,r,o,a){e=e||[],r=r||[],o&&(t=o(a,t));var n;for(n=0;n<e.length;n+=1)if(e[n]===t)return r[n];var u;if(Sct.call(t)==="[object Array]"){for(e.push(t),u=new Array(t.length),r.push(u),n=0;n<t.length;n+=1)u[n]=A_(t[n],e,r,o,a);return e.pop(),r.pop(),u}if(t&&t.toJSON&&(t=t.toJSON()),Lb(t)==="object"&&t!==null){e.push(t),u={},r.push(u);var A=[],p;for(p in t)t.hasOwnProperty(p)&&A.push(p);for(A.sort(),n=0;n<A.length;n+=1)p=A[n],u[p]=A_(t[p],e,r,o,p);e.pop(),r.pop()}else u=t;return u}function vpe(t,e,r,o,a,n,u){u||(u={}),typeof u.context>"u"&&(u.context=4);var A=Ect(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(_){return _.map(function(J){return" "+J})}for(var h=[],C=0,w=0,v=[],b=1,E=1,R=function(J){var re=A[J],oe=re.lines||re.value.replace(/\n$/,"").split(` 198In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function f_(t,e,r,o,a){e=e||[],r=r||[],o&&(t=o(a,t));var n;for(n=0;n<e.length;n+=1)if(e[n]===t)return r[n];var u;if(Oct.call(t)==="[object Array]"){for(e.push(t),u=new Array(t.length),r.push(u),n=0;n<t.length;n+=1)u[n]=f_(t[n],e,r,o,a);return e.pop(),r.pop(),u}if(t&&t.toJSON&&(t=t.toJSON()),jb(t)==="object"&&t!==null){e.push(t),u={},r.push(u);var A=[],p;for(p in t)t.hasOwnProperty(p)&&A.push(p);for(A.sort(),n=0;n<A.length;n+=1)p=A[n],u[p]=f_(t[p],e,r,o,p);e.pop(),r.pop()}else u=t;return u}function Qpe(t,e,r,o,a,n,u){u||(u={}),typeof u.context>"u"&&(u.context=4);var A=Qct(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(_){return _.map(function(V){return" "+V})}for(var h=[],E=0,w=0,v=[],b=1,C=1,R=function(V){var re=A[V],oe=re.lines||re.value.replace(/\n$/,"").split(`
199`);if(re.lines=oe,re.added||re.removed){var pe;if(!C){var he=A[J-1];C=b,w=E,he&&(v=u.context>0?p(he.lines.slice(-u.context)):[],C-=v.length,w-=v.length)}(pe=v).push.apply(pe,c_(oe.map(function(de){return(re.added?"+":"-")+de}))),re.added?E+=oe.length:b+=oe.length}else{if(C)if(oe.length<=u.context*2&&J<A.length-2){var ve;(ve=v).push.apply(ve,c_(p(oe)))}else{var ge,le=Math.min(oe.length,u.context);(ge=v).push.apply(ge,c_(p(oe.slice(0,le))));var Pe={oldStart:C,oldLines:b-C+le,newStart:w,newLines:E-w+le,lines:v};if(J>=A.length-2&&oe.length<=u.context){var g=/\n$/.test(r),De=/\n$/.test(o),Ee=oe.length==0&&v.length>Pe.oldLines;!g&&Ee&&r.length>0&&v.splice(Pe.oldLines,0,"\\ No newline at end of file"),(!g&&!Ee||!De)&&v.push("\\ No newline at end of file")}h.push(Pe),C=0,w=0,v=[]}b+=oe.length,E+=oe.length}},L=0;L<A.length;L++)R(L);return{oldFileName:t,newFileName:e,oldHeader:a,newHeader:n,hunks:h}}var Y4t,Ipe,wpe,p_,h_,Cct,Ict,Sct,U1,f_,g_=dt(()=>{Gf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,C=A+p;o.maxEditLength&&(C=Math.min(C,o.maxEditLength));var w=[{newPos:-1,components:[]}],v=this.extractCommon(w[0],r,e,0);if(w[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function b(){for(var R=-1*h;R<=h;R+=2){var L=void 0,_=w[R-1],J=w[R+1],re=(J?J.newPos:0)-R;_&&(w[R-1]=void 0);var oe=_&&_.newPos+1<A,pe=J&&0<=re&&re<p;if(!oe&&!pe){w[R]=void 0;continue}if(!oe||pe&&_.newPos<J.newPos?(L=mct(J),n.pushComponent(L.components,void 0,!0)):(L=_,L.newPos++,n.pushComponent(L.components,!0,void 0)),re=n.extractCommon(L,r,e,R),L.newPos+1>=A&&re+1>=p)return u(dct(n,L.components,r,e,n.useLongestToken));w[R]=L}h++}if(a)(function R(){setTimeout(function(){if(h>C)return a();b()||R()},0)})();else for(;h<=C;){var E=b();if(E)return E}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1<n&&p+1<u&&this.equals(r[A+1],o[p+1]);)A++,p++,h++;return h&&e.components.push({count:h}),e.newPos=A,p},equals:function(e,r){return this.options.comparator?this.options.comparator(e,r):e===r||this.options.ignoreCase&&e.toLowerCase()===r.toLowerCase()},removeEmpty:function(e){for(var r=[],o=0;o<e.length;o++)e[o]&&r.push(e[o]);return r},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};Y4t=new Gf;Ipe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,wpe=/\S/,p_=new Gf;p_.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!wpe.test(t)&&!wpe.test(e)};p_.tokenize=function(t){for(var e=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r<e.length-1;r++)!e[r+1]&&e[r+2]&&Ipe.test(e[r])&&Ipe.test(e[r+2])&&(e[r]+=e[r+2],e.splice(r+1,2),r--);return e};h_=new Gf;h_.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var o=0;o<r.length;o++){var a=r[o];o%2&&!this.options.newlineIsToken?e[e.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),e.push(a))}return e};Cct=new Gf;Cct.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};Ict=new Gf;Ict.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};Sct=Object.prototype.toString,U1=new Gf;U1.useLongestToken=!0;U1.tokenize=h_.tokenize;U1.castInput=function(t){var e=this.options,r=e.undefinedReplacement,o=e.stringifyReplacer,a=o===void 0?function(n,u){return typeof u>"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(A_(t,null,null,a),a," ")};U1.equals=function(t,e){return Gf.prototype.equals.call(U1,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};f_=new Gf;f_.tokenize=function(t){return t.slice()};f_.join=f_.removeEmpty=function(t){return t}});var Spe=U((J4t,Dpe)=>{var Pct=jl(),xct=oE(),bct=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qct=/^\w*$/;function kct(t,e){if(Pct(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||xct(t)?!0:Qct.test(t)||!bct.test(t)||e!=null&&t in Object(e)}Dpe.exports=kct});var bpe=U((V4t,xpe)=>{var Ppe=wS(),Fct="Expected a function";function d_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Fct);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(d_.Cache||Ppe),r}d_.Cache=Ppe;xpe.exports=d_});var kpe=U((z4t,Qpe)=>{var Rct=bpe(),Tct=500;function Nct(t){var e=Rct(t,function(o){return r.size===Tct&&r.clear(),o}),r=e.cache;return e}Qpe.exports=Nct});var m_=U((X4t,Fpe)=>{var Lct=kpe(),Oct=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mct=/\\(\\)?/g,Uct=Lct(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Oct,function(r,o,a,n){e.push(a?n.replace(Mct,"$1"):o||r)}),e});Fpe.exports=Uct});var qd=U((Z4t,Rpe)=>{var _ct=jl(),Hct=Spe(),qct=m_(),jct=C1();function Gct(t,e){return _ct(t)?t:Hct(t,e)?[t]:qct(jct(t))}Rpe.exports=Gct});var eC=U(($4t,Tpe)=>{var Wct=oE(),Yct=1/0;function Kct(t){if(typeof t=="string"||Wct(t))return t;var e=t+"";return e=="0"&&1/t==-Yct?"-0":e}Tpe.exports=Kct});var Ob=U((eUt,Npe)=>{var Jct=qd(),Vct=eC();function zct(t,e){e=Jct(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[Vct(e[r++])];return r&&r==o?t:void 0}Npe.exports=zct});var y_=U((tUt,Ope)=>{var Xct=US(),Zct=qd(),$ct=Sw(),Lpe=il(),eut=eC();function tut(t,e,r,o){if(!Lpe(t))return t;e=Zct(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a<n;){var p=eut(e[a]),h=r;if(p==="__proto__"||p==="constructor"||p==="prototype")return t;if(a!=u){var C=A[p];h=o?o(C,p,A):void 0,h===void 0&&(h=Lpe(C)?C:$ct(e[a+1])?[]:{})}Xct(A,p,h),A=A[p]}return t}Ope.exports=tut});var Upe=U((rUt,Mpe)=>{var rut=Ob(),nut=y_(),iut=qd();function sut(t,e,r){for(var o=-1,a=e.length,n={};++o<a;){var u=e[o],A=rut(t,u);r(A,u)&&nut(n,iut(u,t),A)}return n}Mpe.exports=sut});var Hpe=U((nUt,_pe)=>{function out(t,e){return t!=null&&e in Object(t)}_pe.exports=out});var E_=U((iUt,qpe)=>{var aut=qd(),lut=Bw(),cut=jl(),uut=Sw(),Aut=PS(),fut=eC();function put(t,e,r){e=aut(e,t);for(var o=-1,a=e.length,n=!1;++o<a;){var u=fut(e[o]);if(!(n=t!=null&&r(t,u)))break;t=t[u]}return n||++o!=a?n:(a=t==null?0:t.length,!!a&&Aut(a)&&uut(u,a)&&(cut(t)||lut(t)))}qpe.exports=put});var Gpe=U((sUt,jpe)=>{var hut=Hpe(),gut=E_();function dut(t,e){return t!=null&&gut(t,e,hut)}jpe.exports=dut});var Ype=U((oUt,Wpe)=>{var mut=Upe(),yut=Gpe();function Eut(t,e){return mut(t,e,function(r,o){return yut(t,o)})}Wpe.exports=Eut});var zpe=U((aUt,Vpe)=>{var Kpe=cd(),Cut=Bw(),Iut=jl(),Jpe=Kpe?Kpe.isConcatSpreadable:void 0;function wut(t){return Iut(t)||Cut(t)||!!(Jpe&&t&&t[Jpe])}Vpe.exports=wut});var $pe=U((lUt,Zpe)=>{var But=DS(),vut=zpe();function Xpe(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=vut),a||(a=[]);++n<u;){var A=t[n];e>0&&r(A)?e>1?Xpe(A,e-1,r,o,a):But(a,A):o||(a[a.length]=A)}return a}Zpe.exports=Xpe});var t0e=U((cUt,e0e)=>{var Dut=$pe();function Sut(t){var e=t==null?0:t.length;return e?Dut(t,1):[]}e0e.exports=Sut});var C_=U((uUt,r0e)=>{var Put=t0e(),xut=iL(),but=sL();function Qut(t){return but(xut(t,void 0,Put),t+"")}r0e.exports=Qut});var i0e=U((AUt,n0e)=>{var kut=Ype(),Fut=C_(),Rut=Fut(function(t,e){return t==null?{}:kut(t,e)});n0e.exports=Rut});var Mb,s0e=dt(()=>{Jl();Mb=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var xi,I_=dt(()=>{Jl();xi=class extends Vs{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}}});var o0e,tC,w_=dt(()=>{bt();o0e=tt(sM());sE();wd();Yl();e0();r0();Ks();tC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Nt.tryFind(this.cwd)??new Nt,this.relativeCwd=V.relative(this.project.cwd,this.cwd)||wt.dot;let e=this.manifest.name?this.manifest.name:rA(null,`${this.computeCandidateName()}-${Js(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=us(e,r),this.anchoredDescriptor=mn(this.locator,`${oi.protocol}${this.relativeCwd}`),this.anchoredLocator=us(this.locator,`${oi.protocol}${this.relativeCwd}`);let o=this.manifest.workspaceDefinitions.map(({pattern:n})=>n),a=await(0,o0e.default)(o,{cwd:Ae.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});a.sort();for(let n of a){let u=V.resolve(this.cwd,Ae.toPortablePath(n));ae.existsSync(V.join(u,"package.json"))&&this.workspacesCwds.add(u)}}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${Jw(this.project.configuration,this)} (${Kt(this.project.configuration,V.join(this.cwd,Lr.manifest),Bt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===oi.protocol&&V.normalize(a)===this.relativeCwd||o===oi.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=jc(a);return n?o===oi.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${V.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&Ww(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let o=this.project.workspacesByCwd.get(r);o&&e.push(o,...o.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=V.join(this.cwd,Nt.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} 199`);if(re.lines=oe,re.added||re.removed){var pe;if(!E){var he=A[V-1];E=b,w=C,he&&(v=u.context>0?p(he.lines.slice(-u.context)):[],E-=v.length,w-=v.length)}(pe=v).push.apply(pe,u_(oe.map(function(de){return(re.added?"+":"-")+de}))),re.added?C+=oe.length:b+=oe.length}else{if(E)if(oe.length<=u.context*2&&V<A.length-2){var ve;(ve=v).push.apply(ve,u_(p(oe)))}else{var ge,le=Math.min(oe.length,u.context);(ge=v).push.apply(ge,u_(p(oe.slice(0,le))));var Pe={oldStart:E,oldLines:b-E+le,newStart:w,newLines:C-w+le,lines:v};if(V>=A.length-2&&oe.length<=u.context){var g=/\n$/.test(r),De=/\n$/.test(o),Ce=oe.length==0&&v.length>Pe.oldLines;!g&&Ce&&r.length>0&&v.splice(Pe.oldLines,0,"\\ No newline at end of file"),(!g&&!Ce||!De)&&v.push("\\ No newline at end of file")}h.push(Pe),E=0,w=0,v=[]}b+=oe.length,C+=oe.length}},L=0;L<A.length;L++)R(L);return{oldFileName:t,newFileName:e,oldHeader:a,newHeader:n,hunks:h}}var sUt,Ppe,xpe,h_,g_,kct,Fct,Oct,j1,p_,d_=dt(()=>{Yf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,E=A+p;o.maxEditLength&&(E=Math.min(E,o.maxEditLength));var w=[{newPos:-1,components:[]}],v=this.extractCommon(w[0],r,e,0);if(w[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function b(){for(var R=-1*h;R<=h;R+=2){var L=void 0,_=w[R-1],V=w[R+1],re=(V?V.newPos:0)-R;_&&(w[R-1]=void 0);var oe=_&&_.newPos+1<A,pe=V&&0<=re&&re<p;if(!oe&&!pe){w[R]=void 0;continue}if(!oe||pe&&_.newPos<V.newPos?(L=xct(V),n.pushComponent(L.components,void 0,!0)):(L=_,L.newPos++,n.pushComponent(L.components,!0,void 0)),re=n.extractCommon(L,r,e,R),L.newPos+1>=A&&re+1>=p)return u(Pct(n,L.components,r,e,n.useLongestToken));w[R]=L}h++}if(a)(function R(){setTimeout(function(){if(h>E)return a();b()||R()},0)})();else for(;h<=E;){var C=b();if(C)return C}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1<n&&p+1<u&&this.equals(r[A+1],o[p+1]);)A++,p++,h++;return h&&e.components.push({count:h}),e.newPos=A,p},equals:function(e,r){return this.options.comparator?this.options.comparator(e,r):e===r||this.options.ignoreCase&&e.toLowerCase()===r.toLowerCase()},removeEmpty:function(e){for(var r=[],o=0;o<e.length;o++)e[o]&&r.push(e[o]);return r},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};sUt=new Yf;Ppe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,xpe=/\S/,h_=new Yf;h_.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!xpe.test(t)&&!xpe.test(e)};h_.tokenize=function(t){for(var e=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r<e.length-1;r++)!e[r+1]&&e[r+2]&&Ppe.test(e[r])&&Ppe.test(e[r+2])&&(e[r]+=e[r+2],e.splice(r+1,2),r--);return e};g_=new Yf;g_.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var o=0;o<r.length;o++){var a=r[o];o%2&&!this.options.newlineIsToken?e[e.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),e.push(a))}return e};kct=new Yf;kct.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};Fct=new Yf;Fct.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};Oct=Object.prototype.toString,j1=new Yf;j1.useLongestToken=!0;j1.tokenize=g_.tokenize;j1.castInput=function(t){var e=this.options,r=e.undefinedReplacement,o=e.stringifyReplacer,a=o===void 0?function(n,u){return typeof u>"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(f_(t,null,null,a),a," ")};j1.equals=function(t,e){return Yf.prototype.equals.call(j1,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};p_=new Yf;p_.tokenize=function(t){return t.slice()};p_.join=p_.removeEmpty=function(t){return t}});var Fpe=U((aUt,kpe)=>{var Mct=Yl(),Uct=AC(),_ct=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hct=/^\w*$/;function qct(t,e){if(Mct(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Uct(t)?!0:Hct.test(t)||!_ct.test(t)||e!=null&&t in Object(e)}kpe.exports=qct});var Npe=U((lUt,Tpe)=>{var Rpe=bS(),jct="Expected a function";function m_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(jct);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(m_.Cache||Rpe),r}m_.Cache=Rpe;Tpe.exports=m_});var Ope=U((cUt,Lpe)=>{var Gct=Npe(),Wct=500;function Yct(t){var e=Gct(t,function(o){return r.size===Wct&&r.clear(),o}),r=e.cache;return e}Lpe.exports=Yct});var y_=U((uUt,Mpe)=>{var Kct=Ope(),Vct=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jct=/\\(\\)?/g,zct=Kct(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Vct,function(r,o,a,n){e.push(a?n.replace(Jct,"$1"):o||r)}),e});Mpe.exports=zct});var Wd=U((AUt,Upe)=>{var Xct=Yl(),Zct=Fpe(),$ct=y_(),eut=v1();function tut(t,e){return Xct(t)?t:Zct(t,e)?[t]:$ct(eut(t))}Upe.exports=tut});var sE=U((fUt,_pe)=>{var rut=AC(),nut=1/0;function iut(t){if(typeof t=="string"||rut(t))return t;var e=t+"";return e=="0"&&1/t==-nut?"-0":e}_pe.exports=iut});var Gb=U((pUt,Hpe)=>{var sut=Wd(),out=sE();function aut(t,e){e=sut(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[out(e[r++])];return r&&r==o?t:void 0}Hpe.exports=aut});var C_=U((hUt,jpe)=>{var lut=YS(),cut=Wd(),uut=Qw(),qpe=ol(),Aut=sE();function fut(t,e,r,o){if(!qpe(t))return t;e=cut(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a<n;){var p=Aut(e[a]),h=r;if(p==="__proto__"||p==="constructor"||p==="prototype")return t;if(a!=u){var E=A[p];h=o?o(E,p,A):void 0,h===void 0&&(h=qpe(E)?E:uut(e[a+1])?[]:{})}lut(A,p,h),A=A[p]}return t}jpe.exports=fut});var Wpe=U((gUt,Gpe)=>{var put=Gb(),hut=C_(),gut=Wd();function dut(t,e,r){for(var o=-1,a=e.length,n={};++o<a;){var u=e[o],A=put(t,u);r(A,u)&&hut(n,gut(u,t),A)}return n}Gpe.exports=dut});var Kpe=U((dUt,Ype)=>{function mut(t,e){return t!=null&&e in Object(t)}Ype.exports=mut});var E_=U((mUt,Vpe)=>{var yut=Wd(),Cut=Pw(),Eut=Yl(),Iut=Qw(),wut=NS(),But=sE();function vut(t,e,r){e=yut(e,t);for(var o=-1,a=e.length,n=!1;++o<a;){var u=But(e[o]);if(!(n=t!=null&&r(t,u)))break;t=t[u]}return n||++o!=a?n:(a=t==null?0:t.length,!!a&&wut(a)&&Iut(u,a)&&(Eut(t)||Cut(t)))}Vpe.exports=vut});var zpe=U((yUt,Jpe)=>{var Dut=Kpe(),Sut=E_();function Put(t,e){return t!=null&&Sut(t,e,Dut)}Jpe.exports=Put});var Zpe=U((CUt,Xpe)=>{var xut=Wpe(),but=zpe();function Qut(t,e){return xut(t,e,function(r,o){return but(t,o)})}Xpe.exports=Qut});var r0e=U((EUt,t0e)=>{var $pe=fd(),kut=Pw(),Fut=Yl(),e0e=$pe?$pe.isConcatSpreadable:void 0;function Rut(t){return Fut(t)||kut(t)||!!(e0e&&t&&t[e0e])}t0e.exports=Rut});var s0e=U((IUt,i0e)=>{var Tut=RS(),Nut=r0e();function n0e(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=Nut),a||(a=[]);++n<u;){var A=t[n];e>0&&r(A)?e>1?n0e(A,e-1,r,o,a):Tut(a,A):o||(a[a.length]=A)}return a}i0e.exports=n0e});var a0e=U((wUt,o0e)=>{var Lut=s0e();function Out(t){var e=t==null?0:t.length;return e?Lut(t,1):[]}o0e.exports=Out});var I_=U((BUt,l0e)=>{var Mut=a0e(),Uut=sL(),_ut=oL();function Hut(t){return _ut(Uut(t,void 0,Mut),t+"")}l0e.exports=Hut});var u0e=U((vUt,c0e)=>{var qut=Zpe(),jut=I_(),Gut=jut(function(t,e){return t==null?{}:qut(t,e)});c0e.exports=Gut});var Wb,A0e=dt(()=>{Xl();Wb=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var xi,w_=dt(()=>{Xl();xi=class extends Js{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}}});var f0e,oE,B_=dt(()=>{bt();f0e=tt(oM());uC();Dd();Jl();t0();n0();Ks();oE=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Nt.tryFind(this.cwd)??new Nt,this.relativeCwd=z.relative(this.project.cwd,this.cwd)||wt.dot;let e=this.manifest.name?this.manifest.name:nA(null,`${this.computeCandidateName()}-${Vs(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=us(e,r),this.anchoredDescriptor=mn(this.locator,`${Gn.protocol}${this.relativeCwd}`),this.anchoredLocator=us(this.locator,`${Gn.protocol}${this.relativeCwd}`);let o=this.manifest.workspaceDefinitions.map(({pattern:n})=>n),a=await(0,f0e.default)(o,{cwd:ue.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});a.sort();for(let n of a){let u=z.resolve(this.cwd,ue.toPortablePath(n));ae.existsSync(z.join(u,"package.json"))&&this.workspacesCwds.add(u)}}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${Zw(this.project.configuration,this)} (${Kt(this.project.configuration,z.join(this.cwd,Lr.manifest),Bt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===Gn.protocol&&z.normalize(a)===this.relativeCwd||o===Gn.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=ll(a);return n?o===Gn.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${z.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&Jw(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let o=this.project.workspacesByCwd.get(r);o&&e.push(o,...o.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=z.join(this.cwd,Nt.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)}
200`;await ae.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function Uut({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,volatileDescriptors:A=new Set,report:p}){let h=new Map,C=[],w=new Map,v=new Map,b=new Map,E=new Map,R=new Map,L=new Map(t.workspaces.map(ge=>{let le=ge.anchoredLocator.locatorHash,Pe=o.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[le,Hw(Pe)]})),_=()=>{let ge=ae.mktempSync(),le=V.join(ge,"stacktrace.log"),Pe=String(C.length+1).length,g=C.map((De,Ee)=>`${`${Ee+1}.`.padStart(Pe," ")} ${Wl(De)} 200`;await ae.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function zut({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,volatileDescriptors:A=new Set,report:p}){let h=new Map,E=[],w=new Map,v=new Map,b=new Map,C=new Map,R=new Map,L=new Map(t.workspaces.map(ge=>{let le=ge.anchoredLocator.locatorHash,Pe=o.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[le,Ww(Pe)]})),_=()=>{let ge=ae.mktempSync(),le=z.join(ge,"stacktrace.log"),Pe=String(E.length+1).length,g=E.map((De,Ce)=>`${`${Ce+1}.`.padStart(Pe," ")} ${Vl(De)}
201`).join("");throw ae.writeFileSync(le,g),ae.detachTemp(ge),new Jt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${Ae.fromPortablePath(le)}`)},J=ge=>{let le=r.get(ge.descriptorHash);if(typeof le>"u")throw new Error("Assertion failed: The resolution should have been registered");let Pe=o.get(le);if(!Pe)throw new Error("Assertion failed: The package could not be found");return Pe},re=(ge,le,Pe,{top:g,optional:De})=>{C.length>1e3&&_(),C.push(le);let Ee=oe(ge,le,Pe,{top:g,optional:De});return C.pop(),Ee},oe=(ge,le,Pe,{top:g,optional:De})=>{if(a.has(le.locatorHash))return;a.add(le.locatorHash),De||n.delete(le.locatorHash);let Ee=o.get(le.locatorHash);if(!Ee)throw new Error(`Assertion failed: The package (${kr(t.configuration,le)}) should have been registered`);let de=[],ne=[],Z=[],me=[],be=[];for(let H of Array.from(Ee.dependencies.values())){if(Ee.peerDependencies.has(H.identHash)&&Ee.locatorHash!==g)continue;if(xf(H))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");A.delete(H.descriptorHash);let yt=De;if(!yt){let Le=Ee.dependenciesMeta.get(nn(H));if(typeof Le<"u"){let x=Le.get(null);typeof x<"u"&&x.optional&&(yt=!0)}}let Me=r.get(H.descriptorHash);if(!Me)throw new Error(`Assertion failed: The resolution (${Ln(t.configuration,H)}) should have been registered`);let Te=L.get(Me)||o.get(Me);if(!Te)throw new Error(`Assertion failed: The package (${Me}, resolved from ${Ln(t.configuration,H)}) should have been registered`);if(Te.peerDependencies.size===0){re(H,Te,new Map,{top:g,optional:yt});continue}let Qe,Ue,je=new Set,At;ne.push(()=>{Qe=uM(H,le.locatorHash),Ue=AM(Te,le.locatorHash),Ee.dependencies.delete(H.identHash),Ee.dependencies.set(Qe.identHash,Qe),r.set(Qe.descriptorHash,Ue.locatorHash),e.set(Qe.descriptorHash,Qe),o.set(Ue.locatorHash,Ue),de.push([Te,Qe,Ue])}),Z.push(()=>{At=new Map;for(let Le of Ue.peerDependencies.values()){let x=Ee.dependencies.get(Le.identHash);if(!x&&Gw(le,Le)&&(ge.identHash===le.identHash?x=ge:(x=mn(le,ge.range),e.set(x.descriptorHash,x),r.set(x.descriptorHash,le.locatorHash),A.delete(x.descriptorHash))),(!x||x.range==="missing:")&&Ue.dependencies.has(Le.identHash)){Ue.peerDependencies.delete(Le.identHash);continue}x||(x=mn(Le,"missing:")),Ue.dependencies.set(x.identHash,x),xf(x)&&pd(b,x.descriptorHash).add(Ue.locatorHash),w.set(x.identHash,x),x.range==="missing:"&&je.add(x.identHash),At.set(Le.identHash,Pe.get(Le.identHash)??Ue.locatorHash)}Ue.dependencies=new Map(Sa(Ue.dependencies,([Le,x])=>nn(x)))}),me.push(()=>{if(!o.has(Ue.locatorHash))return;let Le=h.get(Te.locatorHash);typeof Le=="number"&&Le>=2&&_();let x=h.get(Te.locatorHash),I=typeof x<"u"?x+1:1;h.set(Te.locatorHash,I),re(Qe,Ue,At,{top:g,optional:yt}),h.set(Te.locatorHash,I-1)}),be.push(()=>{let Le=Ee.dependencies.get(H.identHash);if(typeof Le>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let x=r.get(Le.descriptorHash);if(typeof x>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(pd(R,x).add(le.locatorHash),!!o.has(Ue.locatorHash)){for(let I of Ue.peerDependencies.values()){let P=At.get(I.identHash);if(typeof P>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Hy(qy(E,P),nn(I)).push(Ue.locatorHash)}for(let I of je)Ue.dependencies.delete(I)}})}for(let H of[...ne,...Z])H();let ut;do{ut=!0;for(let[H,yt,Me]of de){let Te=qy(v,H.locatorHash),Qe=Js(...[...Me.dependencies.values()].map(Le=>{let x=Le.range!=="missing:"?r.get(Le.descriptorHash):"missing:";if(typeof x>"u")throw new Error(`Assertion failed: Expected the resolution for ${Ln(t.configuration,Le)} to have been registered`);return x===g?`${x} (top)`:x}),yt.identHash),Ue=Te.get(Qe);if(typeof Ue>"u"){Te.set(Qe,yt);continue}if(Ue===yt)continue;o.delete(Me.locatorHash),e.delete(yt.descriptorHash),r.delete(yt.descriptorHash),a.delete(Me.locatorHash);let je=b.get(yt.descriptorHash)||[],At=[Ee.locatorHash,...je];b.delete(yt.descriptorHash);for(let Le of At){let x=o.get(Le);typeof x>"u"||(x.dependencies.get(yt.identHash).descriptorHash!==Ue.descriptorHash&&(ut=!1),x.dependencies.set(yt.identHash,Ue))}}}while(!ut);for(let H of[...me,...be])H()};for(let ge of t.workspaces){let le=ge.anchoredLocator;A.delete(ge.anchoredDescriptor.descriptorHash),re(ge.anchoredDescriptor,le,new Map,{top:le.locatorHash,optional:!1})}let pe;(Pe=>(Pe[Pe.NotProvided=0]="NotProvided",Pe[Pe.NotCompatible=1]="NotCompatible"))(pe||(pe={}));let he=[];for(let[ge,le]of R){let Pe=o.get(ge);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the root to be registered");let g=E.get(ge);if(!(typeof g>"u"))for(let De of le){let Ee=o.get(De);if(!(typeof Ee>"u"))for(let[de,ne]of g){let Z=Ys(de);if(Ee.peerDependencies.has(Z.identHash))continue;let me=`p${Js(De,de,ge).slice(0,5)}`;u.set(me,{subject:De,requested:Z,rootRequester:ge,allRequesters:ne});let be=Pe.dependencies.get(Z.identHash);if(typeof be<"u"){let ut=J(be),H=ut.version??"0.0.0",yt=new Set;for(let Te of ne){let Qe=o.get(Te);if(typeof Qe>"u")throw new Error("Assertion failed: Expected the link to be registered");let Ue=Qe.peerDependencies.get(Z.identHash);if(typeof Ue>"u")throw new Error("Assertion failed: Expected the ident to be registered");yt.add(Ue.range)}[...yt].every(Te=>{if(Te.startsWith(oi.protocol)){if(!t.tryWorkspaceByLocator(ut))return!1;Te=Te.slice(oi.protocol.length),(Te==="^"||Te==="~")&&(Te="*")}return Bd(H,Te)})||he.push({type:1,subject:Ee,requested:Z,requester:Pe,version:H,hash:me,requirementCount:ne.length})}else{let ut=Pe.peerDependenciesMeta.get(de);ut!=null&&ut.optional||he.push({type:0,subject:Ee,requested:Z,requester:Pe,hash:me})}}}}let ve=[ge=>fM(ge.subject),ge=>nn(ge.requested),ge=>`${ge.type}`];p==null||p.startSectionSync({reportFooter:()=>{p.reportWarning(0,`Some peer dependencies are incorrectly met; run ${Kt(t.configuration,"yarn explain peer-requirements <hash>",Bt.CODE)} for details, where ${Kt(t.configuration,"<hash>",Bt.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ge of Sa(he,ve))switch(ge.type){case 0:p.reportWarning(2,`${kr(t.configuration,ge.subject)} doesn't provide ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}), requested by ${cs(t.configuration,ge.requester)}`);break;case 1:{let le=ge.requirementCount>1?"and some of its descendants request":"requests";p.reportWarning(60,`${kr(t.configuration,ge.subject)} provides ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}) with version ${Kw(t.configuration,ge.version)}, which doesn't satisfy what ${cs(t.configuration,ge.requester)} ${le}`)}break}})}var Ub,_b,u0e,A0e,D_,v_,S_,a0e,Tut,Nut,l0e,Lut,Out,Mut,fl,B_,c0e,St,f0e=dt(()=>{bt();bt();Ol();_t();Ub=Ie("crypto");g_();_b=tt(i0e()),u0e=tt($g()),A0e=tt(ii()),D_=Ie("util"),v_=tt(Ie("v8")),S_=tt(Ie("zlib"));p1();a_();l_();sE();yM();Jl();s0e();I_();wd();w_();RP();Yl();e0();Gl();A1();vU();r0();Ks();a0e=7,Tut=2,Nut=/ *, */g,l0e=/\/$/,Lut=32,Out=(0,D_.promisify)(S_.default.gzip),Mut=(0,D_.promisify)(S_.default.gunzip),fl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(fl||{}),B_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},c0e=t=>Js(`${Tut}`,t),St=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var E,R,L;if(!e.projectCwd)throw new ot(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,ae.existsSync(V.join(n,Lr.manifest))){o=n;break}a=V.dirname(n)}let u=new St(e.projectCwd,{configuration:e});(E=Xe.telemetry)==null||E.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),(R=Xe.telemetry)==null||R.reportWorkspaceCount(u.workspaces.length),(L=Xe.telemetry)==null||L.reportDependencyCount(u.workspaces.reduce((_,J)=>_+J.manifest.dependencies.size+J.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Kt(e,u.cwd,Bt.PATH),C=Kt(e,V.relative(u.cwd,o),Bt.PATH),w=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${C} in its workspace configuration.`,b=`- Finally, if ${h} is fine and you intend ${C} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new ot(`The nearest package directory (${Kt(e,o,Bt.PATH)}) doesn't seem to be part of the project declared in ${Kt(e,u.cwd,Bt.PATH)}. 201`).join("");throw ae.writeFileSync(le,g),ae.detachTemp(ge),new Vt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${ue.fromPortablePath(le)}`)},V=ge=>{let le=r.get(ge.descriptorHash);if(typeof le>"u")throw new Error("Assertion failed: The resolution should have been registered");let Pe=o.get(le);if(!Pe)throw new Error("Assertion failed: The package could not be found");return Pe},re=(ge,le,Pe,{top:g,optional:De})=>{E.length>1e3&&_(),E.push(le);let Ce=oe(ge,le,Pe,{top:g,optional:De});return E.pop(),Ce},oe=(ge,le,Pe,{top:g,optional:De})=>{if(a.has(le.locatorHash))return;a.add(le.locatorHash),De||n.delete(le.locatorHash);let Ce=o.get(le.locatorHash);if(!Ce)throw new Error(`Assertion failed: The package (${kr(t.configuration,le)}) should have been registered`);let de=[],ne=[],Z=[],me=[],be=[];for(let H of Array.from(Ce.dependencies.values())){if(Ce.peerDependencies.has(H.identHash)&&Ce.locatorHash!==g)continue;if(Qf(H))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");A.delete(H.descriptorHash);let yt=De;if(!yt){let Oe=Ce.dependenciesMeta.get(nn(H));if(typeof Oe<"u"){let x=Oe.get(null);typeof x<"u"&&x.optional&&(yt=!0)}}let Me=r.get(H.descriptorHash);if(!Me)throw new Error(`Assertion failed: The resolution (${Ln(t.configuration,H)}) should have been registered`);let Te=L.get(Me)||o.get(Me);if(!Te)throw new Error(`Assertion failed: The package (${Me}, resolved from ${Ln(t.configuration,H)}) should have been registered`);if(Te.peerDependencies.size===0){re(H,Te,new Map,{top:g,optional:yt});continue}let Qe,_e,qe=new Set,At;ne.push(()=>{Qe=AM(H,le.locatorHash),_e=fM(Te,le.locatorHash),Ce.dependencies.delete(H.identHash),Ce.dependencies.set(Qe.identHash,Qe),r.set(Qe.descriptorHash,_e.locatorHash),e.set(Qe.descriptorHash,Qe),o.set(_e.locatorHash,_e),de.push([Te,Qe,_e])}),Z.push(()=>{At=new Map;for(let Oe of _e.peerDependencies.values()){let x=Ce.dependencies.get(Oe.identHash);if(!x&&Vw(le,Oe)&&(ge.identHash===le.identHash?x=ge:(x=mn(le,ge.range),e.set(x.descriptorHash,x),r.set(x.descriptorHash,le.locatorHash),A.delete(x.descriptorHash))),(!x||x.range==="missing:")&&_e.dependencies.has(Oe.identHash)){_e.peerDependencies.delete(Oe.identHash);continue}x||(x=mn(Oe,"missing:")),_e.dependencies.set(x.identHash,x),Qf(x)&&dd(b,x.descriptorHash).add(_e.locatorHash),w.set(x.identHash,x),x.range==="missing:"&&qe.add(x.identHash),At.set(Oe.identHash,Pe.get(Oe.identHash)??_e.locatorHash)}_e.dependencies=new Map(Pa(_e.dependencies,([Oe,x])=>nn(x)))}),me.push(()=>{if(!o.has(_e.locatorHash))return;let Oe=h.get(Te.locatorHash);typeof Oe=="number"&&Oe>=2&&_();let x=h.get(Te.locatorHash),I=typeof x<"u"?x+1:1;h.set(Te.locatorHash,I),re(Qe,_e,At,{top:g,optional:yt}),h.set(Te.locatorHash,I-1)}),be.push(()=>{let Oe=Ce.dependencies.get(H.identHash);if(typeof Oe>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let x=r.get(Oe.descriptorHash);if(typeof x>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(dd(R,x).add(le.locatorHash),!!o.has(_e.locatorHash)){for(let I of _e.peerDependencies.values()){let P=At.get(I.identHash);if(typeof P>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Yy(Ky(C,P),nn(I)).push(_e.locatorHash)}for(let I of qe)_e.dependencies.delete(I)}})}for(let H of[...ne,...Z])H();let ut;do{ut=!0;for(let[H,yt,Me]of de){let Te=Ky(v,H.locatorHash),Qe=Vs(...[...Me.dependencies.values()].map(Oe=>{let x=Oe.range!=="missing:"?r.get(Oe.descriptorHash):"missing:";if(typeof x>"u")throw new Error(`Assertion failed: Expected the resolution for ${Ln(t.configuration,Oe)} to have been registered`);return x===g?`${x} (top)`:x}),yt.identHash),_e=Te.get(Qe);if(typeof _e>"u"){Te.set(Qe,yt);continue}if(_e===yt)continue;o.delete(Me.locatorHash),e.delete(yt.descriptorHash),r.delete(yt.descriptorHash),a.delete(Me.locatorHash);let qe=b.get(yt.descriptorHash)||[],At=[Ce.locatorHash,...qe];b.delete(yt.descriptorHash);for(let Oe of At){let x=o.get(Oe);typeof x>"u"||(x.dependencies.get(yt.identHash).descriptorHash!==_e.descriptorHash&&(ut=!1),x.dependencies.set(yt.identHash,_e))}}}while(!ut);for(let H of[...me,...be])H()};for(let ge of t.workspaces){let le=ge.anchoredLocator;A.delete(ge.anchoredDescriptor.descriptorHash),re(ge.anchoredDescriptor,le,new Map,{top:le.locatorHash,optional:!1})}let pe;(Pe=>(Pe[Pe.NotProvided=0]="NotProvided",Pe[Pe.NotCompatible=1]="NotCompatible"))(pe||(pe={}));let he=[];for(let[ge,le]of R){let Pe=o.get(ge);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the root to be registered");let g=C.get(ge);if(!(typeof g>"u"))for(let De of le){let Ce=o.get(De);if(!(typeof Ce>"u"))for(let[de,ne]of g){let Z=Ys(de);if(Ce.peerDependencies.has(Z.identHash))continue;let me=`p${Vs(De,de,ge).slice(0,5)}`;u.set(me,{subject:De,requested:Z,rootRequester:ge,allRequesters:ne});let be=Pe.dependencies.get(Z.identHash);if(typeof be<"u"){let ut=V(be),H=ut.version??"0.0.0",yt=new Set;for(let Te of ne){let Qe=o.get(Te);if(typeof Qe>"u")throw new Error("Assertion failed: Expected the link to be registered");let _e=Qe.peerDependencies.get(Z.identHash);if(typeof _e>"u")throw new Error("Assertion failed: Expected the ident to be registered");yt.add(_e.range)}[...yt].every(Te=>{if(Te.startsWith(Gn.protocol)){if(!t.tryWorkspaceByLocator(ut))return!1;Te=Te.slice(Gn.protocol.length),(Te==="^"||Te==="~")&&(Te="*")}return Sd(H,Te)})||he.push({type:1,subject:Ce,requested:Z,requester:Pe,version:H,hash:me,requirementCount:ne.length})}else{let ut=Pe.peerDependenciesMeta.get(de);ut!=null&&ut.optional||he.push({type:0,subject:Ce,requested:Z,requester:Pe,hash:me})}}}}let ve=[ge=>pM(ge.subject),ge=>nn(ge.requested),ge=>`${ge.type}`];p==null||p.startSectionSync({reportFooter:()=>{p.reportWarning(0,`Some peer dependencies are incorrectly met; run ${Kt(t.configuration,"yarn explain peer-requirements <hash>",Bt.CODE)} for details, where ${Kt(t.configuration,"<hash>",Bt.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ge of Pa(he,ve))switch(ge.type){case 0:p.reportWarning(2,`${kr(t.configuration,ge.subject)} doesn't provide ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}), requested by ${cs(t.configuration,ge.requester)}`);break;case 1:{let le=ge.requirementCount>1?"and some of its descendants request":"requests";p.reportWarning(60,`${kr(t.configuration,ge.subject)} provides ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}) with version ${Xw(t.configuration,ge.version)}, which doesn't satisfy what ${cs(t.configuration,ge.requester)} ${le}`)}break}})}var Yb,Kb,d0e,m0e,S_,D_,P_,p0e,Wut,Yut,h0e,Kut,Vut,Jut,gl,v_,g0e,St,y0e=dt(()=>{bt();bt();_l();_t();Yb=Ie("crypto");d_();Kb=tt(u0e()),d0e=tt(rd()),m0e=tt(si()),S_=Ie("util"),D_=tt(Ie("v8")),P_=tt(Ie("zlib"));m1();l_();c_();uC();CM();Xl();A0e();w_();Dd();B_();_P();Jl();t0();Kl();g1();DU();n0();Ks();p0e=7,Wut=2,Yut=/ *, */g,h0e=/\/$/,Kut=32,Vut=(0,S_.promisify)(P_.default.gzip),Jut=(0,S_.promisify)(P_.default.gunzip),gl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(gl||{}),v_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},g0e=t=>Vs(`${Wut}`,t),St=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var C,R,L;if(!e.projectCwd)throw new ot(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,ae.existsSync(z.join(n,Lr.manifest))){o=n;break}a=z.dirname(n)}let u=new St(e.projectCwd,{configuration:e});(C=Xe.telemetry)==null||C.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),(R=Xe.telemetry)==null||R.reportWorkspaceCount(u.workspaces.length),(L=Xe.telemetry)==null||L.reportDependencyCount(u.workspaces.reduce((_,V)=>_+V.manifest.dependencies.size+V.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Kt(e,u.cwd,Bt.PATH),E=Kt(e,z.relative(u.cwd,o),Bt.PATH),w=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,b=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new ot(`The nearest package directory (${Kt(e,o,Bt.PATH)}) doesn't seem to be part of the project declared in ${Kt(e,u.cwd,Bt.PATH)}.
202 202
203${[w,v,b].join(` 203${[w,v,b].join(`
204`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=V.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(ae.existsSync(e)){let o=await ae.readFilePromise(e,"utf8");this.lockFileChecksum=c0e(o);let a=Yi(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileNeedsRefresh=n<a0e;for(let A of Object.keys(a)){if(A==="__metadata")continue;let p=a[A];if(typeof p.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=bf(p.resolution,!0),C=new Nt;C.load(p,{yamlCompatibilityMode:!0});let w=C.version,v=C.languageName||r,b=p.linkType.toUpperCase(),E=p.conditions??null,R=C.dependencies,L=C.peerDependencies,_=C.dependenciesMeta,J=C.peerDependenciesMeta,re=C.bin;if(p.checksum!=null){let pe=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,pe)}let oe={...h,version:w,languageName:v,linkType:b,conditions:E,dependencies:R,peerDependencies:L,dependenciesMeta:_,peerDependenciesMeta:J,bin:re};this.originalPackages.set(oe.locatorHash,oe);for(let pe of A.split(Nut)){let he=t0(pe);n<=6&&(he=this.configuration.normalizeDependency(he),he=mn(he,he.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(he.descriptorHash,he),this.storedResolutions.set(he.descriptorHash,h.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let o of r){if(this.workspacesByCwd.has(o))continue;let a=await this.addWorkspace(o);for(let n of a.workspacesCwds)e.push(n)}}}async addWorkspace(e){let r=new tC(e,{project:this});await r.setup();let o=this.workspacesByIdent.get(r.locator.identHash);if(typeof o<"u")throw new Error(`Duplicate workspace name ${cs(this.configuration,r.locator)}: ${Ae.fromPortablePath(e)} conflicts with ${Ae.fromPortablePath(o.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){V.isAbsolute(e)||(e=V.resolve(this.cwd,e)),e=V.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)V.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${cs(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(xf(e)&&(e=qw(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Ln(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qc(e)&&(e=jw(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${kr(this.configuration,e)})`);return r}forgetResolution(e){let r=a=>{this.storedResolutions.delete(a),this.storedDescriptors.delete(a)},o=a=>{this.originalPackages.delete(a),this.storedPackages.delete(a),this.accessibleLocators.delete(a)};if("descriptorHash"in e){let a=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let n=new Set(this.storedResolutions.values());typeof a<"u"&&!n.has(a)&&o(a)}if("locatorHash"in e){o(e.locatorHash);for(let[a,n]of this.storedResolutions)n===e.locatorHash&&r(a)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let o;try{o=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{o=!1}o||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)xf(o)&&e.dependencies.set(r,qw(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(nn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!A0e.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new xi,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(l0e,"")!==e.replace(l0e,""))continue;return A}}return null}async loadUserConfig(){let e=V.join(this.cwd,"yarn.config.js");return await ae.existsPromise(e)?Kp(e):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=this.configuration.normalizePackage(e);for(let[n,u]of a.dependencies){let A=await this.configuration.reduceHook(h=>h.reduceDependency,u,this,a,u,{resolver:r,resolveOptions:o});if(!Gw(u,A))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let p=r.bindDescriptor(A,a,o);a.dependencies.set(n,p)}return a}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),o=new ZE(r);await o.setup(this,{report:e.report});let a=e.lockfileOnly?[new Mb(r)]:[o,r],n=new vd([new $E(r),...a]),u=new vd([...a]),A=this.configuration.makeFetcher(),p=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:A,cacheOptions:{mirrorWriteOnly:!0}}},h=new Map,C=new Map,w=new Map,v=new Map,b=new Map,E=new Map,R=this.topLevelWorkspace.anchoredLocator,L=new Set,_=[],J=K4(),re=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Vs.progressViaTitle(),async Pe=>{let g=async Z=>{let me=await jy(async()=>await n.resolve(Z,p),H=>`${kr(this.configuration,Z)}: ${H}`);if(!Ww(Z,me))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${kr(this.configuration,Z)} to ${kr(this.configuration,me)})`);v.set(me.locatorHash,me);let be=await this.preparePackage(me,{resolver:n,resolveOptions:p}),ut=_c([...be.dependencies.values()].map(H=>ne(H)));return _.push(ut),ut.catch(()=>{}),C.set(be.locatorHash,be),be},De=async Z=>{let me=b.get(Z.locatorHash);if(typeof me<"u")return me;let be=Promise.resolve().then(()=>g(Z));return b.set(Z.locatorHash,be),be},Ee=async(Z,me)=>{let be=await ne(me);return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,be.locatorHash),be},de=async Z=>{Pe.setTitle(Ln(this.configuration,Z));let me=this.resolutionAliases.get(Z.descriptorHash);if(typeof me<"u")return Ee(Z,this.storedDescriptors.get(me));let be=n.getResolutionDependencies(Z,p),ut=Object.fromEntries(await _c(Object.entries(be).map(async([Me,Te])=>{let Qe=n.bindDescriptor(Te,R,p),Ue=await ne(Qe);return L.add(Ue.locatorHash),[Me,Ue]}))),yt=(await jy(async()=>await n.getCandidates(Z,ut,p),Me=>`${Ln(this.configuration,Z)}: ${Me}`))[0];if(typeof yt>"u")throw new Jt(82,`${Ln(this.configuration,Z)}: No candidates found`);if(e.checkResolutions){let{locators:Me}=await u.getSatisfying(Z,ut,[yt],{...p,resolver:u});if(!Me.find(Te=>Te.locatorHash===yt.locatorHash))throw new Jt(78,`Invalid resolution ${Mw(this.configuration,Z,yt)}`)}return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,yt.locatorHash),De(yt)},ne=Z=>{let me=E.get(Z.descriptorHash);if(typeof me<"u")return me;h.set(Z.descriptorHash,Z);let be=Promise.resolve().then(()=>de(Z));return E.set(Z.descriptorHash,be),be};for(let Z of this.workspaces){let me=Z.anchoredDescriptor;_.push(ne(me))}for(;_.length>0;){let Z=[..._];_.length=0,await _c(Z)}});let oe=new Set(this.resolutionAliases.values()),pe=new Set(C.keys()),he=new Set,ve=new Map;Uut({project:this,report:e.report,accessibleLocators:he,volatileDescriptors:oe,optionalBuilds:pe,peerRequirements:ve,allDescriptors:h,allResolutions:w,allPackages:C});for(let Pe of L)pe.delete(Pe);for(let Pe of oe)h.delete(Pe),w.delete(Pe);let ge=new Set,le=new Set;for(let Pe of C.values())Pe.conditions!=null&&(!pe.has(Pe.locatorHash)||(xP(Pe,re)||(xP(Pe,J)&&e.report.reportWarningOnce(77,`${kr(this.configuration,Pe)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Kt(this.configuration,"supportedArchitectures",Bt.SETTING)} setting`),le.add(Pe.locatorHash)),ge.add(Pe.locatorHash)));this.storedResolutions=w,this.storedDescriptors=h,this.storedPackages=C,this.accessibleLocators=he,this.conditionalLocators=ge,this.disabledLocators=le,this.originalPackages=v,this.optionalBuilds=pe,this.peerRequirements=ve}async fetchEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=Array.from(new Set(Sa(this.storedResolutions.values(),[v=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");return Wl(b)}])));a==="update-lockfile"&&(p=p.filter(v=>!this.storedChecksums.has(v)));let h=!1,C=Vs.progressViaCounter(p.length);await r.reportProgress(C);let w=(0,u0e.default)(Lut);if(await r.startCacheReport(async()=>{await _c(p.map(v=>w(async()=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");if(qc(b))return;let E;try{E=await u.fetch(b,A)}catch(R){R.message=`${kr(this.configuration,b)}: ${R.message}`,r.reportExceptionOnce(R),h=R;return}E.checksum!=null?this.storedChecksums.set(b.locatorHash,E.checksum):this.storedChecksums.delete(b.locatorHash),E.releaseFs&&E.releaseFs()}).finally(()=>{C.tick()})))}),h)throw h}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){var De,Ee;let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},C=new Map(p.map(de=>{let ne=de.makeInstaller(h),Z=de.getCustomDataKey(),me=this.linkersCustomData.get(Z);return typeof me<"u"&&ne.attachCustomData(me),[de,ne]})),w=new Map,v=new Map,b=new Map,E=new Map(await _c([...this.accessibleLocators].map(async de=>{let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");return[de,await u.fetch(ne,A)]}))),R=[];for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(typeof ne>"u")throw new Error("Assertion failed: The locator should have been registered");let Z=E.get(ne.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The fetch result should have been registered");let me=[],be=H=>{me.push(H)},ut=this.tryWorkspaceByLocator(ne);if(ut!==null){let H=[],{scripts:yt}=ut.manifest;for(let Te of["preinstall","install","postinstall"])yt.has(Te)&&H.push([0,Te]);try{for(let[Te,Qe]of C)if(Te.supportsPackage(ne,h)&&(await Qe.installPackage(ne,Z,{holdFetchResult:be})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{me.length===0?(De=Z.releaseFs)==null||De.call(Z):R.push(_c(me).catch(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}let Me=V.join(Z.packageFs.getRealPath(),Z.prefixPath);v.set(ne.locatorHash,Me),!qc(ne)&&H.length>0&&b.set(ne.locatorHash,{directives:H,buildLocations:[Me]})}else{let H=p.find(Te=>Te.supportsPackage(ne,h));if(!H)throw new Jt(12,`${kr(this.configuration,ne)} isn't supported by any available linker`);let yt=C.get(H);if(!yt)throw new Error("Assertion failed: The installer should have been registered");let Me;try{Me=await yt.installPackage(ne,Z,{holdFetchResult:be})}finally{me.length===0?(Ee=Z.releaseFs)==null||Ee.call(Z):R.push(_c(me).then(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}w.set(ne.locatorHash,H),v.set(ne.locatorHash,Me.packageLocation),Me.buildDirective&&Me.buildDirective.length>0&&Me.packageLocation&&b.set(ne.locatorHash,{directives:Me.buildDirective,buildLocations:[Me.packageLocation]})}}let L=new Map;for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");let Z=this.tryWorkspaceByLocator(ne)!==null,me=async(be,ut)=>{let H=v.get(ne.locatorHash);if(typeof H>"u")throw new Error(`Assertion failed: The package (${kr(this.configuration,ne)}) should have been registered`);let yt=[];for(let Me of ne.dependencies.values()){let Te=this.storedResolutions.get(Me.descriptorHash);if(typeof Te>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,Me)}, from ${kr(this.configuration,ne)})should have been registered`);let Qe=this.storedPackages.get(Te);if(typeof Qe>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);let Ue=this.tryWorkspaceByLocator(Qe)===null?w.get(Te):null;if(typeof Ue>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);Ue===be||Ue===null?v.get(Qe.locatorHash)!==null&&yt.push([Me,Qe]):!Z&&H!==null&&Hy(L,Te).push(H)}H!==null&&await ut.attachInternalDependencies(ne,yt)};if(Z)for(let[be,ut]of C)be.supportsPackage(ne,h)&&await me(be,ut);else{let be=w.get(ne.locatorHash);if(!be)throw new Error("Assertion failed: The linker should have been found");let ut=C.get(be);if(!ut)throw new Error("Assertion failed: The installer should have been registered");await me(be,ut)}}for(let[de,ne]of L){let Z=this.storedPackages.get(de);if(!Z)throw new Error("Assertion failed: The package should have been registered");let me=w.get(Z.locatorHash);if(!me)throw new Error("Assertion failed: The linker should have been found");let be=C.get(me);if(!be)throw new Error("Assertion failed: The installer should have been registered");await be.attachExternalDependents(Z,ne)}let _=new Map;for(let[de,ne]of C){let Z=await ne.finalizeInstall();for(let me of(Z==null?void 0:Z.records)??[])b.set(me.locatorHash,{directives:me.buildDirective,buildLocations:me.buildLocations});typeof(Z==null?void 0:Z.customData)<"u"&&_.set(de.getCustomDataKey(),Z.customData)}if(this.linkersCustomData=_,await _c(R),a==="skip-build")return;let J=new Set(this.storedPackages.keys()),re=new Set(b.keys());for(let de of re)J.delete(de);let oe=(0,Ub.createHash)("sha512");oe.update(process.versions.node),await this.configuration.triggerHook(de=>de.globalHashGeneration,this,de=>{oe.update("\0"),oe.update(de)});let pe=oe.digest("hex"),he=new Map,ve=de=>{let ne=he.get(de.locatorHash);if(typeof ne<"u")return ne;let Z=this.storedPackages.get(de.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The package should have been registered");let me=(0,Ub.createHash)("sha512");me.update(de.locatorHash),he.set(de.locatorHash,"<recursive>");for(let be of Z.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(typeof ut>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);let H=this.storedPackages.get(ut);if(typeof H>"u")throw new Error("Assertion failed: The package should have been registered");me.update(ve(H))}return ne=me.digest("hex"),he.set(de.locatorHash,ne),ne},ge=(de,ne)=>{let Z=(0,Ub.createHash)("sha512");Z.update(pe),Z.update(ve(de));for(let me of ne)Z.update(me);return Z.digest("hex")},le=new Map,Pe=!1,g=de=>{let ne=new Set([de.locatorHash]);for(let Z of ne){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");for(let be of me.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(!ut)throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);if(ut!==de.locatorHash&&re.has(ut))return!1;let H=this.storedPackages.get(ut);if(!H)throw new Error("Assertion failed: The package should have been registered");let yt=this.tryWorkspaceByLocator(H);if(yt){if(yt.anchoredLocator.locatorHash!==de.locatorHash&&re.has(yt.anchoredLocator.locatorHash))return!1;ne.add(yt.anchoredLocator.locatorHash)}ne.add(ut)}}return!0};for(;re.size>0;){let de=re.size,ne=[];for(let Z of re){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");if(!g(me))continue;let be=b.get(me.locatorHash);if(!be)throw new Error("Assertion failed: The build directive should have been registered");let ut=ge(me,be.buildLocations);if(this.storedBuildState.get(me.locatorHash)===ut){le.set(me.locatorHash,ut),re.delete(Z);continue}Pe||(await this.persistInstallStateFile(),Pe=!0),this.storedBuildState.has(me.locatorHash)?r.reportInfo(8,`${kr(this.configuration,me)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${kr(this.configuration,me)} must be built because it never has been before or the last one failed`);let H=be.buildLocations.map(async yt=>{if(!V.isAbsolute(yt))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${yt})`);for(let[Me,Te]of be.directives){let Qe=`# This file contains the result of Yarn building a package (${Wl(me)}) 204`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=z.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(ae.existsSync(e)){let o=await ae.readFilePromise(e,"utf8");this.lockFileChecksum=g0e(o);let a=Yi(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileNeedsRefresh=n<p0e;for(let A of Object.keys(a)){if(A==="__metadata")continue;let p=a[A];if(typeof p.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=kf(p.resolution,!0),E=new Nt;E.load(p,{yamlCompatibilityMode:!0});let w=E.version,v=E.languageName||r,b=p.linkType.toUpperCase(),C=p.conditions??null,R=E.dependencies,L=E.peerDependencies,_=E.dependenciesMeta,V=E.peerDependenciesMeta,re=E.bin;if(p.checksum!=null){let pe=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,pe)}let oe={...h,version:w,languageName:v,linkType:b,conditions:C,dependencies:R,peerDependencies:L,dependenciesMeta:_,peerDependenciesMeta:V,bin:re};this.originalPackages.set(oe.locatorHash,oe);for(let pe of A.split(Yut)){let he=r0(pe);n<=6&&(he=this.configuration.normalizeDependency(he),he=mn(he,he.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(he.descriptorHash,he),this.storedResolutions.set(he.descriptorHash,h.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let o of r){if(this.workspacesByCwd.has(o))continue;let a=await this.addWorkspace(o);for(let n of a.workspacesCwds)e.push(n)}}}async addWorkspace(e){let r=new oE(e,{project:this});await r.setup();let o=this.workspacesByIdent.get(r.locator.identHash);if(typeof o<"u")throw new Error(`Duplicate workspace name ${cs(this.configuration,r.locator)}: ${ue.fromPortablePath(e)} conflicts with ${ue.fromPortablePath(o.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){z.isAbsolute(e)||(e=z.resolve(this.cwd,e)),e=z.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)z.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${cs(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(Gn.protocol)){let o=e.range.slice(Gn.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!ll(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(e);return r===null||(Qf(e)&&(e=Yw(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Ln(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Wc(e)&&(e=Kw(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${kr(this.configuration,e)})`);return r}forgetResolution(e){let r=a=>{this.storedResolutions.delete(a),this.storedDescriptors.delete(a)},o=a=>{this.originalPackages.delete(a),this.storedPackages.delete(a),this.accessibleLocators.delete(a)};if("descriptorHash"in e){let a=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let n=new Set(this.storedResolutions.values());typeof a<"u"&&!n.has(a)&&o(a)}if("locatorHash"in e){o(e.locatorHash);for(let[a,n]of this.storedResolutions)n===e.locatorHash&&r(a)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let o;try{o=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{o=!1}o||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)Qf(o)&&e.dependencies.set(r,Yw(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(nn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!m0e.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new xi,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(h0e,"")!==e.replace(h0e,""))continue;return A}}return null}async loadUserConfig(){let e=z.join(this.cwd,"yarn.config.js");return await ae.existsPromise(e)?Vp(e):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=this.configuration.normalizePackage(e);for(let[n,u]of a.dependencies){let A=await this.configuration.reduceHook(h=>h.reduceDependency,u,this,a,u,{resolver:r,resolveOptions:o});if(!Vw(u,A))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let p=r.bindDescriptor(A,a,o);a.dependencies.set(n,p)}return a}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),o=new nE(r);await o.setup(this,{report:e.report});let a=e.lockfileOnly?[new Wb(r)]:[o,r],n=new Pd([new iE(r),...a]),u=new Pd([...a]),A=this.configuration.makeFetcher(),p=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:A,cacheOptions:{mirrorWriteOnly:!0}}},h=new Map,E=new Map,w=new Map,v=new Map,b=new Map,C=new Map,R=this.topLevelWorkspace.anchoredLocator,L=new Set,_=[],V=V4(),re=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Js.progressViaTitle(),async Pe=>{let g=async Z=>{let me=await Vy(async()=>await n.resolve(Z,p),H=>`${kr(this.configuration,Z)}: ${H}`);if(!Jw(Z,me))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${kr(this.configuration,Z)} to ${kr(this.configuration,me)})`);v.set(me.locatorHash,me);let be=await this.preparePackage(me,{resolver:n,resolveOptions:p}),ut=jc([...be.dependencies.values()].map(H=>ne(H)));return _.push(ut),ut.catch(()=>{}),E.set(be.locatorHash,be),be},De=async Z=>{let me=b.get(Z.locatorHash);if(typeof me<"u")return me;let be=Promise.resolve().then(()=>g(Z));return b.set(Z.locatorHash,be),be},Ce=async(Z,me)=>{let be=await ne(me);return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,be.locatorHash),be},de=async Z=>{Pe.setTitle(Ln(this.configuration,Z));let me=this.resolutionAliases.get(Z.descriptorHash);if(typeof me<"u")return Ce(Z,this.storedDescriptors.get(me));let be=n.getResolutionDependencies(Z,p),ut=Object.fromEntries(await jc(Object.entries(be).map(async([Me,Te])=>{let Qe=n.bindDescriptor(Te,R,p),_e=await ne(Qe);return L.add(_e.locatorHash),[Me,_e]}))),yt=(await Vy(async()=>await n.getCandidates(Z,ut,p),Me=>`${Ln(this.configuration,Z)}: ${Me}`))[0];if(typeof yt>"u")throw new Vt(82,`${Ln(this.configuration,Z)}: No candidates found`);if(e.checkResolutions){let{locators:Me}=await u.getSatisfying(Z,ut,[yt],{...p,resolver:u});if(!Me.find(Te=>Te.locatorHash===yt.locatorHash))throw new Vt(78,`Invalid resolution ${qw(this.configuration,Z,yt)}`)}return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,yt.locatorHash),De(yt)},ne=Z=>{let me=C.get(Z.descriptorHash);if(typeof me<"u")return me;h.set(Z.descriptorHash,Z);let be=Promise.resolve().then(()=>de(Z));return C.set(Z.descriptorHash,be),be};for(let Z of this.workspaces){let me=Z.anchoredDescriptor;_.push(ne(me))}for(;_.length>0;){let Z=[..._];_.length=0,await jc(Z)}});let oe=new Set(this.resolutionAliases.values()),pe=new Set(E.keys()),he=new Set,ve=new Map;zut({project:this,report:e.report,accessibleLocators:he,volatileDescriptors:oe,optionalBuilds:pe,peerRequirements:ve,allDescriptors:h,allResolutions:w,allPackages:E});for(let Pe of L)pe.delete(Pe);for(let Pe of oe)h.delete(Pe),w.delete(Pe);let ge=new Set,le=new Set;for(let Pe of E.values())Pe.conditions!=null&&(!pe.has(Pe.locatorHash)||(NP(Pe,re)||(NP(Pe,V)&&e.report.reportWarningOnce(77,`${kr(this.configuration,Pe)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Kt(this.configuration,"supportedArchitectures",Bt.SETTING)} setting`),le.add(Pe.locatorHash)),ge.add(Pe.locatorHash)));this.storedResolutions=w,this.storedDescriptors=h,this.storedPackages=E,this.accessibleLocators=he,this.conditionalLocators=ge,this.disabledLocators=le,this.originalPackages=v,this.optionalBuilds=pe,this.peerRequirements=ve}async fetchEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=Array.from(new Set(Pa(this.storedResolutions.values(),[v=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");return Vl(b)}])));a==="update-lockfile"&&(p=p.filter(v=>!this.storedChecksums.has(v)));let h=!1,E=Js.progressViaCounter(p.length);await r.reportProgress(E);let w=(0,d0e.default)(Kut);if(await r.startCacheReport(async()=>{await jc(p.map(v=>w(async()=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");if(Wc(b))return;let C;try{C=await u.fetch(b,A)}catch(R){R.message=`${kr(this.configuration,b)}: ${R.message}`,r.reportExceptionOnce(R),h=R;return}C.checksum!=null?this.storedChecksums.set(b.locatorHash,C.checksum):this.storedChecksums.delete(b.locatorHash),C.releaseFs&&C.releaseFs()}).finally(()=>{E.tick()})))}),h)throw h}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){var De,Ce;let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(de=>{let ne=de.makeInstaller(h),Z=de.getCustomDataKey(),me=this.linkersCustomData.get(Z);return typeof me<"u"&&ne.attachCustomData(me),[de,ne]})),w=new Map,v=new Map,b=new Map,C=new Map(await jc([...this.accessibleLocators].map(async de=>{let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");return[de,await u.fetch(ne,A)]}))),R=[];for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(typeof ne>"u")throw new Error("Assertion failed: The locator should have been registered");let Z=C.get(ne.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The fetch result should have been registered");let me=[],be=H=>{me.push(H)},ut=this.tryWorkspaceByLocator(ne);if(ut!==null){let H=[],{scripts:yt}=ut.manifest;for(let Te of["preinstall","install","postinstall"])yt.has(Te)&&H.push([0,Te]);try{for(let[Te,Qe]of E)if(Te.supportsPackage(ne,h)&&(await Qe.installPackage(ne,Z,{holdFetchResult:be})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{me.length===0?(De=Z.releaseFs)==null||De.call(Z):R.push(jc(me).catch(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}let Me=z.join(Z.packageFs.getRealPath(),Z.prefixPath);v.set(ne.locatorHash,Me),!Wc(ne)&&H.length>0&&b.set(ne.locatorHash,{directives:H,buildLocations:[Me]})}else{let H=p.find(Te=>Te.supportsPackage(ne,h));if(!H)throw new Vt(12,`${kr(this.configuration,ne)} isn't supported by any available linker`);let yt=E.get(H);if(!yt)throw new Error("Assertion failed: The installer should have been registered");let Me;try{Me=await yt.installPackage(ne,Z,{holdFetchResult:be})}finally{me.length===0?(Ce=Z.releaseFs)==null||Ce.call(Z):R.push(jc(me).then(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}w.set(ne.locatorHash,H),v.set(ne.locatorHash,Me.packageLocation),Me.buildDirective&&Me.buildDirective.length>0&&Me.packageLocation&&b.set(ne.locatorHash,{directives:Me.buildDirective,buildLocations:[Me.packageLocation]})}}let L=new Map;for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");let Z=this.tryWorkspaceByLocator(ne)!==null,me=async(be,ut)=>{let H=v.get(ne.locatorHash);if(typeof H>"u")throw new Error(`Assertion failed: The package (${kr(this.configuration,ne)}) should have been registered`);let yt=[];for(let Me of ne.dependencies.values()){let Te=this.storedResolutions.get(Me.descriptorHash);if(typeof Te>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,Me)}, from ${kr(this.configuration,ne)})should have been registered`);let Qe=this.storedPackages.get(Te);if(typeof Qe>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);let _e=this.tryWorkspaceByLocator(Qe)===null?w.get(Te):null;if(typeof _e>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);_e===be||_e===null?v.get(Qe.locatorHash)!==null&&yt.push([Me,Qe]):!Z&&H!==null&&Yy(L,Te).push(H)}H!==null&&await ut.attachInternalDependencies(ne,yt)};if(Z)for(let[be,ut]of E)be.supportsPackage(ne,h)&&await me(be,ut);else{let be=w.get(ne.locatorHash);if(!be)throw new Error("Assertion failed: The linker should have been found");let ut=E.get(be);if(!ut)throw new Error("Assertion failed: The installer should have been registered");await me(be,ut)}}for(let[de,ne]of L){let Z=this.storedPackages.get(de);if(!Z)throw new Error("Assertion failed: The package should have been registered");let me=w.get(Z.locatorHash);if(!me)throw new Error("Assertion failed: The linker should have been found");let be=E.get(me);if(!be)throw new Error("Assertion failed: The installer should have been registered");await be.attachExternalDependents(Z,ne)}let _=new Map;for(let[de,ne]of E){let Z=await ne.finalizeInstall();for(let me of(Z==null?void 0:Z.records)??[])b.set(me.locatorHash,{directives:me.buildDirective,buildLocations:me.buildLocations});typeof(Z==null?void 0:Z.customData)<"u"&&_.set(de.getCustomDataKey(),Z.customData)}if(this.linkersCustomData=_,await jc(R),a==="skip-build")return;let V=new Set(this.storedPackages.keys()),re=new Set(b.keys());for(let de of re)V.delete(de);let oe=(0,Yb.createHash)("sha512");oe.update(process.versions.node),await this.configuration.triggerHook(de=>de.globalHashGeneration,this,de=>{oe.update("\0"),oe.update(de)});let pe=oe.digest("hex"),he=new Map,ve=de=>{let ne=he.get(de.locatorHash);if(typeof ne<"u")return ne;let Z=this.storedPackages.get(de.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The package should have been registered");let me=(0,Yb.createHash)("sha512");me.update(de.locatorHash),he.set(de.locatorHash,"<recursive>");for(let be of Z.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(typeof ut>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);let H=this.storedPackages.get(ut);if(typeof H>"u")throw new Error("Assertion failed: The package should have been registered");me.update(ve(H))}return ne=me.digest("hex"),he.set(de.locatorHash,ne),ne},ge=(de,ne)=>{let Z=(0,Yb.createHash)("sha512");Z.update(pe),Z.update(ve(de));for(let me of ne)Z.update(me);return Z.digest("hex")},le=new Map,Pe=!1,g=de=>{let ne=new Set([de.locatorHash]);for(let Z of ne){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");for(let be of me.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(!ut)throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);if(ut!==de.locatorHash&&re.has(ut))return!1;let H=this.storedPackages.get(ut);if(!H)throw new Error("Assertion failed: The package should have been registered");let yt=this.tryWorkspaceByLocator(H);if(yt){if(yt.anchoredLocator.locatorHash!==de.locatorHash&&re.has(yt.anchoredLocator.locatorHash))return!1;ne.add(yt.anchoredLocator.locatorHash)}ne.add(ut)}}return!0};for(;re.size>0;){let de=re.size,ne=[];for(let Z of re){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");if(!g(me))continue;let be=b.get(me.locatorHash);if(!be)throw new Error("Assertion failed: The build directive should have been registered");let ut=ge(me,be.buildLocations);if(this.storedBuildState.get(me.locatorHash)===ut){le.set(me.locatorHash,ut),re.delete(Z);continue}Pe||(await this.persistInstallStateFile(),Pe=!0),this.storedBuildState.has(me.locatorHash)?r.reportInfo(8,`${kr(this.configuration,me)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${kr(this.configuration,me)} must be built because it never has been before or the last one failed`);let H=be.buildLocations.map(async yt=>{if(!z.isAbsolute(yt))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${yt})`);for(let[Me,Te]of be.directives){let Qe=`# This file contains the result of Yarn building a package (${Vl(me)})
205`;switch(Me){case 0:Qe+=`# Script name: ${Te} 205`;switch(Me){case 0:Qe+=`# Script name: ${Te}
206`;break;case 1:Qe+=`# Script code: ${Te} 206`;break;case 1:Qe+=`# Script code: ${Te}
207`;break}let Ue=null;if(!await ae.mktempPromise(async At=>{let Le=V.join(At,"build.log"),{stdout:x,stderr:I}=this.configuration.getSubprocessStreams(Le,{header:Qe,prefix:kr(this.configuration,me),report:r}),P;try{switch(Me){case 0:P=await Fx(me,Te,[],{cwd:yt,project:this,stdin:Ue,stdout:x,stderr:I});break;case 1:P=await wU(me,Te,[],{cwd:yt,project:this,stdin:Ue,stdout:x,stderr:I});break}}catch(F){I.write(F.stack),P=1}if(x.end(),I.end(),P===0)return!0;ae.detachTemp(At);let y=`${kr(this.configuration,me)} couldn't be built successfully (exit code ${Kt(this.configuration,P,Bt.NUMBER)}, logs can be found here: ${Kt(this.configuration,Le,Bt.PATH)})`;return this.optionalBuilds.has(me.locatorHash)?(r.reportInfo(9,y),!0):(r.reportError(9,y),!1)}))return!1}return!0});ne.push(...H,Promise.allSettled(H).then(yt=>{re.delete(Z),yt.every(Me=>Me.status==="fulfilled"&&Me.value===!0)&&le.set(me.locatorHash,ut)}))}if(await _c(ne),de===re.size){let Z=Array.from(re).map(me=>{let be=this.storedPackages.get(me);if(!be)throw new Error("Assertion failed: The package should have been registered");return kr(this.configuration,be)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${Z})`);break}}this.storedBuildState=le}async install(e){var p,h;let r=this.configuration.get("nodeLinker");(p=Xe.telemetry)==null||p.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(C=>C.validateProject,this,{reportWarning:(C,w)=>{e.report.reportWarning(C,w)},reportError:(C,w)=>{e.report.reportError(C,w),o=!0}})}),o)return;for(let C of this.configuration.packageExtensions.values())for(let[,w]of C)for(let v of w)v.status="inactive";let a=V.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await ae.readFilePromise(a,"utf8")}catch(C){throw C.code==="ENOENT"?new Jt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):C}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,C]of this.configuration.packageExtensions)for(let[,w]of C)for(let v of w)if(v.userProvided){let b=Kt(this.configuration,v,Bt.PACKAGE_EXTENSION);switch(v.status){case"inactive":e.report.reportWarning(68,`${b}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${b}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let C=Rg(n,this.generateLockfile());if(C!==n){let w=vpe(a,a,n,C,void 0,void 0,{maxEditLength:100});if(w){e.report.reportSeparator();for(let v of w.hunks){e.report.reportInfo(null,`@@ -${v.oldStart},${v.oldLines} +${v.newStart},${v.newLines} @@`);for(let b of v.lines)b.startsWith("+")?e.report.reportError(28,Kt(this.configuration,b,Bt.ADDED)):b.startsWith("-")?e.report.reportError(28,Kt(this.configuration,b,Bt.REMOVED)):e.report.reportInfo(null,Kt(this.configuration,b,"grey"))}e.report.reportSeparator()}throw new Jt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let C of this.configuration.packageExtensions.values())for(let[,w]of C)for(let v of w)v.userProvided&&v.status==="active"&&((h=Xe.telemetry)==null||h.reportPackageExtension(hd(v,Bt.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let u=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],A=await Promise.all(u.map(async C=>wP(C,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Kt(this.configuration,"mode=update-lockfile",Bt.CODE)}`);return}await this.linkEverything(e);let C=await Promise.all(u.map(async w=>wP(w,{cwd:this.cwd})));for(let w=0;w<u.length;++w)A[w]!==C[w]&&e.report.reportError(64,`The checksum for ${u[w]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile(),await this.configuration.triggerHook(C=>C.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[a,n]of this.storedResolutions.entries()){let u=e.get(n);u||e.set(n,u=new Set),u.add(a)}let r={};r.__metadata={version:a0e,cacheKey:void 0};for(let[a,n]of e.entries()){let u=this.originalPackages.get(a);if(!u)continue;let A=[];for(let v of n){let b=this.storedDescriptors.get(v);if(!b)throw new Error("Assertion failed: The descriptor should have been registered");A.push(b)}let p=A.map(v=>xa(v)).sort().join(", "),h=new Nt;h.version=u.linkType==="HARD"?u.version:"0.0.0-use.local",h.languageName=u.languageName,h.dependencies=new Map(u.dependencies),h.peerDependencies=new Map(u.peerDependencies),h.dependenciesMeta=new Map(u.dependenciesMeta),h.peerDependenciesMeta=new Map(u.peerDependenciesMeta),h.bin=new Map(u.bin);let C,w=this.storedChecksums.get(u.locatorHash);if(typeof w<"u"){let v=w.indexOf("/");if(v===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let b=w.slice(0,v),E=w.slice(v+1);typeof r.__metadata.cacheKey>"u"&&(r.__metadata.cacheKey=b),b===r.__metadata.cacheKey?C=E:C=w}r[p]={...h.exportTo({},{compatibilityMode:!1}),linkType:u.linkType.toLowerCase(),resolution:Wl(u),checksum:C,conditions:u.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. 207`;break}let _e=null;if(!await ae.mktempPromise(async At=>{let Oe=z.join(At,"build.log"),{stdout:x,stderr:I}=this.configuration.getSubprocessStreams(Oe,{header:Qe,prefix:kr(this.configuration,me),report:r}),P;try{switch(Me){case 0:P=await Ux(me,Te,[],{cwd:yt,project:this,stdin:_e,stdout:x,stderr:I});break;case 1:P=await BU(me,Te,[],{cwd:yt,project:this,stdin:_e,stdout:x,stderr:I});break}}catch(F){I.write(F.stack),P=1}if(x.end(),I.end(),P===0)return!0;ae.detachTemp(At);let y=`${kr(this.configuration,me)} couldn't be built successfully (exit code ${Kt(this.configuration,P,Bt.NUMBER)}, logs can be found here: ${Kt(this.configuration,Oe,Bt.PATH)})`;return this.optionalBuilds.has(me.locatorHash)?(r.reportInfo(9,y),!0):(r.reportError(9,y),!1)}))return!1}return!0});ne.push(...H,Promise.allSettled(H).then(yt=>{re.delete(Z),yt.every(Me=>Me.status==="fulfilled"&&Me.value===!0)&&le.set(me.locatorHash,ut)}))}if(await jc(ne),de===re.size){let Z=Array.from(re).map(me=>{let be=this.storedPackages.get(me);if(!be)throw new Error("Assertion failed: The package should have been registered");return kr(this.configuration,be)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${Z})`);break}}this.storedBuildState=le}async install(e){var h,E;let r=this.configuration.get("nodeLinker");(h=Xe.telemetry)==null||h.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(w=>w.validateProject,this,{reportWarning:(w,v)=>{e.report.reportWarning(w,v)},reportError:(w,v)=>{e.report.reportError(w,v),o=!0}})}),o)return;for(let w of this.configuration.packageExtensions.values())for(let[,v]of w)for(let b of v)b.status="inactive";let a=z.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await ae.readFilePromise(a,"utf8")}catch(w){throw w.code==="ENOENT"?new Vt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):w}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,w]of this.configuration.packageExtensions)for(let[,v]of w)for(let b of v)if(b.userProvided){let C=Kt(this.configuration,b,Bt.PACKAGE_EXTENSION);switch(b.status){case"inactive":e.report.reportWarning(68,`${C}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${C}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let w=Lg(n,this.generateLockfile());if(w!==n){let v=Qpe(a,a,n,w,void 0,void 0,{maxEditLength:100});if(v){e.report.reportSeparator();for(let b of v.hunks){e.report.reportInfo(null,`@@ -${b.oldStart},${b.oldLines} +${b.newStart},${b.newLines} @@`);for(let C of b.lines)C.startsWith("+")?e.report.reportError(28,Kt(this.configuration,C,Bt.ADDED)):C.startsWith("-")?e.report.reportError(28,Kt(this.configuration,C,Bt.REMOVED)):e.report.reportInfo(null,Kt(this.configuration,C,"grey"))}e.report.reportSeparator()}throw new Vt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let w of this.configuration.packageExtensions.values())for(let[,v]of w)for(let b of v)b.userProvided&&b.status==="active"&&((E=Xe.telemetry)==null||E.reportPackageExtension(md(b,Bt.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let u=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],A=await Promise.all(u.map(async w=>bP(w,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Kt(this.configuration,"mode=update-lockfile",Bt.CODE)}`);return}await this.linkEverything(e);let w=await Promise.all(u.map(async v=>bP(v,{cwd:this.cwd})));for(let v=0;v<u.length;++v)A[v]!==w[v]&&e.report.reportError(64,`The checksum for ${u[v]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile();let p=!1;await e.report.startTimerPromise("Post-install validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(w=>w.validateProjectAfterInstall,this,{reportWarning:(w,v)=>{e.report.reportWarning(w,v)},reportError:(w,v)=>{e.report.reportError(w,v),p=!0}})}),!p&&await this.configuration.triggerHook(w=>w.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[a,n]of this.storedResolutions.entries()){let u=e.get(n);u||e.set(n,u=new Set),u.add(a)}let r={};r.__metadata={version:p0e,cacheKey:void 0};for(let[a,n]of e.entries()){let u=this.originalPackages.get(a);if(!u)continue;let A=[];for(let v of n){let b=this.storedDescriptors.get(v);if(!b)throw new Error("Assertion failed: The descriptor should have been registered");A.push(b)}let p=A.map(v=>ba(v)).sort().join(", "),h=new Nt;h.version=u.linkType==="HARD"?u.version:"0.0.0-use.local",h.languageName=u.languageName,h.dependencies=new Map(u.dependencies),h.peerDependencies=new Map(u.peerDependencies),h.dependenciesMeta=new Map(u.dependenciesMeta),h.peerDependenciesMeta=new Map(u.peerDependenciesMeta),h.bin=new Map(u.bin);let E,w=this.storedChecksums.get(u.locatorHash);if(typeof w<"u"){let v=w.indexOf("/");if(v===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let b=w.slice(0,v),C=w.slice(v+1);typeof r.__metadata.cacheKey>"u"&&(r.__metadata.cacheKey=b),b===r.__metadata.cacheKey?E=C:E=w}r[p]={...h.exportTo({},{compatibilityMode:!1}),linkType:u.linkType.toLowerCase(),resolution:Vl(u),checksum:E,conditions:u.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project.
208`,`# Manual changes might be lost - proceed with caution! 208`,`# Manual changes might be lost - proceed with caution!
209`].join("")} 209`].join("")}
210`+Ia(r)}async persistLockfile(){let e=V.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await ae.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=Rg(r,o);a!==r&&(await ae.writeFilePromise(e,a),this.lockFileChecksum=c0e(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(B_))e.push(...u);let r=(0,_b.default)(this,e),o=v_.default.serialize(r),a=Js(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await ae.mkdirPromise(V.dirname(n),{recursive:!0}),await ae.writeFilePromise(n,await Out(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await Mut(await ae.readFilePromise(a));n=v_.default.deserialize(u),this.installStateChecksum=Js(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,_b.default)(n,B_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,_b.default)(n,B_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new xi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return;let o=new Set([".gitignore"]);if(!xM(e.cwd,this.cwd)||!await ae.existsPromise(e.cwd))return;let a=this.configuration.get("preferAggregateCacheInfo"),n=0,u=null;for(let A of await ae.readdirPromise(e.cwd)){if(o.has(A))continue;let p=V.resolve(e.cwd,A);e.markedFiles.has(p)||(u=A,e.immutable?r.reportError(56,`${Kt(this.configuration,V.basename(p),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(a?n+=1:r.reportInfo(19,`${Kt(this.configuration,V.basename(p),"magenta")} appears to be unused - removing`),await ae.removePromise(p)))}a&&n!==0&&r.reportInfo(19,n>1?`${n} packages appeared to be unused and were removed`:`${u} appeared to be unused and was removed`)}}});var rC,p0e=dt(()=>{bt();e0();cx();Gl();rC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let o=this.getRegistryPath();this.isNew=!ae.existsSync(o),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"<none>")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){pd(this.values,e).add(r)}reportEnumerator(e,r){pd(this.enumerators,e).add(Js(r))}reportHit(e,r="*"){let o=qy(this.hits,e),a=Bf(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return V.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=ae.readJsonSync(r)}catch{o={}}let a=Date.now(),n=this.configuration.get("telemetryInterval")*24*60*60*1e3,A=(o.lastUpdate??a+n+Math.floor(n*Math.random()))+n;if(A>a&&o.lastUpdate!=null)return;try{ae.mkdirSync(V.dirname(r),{recursive:!0}),ae.writeJsonSync(r,{lastUpdate:a})}catch{return}if(A>a||!o.blocks)return;let p=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,h=C=>W4(p,C,{configuration:this.configuration}).catch(()=>{});for(let[C,w]of Object.entries(o.blocks??{})){if(Object.keys(w).length===0)continue;let v=w;v.userId=C,v.reportType="primary";for(let R of Object.keys(v.enumerators??{}))v.enumerators[R]=v.enumerators[R].length;h(v);let b=new Map,E=20;for(let[R,L]of Object.entries(v.values))L.length>0&&b.set(R,L.slice(0,E));for(;b.size>0;){let R={};R.userId=C,R.reportType="secondary",R.metrics={};for(let[L,_]of b)R.metrics[L]=_.shift(),_.length===0&&b.delete(L);h(R)}}}applyChanges(){let e=this.getRegistryPath(),r;try{r=ae.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,C]of this.hits.get(u))p[h]=(p[h]??0)+C}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}ae.mkdirSync(V.dirname(e),{recursive:!0}),ae.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var _1={};Yt(_1,{BuildType:()=>Nb,Cache:()=>Ur,Configuration:()=>Xe,DEFAULT_LOCK_FILENAME:()=>$4,DEFAULT_RC_FILENAME:()=>Z4,FormatType:()=>rce,InstallMode:()=>fl,LegacyMigrationResolver:()=>ZE,LightReport:()=>fA,LinkType:()=>Wy,LockfileResolver:()=>$E,Manifest:()=>Nt,MessageName:()=>dr,MultiFetcher:()=>aE,PackageExtensionStatus:()=>dL,PackageExtensionType:()=>gL,Project:()=>St,ProjectLookup:()=>rU,Report:()=>Vs,ReportError:()=>Jt,SettingsType:()=>f1,StreamReport:()=>Ct,TAG_REGEXP:()=>DE,TelemetryManager:()=>rC,ThrowReport:()=>xi,VirtualFetcher:()=>lE,WindowsLinkType:()=>dx,Workspace:()=>tC,WorkspaceFetcher:()=>uE,WorkspaceResolver:()=>oi,YarnVersion:()=>On,execUtils:()=>Mr,folderUtils:()=>FP,formatUtils:()=>ye,hashUtils:()=>bn,httpUtils:()=>ln,miscUtils:()=>Ye,nodeUtils:()=>As,parseMessageName:()=>YD,scriptUtils:()=>sn,semverUtils:()=>Tr,stringifyMessageName:()=>Ku,structUtils:()=>Y,tgzUtils:()=>Vi,treeUtils:()=>Xo});var Ke=dt(()=>{Ax();RP();Yl();e0();cx();Gl();A1();vU();r0();Ks();cpe();dpe();ype();p1();p1();Epe();a_();Cpe();l_();sE();KD();mM();f0e();Jl();kx();p0e();I_();EM();CM();wd();w_();IU();yne()});var E0e=U((H3t,q1)=>{"use strict";var qut=process.env.TERM_PROGRAM==="Hyper",jut=process.platform==="win32",d0e=process.platform==="linux",b_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},m0e=Object.assign({},b_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),y0e=Object.assign({},b_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:d0e?"\u25B8":"\u276F",pointerSmall:d0e?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});q1.exports=jut&&!qut?m0e:y0e;Reflect.defineProperty(q1.exports,"common",{enumerable:!1,value:b_});Reflect.defineProperty(q1.exports,"windows",{enumerable:!1,value:m0e});Reflect.defineProperty(q1.exports,"other",{enumerable:!1,value:y0e})});var Vc=U((q3t,Q_)=>{"use strict";var Gut=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),Wut=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,C0e=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,C)=>{h.includes(A)&&(h=h.replace(p,A+u));let w=u+h+A;return C?w.replace(/\r*\n/g,`${A}$&${u}`):w},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` 210`+wa(r)}async persistLockfile(){let e=z.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await ae.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=Lg(r,o);a!==r&&(await ae.writeFilePromise(e,a),this.lockFileChecksum=g0e(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(v_))e.push(...u);let r=(0,Kb.default)(this,e),o=D_.default.serialize(r),a=Vs(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await ae.mkdirPromise(z.dirname(n),{recursive:!0}),await ae.writeFilePromise(n,await Vut(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await Jut(await ae.readFilePromise(a));n=D_.default.deserialize(u),this.installStateChecksum=Vs(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,Kb.default)(n,v_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,Kb.default)(n,v_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new xi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return;let o=new Set([".gitignore"]);if(!bM(e.cwd,this.cwd)||!await ae.existsPromise(e.cwd))return;let a=this.configuration.get("preferAggregateCacheInfo"),n=0,u=null;for(let A of await ae.readdirPromise(e.cwd)){if(o.has(A))continue;let p=z.resolve(e.cwd,A);e.markedFiles.has(p)||(u=A,e.immutable?r.reportError(56,`${Kt(this.configuration,z.basename(p),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(a?n+=1:r.reportInfo(19,`${Kt(this.configuration,z.basename(p),"magenta")} appears to be unused - removing`),await ae.removePromise(p)))}a&&n!==0&&r.reportInfo(19,n>1?`${n} packages appeared to be unused and were removed`:`${u} appeared to be unused and was removed`)}}});var aE,C0e=dt(()=>{bt();t0();dx();Kl();aE=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let o=this.getRegistryPath();this.isNew=!ae.existsSync(o),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"<none>")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){dd(this.values,e).add(r)}reportEnumerator(e,r){dd(this.enumerators,e).add(Vs(r))}reportHit(e,r="*"){let o=Ky(this.hits,e),a=Df(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return z.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=ae.readJsonSync(r)}catch{o={}}let a=Date.now(),n=this.configuration.get("telemetryInterval")*24*60*60*1e3,A=(o.lastUpdate??a+n+Math.floor(n*Math.random()))+n;if(A>a&&o.lastUpdate!=null)return;try{ae.mkdirSync(z.dirname(r),{recursive:!0}),ae.writeJsonSync(r,{lastUpdate:a})}catch{return}if(A>a||!o.blocks)return;let p=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,h=E=>Y4(p,E,{configuration:this.configuration}).catch(()=>{});for(let[E,w]of Object.entries(o.blocks??{})){if(Object.keys(w).length===0)continue;let v=w;v.userId=E,v.reportType="primary";for(let R of Object.keys(v.enumerators??{}))v.enumerators[R]=v.enumerators[R].length;h(v);let b=new Map,C=20;for(let[R,L]of Object.entries(v.values))L.length>0&&b.set(R,L.slice(0,C));for(;b.size>0;){let R={};R.userId=E,R.reportType="secondary",R.metrics={};for(let[L,_]of b)R.metrics[L]=_.shift(),_.length===0&&b.delete(L);h(R)}}}applyChanges(){let e=this.getRegistryPath(),r;try{r=ae.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,E]of this.hits.get(u))p[h]=(p[h]??0)+E}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}ae.mkdirSync(z.dirname(e),{recursive:!0}),ae.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var G1={};Yt(G1,{BuildType:()=>qb,Cache:()=>Ur,Configuration:()=>Xe,DEFAULT_LOCK_FILENAME:()=>eU,DEFAULT_RC_FILENAME:()=>$4,FormatType:()=>lce,InstallMode:()=>gl,LegacyMigrationResolver:()=>nE,LightReport:()=>pA,LinkType:()=>zy,LockfileResolver:()=>iE,Manifest:()=>Nt,MessageName:()=>dr,MultiFetcher:()=>fC,PackageExtensionStatus:()=>mL,PackageExtensionType:()=>dL,Project:()=>St,ProjectLookup:()=>nU,Report:()=>Js,ReportError:()=>Vt,SettingsType:()=>d1,StreamReport:()=>Et,TAG_REGEXP:()=>QC,TelemetryManager:()=>aE,ThrowReport:()=>xi,VirtualFetcher:()=>pC,WindowsLinkType:()=>Bx,Workspace:()=>oE,WorkspaceFetcher:()=>gC,WorkspaceResolver:()=>Gn,YarnVersion:()=>On,execUtils:()=>Mr,folderUtils:()=>UP,formatUtils:()=>ye,hashUtils:()=>bn,httpUtils:()=>ln,miscUtils:()=>Ye,nodeUtils:()=>As,parseMessageName:()=>$D,scriptUtils:()=>sn,semverUtils:()=>Tr,stringifyMessageName:()=>Vu,structUtils:()=>Y,tgzUtils:()=>Ji,treeUtils:()=>Zo});var Ke=dt(()=>{yx();_P();Jl();t0();dx();Kl();g1();DU();n0();Ks();gpe();wpe();vpe();m1();m1();Dpe();l_();Spe();c_();uC();eS();yM();y0e();Xl();Mx();C0e();w_();EM();IM();Dd();B_();wU();vne()});var D0e=U(($3t,Y1)=>{"use strict";var $ut=process.env.TERM_PROGRAM==="Hyper",eAt=process.platform==="win32",w0e=process.platform==="linux",Q_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},B0e=Object.assign({},Q_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),v0e=Object.assign({},Q_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:w0e?"\u25B8":"\u276F",pointerSmall:w0e?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Y1.exports=eAt&&!$ut?B0e:v0e;Reflect.defineProperty(Y1.exports,"common",{enumerable:!1,value:Q_});Reflect.defineProperty(Y1.exports,"windows",{enumerable:!1,value:B0e});Reflect.defineProperty(Y1.exports,"other",{enumerable:!1,value:v0e})});var Xc=U((e_t,k_)=>{"use strict";var tAt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),rAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,S0e=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(A)&&(h=h.replace(p,A+u));let w=u+h+A;return E?w.replace(/\r*\n/g,`${A}$&${u}`):w},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(`
211`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=C=>o(C,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=Wut,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!Gut(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=E0e(),t.define=a,t};Q_.exports=C0e();Q_.exports.create=C0e});var Fo=U($r=>{"use strict";var Yut=Object.prototype.toString,ic=Vc(),I0e=!1,k_=[],w0e={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};$r.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);$r.hasColor=t=>!!t&&ic.hasColor(t);var jb=$r.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);$r.nativeType=t=>Yut.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");$r.isAsyncFn=t=>$r.nativeType(t)==="asyncfunction";$r.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";$r.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;$r.scrollDown=(t=[])=>[...t.slice(1),t[0]];$r.scrollUp=(t=[])=>[t.pop(),...t];$r.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index<o.index?-1:0),e};$r.swap=(t,e,r)=>{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};$r.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};$r.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};$r.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` 211`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>o(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=rAt,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!tAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=D0e(),t.define=a,t};k_.exports=S0e();k_.exports.create=S0e});var Fo=U($r=>{"use strict";var nAt=Object.prototype.toString,ac=Xc(),P0e=!1,F_=[],x0e={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};$r.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);$r.hasColor=t=>!!t&&ac.hasColor(t);var zb=$r.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);$r.nativeType=t=>nAt.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");$r.isAsyncFn=t=>$r.nativeType(t)==="asyncfunction";$r.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";$r.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;$r.scrollDown=(t=[])=>[...t.slice(1),t[0]];$r.scrollUp=(t=[])=>[t.pop(),...t];$r.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index<o.index?-1:0),e};$r.swap=(t,e,r)=>{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};$r.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};$r.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};$r.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=`
212`+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(C=>C.replace(/\n$/,"")),e.padEnd&&(h=h.map(C=>C.padEnd(a," "))),e.padStart&&(h=h.map(C=>C.padStart(a," "))),r+h.join(o)};$r.unmute=t=>{let e=t.stack.find(o=>ic.keys.color.includes(o));return e?ic[e]:t.stack.find(o=>o.slice(2)==="bg")?ic[e.slice(2)]:o=>o};$r.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";$r.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o));if(e){let o=ic["bg"+$r.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?ic[r.slice(2).toLowerCase()]||t:ic.none};$r.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return ic[w0e[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=w0e[o];return a&&ic["bg"+$r.pascal(a)]||t}return ic.none};$r.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};$r.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!$r.isObject(A)&&n<u.length-1&&(A={}),o[a]=A},t);$r.get=(t={},e="",r)=>{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};$r.mixin=(t,e)=>{if(!jb(t))return e;if(!jb(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&jb(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);jb(a.value)?t[r]=$r.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};$r.merge=(...t)=>{let e={};for(let r of t)$r.mixin(e,r);return e};$r.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?$r.define(t,o,a.bind(e)):$r.define(t,o,a)}};$r.onExit=t=>{let e=(r,o)=>{I0e||(I0e=!0,k_.forEach(a=>a()),r===!0&&process.exit(128+o))};k_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),k_.push(t)};$r.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};$r.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var B0e=U(sC=>{"use strict";sC.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};sC.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};sC.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};sC.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};sC.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var S0e=U((W3t,D0e)=>{"use strict";var v0e=Ie("readline"),Kut=B0e(),Jut=/^(?:\x1b)([a-zA-Z0-9])$/,Vut=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,zut={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Xut(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function Zut(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var Gb=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` 212`+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(o)};$r.unmute=t=>{let e=t.stack.find(o=>ac.keys.color.includes(o));return e?ac[e]:t.stack.find(o=>o.slice(2)==="bg")?ac[e.slice(2)]:o=>o};$r.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";$r.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ac.keys.color.includes(o));if(e){let o=ac["bg"+$r.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?ac[r.slice(2).toLowerCase()]||t:ac.none};$r.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ac.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return ac[x0e[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=x0e[o];return a&&ac["bg"+$r.pascal(a)]||t}return ac.none};$r.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};$r.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!$r.isObject(A)&&n<u.length-1&&(A={}),o[a]=A},t);$r.get=(t={},e="",r)=>{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};$r.mixin=(t,e)=>{if(!zb(t))return e;if(!zb(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&zb(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);zb(a.value)?t[r]=$r.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};$r.merge=(...t)=>{let e={};for(let r of t)$r.mixin(e,r);return e};$r.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?$r.define(t,o,a.bind(e)):$r.define(t,o,a)}};$r.onExit=t=>{let e=(r,o)=>{P0e||(P0e=!0,F_.forEach(a=>a()),r===!0&&process.exit(128+o))};F_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),F_.push(t)};$r.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};$r.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var b0e=U(uE=>{"use strict";uE.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};uE.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};uE.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};uE.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};uE.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var F0e=U((n_t,k0e)=>{"use strict";var Q0e=Ie("readline"),iAt=b0e(),sAt=/^(?:\x1b)([a-zA-Z0-9])$/,oAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,aAt={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function lAt(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function cAt(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var Xb=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===`
213`)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=Jut.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=Vut.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=zut[n],o.shift=Xut(n)||o.shift,o.ctrl=Zut(n)||o.ctrl}return o};Gb.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=v0e.createInterface({terminal:!0,input:r});v0e.emitKeypressEvents(r,o);let a=(A,p)=>e(A,Gb(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};Gb.action=(t,e,r)=>{let o={...Kut,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};D0e.exports=Gb});var x0e=U((Y3t,P0e)=>{"use strict";P0e.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),$ut(t,r,o)}};function $ut(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var Q0e=U((K3t,b0e)=>{"use strict";var{define:eAt,width:tAt}=Fo(),F_=class{constructor(e){let r=e.options;eAt(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=tAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};b0e.exports=F_});var F0e=U((J3t,k0e)=>{"use strict";var R_=Fo(),Xs=Vc(),T_={default:Xs.noop,noop:Xs.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||R_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||R_.complement(this.primary)},primary:Xs.cyan,success:Xs.green,danger:Xs.magenta,strong:Xs.bold,warning:Xs.yellow,muted:Xs.dim,disabled:Xs.gray,dark:Xs.dim.gray,underline:Xs.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};T_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Xs.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Xs.visible=t.styles.visible);let e=R_.merge({},T_,t.styles);delete e.merge;for(let r of Object.keys(Xs))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});for(let r of Object.keys(Xs.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});return e};k0e.exports=T_});var T0e=U((V3t,R0e)=>{"use strict";var N_=process.platform==="win32",Wf=Vc(),rAt=Fo(),L_={...Wf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Wf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Wf.symbols.question,submitted:Wf.symbols.check,cancelled:Wf.symbols.cross},separator:{pending:Wf.symbols.pointerSmall,submitted:Wf.symbols.middot,cancelled:Wf.symbols.middot},radio:{off:N_?"( )":"\u25EF",on:N_?"(*)":"\u25C9",disabled:N_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};L_.merge=t=>{let e=rAt.merge({},Wf.symbols,L_,t.symbols);return delete e.merge,e};R0e.exports=L_});var L0e=U((z3t,N0e)=>{"use strict";var nAt=F0e(),iAt=T0e(),sAt=Fo();N0e.exports=t=>{t.options=sAt.merge({},t.options.theme,t.options),t.symbols=iAt.merge(t.options),t.styles=nAt.merge(t.options)}});var H0e=U((U0e,_0e)=>{"use strict";var O0e=process.env.TERM_PROGRAM==="Apple_Terminal",oAt=Vc(),O_=Fo(),zc=_0e.exports=U0e,Bi="\x1B[",M0e="\x07",M_=!1,B0=zc.code={bell:M0e,beep:M0e,beginning:`${Bi}G`,down:`${Bi}J`,esc:Bi,getPosition:`${Bi}6n`,hide:`${Bi}?25l`,line:`${Bi}2K`,lineEnd:`${Bi}K`,lineStart:`${Bi}1K`,restorePosition:Bi+(O0e?"8":"u"),savePosition:Bi+(O0e?"7":"s"),screen:`${Bi}2J`,show:`${Bi}?25h`,up:`${Bi}1J`},jd=zc.cursor={get hidden(){return M_},hide(){return M_=!0,B0.hide},show(){return M_=!1,B0.show},forward:(t=1)=>`${Bi}${t}C`,backward:(t=1)=>`${Bi}${t}D`,nextLine:(t=1)=>`${Bi}E`.repeat(t),prevLine:(t=1)=>`${Bi}F`.repeat(t),up:(t=1)=>t?`${Bi}${t}A`:"",down:(t=1)=>t?`${Bi}${t}B`:"",right:(t=1)=>t?`${Bi}${t}C`:"",left:(t=1)=>t?`${Bi}${t}D`:"",to(t,e){return e?`${Bi}${e+1};${t+1}H`:`${Bi}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?jd.left(-t):t>0?jd.right(t):"",r+=e<0?jd.up(-e):e>0?jd.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=O_.isPrimitive(o)?String(o):"",a=O_.isPrimitive(a)?String(a):"",A=O_.isPrimitive(A)?String(A):"",u){let p=zc.cursor.up(u)+zc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=zc.cursor.left(h)),p}if(A||e){let p=!a&&!!o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),zc.cursor.move(p)}}},U_=zc.erase={screen:B0.screen,up:B0.up,down:B0.down,line:B0.line,lineEnd:B0.lineEnd,lineStart:B0.lineStart,lines(t){let e="";for(let r=0;r<t;r++)e+=zc.erase.line+(r<t-1?zc.cursor.up(1):"");return t&&(e+=zc.code.beginning),e}};zc.clear=(t="",e=process.stdout.columns)=>{if(!e)return U_.line+jd.to(0);let r=n=>[...oAt.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(U_.line+jd.prevLine()).repeat(a-1)+U_.line+jd.to(0)}});var oC=U((X3t,j0e)=>{"use strict";var aAt=Ie("events"),q0e=Vc(),__=S0e(),lAt=x0e(),cAt=Q0e(),uAt=L0e(),Fa=Fo(),Gd=H0e(),j1=class extends aAt{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,uAt(this),lAt(this),this.state=new cAt(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=fAt(this.options.margin),this.setMaxListeners(0),AAt(this)}async keypress(e,r={}){this.keypressed=!0;let o=__.action(e,__(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Gd.code.beep)}cursorHide(){this.stdout.write(Gd.cursor.hide()),Fa.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Gd.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Gd.cursor.down(e)+Gd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},C=Gd.cursor.restore(h);C&&this.stdout.write(C)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=q0e.unstyle(o);let a=q0e.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` 213`)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=sAt.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=oAt.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=aAt[n],o.shift=lAt(n)||o.shift,o.ctrl=cAt(n)||o.ctrl}return o};Xb.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=Q0e.createInterface({terminal:!0,input:r});Q0e.emitKeypressEvents(r,o);let a=(A,p)=>e(A,Xb(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};Xb.action=(t,e,r)=>{let o={...iAt,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};k0e.exports=Xb});var T0e=U((i_t,R0e)=>{"use strict";R0e.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),uAt(t,r,o)}};function uAt(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var L0e=U((s_t,N0e)=>{"use strict";var{define:AAt,width:fAt}=Fo(),R_=class{constructor(e){let r=e.options;AAt(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=fAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};N0e.exports=R_});var M0e=U((o_t,O0e)=>{"use strict";var T_=Fo(),Xs=Xc(),N_={default:Xs.noop,noop:Xs.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||T_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||T_.complement(this.primary)},primary:Xs.cyan,success:Xs.green,danger:Xs.magenta,strong:Xs.bold,warning:Xs.yellow,muted:Xs.dim,disabled:Xs.gray,dark:Xs.dim.gray,underline:Xs.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};N_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Xs.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Xs.visible=t.styles.visible);let e=T_.merge({},N_,t.styles);delete e.merge;for(let r of Object.keys(Xs))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});for(let r of Object.keys(Xs.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});return e};O0e.exports=N_});var _0e=U((a_t,U0e)=>{"use strict";var L_=process.platform==="win32",Kf=Xc(),pAt=Fo(),O_={...Kf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Kf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Kf.symbols.question,submitted:Kf.symbols.check,cancelled:Kf.symbols.cross},separator:{pending:Kf.symbols.pointerSmall,submitted:Kf.symbols.middot,cancelled:Kf.symbols.middot},radio:{off:L_?"( )":"\u25EF",on:L_?"(*)":"\u25C9",disabled:L_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};O_.merge=t=>{let e=pAt.merge({},Kf.symbols,O_,t.symbols);return delete e.merge,e};U0e.exports=O_});var q0e=U((l_t,H0e)=>{"use strict";var hAt=M0e(),gAt=_0e(),dAt=Fo();H0e.exports=t=>{t.options=dAt.merge({},t.options.theme,t.options),t.symbols=gAt.merge(t.options),t.styles=hAt.merge(t.options)}});var K0e=U((W0e,Y0e)=>{"use strict";var j0e=process.env.TERM_PROGRAM==="Apple_Terminal",mAt=Xc(),M_=Fo(),Zc=Y0e.exports=W0e,Bi="\x1B[",G0e="\x07",U_=!1,v0=Zc.code={bell:G0e,beep:G0e,beginning:`${Bi}G`,down:`${Bi}J`,esc:Bi,getPosition:`${Bi}6n`,hide:`${Bi}?25l`,line:`${Bi}2K`,lineEnd:`${Bi}K`,lineStart:`${Bi}1K`,restorePosition:Bi+(j0e?"8":"u"),savePosition:Bi+(j0e?"7":"s"),screen:`${Bi}2J`,show:`${Bi}?25h`,up:`${Bi}1J`},Yd=Zc.cursor={get hidden(){return U_},hide(){return U_=!0,v0.hide},show(){return U_=!1,v0.show},forward:(t=1)=>`${Bi}${t}C`,backward:(t=1)=>`${Bi}${t}D`,nextLine:(t=1)=>`${Bi}E`.repeat(t),prevLine:(t=1)=>`${Bi}F`.repeat(t),up:(t=1)=>t?`${Bi}${t}A`:"",down:(t=1)=>t?`${Bi}${t}B`:"",right:(t=1)=>t?`${Bi}${t}C`:"",left:(t=1)=>t?`${Bi}${t}D`:"",to(t,e){return e?`${Bi}${e+1};${t+1}H`:`${Bi}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Yd.left(-t):t>0?Yd.right(t):"",r+=e<0?Yd.up(-e):e>0?Yd.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=M_.isPrimitive(o)?String(o):"",a=M_.isPrimitive(a)?String(a):"",A=M_.isPrimitive(A)?String(A):"",u){let p=Zc.cursor.up(u)+Zc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=Zc.cursor.left(h)),p}if(A||e){let p=!a&&!!o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),Zc.cursor.move(p)}}},__=Zc.erase={screen:v0.screen,up:v0.up,down:v0.down,line:v0.line,lineEnd:v0.lineEnd,lineStart:v0.lineStart,lines(t){let e="";for(let r=0;r<t;r++)e+=Zc.erase.line+(r<t-1?Zc.cursor.up(1):"");return t&&(e+=Zc.code.beginning),e}};Zc.clear=(t="",e=process.stdout.columns)=>{if(!e)return __.line+Yd.to(0);let r=n=>[...mAt.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(__.line+Yd.prevLine()).repeat(a-1)+__.line+Yd.to(0)}});var AE=U((c_t,J0e)=>{"use strict";var yAt=Ie("events"),V0e=Xc(),H_=F0e(),CAt=T0e(),EAt=L0e(),IAt=q0e(),Ra=Fo(),Kd=K0e(),K1=class extends yAt{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,IAt(this),CAt(this),this.state=new EAt(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=BAt(this.options.margin),this.setMaxListeners(0),wAt(this)}async keypress(e,r={}){this.keypressed=!0;let o=H_.action(e,H_(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Kd.code.beep)}cursorHide(){this.stdout.write(Kd.cursor.hide()),Ra.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Kd.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Kd.cursor.down(e)+Kd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},E=Kd.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=V0e.unstyle(o);let a=V0e.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(`
214`),h=p[0],C=p[p.length-1],v=(o+(r?" "+r:"")).length,b=v<h.length?h.slice(v+1):"";return{header:u,prompt:h,after:b,rest:p.slice(1),last:C}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let r=` 214`),h=p[0],E=p[p.length-1],v=(o+(r?" "+r:"")).length,b=v<h.length?h.slice(v+1):"";return{header:u,prompt:h,after:b,rest:p.slice(1),last:E}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let r=`
215`+this.symbols.pointer+" ";typeof e=="string"?r+=e.trim():r+="Invalid input",this.state.error=` 215`+this.symbols.pointer+" ";typeof e=="string"?r+=e.trim():r+="Invalid input",this.state.error=`
216`+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(Gd.cursor.down(e.rest.length)),this.write(` 216`+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(Kd.cursor.down(e.rest.length)),this.write(`
217`.repeat(r))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=__.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:o}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],C=r&&r[e]!=null?r[e]:await h;if(C==="")return C;let w=await this.resolve(C,n,r,o);return!w&&r&&r[e]?this.resolve(h,n,r,o):w}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Fa.isObject(e)&&(e=e[o.status]||e.pending),Fa.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Fa.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return Fa.isObject(n)&&(n=n[o.status]||n.pending),Fa.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Fa.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Fa.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Fa.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Fa.resolve(this,e,...r)}get base(){return j1.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Fa.height(this.stdout,25)}get width(){return this.options.columns||Fa.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function AAt(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function fAt(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` 217`.repeat(r))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=H_.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:o}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let w=await this.resolve(E,n,r,o);return!w&&r&&r[e]?this.resolve(h,n,r,o):w}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Ra.isObject(e)&&(e=e[o.status]||e.pending),Ra.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Ra.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return Ra.isObject(n)&&(n=n[o.status]||n.pending),Ra.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Ra.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Ra.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Ra.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Ra.resolve(this,e,...r)}get base(){return K1.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ra.height(this.stdout,25)}get width(){return this.options.columns||Ra.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function wAt(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function BAt(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?`
218`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}j0e.exports=j1});var Y0e=U((Z3t,W0e)=>{"use strict";var pAt=Fo(),G0e={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return G0e.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};W0e.exports=(t,e={})=>{let r=pAt.merge({},G0e,e.roles);return r[t]||r.default}});var G1=U(($3t,V0e)=>{"use strict";var hAt=Vc(),gAt=oC(),dAt=Y0e(),Wb=Fo(),{reorder:H_,scrollUp:mAt,scrollDown:yAt,isObject:K0e,swap:EAt}=Wb,q_=class extends gAt{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");K0e(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p<u.length;p++){let h=u[p]=await this.toChoice(u[p],a++,A);o.push(h),h.choices&&await n(h.choices,h)}return o};return n(e,r).then(u=>(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=dAt(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Wb.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,hAt.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return J0e(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=H_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),C=A.filter(w=>!h.includes(w));this.choices=h.concat(C)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=H_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=H_(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=mAt(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=yAt(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){EAt(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if(K0e(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=Wb.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return J0e(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function J0e(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Wb.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}V0e.exports=q_});var v0=U((e_t,z0e)=>{"use strict";var CAt=G1(),j_=Fo(),G_=class extends CAt{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!j_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!j_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(j_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` 218`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}J0e.exports=K1});var Z0e=U((u_t,X0e)=>{"use strict";var vAt=Fo(),z0e={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return z0e.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};X0e.exports=(t,e={})=>{let r=vAt.merge({},z0e,e.roles);return r[t]||r.default}});var V1=U((A_t,the)=>{"use strict";var DAt=Xc(),SAt=AE(),PAt=Z0e(),Zb=Fo(),{reorder:q_,scrollUp:xAt,scrollDown:bAt,isObject:$0e,swap:QAt}=Zb,j_=class extends SAt{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");$0e(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p<u.length;p++){let h=u[p]=await this.toChoice(u[p],a++,A);o.push(h),h.choices&&await n(h.choices,h)}return o};return n(e,r).then(u=>(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=PAt(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Zb.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,DAt.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return ehe(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=q_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),E=A.filter(w=>!h.includes(w));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=q_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=q_(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=xAt(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=bAt(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){QAt(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if($0e(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=Zb.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return ehe(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function ehe(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Zb.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}the.exports=j_});var D0=U((f_t,rhe)=>{"use strict";var kAt=V1(),G_=Fo(),W_=class extends kAt{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!G_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!G_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(G_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(`
219`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` 219`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(`
220`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),C=await this.renderChoices(),w=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!C.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,C,w].filter(Boolean).join(` 220`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,E,w].filter(Boolean).join(`
221`)),this.write(this.margin[2]),this.restore()}};z0e.exports=G_});var Z0e=U((t_t,X0e)=>{"use strict";var IAt=v0(),wAt=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},W_=class extends IAt{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=wAt(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};X0e.exports=W_});var K_=U((r_t,$0e)=>{"use strict";var Y_=Fo();$0e.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=Y_.inverse(t.styles.primary),h=R=>p(t.styles.black(R)),C=r,w=" ",v=h(w);if(t.blink&&t.blink.off===!0&&(h=R=>R,v=""),n&&a===0&&o===""&&r==="")return h(w);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=Y_.isPrimitive(o)?`${o}`:"",r=Y_.isPrimitive(r)?`${r}`:"";let b=o&&o.startsWith(r)&&o!==r,E=b?h(o[r.length]):v;if(a!==r.length&&n===!0&&(C=r.slice(0,a)+h(r[a])+r.slice(a+1),E=""),n===!1&&(E=""),b){let R=t.styles.unstyle(C+E);return C+E+A(o.slice(R.length))}return C+E}});var Yb=U((n_t,ehe)=>{"use strict";var BAt=Vc(),vAt=v0(),DAt=K_(),J_=class extends vAt{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:C,submitted:w,primary:v,danger:b}=a,E=p,R=this.index===r,L=e.validate||(()=>!0),_=await this.choiceSeparator(e,r),J=e.message;this.align==="right"&&(J=J.padStart(this.longest+1," ")),this.align==="left"&&(J=J.padEnd(this.longest+1," "));let re=this.values[A]=h||u,oe=h?"success":"dark";await L.call(e,re,this.state)!==!0&&(oe="danger");let pe=a[oe],he=pe(await this.indicator(e,r))+(e.pad||""),ve=this.indent(e),ge=()=>[ve,he,J+_,h,E].filter(Boolean).join(" ");if(o.submitted)return J=BAt.unstyle(J),h=w(h),E="",ge();if(e.format)h=await e.format.call(this,h,e,r);else{let le=this.styles.muted;h=DAt(this,{input:h,initial:u,pos:n,showCursor:R,color:le})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,re,e,r)),R&&(J=v(J)),e.error?h+=(h?" ":"")+b(e.error.trim()):e.hint&&(h+=(h?" ":"")+C(e.hint.trim())),ge()}async submit(){return this.value=this.values,super.base.submit.call(this)}};ehe.exports=J_});var V_=U((i_t,rhe)=>{"use strict";var SAt=Yb(),PAt=()=>{throw new Error("expected prompt to have a custom authenticate method")},the=(t=PAt)=>{class e extends SAt{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return the(o)}}return e};rhe.exports=the()});var she=U((s_t,ihe)=>{"use strict";var xAt=V_();function bAt(t,e){return t.username===this.options.username&&t.password===this.options.password}var nhe=(t=bAt)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends xAt.create(t){constructor(a){super({...a,choices:e})}static create(a){return nhe(a)}}return r};ihe.exports=nhe()});var Kb=U((o_t,ohe)=>{"use strict";var QAt=oC(),{isPrimitive:kAt,hasColor:FAt}=Fo(),z_=class extends QAt{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return kAt(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return FAt(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),C=await this.format(h),w=await this.error()||await this.hint(),v=await this.footer();w&&!A.includes(w)&&(C+=" "+w),A+=" "+C,this.clear(r),this.write([p,A,v].filter(Boolean).join(` 221`)),this.write(this.margin[2]),this.restore()}};rhe.exports=W_});var ihe=U((p_t,nhe)=>{"use strict";var FAt=D0(),RAt=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},Y_=class extends FAt{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=RAt(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};nhe.exports=Y_});var V_=U((h_t,she)=>{"use strict";var K_=Fo();she.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=K_.inverse(t.styles.primary),h=R=>p(t.styles.black(R)),E=r,w=" ",v=h(w);if(t.blink&&t.blink.off===!0&&(h=R=>R,v=""),n&&a===0&&o===""&&r==="")return h(w);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=K_.isPrimitive(o)?`${o}`:"",r=K_.isPrimitive(r)?`${r}`:"";let b=o&&o.startsWith(r)&&o!==r,C=b?h(o[r.length]):v;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),C=""),n===!1&&(C=""),b){let R=t.styles.unstyle(E+C);return E+C+A(o.slice(R.length))}return E+C}});var $b=U((g_t,ohe)=>{"use strict";var TAt=Xc(),NAt=D0(),LAt=V_(),J_=class extends NAt{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:E,submitted:w,primary:v,danger:b}=a,C=p,R=this.index===r,L=e.validate||(()=>!0),_=await this.choiceSeparator(e,r),V=e.message;this.align==="right"&&(V=V.padStart(this.longest+1," ")),this.align==="left"&&(V=V.padEnd(this.longest+1," "));let re=this.values[A]=h||u,oe=h?"success":"dark";await L.call(e,re,this.state)!==!0&&(oe="danger");let pe=a[oe],he=pe(await this.indicator(e,r))+(e.pad||""),ve=this.indent(e),ge=()=>[ve,he,V+_,h,C].filter(Boolean).join(" ");if(o.submitted)return V=TAt.unstyle(V),h=w(h),C="",ge();if(e.format)h=await e.format.call(this,h,e,r);else{let le=this.styles.muted;h=LAt(this,{input:h,initial:u,pos:n,showCursor:R,color:le})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,re,e,r)),R&&(V=v(V)),e.error?h+=(h?" ":"")+b(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),ge()}async submit(){return this.value=this.values,super.base.submit.call(this)}};ohe.exports=J_});var z_=U((d_t,lhe)=>{"use strict";var OAt=$b(),MAt=()=>{throw new Error("expected prompt to have a custom authenticate method")},ahe=(t=MAt)=>{class e extends OAt{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return ahe(o)}}return e};lhe.exports=ahe()});var Ahe=U((m_t,uhe)=>{"use strict";var UAt=z_();function _At(t,e){return t.username===this.options.username&&t.password===this.options.password}var che=(t=_At)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends UAt.create(t){constructor(a){super({...a,choices:e})}static create(a){return che(a)}}return r};uhe.exports=che()});var eQ=U((y_t,fhe)=>{"use strict";var HAt=AE(),{isPrimitive:qAt,hasColor:jAt}=Fo(),X_=class extends HAt{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return qAt(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return jAt(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),w=await this.error()||await this.hint(),v=await this.footer();w&&!A.includes(w)&&(E+=" "+w),A+=" "+E,this.clear(r),this.write([p,A,v].filter(Boolean).join(`
222`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};ohe.exports=z_});var lhe=U((a_t,ahe)=>{"use strict";var RAt=Kb(),X_=class extends RAt{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};ahe.exports=X_});var uhe=U((l_t,che)=>{"use strict";var TAt=v0(),NAt=Yb(),aC=NAt.prototype,Z_=class extends TAt{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():aC.dispatch.call(this,e,r)}append(e,r){return aC.append.call(this,e,r)}delete(e,r){return aC.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?aC.next.call(this):super.next()}prev(){return this.focused.editable?aC.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?aC.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};che.exports=Z_});var Wd=U((c_t,Ahe)=>{"use strict";var LAt=oC(),OAt=K_(),{isPrimitive:MAt}=Fo(),$_=class extends LAt{constructor(e){super(e),this.initial=MAt(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` 222`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};fhe.exports=X_});var hhe=U((C_t,phe)=>{"use strict";var GAt=eQ(),Z_=class extends GAt{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};phe.exports=Z_});var dhe=U((E_t,ghe)=>{"use strict";var WAt=D0(),YAt=$b(),fE=YAt.prototype,$_=class extends WAt{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():fE.dispatch.call(this,e,r)}append(e,r){return fE.append.call(this,e,r)}delete(e,r){return fE.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?fE.next.call(this):super.next()}prev(){return this.focused.editable?fE.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?fE.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};ghe.exports=$_});var Vd=U((I_t,mhe)=>{"use strict";var KAt=AE(),VAt=V_(),{isPrimitive:JAt}=Fo(),e8=class extends KAt{constructor(e){super(e),this.initial=JAt(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(`
223`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):OAt(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` 223`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):VAt(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(`
224`)),this.restore()}};Ahe.exports=$_});var phe=U((u_t,fhe)=>{"use strict";var UAt=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),Jb=t=>UAt(t).filter(Boolean);fhe.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:Jb([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:Jb([...n,r]),present:u};case"save":return{past:Jb([...o,r]),present:""};case"remove":return u=Jb(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var t8=U((A_t,ghe)=>{"use strict";var _At=Wd(),hhe=phe(),e8=class extends _At{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=hhe(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=hhe("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};ghe.exports=e8});var mhe=U((f_t,dhe)=>{"use strict";var HAt=Wd(),r8=class extends HAt{format(){return""}};dhe.exports=r8});var Ehe=U((p_t,yhe)=>{"use strict";var qAt=Wd(),n8=class extends qAt{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};yhe.exports=n8});var Ihe=U((h_t,Che)=>{"use strict";var jAt=v0(),i8=class extends jAt{constructor(e){super({...e,multiple:!0})}};Che.exports=i8});var o8=U((g_t,whe)=>{"use strict";var GAt=Wd(),s8=class extends GAt{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return o<this.min-r?this.alert():(this.input=`${o-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};whe.exports=s8});var vhe=U((d_t,Bhe)=>{Bhe.exports=o8()});var She=U((m_t,Dhe)=>{"use strict";var WAt=Wd(),a8=class extends WAt{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};Dhe.exports=a8});var bhe=U((y_t,xhe)=>{"use strict";var YAt=Vc(),KAt=G1(),Phe=Fo(),l8=class extends KAt{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` 224`)),this.restore()}};mhe.exports=e8});var Che=U((w_t,yhe)=>{"use strict";var zAt=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),tQ=t=>zAt(t).filter(Boolean);yhe.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:tQ([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:tQ([...n,r]),present:u};case"save":return{past:tQ([...o,r]),present:""};case"remove":return u=tQ(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var r8=U((B_t,Ihe)=>{"use strict";var XAt=Vd(),Ehe=Che(),t8=class extends XAt{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Ehe(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Ehe("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Ihe.exports=t8});var Bhe=U((v_t,whe)=>{"use strict";var ZAt=Vd(),n8=class extends ZAt{format(){return""}};whe.exports=n8});var Dhe=U((D_t,vhe)=>{"use strict";var $At=Vd(),i8=class extends $At{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};vhe.exports=i8});var Phe=U((S_t,She)=>{"use strict";var eft=D0(),s8=class extends eft{constructor(e){super({...e,multiple:!0})}};She.exports=s8});var a8=U((P_t,xhe)=>{"use strict";var tft=Vd(),o8=class extends tft{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return o<this.min-r?this.alert():(this.input=`${o-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};xhe.exports=o8});var Qhe=U((x_t,bhe)=>{bhe.exports=a8()});var Fhe=U((b_t,khe)=>{"use strict";var rft=Vd(),l8=class extends rft{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};khe.exports=l8});var Nhe=U((Q_t,The)=>{"use strict";var nft=Xc(),ift=V1(),Rhe=Fo(),c8=class extends ift{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`
225 `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o<this.scale.length;o++)r.scale.push({index:o})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}heading(e,r,o){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` 225 `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o<this.scale.length;o++)r.scale.push({index:o})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}heading(e,r,o){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(`
226`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!Phe.hasColor(n)&&(n=this.styles.muted(n));let u=E=>this.margin[3]+E.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),C=await this.renderScale(e,r),w=this.margin[1]+this.margin[3];this.scaleLength=YAt.unstyle(C).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-w.length);let b=Phe.wordWrap(h,{width:this.widths[0],newline:A}).split(` 226`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!Rhe.hasColor(n)&&(n=this.styles.muted(n));let u=C=>this.margin[3]+C.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),w=this.margin[1]+this.margin[3];this.scaleLength=nft.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-w.length);let b=Rhe.wordWrap(h,{width:this.widths[0],newline:A}).split(`
227`).map(E=>u(E)+this.margin[1]);return o&&(C=this.styles.info(C),b=b.map(E=>this.styles.info(E))),b[0]+=C,this.linebreak&&b.push(""),[p+a,b.join(` 227`).map(C=>u(C)+this.margin[1]);return o&&(E=this.styles.info(E),b=b.map(C=>this.styles.info(C))),b[0]+=E,this.linebreak&&b.push(""),[p+a,b.join(`
228`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` 228`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(`
229`)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),C=await this.error()||await this.hint(),w=await this.renderChoices(),v=await this.footer(),b=this.emptyError;p&&(u+=p),C&&!u.includes(C)&&(u+=" "+C),e&&!p&&!w.trim()&&this.multiple&&b!=null&&(u+=this.styles.danger(b)),this.clear(r),this.write([A,u,h,w,v].filter(Boolean).join(` 229`)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),w=await this.renderChoices(),v=await this.footer(),b=this.emptyError;p&&(u+=p),E&&!u.includes(E)&&(u+=" "+E),e&&!p&&!w.trim()&&this.multiple&&b!=null&&(u+=this.styles.danger(b)),this.clear(r),this.write([A,u,h,w,v].filter(Boolean).join(`
230`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};xhe.exports=l8});var Fhe=U((E_t,khe)=>{"use strict";var Qhe=Vc(),JAt=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",u8=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=JAt(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},VAt=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let C=-1,w=()=>n[++C],v=()=>n[C+1],b=E=>{E.line=h,u.push(E)};for(b({type:"bos",value:""});C<n.length-1;){let E=w();if(/^[^\S\n ]$/.test(E)){b({type:"text",value:E});continue}if(E===` 230`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};The.exports=c8});var Mhe=U((k_t,Ohe)=>{"use strict";var Lhe=Xc(),sft=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",A8=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=sft(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},oft=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,w=()=>n[++E],v=()=>n[E+1],b=C=>{C.line=h,u.push(C)};for(b({type:"bos",value:""});E<n.length-1;){let C=w();if(/^[^\S\n ]$/.test(C)){b({type:"text",value:C});continue}if(C===`
231`){b({type:"newline",value:E}),h++;continue}if(E==="\\"){E+=w(),b({type:"text",value:E});continue}if((E==="$"||E==="#"||E==="{")&&v()==="{"){let L=w();E+=L;let _={type:"template",open:E,inner:"",close:"",value:E},J;for(;J=w();){if(J==="}"){v()==="}"&&(J+=w()),_.value+=J,_.close=J;break}J===":"?(_.initial="",_.key=_.inner):_.initial!==void 0&&(_.initial+=J),_.value+=J,_.inner+=J}_.template=_.open+(_.initial||_.inner)+_.close,_.key=_.key||_.inner,e.hasOwnProperty(_.key)&&(_.initial=e[_.key]),_=r(_),b(_),p.push(_.key),o.add(_.key);let re=A.find(oe=>oe.name===_.key);_.field=a.find(oe=>oe.name===_.key),re||(re=new u8(_),A.push(re)),re.lines.push(_.line-1);continue}let R=u[u.length-1];R.type==="text"&&R.line===h?R.value+=E:b({type:"text",value:E})}return b({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};khe.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await VAt(e,o),A=c8("result",t,e),p=c8("format",t,e),h=c8("validate",t,e,!0),C=t.isValue.bind(t);return async(w={},v=!1)=>{let b=0;w.required=r,w.items=n,w.keys=u,w.output="";let E=async(J,re,oe,pe)=>{let he=await h(J,re,oe,pe);return he===!1?"Invalid field "+oe.name:he};for(let J of a){let re=J.value,oe=J.key;if(J.type!=="template"){re&&(w.output+=re);continue}if(J.type==="template"){let pe=n.find(Pe=>Pe.name===oe);e.required===!0&&w.required.add(pe.name);let he=[pe.input,w.values[pe.value],pe.value,re].find(C),ge=(pe.field||{}).message||J.inner;if(v){let Pe=await E(w.values[oe],w,pe,b);if(Pe&&typeof Pe=="string"||Pe===!1){w.invalid.set(oe,Pe);continue}w.invalid.delete(oe);let g=await A(w.values[oe],w,pe,b);w.output+=Qhe.unstyle(g);continue}pe.placeholder=!1;let le=re;re=await p(re,w,pe,b),he!==re?(w.values[oe]=he,re=t.styles.typing(he),w.missing.delete(ge)):(w.values[oe]=void 0,he=`<${ge}>`,re=t.styles.primary(he),pe.placeholder=!0,w.required.has(oe)&&w.missing.add(ge)),w.missing.has(ge)&&w.validating&&(re=t.styles.warning(he)),w.invalid.has(oe)&&w.validating&&(re=t.styles.danger(he)),b===w.index&&(le!==re?re=t.styles.underline(re):re=t.styles.heading(Qhe.unstyle(re))),b++}re&&(w.output+=re)}let R=w.output.split(` 231`){b({type:"newline",value:C}),h++;continue}if(C==="\\"){C+=w(),b({type:"text",value:C});continue}if((C==="$"||C==="#"||C==="{")&&v()==="{"){let L=w();C+=L;let _={type:"template",open:C,inner:"",close:"",value:C},V;for(;V=w();){if(V==="}"){v()==="}"&&(V+=w()),_.value+=V,_.close=V;break}V===":"?(_.initial="",_.key=_.inner):_.initial!==void 0&&(_.initial+=V),_.value+=V,_.inner+=V}_.template=_.open+(_.initial||_.inner)+_.close,_.key=_.key||_.inner,e.hasOwnProperty(_.key)&&(_.initial=e[_.key]),_=r(_),b(_),p.push(_.key),o.add(_.key);let re=A.find(oe=>oe.name===_.key);_.field=a.find(oe=>oe.name===_.key),re||(re=new A8(_),A.push(re)),re.lines.push(_.line-1);continue}let R=u[u.length-1];R.type==="text"&&R.line===h?R.value+=C:b({type:"text",value:C})}return b({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};Ohe.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await oft(e,o),A=u8("result",t,e),p=u8("format",t,e),h=u8("validate",t,e,!0),E=t.isValue.bind(t);return async(w={},v=!1)=>{let b=0;w.required=r,w.items=n,w.keys=u,w.output="";let C=async(V,re,oe,pe)=>{let he=await h(V,re,oe,pe);return he===!1?"Invalid field "+oe.name:he};for(let V of a){let re=V.value,oe=V.key;if(V.type!=="template"){re&&(w.output+=re);continue}if(V.type==="template"){let pe=n.find(Pe=>Pe.name===oe);e.required===!0&&w.required.add(pe.name);let he=[pe.input,w.values[pe.value],pe.value,re].find(E),ge=(pe.field||{}).message||V.inner;if(v){let Pe=await C(w.values[oe],w,pe,b);if(Pe&&typeof Pe=="string"||Pe===!1){w.invalid.set(oe,Pe);continue}w.invalid.delete(oe);let g=await A(w.values[oe],w,pe,b);w.output+=Lhe.unstyle(g);continue}pe.placeholder=!1;let le=re;re=await p(re,w,pe,b),he!==re?(w.values[oe]=he,re=t.styles.typing(he),w.missing.delete(ge)):(w.values[oe]=void 0,he=`<${ge}>`,re=t.styles.primary(he),pe.placeholder=!0,w.required.has(oe)&&w.missing.add(ge)),w.missing.has(ge)&&w.validating&&(re=t.styles.warning(he)),w.invalid.has(oe)&&w.validating&&(re=t.styles.danger(he)),b===w.index&&(le!==re?re=t.styles.underline(re):re=t.styles.heading(Lhe.unstyle(re))),b++}re&&(w.output+=re)}let R=w.output.split(`
232`).map(J=>" "+J),L=n.length,_=0;for(let J of n)w.invalid.has(J.name)&&J.lines.forEach(re=>{R[re][0]===" "&&(R[re]=w.styles.danger(w.symbols.bullet)+R[re].slice(1))}),t.isValue(w.values[J.name])&&_++;return w.completed=(_/L*100).toFixed(0),w.output=R.join(` 232`).map(V=>" "+V),L=n.length,_=0;for(let V of n)w.invalid.has(V.name)&&V.lines.forEach(re=>{R[re][0]===" "&&(R[re]=w.styles.danger(w.symbols.bullet)+R[re].slice(1))}),t.isValue(w.values[V.name])&&_++;return w.completed=(_/L*100).toFixed(0),w.output=R.join(`
233`),w.output}};function c8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var The=U((C_t,Rhe)=>{"use strict";var zAt=Vc(),XAt=Fhe(),ZAt=oC(),A8=class extends ZAt{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await XAt(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` 233`),w.output}};function u8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var _he=U((F_t,Uhe)=>{"use strict";var aft=Xc(),lft=Mhe(),cft=AE(),f8=class extends cft{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await lft(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,`
234`].find(J=>J!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let C=await this.header(),w=await this.error()||"",v=await this.hint()||"",b=o?"":await this.interpolate(this.state),E=this.state.key=r[e]||"",R=await this.format(E),L=await this.footer();R&&(h+=" "+R),v&&!R&&this.state.completed===0&&(h+=" "+v),this.clear(a);let _=[C,h,b,L,w.trim()];this.write(_.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} 234`].find(V=>V!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),w=await this.error()||"",v=await this.hint()||"",b=o?"":await this.interpolate(this.state),C=this.state.key=r[e]||"",R=await this.format(C),L=await this.footer();R&&(h+=" "+R),v&&!R&&this.state.completed===0&&(h+=" "+v),this.clear(a);let _=[E,h,b,L,w.trim()];this.write(_.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h}
235`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=zAt.unstyle(o).split(` 235`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=aft.unstyle(o).split(`
236`).map(A=>A.slice(1)).join(` 236`).map(A=>A.slice(1)).join(`
237`);return this.value={values:a,result:u},super.submit()}};Rhe.exports=A8});var Lhe=U((I_t,Nhe)=>{"use strict";var $At="(Use <shift>+<up/down> to sort)",eft=v0(),f8=class extends eft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,$At].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Nhe.exports=f8});var Mhe=U((w_t,Ohe)=>{"use strict";var tft=G1(),p8=class extends tft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` 237`);return this.value={values:a,result:u},super.submit()}};Uhe.exports=f8});var qhe=U((R_t,Hhe)=>{"use strict";var uft="(Use <shift>+<up/down> to sort)",Aft=D0(),p8=class extends Aft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,uft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Hhe.exports=p8});var Ghe=U((T_t,jhe)=>{"use strict";var fft=V1(),h8=class extends fft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(`
238 `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=rft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=re=>(re?this.styles.success("\u25C9"):"\u25EF")+u,C=r+1+".",w=o?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),b=this.indent(e),E=b+e.scale.map((re,oe)=>h(oe===e.scaleIdx)).join(A),R=re=>re===e.scaleIdx?w(re):re,L=b+e.scale.map((re,oe)=>R(oe)).join(p),_=()=>[C,v].filter(Boolean).join(" "),J=()=>[_(),E,L," "].filter(Boolean).join(` 238 `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=pft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=re=>(re?this.styles.success("\u25C9"):"\u25EF")+u,E=r+1+".",w=o?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),b=this.indent(e),C=b+e.scale.map((re,oe)=>h(oe===e.scaleIdx)).join(A),R=re=>re===e.scaleIdx?w(re):re,L=b+e.scale.map((re,oe)=>R(oe)).join(p),_=()=>[E,v].filter(Boolean).join(" "),V=()=>[_(),C,L," "].filter(Boolean).join(`
239`);return o&&(E=this.styles.cyan(E),L=this.styles.cyan(L)),J()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` 239`);return o&&(C=this.styles.cyan(C),L=this.styles.cyan(L)),V()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(`
240`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),C=await this.renderChoices(),w=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!C&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,C,w].filter(Boolean).join(` 240`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,E,w].filter(Boolean).join(`
241`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function rft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o<t+1;o++)r.push({i:o,selected:!1});return r}Ohe.exports=p8});var _he=U((B_t,Uhe)=>{Uhe.exports=t8()});var qhe=U((v_t,Hhe)=>{"use strict";var nft=Kb(),h8=class extends nft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` 241`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function pft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o<t+1;o++)r.push({i:o,selected:!1});return r}jhe.exports=h8});var Yhe=U((N_t,Whe)=>{Whe.exports=r8()});var Vhe=U((L_t,Khe)=>{"use strict";var hft=eQ(),g8=class extends hft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(`
242`)),this.write(this.margin[2]),this.restore()}};Hhe.exports=h8});var Ghe=U((D_t,jhe)=>{"use strict";var ift=v0(),g8=class extends ift{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};jhe.exports=g8});var Yhe=U(d8=>{"use strict";var Whe=Fo(),ps=(t,e)=>{Whe.defineExport(d8,t,e),Whe.defineExport(d8,t.toLowerCase(),e)};ps("AutoComplete",()=>Z0e());ps("BasicAuth",()=>she());ps("Confirm",()=>lhe());ps("Editable",()=>uhe());ps("Form",()=>Yb());ps("Input",()=>t8());ps("Invisible",()=>mhe());ps("List",()=>Ehe());ps("MultiSelect",()=>Ihe());ps("Numeral",()=>vhe());ps("Password",()=>She());ps("Scale",()=>bhe());ps("Select",()=>v0());ps("Snippet",()=>The());ps("Sort",()=>Lhe());ps("Survey",()=>Mhe());ps("Text",()=>_he());ps("Toggle",()=>qhe());ps("Quiz",()=>Ghe())});var Jhe=U((P_t,Khe)=>{Khe.exports={ArrayPrompt:G1(),AuthPrompt:V_(),BooleanPrompt:Kb(),NumberPrompt:o8(),StringPrompt:Wd()}});var Y1=U((x_t,zhe)=>{"use strict";var Vhe=Ie("assert"),y8=Ie("events"),D0=Fo(),Xc=class extends y8{constructor(e,r){super(),this.options=D0.merge({},e),this.answers={...r}}register(e,r){if(D0.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}Vhe.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(D0.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=D0.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=D0;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];Vhe(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",C=>{this.emit("answer",a,C,A),n(this.answers,a,C)});let h=A.emit.bind(A);return A.emit=(...C)=>(this.emit.call(this,...C),h(...C)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||oC()}static get prompts(){return Yhe()}static get types(){return Jhe()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return D0.mixinEmitter(e,new y8),e}};D0.mixinEmitter(Xc,new y8);var m8=Xc.prompts;for(let t of Object.keys(m8)){let e=t.toLowerCase(),r=o=>new m8[t](o).run();Xc.prompt[e]=r,Xc[e]=r,Xc[t]||Reflect.defineProperty(Xc,t,{get:()=>m8[t]})}var W1=t=>{D0.defineExport(Xc,t,()=>Xc.types[t])};W1("ArrayPrompt");W1("AuthPrompt");W1("BooleanPrompt");W1("NumberPrompt");W1("StringPrompt");zhe.exports=Xc});var z1=U((u8t,nge)=>{var uft=Ob();function Aft(t,e,r){var o=t==null?void 0:uft(t,e);return o===void 0?r:o}nge.exports=Aft});var oge=U((d8t,sge)=>{function fft(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}sge.exports=fft});var lge=U((m8t,age)=>{var pft=fd(),hft=RS();function gft(t,e){return t&&pft(e,hft(e),t)}age.exports=gft});var uge=U((y8t,cge)=>{var dft=fd(),mft=_y();function yft(t,e){return t&&dft(e,mft(e),t)}cge.exports=yft});var fge=U((E8t,Age)=>{var Eft=fd(),Cft=SS();function Ift(t,e){return Eft(t,Cft(t),e)}Age.exports=Ift});var v8=U((C8t,pge)=>{var wft=DS(),Bft=MS(),vft=SS(),Dft=UN(),Sft=Object.getOwnPropertySymbols,Pft=Sft?function(t){for(var e=[];t;)wft(e,vft(t)),t=Bft(t);return e}:Dft;pge.exports=Pft});var gge=U((I8t,hge)=>{var xft=fd(),bft=v8();function Qft(t,e){return xft(t,bft(t),e)}hge.exports=Qft});var D8=U((w8t,dge)=>{var kft=MN(),Fft=v8(),Rft=_y();function Tft(t){return kft(t,Rft,Fft)}dge.exports=Tft});var yge=U((B8t,mge)=>{var Nft=Object.prototype,Lft=Nft.hasOwnProperty;function Oft(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Lft.call(t,"index")&&(r.index=t.index,r.input=t.input),r}mge.exports=Oft});var Cge=U((v8t,Ege)=>{var Mft=LS();function Uft(t,e){var r=e?Mft(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Ege.exports=Uft});var wge=U((D8t,Ige)=>{var _ft=/\w*$/;function Hft(t){var e=new t.constructor(t.source,_ft.exec(t));return e.lastIndex=t.lastIndex,e}Ige.exports=Hft});var Pge=U((S8t,Sge)=>{var Bge=cd(),vge=Bge?Bge.prototype:void 0,Dge=vge?vge.valueOf:void 0;function qft(t){return Dge?Object(Dge.call(t)):{}}Sge.exports=qft});var bge=U((P8t,xge)=>{var jft=LS(),Gft=Cge(),Wft=wge(),Yft=Pge(),Kft=$N(),Jft="[object Boolean]",Vft="[object Date]",zft="[object Map]",Xft="[object Number]",Zft="[object RegExp]",$ft="[object Set]",ept="[object String]",tpt="[object Symbol]",rpt="[object ArrayBuffer]",npt="[object DataView]",ipt="[object Float32Array]",spt="[object Float64Array]",opt="[object Int8Array]",apt="[object Int16Array]",lpt="[object Int32Array]",cpt="[object Uint8Array]",upt="[object Uint8ClampedArray]",Apt="[object Uint16Array]",fpt="[object Uint32Array]";function ppt(t,e,r){var o=t.constructor;switch(e){case rpt:return jft(t);case Jft:case Vft:return new o(+t);case npt:return Gft(t,r);case ipt:case spt:case opt:case apt:case lpt:case cpt:case upt:case Apt:case fpt:return Kft(t,r);case zft:return new o;case Xft:case ept:return new o(t);case Zft:return Wft(t);case $ft:return new o;case tpt:return Yft(t)}}xge.exports=ppt});var kge=U((x8t,Qge)=>{var hpt=Qw(),gpt=zu(),dpt="[object Map]";function mpt(t){return gpt(t)&&hpt(t)==dpt}Qge.exports=mpt});var Nge=U((b8t,Tge)=>{var ypt=kge(),Ept=xS(),Fge=bS(),Rge=Fge&&Fge.isMap,Cpt=Rge?Ept(Rge):ypt;Tge.exports=Cpt});var Oge=U((Q8t,Lge)=>{var Ipt=Qw(),wpt=zu(),Bpt="[object Set]";function vpt(t){return wpt(t)&&Ipt(t)==Bpt}Lge.exports=vpt});var Hge=U((k8t,_ge)=>{var Dpt=Oge(),Spt=xS(),Mge=bS(),Uge=Mge&&Mge.isSet,Ppt=Uge?Spt(Uge):Dpt;_ge.exports=Ppt});var S8=U((F8t,Wge)=>{var xpt=BS(),bpt=oge(),Qpt=US(),kpt=lge(),Fpt=uge(),Rpt=ZN(),Tpt=OS(),Npt=fge(),Lpt=gge(),Opt=jN(),Mpt=D8(),Upt=Qw(),_pt=yge(),Hpt=bge(),qpt=eL(),jpt=jl(),Gpt=Dw(),Wpt=Nge(),Ypt=il(),Kpt=Hge(),Jpt=RS(),Vpt=_y(),zpt=1,Xpt=2,Zpt=4,qge="[object Arguments]",$pt="[object Array]",e0t="[object Boolean]",t0t="[object Date]",r0t="[object Error]",jge="[object Function]",n0t="[object GeneratorFunction]",i0t="[object Map]",s0t="[object Number]",Gge="[object Object]",o0t="[object RegExp]",a0t="[object Set]",l0t="[object String]",c0t="[object Symbol]",u0t="[object WeakMap]",A0t="[object ArrayBuffer]",f0t="[object DataView]",p0t="[object Float32Array]",h0t="[object Float64Array]",g0t="[object Int8Array]",d0t="[object Int16Array]",m0t="[object Int32Array]",y0t="[object Uint8Array]",E0t="[object Uint8ClampedArray]",C0t="[object Uint16Array]",I0t="[object Uint32Array]",zn={};zn[qge]=zn[$pt]=zn[A0t]=zn[f0t]=zn[e0t]=zn[t0t]=zn[p0t]=zn[h0t]=zn[g0t]=zn[d0t]=zn[m0t]=zn[i0t]=zn[s0t]=zn[Gge]=zn[o0t]=zn[a0t]=zn[l0t]=zn[c0t]=zn[y0t]=zn[E0t]=zn[C0t]=zn[I0t]=!0;zn[r0t]=zn[jge]=zn[u0t]=!1;function zb(t,e,r,o,a,n){var u,A=e&zpt,p=e&Xpt,h=e&Zpt;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!Ypt(t))return t;var C=jpt(t);if(C){if(u=_pt(t),!A)return Tpt(t,u)}else{var w=Upt(t),v=w==jge||w==n0t;if(Gpt(t))return Rpt(t,A);if(w==Gge||w==qge||v&&!a){if(u=p||v?{}:qpt(t),!A)return p?Lpt(t,Fpt(u,t)):Npt(t,kpt(u,t))}else{if(!zn[w])return a?t:{};u=Hpt(t,w,A)}}n||(n=new xpt);var b=n.get(t);if(b)return b;n.set(t,u),Kpt(t)?t.forEach(function(L){u.add(zb(L,e,r,L,t,n))}):Wpt(t)&&t.forEach(function(L,_){u.set(_,zb(L,e,r,_,t,n))});var E=h?p?Mpt:Opt:p?Vpt:Jpt,R=C?void 0:E(t);return bpt(R||t,function(L,_){R&&(_=L,L=t[_]),Qpt(u,_,zb(L,e,r,_,t,n))}),u}Wge.exports=zb});var P8=U((R8t,Yge)=>{var w0t=S8(),B0t=1,v0t=4;function D0t(t){return w0t(t,B0t|v0t)}Yge.exports=D0t});var x8=U((T8t,Kge)=>{var S0t=y_();function P0t(t,e,r){return t==null?t:S0t(t,e,r)}Kge.exports=P0t});var Zge=U((_8t,Xge)=>{var x0t=Object.prototype,b0t=x0t.hasOwnProperty;function Q0t(t,e){return t!=null&&b0t.call(t,e)}Xge.exports=Q0t});var ede=U((H8t,$ge)=>{var k0t=Zge(),F0t=E_();function R0t(t,e){return t!=null&&F0t(t,e,k0t)}$ge.exports=R0t});var rde=U((q8t,tde)=>{function T0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}tde.exports=T0t});var ide=U((j8t,nde)=>{var N0t=Ob(),L0t=gU();function O0t(t,e){return e.length<2?t:N0t(t,L0t(e,0,-1))}nde.exports=O0t});var Q8=U((G8t,sde)=>{var M0t=qd(),U0t=rde(),_0t=ide(),H0t=eC();function q0t(t,e){return e=M0t(e,t),t=_0t(t,e),t==null||delete t[H0t(U0t(e))]}sde.exports=q0t});var k8=U((W8t,ode)=>{var j0t=Q8();function G0t(t,e){return t==null?!0:j0t(t,e)}ode.exports=G0t});var Ade=U((CHt,K0t)=>{K0t.exports={name:"@yarnpkg/cli",version:"4.0.0-rc.37",stableVersion:"3.3.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.10",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.3.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=14.15.0"}}});var _8=U((zjt,vde)=>{"use strict";vde.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var Sde=U((Xjt,Dde)=>{"use strict";var cht=_8();function uht(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=cht(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}Dde.exports=uht});var bde=U((Zjt,xde)=>{"use strict";var Aht=Sde();function fht(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var pht=fht(Aht),hht="text/plain",ght="us-ascii",Pde=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),dht=(t,{stripHash:e})=>{let r=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),C=[...u.map(w=>{let[v,b=""]=w.split("=").map(E=>E.trim());return v==="charset"&&(b=b.toLowerCase(),b===ght)?"":`${v}${b?`=${b}`:""}`}).filter(Boolean)];return A&&C.push("base64"),(C.length>0||p&&p!==hht)&&C.unshift(p),`data:${C.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function mht(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return dht(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let C=u.exec(a.pathname);if(!C)break;let w=C[0],v=C.index,b=a.pathname.slice(A,v);p+=b.replace(/\/{2,}/g,"/"),p+=w,A=v+w.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];Pde(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])Pde(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var H8=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>H8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=mht(t,e));let a=pht.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};H8.MAX_INPUT_LENGTH=2048;xde.exports=H8});var Fde=U(($jt,kde)=>{"use strict";var yht=_8();function Qde(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=yht(t);if(t=t.substring(t.indexOf("://")+3),Qde(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@")<t.indexOf(":")}kde.exports=Qde});var Nde=U((e9t,Tde)=>{"use strict";var Eht=bde(),Rde=Fde();function Cht(t){var e=Eht(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Rde(e.protocols)||e.protocols.length===0&&Rde(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}Tde.exports=Cht});var Ode=U((t9t,Lde)=>{"use strict";var Iht=Nde();function q8(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=Iht(t),o=r.resource.split("."),a=null;switch(r.toString=function(L){return q8.stringify(this,L)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),C=a.indexOf("src",2),w=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:C>0?C-1:w>0?w-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var b=a.length>n&&a[n+1]==="-"?n+1:n;a.length>b+2&&["raw","src","blob","tree","edit"].indexOf(a[b+1])>=0&&(r.filepathtype=a[b+1],r.ref=a[b+2],a.length>b+3&&(r.filepath=a.slice(b+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var E=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,R=E.exec(r.pathname);return R!=null&&(r.source="bitbucket-server",R[1]==="users"?r.owner="~"+R[2]:r.owner=R[2],r.organization=r.owner,r.name=R[3],a=R[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}q8.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?wht(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+Bht(t)+a;default:return t.href}};function wht(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function Bht(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}Lde.exports=q8});var $de=U((T5t,Zde)=>{var Rht=Dx(),Tht=OS(),Nht=jl(),Lht=oE(),Oht=m_(),Mht=eC(),Uht=C1();function _ht(t){return Nht(t)?Rht(t,Mht):Lht(t)?[t]:Tht(Oht(Uht(t)))}Zde.exports=_ht});function Ght(t,e){return e===1&&jht.has(t[0])}function i2(t){let e=Array.isArray(t)?t:(0,rme.default)(t);return e.map((o,a)=>Hht.test(o)?`[${o}]`:qht.test(o)&&!Ght(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function Wht(t,e){let r=[];if(e.methodName!==null&&r.push(ye.pretty(t,e.methodName,ye.Type.CODE)),e.file!==null){let o=[];o.push(ye.pretty(t,e.file,ye.Type.PATH)),e.line!==null&&(o.push(ye.pretty(t,e.line,ye.Type.NUMBER)),e.column!==null&&o.push(ye.pretty(t,e.line,ye.Type.NUMBER))),r.push(`(${o.join(ye.pretty(t,":","grey"))})`)}return r.join(" ")}function eQ(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){var u;let a=new Map,n=new Map;for(let[A,p]of e){let h=((u=r.get(A))==null?void 0:u.map(b=>({text:b,fixable:!1})))??[],C=!1,w=t.getWorkspaceByCwd(A),v=w.manifest.exportTo({});for(let[b,E]of p){if(E.size>1){let R=[...E].map(([L,_])=>{let J=ye.pretty(t.configuration,L,ye.Type.INSPECT),re=_.size>0?Wht(t.configuration,_.values().next().value):null;return re!==null?` 242`)),this.write(this.margin[2]),this.restore()}};Khe.exports=g8});var zhe=U((O_t,Jhe)=>{"use strict";var gft=D0(),d8=class extends gft{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Jhe.exports=d8});var Zhe=U(m8=>{"use strict";var Xhe=Fo(),ps=(t,e)=>{Xhe.defineExport(m8,t,e),Xhe.defineExport(m8,t.toLowerCase(),e)};ps("AutoComplete",()=>ihe());ps("BasicAuth",()=>Ahe());ps("Confirm",()=>hhe());ps("Editable",()=>dhe());ps("Form",()=>$b());ps("Input",()=>r8());ps("Invisible",()=>Bhe());ps("List",()=>Dhe());ps("MultiSelect",()=>Phe());ps("Numeral",()=>Qhe());ps("Password",()=>Fhe());ps("Scale",()=>Nhe());ps("Select",()=>D0());ps("Snippet",()=>_he());ps("Sort",()=>qhe());ps("Survey",()=>Ghe());ps("Text",()=>Yhe());ps("Toggle",()=>Vhe());ps("Quiz",()=>zhe())});var ege=U((U_t,$he)=>{$he.exports={ArrayPrompt:V1(),AuthPrompt:z_(),BooleanPrompt:eQ(),NumberPrompt:a8(),StringPrompt:Vd()}});var z1=U((__t,rge)=>{"use strict";var tge=Ie("assert"),C8=Ie("events"),S0=Fo(),$c=class extends C8{constructor(e,r){super(),this.options=S0.merge({},e),this.answers={...r}}register(e,r){if(S0.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}tge.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(S0.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=S0.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=S0;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];tge(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",E=>{this.emit("answer",a,E,A),n(this.answers,a,E)});let h=A.emit.bind(A);return A.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||AE()}static get prompts(){return Zhe()}static get types(){return ege()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return S0.mixinEmitter(e,new C8),e}};S0.mixinEmitter($c,new C8);var y8=$c.prompts;for(let t of Object.keys(y8)){let e=t.toLowerCase(),r=o=>new y8[t](o).run();$c.prompt[e]=r,$c[e]=r,$c[t]||Reflect.defineProperty($c,t,{get:()=>y8[t]})}var J1=t=>{S0.defineExport($c,t,()=>$c.types[t])};J1("ArrayPrompt");J1("AuthPrompt");J1("BooleanPrompt");J1("NumberPrompt");J1("StringPrompt");rge.exports=$c});var e2=U((w8t,cge)=>{var Ift=Gb();function wft(t,e,r){var o=t==null?void 0:Ift(t,e);return o===void 0?r:o}cge.exports=wft});var fge=U((x8t,Age)=>{function Bft(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}Age.exports=Bft});var hge=U((b8t,pge)=>{var vft=gd(),Dft=_S();function Sft(t,e){return t&&vft(e,Dft(e),t)}pge.exports=Sft});var dge=U((Q8t,gge)=>{var Pft=gd(),xft=Wy();function bft(t,e){return t&&Pft(e,xft(e),t)}gge.exports=bft});var yge=U((k8t,mge)=>{var Qft=gd(),kft=TS();function Fft(t,e){return Qft(t,kft(t),e)}mge.exports=Fft});var D8=U((F8t,Cge)=>{var Rft=RS(),Tft=WS(),Nft=TS(),Lft=_N(),Oft=Object.getOwnPropertySymbols,Mft=Oft?function(t){for(var e=[];t;)Rft(e,Nft(t)),t=Tft(t);return e}:Lft;Cge.exports=Mft});var Ige=U((R8t,Ege)=>{var Uft=gd(),_ft=D8();function Hft(t,e){return Uft(t,_ft(t),e)}Ege.exports=Hft});var S8=U((T8t,wge)=>{var qft=UN(),jft=D8(),Gft=Wy();function Wft(t){return qft(t,Gft,jft)}wge.exports=Wft});var vge=U((N8t,Bge)=>{var Yft=Object.prototype,Kft=Yft.hasOwnProperty;function Vft(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Kft.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Bge.exports=Vft});var Sge=U((L8t,Dge)=>{var Jft=jS();function zft(t,e){var r=e?Jft(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Dge.exports=zft});var xge=U((O8t,Pge)=>{var Xft=/\w*$/;function Zft(t){var e=new t.constructor(t.source,Xft.exec(t));return e.lastIndex=t.lastIndex,e}Pge.exports=Zft});var Rge=U((M8t,Fge)=>{var bge=fd(),Qge=bge?bge.prototype:void 0,kge=Qge?Qge.valueOf:void 0;function $ft(t){return kge?Object(kge.call(t)):{}}Fge.exports=$ft});var Nge=U((U8t,Tge)=>{var ept=jS(),tpt=Sge(),rpt=xge(),npt=Rge(),ipt=eL(),spt="[object Boolean]",opt="[object Date]",apt="[object Map]",lpt="[object Number]",cpt="[object RegExp]",upt="[object Set]",Apt="[object String]",fpt="[object Symbol]",ppt="[object ArrayBuffer]",hpt="[object DataView]",gpt="[object Float32Array]",dpt="[object Float64Array]",mpt="[object Int8Array]",ypt="[object Int16Array]",Cpt="[object Int32Array]",Ept="[object Uint8Array]",Ipt="[object Uint8ClampedArray]",wpt="[object Uint16Array]",Bpt="[object Uint32Array]";function vpt(t,e,r){var o=t.constructor;switch(e){case ppt:return ept(t);case spt:case opt:return new o(+t);case hpt:return tpt(t,r);case gpt:case dpt:case mpt:case ypt:case Cpt:case Ept:case Ipt:case wpt:case Bpt:return ipt(t,r);case apt:return new o;case lpt:case Apt:return new o(t);case cpt:return rpt(t);case upt:return new o;case fpt:return npt(t)}}Tge.exports=vpt});var Oge=U((_8t,Lge)=>{var Dpt=Tw(),Spt=Xu(),Ppt="[object Map]";function xpt(t){return Spt(t)&&Dpt(t)==Ppt}Lge.exports=xpt});var Hge=U((H8t,_ge)=>{var bpt=Oge(),Qpt=LS(),Mge=OS(),Uge=Mge&&Mge.isMap,kpt=Uge?Qpt(Uge):bpt;_ge.exports=kpt});var jge=U((q8t,qge)=>{var Fpt=Tw(),Rpt=Xu(),Tpt="[object Set]";function Npt(t){return Rpt(t)&&Fpt(t)==Tpt}qge.exports=Npt});var Kge=U((j8t,Yge)=>{var Lpt=jge(),Opt=LS(),Gge=OS(),Wge=Gge&&Gge.isSet,Mpt=Wge?Opt(Wge):Lpt;Yge.exports=Mpt});var P8=U((G8t,Xge)=>{var Upt=QS(),_pt=fge(),Hpt=YS(),qpt=hge(),jpt=dge(),Gpt=$N(),Wpt=GS(),Ypt=yge(),Kpt=Ige(),Vpt=GN(),Jpt=S8(),zpt=Tw(),Xpt=vge(),Zpt=Nge(),$pt=tL(),e0t=Yl(),t0t=bw(),r0t=Hge(),n0t=ol(),i0t=Kge(),s0t=_S(),o0t=Wy(),a0t=1,l0t=2,c0t=4,Vge="[object Arguments]",u0t="[object Array]",A0t="[object Boolean]",f0t="[object Date]",p0t="[object Error]",Jge="[object Function]",h0t="[object GeneratorFunction]",g0t="[object Map]",d0t="[object Number]",zge="[object Object]",m0t="[object RegExp]",y0t="[object Set]",C0t="[object String]",E0t="[object Symbol]",I0t="[object WeakMap]",w0t="[object ArrayBuffer]",B0t="[object DataView]",v0t="[object Float32Array]",D0t="[object Float64Array]",S0t="[object Int8Array]",P0t="[object Int16Array]",x0t="[object Int32Array]",b0t="[object Uint8Array]",Q0t="[object Uint8ClampedArray]",k0t="[object Uint16Array]",F0t="[object Uint32Array]",Xn={};Xn[Vge]=Xn[u0t]=Xn[w0t]=Xn[B0t]=Xn[A0t]=Xn[f0t]=Xn[v0t]=Xn[D0t]=Xn[S0t]=Xn[P0t]=Xn[x0t]=Xn[g0t]=Xn[d0t]=Xn[zge]=Xn[m0t]=Xn[y0t]=Xn[C0t]=Xn[E0t]=Xn[b0t]=Xn[Q0t]=Xn[k0t]=Xn[F0t]=!0;Xn[p0t]=Xn[Jge]=Xn[I0t]=!1;function nQ(t,e,r,o,a,n){var u,A=e&a0t,p=e&l0t,h=e&c0t;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!n0t(t))return t;var E=e0t(t);if(E){if(u=Xpt(t),!A)return Wpt(t,u)}else{var w=zpt(t),v=w==Jge||w==h0t;if(t0t(t))return Gpt(t,A);if(w==zge||w==Vge||v&&!a){if(u=p||v?{}:$pt(t),!A)return p?Kpt(t,jpt(u,t)):Ypt(t,qpt(u,t))}else{if(!Xn[w])return a?t:{};u=Zpt(t,w,A)}}n||(n=new Upt);var b=n.get(t);if(b)return b;n.set(t,u),i0t(t)?t.forEach(function(L){u.add(nQ(L,e,r,L,t,n))}):r0t(t)&&t.forEach(function(L,_){u.set(_,nQ(L,e,r,_,t,n))});var C=h?p?Jpt:Vpt:p?o0t:s0t,R=E?void 0:C(t);return _pt(R||t,function(L,_){R&&(_=L,L=t[_]),Hpt(u,_,nQ(L,e,r,_,t,n))}),u}Xge.exports=nQ});var x8=U((W8t,Zge)=>{var R0t=P8(),T0t=1,N0t=4;function L0t(t){return R0t(t,T0t|N0t)}Zge.exports=L0t});var b8=U((Y8t,$ge)=>{var O0t=C_();function M0t(t,e,r){return t==null?t:O0t(t,e,r)}$ge.exports=M0t});var ide=U((Z8t,nde)=>{var U0t=Object.prototype,_0t=U0t.hasOwnProperty;function H0t(t,e){return t!=null&&_0t.call(t,e)}nde.exports=H0t});var ode=U(($8t,sde)=>{var q0t=ide(),j0t=E_();function G0t(t,e){return t!=null&&j0t(t,e,q0t)}sde.exports=G0t});var lde=U((eHt,ade)=>{function W0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}ade.exports=W0t});var ude=U((tHt,cde)=>{var Y0t=Gb(),K0t=dU();function V0t(t,e){return e.length<2?t:Y0t(t,K0t(e,0,-1))}cde.exports=V0t});var k8=U((rHt,Ade)=>{var J0t=Wd(),z0t=lde(),X0t=ude(),Z0t=sE();function $0t(t,e){return e=J0t(e,t),t=X0t(t,e),t==null||delete t[Z0t(z0t(e))]}Ade.exports=$0t});var F8=U((nHt,fde)=>{var eht=k8();function tht(t,e){return t==null?!0:eht(t,e)}fde.exports=tht});var mde=U((FHt,iht)=>{iht.exports={name:"@yarnpkg/cli",version:"4.0.0-rc.42",stableVersion:"3.4.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.10",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.3.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=14.15.0"}}});var H8=U((aGt,Qde)=>{"use strict";Qde.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var Fde=U((lGt,kde)=>{"use strict";var Eht=H8();function Iht(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=Eht(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}kde.exports=Iht});var Nde=U((cGt,Tde)=>{"use strict";var wht=Fde();function Bht(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var vht=Bht(wht),Dht="text/plain",Sht="us-ascii",Rde=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Pht=(t,{stripHash:e})=>{let r=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),E=[...u.map(w=>{let[v,b=""]=w.split("=").map(C=>C.trim());return v==="charset"&&(b=b.toLowerCase(),b===Sht)?"":`${v}${b?`=${b}`:""}`}).filter(Boolean)];return A&&E.push("base64"),(E.length>0||p&&p!==Dht)&&E.unshift(p),`data:${E.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function xht(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return Pht(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let E=u.exec(a.pathname);if(!E)break;let w=E[0],v=E.index,b=a.pathname.slice(A,v);p+=b.replace(/\/{2,}/g,"/"),p+=w,A=v+w.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];Rde(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])Rde(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var q8=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>q8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=xht(t,e));let a=vht.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};q8.MAX_INPUT_LENGTH=2048;Tde.exports=q8});var Mde=U((uGt,Ode)=>{"use strict";var bht=H8();function Lde(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=bht(t);if(t=t.substring(t.indexOf("://")+3),Lde(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@")<t.indexOf(":")}Ode.exports=Lde});var Hde=U((AGt,_de)=>{"use strict";var Qht=Nde(),Ude=Mde();function kht(t){var e=Qht(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Ude(e.protocols)||e.protocols.length===0&&Ude(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}_de.exports=kht});var jde=U((fGt,qde)=>{"use strict";var Fht=Hde();function j8(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=Fht(t),o=r.resource.split("."),a=null;switch(r.toString=function(L){return j8.stringify(this,L)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),w=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:E>0?E-1:w>0?w-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var b=a.length>n&&a[n+1]==="-"?n+1:n;a.length>b+2&&["raw","src","blob","tree","edit"].indexOf(a[b+1])>=0&&(r.filepathtype=a[b+1],r.ref=a[b+2],a.length>b+3&&(r.filepath=a.slice(b+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var C=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,R=C.exec(r.pathname);return R!=null&&(r.source="bitbucket-server",R[1]==="users"?r.owner="~"+R[2]:r.owner=R[2],r.organization=r.owner,r.name=R[3],a=R[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}j8.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?Rht(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+Tht(t)+a;default:return t.href}};function Rht(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function Tht(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}qde.exports=j8});var sme=U((j9t,ime)=>{var Ght=Fx(),Wht=GS(),Yht=Yl(),Kht=AC(),Vht=y_(),Jht=sE(),zht=v1();function Xht(t){return Yht(t)?Ght(t,Jht):Kht(t)?[t]:Wht(Vht(zht(t)))}ime.exports=Xht});function tgt(t,e){return e===1&&egt.has(t[0])}function l2(t){let e=Array.isArray(t)?t:(0,lme.default)(t);return e.map((o,a)=>Zht.test(o)?`[${o}]`:$ht.test(o)&&!tgt(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function rgt(t,e){let r=[];if(e.methodName!==null&&r.push(ye.pretty(t,e.methodName,ye.Type.CODE)),e.file!==null){let o=[];o.push(ye.pretty(t,e.file,ye.Type.PATH)),e.line!==null&&(o.push(ye.pretty(t,e.line,ye.Type.NUMBER)),e.column!==null&&o.push(ye.pretty(t,e.line,ye.Type.NUMBER))),r.push(`(${o.join(ye.pretty(t,":","grey"))})`)}return r.join(" ")}function aQ(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){var u;let a=new Map,n=new Map;for(let[A,p]of e){let h=((u=r.get(A))==null?void 0:u.map(b=>({text:b,fixable:!1})))??[],E=!1,w=t.getWorkspaceByCwd(A),v=w.manifest.exportTo({});for(let[b,C]of p){if(C.size>1){let R=[...C].map(([L,_])=>{let V=ye.pretty(t.configuration,L,ye.Type.INSPECT),re=_.size>0?rgt(t.configuration,_.values().next().value):null;return re!==null?`
243${J} at ${re}`:` 243${V} at ${re}`:`
244${J}`}).join("");h.push({text:`Conflict detected in constraint targeting ${ye.pretty(t.configuration,b,ye.Type.CODE)}; conflicting values are:${R}`,fixable:!1})}else{let[[R]]=E,L=(0,eme.default)(v,b);if(L===R)continue;if(!o){let _=typeof L>"u"?`Missing field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}`:typeof R>"u"?`Extraneous field ${ye.pretty(t.configuration,b,ye.Type.CODE)} currently set to ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`:`Invalid field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}, found ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`;h.push({text:_,fixable:!0});continue}typeof R>"u"?(0,nme.default)(v,b):(0,tme.default)(v,b,R),C=!0}C&&a.set(w,v)}h.length>0&&n.set(w,h)}return{changedWorkspaces:a,remainingErrors:n}}var eme,tme,rme,nme,n2,Hht,qht,jht,s2=dt(()=>{Ke();eme=tt(z1()),tme=tt(x8()),rme=tt($de()),nme=tt(k8()),n2=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.prototype.hasOwnProperty.call(e,r)?e[r]:void 0;if(typeof o>"u")continue;Ye.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.prototype.hasOwnProperty.call(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let C=new Set(h.get(A)??[]);if(C.size===0)return[];if(typeof a>"u")a=C;else for(let w of a)C.has(w)||a.delete(w);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.prototype.hasOwnProperty.call(u,A)&&u[A]===p:Object.prototype.hasOwnProperty.call(u,A)===!1))return!1;return!0})),n}},Hht=/^[0-9]+$/,qht=/^[a-zA-Z0-9_]+$/,jht=new Set(["scripts",...Nt.allDependencies])});var ime=U((j5t,nH)=>{var Yht;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),C=0;C<A.value;C++)h=new t.type.Term(".",[u,h]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[h,p])),a.substitution,a)])}},"sort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var C=p.sort(t.compare),w=C.length-1;w>0;w--)C[w].equals(C[w-1])&&C.splice(w,1);for(var v=new t.type.Term("[]"),w=C.length-1;w>=0;w--)v=new t.type.Term(".",[C[w],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var C=p.sort(t.compare),w=new t.type.Term("[]"),v=C.length-1;v>=0;v--)w=new t.type.Term(".",[C[v],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,C=u;C.indicator==="./2";){if(h=C.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),C=C.args[1]}if(t.type.is_variable(C))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(C))o.throw_error(t.error.type("list",u,n.indicator));else{for(var w=p.sort(t.compare),v=new t.type.Term("[]"),b=w.length-1;b>=0;b--)v=new t.type.Term(".",[new t.type.Term("-",[w[b],w[b].pair]),v]),delete w[b].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,C=[],w=A;h>0&&w.indicator==="./2";)C.push(w.args[0]),w=w.args[1],h--;if(h===0){for(var v=new t.type.Term("[]"),h=C.length-1;h>=0;h--)v=new t.type.Term(".",[C[h],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,C=[],w=A;h>0&&w.indicator==="./2";)C.push(w.args[0]),w=w.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var C=p?u:A,w=new t.type.Term("[]",[]);C.indicator==="./2";)w=new t.type.Term(".",[C.args[0],w]),C=C.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var C=[],w=new t.type.Term("[]",[]),v,b=0;b<h.length;b++){v=!1;for(var E=0;E<C.length&&!v;E++)v=t.compare(h[b],C[E])===0;v||C.push(h[b])}for(b=C.length-1;b>=0;b--)w=new t.type.Term(".",[C[b],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,w])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof nH<"u"?nH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(Yht)});var Eme=U(qr=>{"use strict";var Zd=process.platform==="win32",iH="aes-256-cbc",Kht="sha256",ame="The current environment doesn't support interactive reading from TTY.",Un=Ie("fs"),sme=process.binding("tty_wrap").TTY,oH=Ie("child_process"),sh=Ie("path"),aH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Kf="none",$c,fC,ome=!1,ih,rQ,sH,Jht=0,fH="",Xd=[],nQ,lme=!1,lH=!1,o2=!1;function cme(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return rQ.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function Vht(t,e){function r(_){var J,re="",oe;for(sH=sH||Ie("os").tmpdir();;){J=sh.join(sH,_+re);try{oe=Un.openSync(J,"wx")}catch(pe){if(pe.code==="EEXIST"){re++;continue}else throw pe}Un.closeSync(oe);break}return J}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),C=r("readline-sync.stderr"),w=r("readline-sync.exit"),v=r("readline-sync.done"),b=Ie("crypto"),E,R,L;E=b.createHash(Kht),E.update(""+process.pid+Jht+++Math.random()),L=E.digest("hex"),R=b.createDecipher(iH,L),o=cme(t),Zd?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+ih+"%Q%"+o.map(function(_){return" %Q%"+_+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+w+"%Q%%Q%) 2>%Q%"+C+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+iH+"%Q% %Q%"+L+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+ih+'"'+o.map(function(_){return" '"+_.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+w+'") 2>"'+C+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+iH+'" "'+L+'" >"'+h+'"; echo 1 >"'+v+'"']),o2&&o2("_execFileSync",o);try{oH.spawn(a,n,e)}catch(_){u.error=new Error(_.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Un.readFileSync(v,{encoding:t.encoding}).trim()!=="1";);return(A=Un.readFileSync(w,{encoding:t.encoding}).trim())==="0"?u.input=R.update(Un.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+R.final(t.encoding):(p=Un.readFileSync(C,{encoding:t.encoding}).trim(),u.error=new Error(ame+(p?` 244${V}`}).join("");h.push({text:`Conflict detected in constraint targeting ${ye.pretty(t.configuration,b,ye.Type.CODE)}; conflicting values are:${R}`,fixable:!1})}else{let[[R]]=C,L=(0,ome.default)(v,b);if(L===R)continue;if(!o){let _=typeof L>"u"?`Missing field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}`:typeof R>"u"?`Extraneous field ${ye.pretty(t.configuration,b,ye.Type.CODE)} currently set to ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`:`Invalid field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}, found ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`;h.push({text:_,fixable:!0});continue}typeof R>"u"?(0,cme.default)(v,b):(0,ame.default)(v,b,R),E=!0}E&&a.set(w,v)}h.length>0&&n.set(w,h)}return{changedWorkspaces:a,remainingErrors:n}}var ome,ame,lme,cme,a2,Zht,$ht,egt,c2=dt(()=>{Ke();ome=tt(e2()),ame=tt(b8()),lme=tt(sme()),cme=tt(F8()),a2=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.prototype.hasOwnProperty.call(e,r)?e[r]:void 0;if(typeof o>"u")continue;Ye.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.prototype.hasOwnProperty.call(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let E=new Set(h.get(A)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let w of a)E.has(w)||a.delete(w);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.prototype.hasOwnProperty.call(u,A)&&u[A]===p:Object.prototype.hasOwnProperty.call(u,A)===!1))return!1;return!0})),n}},Zht=/^[0-9]+$/,$ht=/^[a-zA-Z0-9_]+$/,egt=new Set(["scripts",...Nt.allDependencies])});var ume=U((Z9t,iH)=>{var ngt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E<A.value;E++)h=new t.type.Term(".",[u,h]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[h,p])),a.substitution,a)])}},"sort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),w=E.length-1;w>0;w--)E[w].equals(E[w-1])&&E.splice(w,1);for(var v=new t.type.Term("[]"),w=E.length-1;w>=0;w--)v=new t.type.Term(".",[E[w],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),w=new t.type.Term("[]"),v=E.length-1;v>=0;v--)w=new t.type.Term(".",[E[v],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,E=u;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))o.throw_error(t.error.type("list",u,n.indicator));else{for(var w=p.sort(t.compare),v=new t.type.Term("[]"),b=w.length-1;b>=0;b--)v=new t.type.Term(".",[new t.type.Term("-",[w[b],w[b].pair]),v]),delete w[b].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;if(h===0){for(var v=new t.type.Term("[]"),h=E.length-1;h>=0;h--)v=new t.type.Term(".",[E[h],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?u:A,w=new t.type.Term("[]",[]);E.indicator==="./2";)w=new t.type.Term(".",[E.args[0],w]),E=E.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=[],w=new t.type.Term("[]",[]),v,b=0;b<h.length;b++){v=!1;for(var C=0;C<E.length&&!v;C++)v=t.compare(h[b],E[C])===0;v||E.push(h[b])}for(b=E.length-1;b>=0;b--)w=new t.type.Term(".",[E[b],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,w])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof iH<"u"?iH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(ngt)});var Dme=U(qr=>{"use strict";var tm=process.platform==="win32",sH="aes-256-cbc",igt="sha256",pme="The current environment doesn't support interactive reading from TTY.",Un=Ie("fs"),Ame=process.binding("tty_wrap").TTY,aH=Ie("child_process"),oh=Ie("path"),lH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Jf="none",tu,mE,fme=!1,sh,cQ,oH,sgt=0,pH="",em=[],uQ,hme=!1,cH=!1,u2=!1;function gme(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return cQ.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function ogt(t,e){function r(_){var V,re="",oe;for(oH=oH||Ie("os").tmpdir();;){V=oh.join(oH,_+re);try{oe=Un.openSync(V,"wx")}catch(pe){if(pe.code==="EEXIST"){re++;continue}else throw pe}Un.closeSync(oe);break}return V}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),w=r("readline-sync.exit"),v=r("readline-sync.done"),b=Ie("crypto"),C,R,L;C=b.createHash(igt),C.update(""+process.pid+sgt+++Math.random()),L=C.digest("hex"),R=b.createDecipher(sH,L),o=gme(t),tm?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+sh+"%Q%"+o.map(function(_){return" %Q%"+_+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+w+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+sH+"%Q% %Q%"+L+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+sh+'"'+o.map(function(_){return" '"+_.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+w+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+sH+'" "'+L+'" >"'+h+'"; echo 1 >"'+v+'"']),u2&&u2("_execFileSync",o);try{aH.spawn(a,n,e)}catch(_){u.error=new Error(_.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Un.readFileSync(v,{encoding:t.encoding}).trim()!=="1";);return(A=Un.readFileSync(w,{encoding:t.encoding}).trim())==="0"?u.input=R.update(Un.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+R.final(t.encoding):(p=Un.readFileSync(E,{encoding:t.encoding}).trim(),u.error=new Error(pme+(p?`
245`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Un.unlinkSync(h),Un.unlinkSync(C),Un.unlinkSync(w),Un.unlinkSync(v),u}function zht(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(ih||(Zd?process.env.PSModulePath?(ih="powershell.exe",rQ=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(ih="cscript.exe",rQ=["//nologo",__dirname+"\\read.cs.js"]):(ih="/bin/sh",rQ=[__dirname+"/read.sh"])),Zd&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),oH.execFileSync){e=cme(t),o2&&o2("execFileSync",e);try{r.input=oH.execFileSync(ih,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(ame+(o?` 245`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Un.unlinkSync(h),Un.unlinkSync(E),Un.unlinkSync(w),Un.unlinkSync(v),u}function agt(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(sh||(tm?process.env.PSModulePath?(sh="powershell.exe",cQ=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(sh="cscript.exe",cQ=["//nologo",__dirname+"\\read.cs.js"]):(sh="/bin/sh",cQ=[__dirname+"/read.sh"])),tm&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),aH.execFileSync){e=gme(t),u2&&u2("execFileSync",e);try{r.input=aH.execFileSync(sh,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(pme+(o?`
246`+o:"")),r.error.method="execFileSync",r.error.program=ih,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=Vht(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function cH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=zht(t);if(n.error)throw n.error;return n.input}return lH&&lH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Kf=="string")if(Kf=null,Zd){if(A=function(h){var C=h.replace(/^\D+/,"").split("."),w=0;return(C[0]=+C[0])&&(w+=C[0]*1e4),(C[1]=+C[1])&&(w+=C[1]*100),(C[2]=+C[2])&&(w+=C[2]),w}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Kf=process.stdin.fd,fC=process.stdin._handle;else try{Kf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),fC=new sme(Kf,!0)}catch{}if(process.stdout.isTTY)$c=process.stdout.fd;else{try{$c=Un.openSync("\\\\.\\CON","w")}catch{}if(typeof $c!="number")try{$c=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Kf=Un.openSync("/dev/tty","r"),fC=process.stdin._handle}catch{}}else try{Kf=Un.openSync("/dev/tty","r"),fC=new sme(Kf,!1)}catch{}if(process.stdout.isTTY)$c=process.stdout.fd;else try{$c=Un.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,C,w,v;nQ="";function b(E){return E===ome?!0:fC.setRawMode(E)!==0?!1:(ome=E,!0)}if(lme||!fC||typeof $c!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Un.writeSync($c,t.display),t.display=""),!t.displayOnly){if(!b(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){C=0;try{C=Un.readSync(Kf,p,0,h)}catch(E){if(E.code!=="EOF"){b(!1),e+=a();return}}if(C>0?(w=p.toString(t.encoding,0,C),nQ+=w):(w=` 246`+o:"")),r.error.method="execFileSync",r.error.program=sh,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=ogt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function uH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=agt(t);if(n.error)throw n.error;return n.input}return cH&&cH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Jf=="string")if(Jf=null,tm){if(A=function(h){var E=h.replace(/^\D+/,"").split("."),w=0;return(E[0]=+E[0])&&(w+=E[0]*1e4),(E[1]=+E[1])&&(w+=E[1]*100),(E[2]=+E[2])&&(w+=E[2]),w}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Jf=process.stdin.fd,mE=process.stdin._handle;else try{Jf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),mE=new Ame(Jf,!0)}catch{}if(process.stdout.isTTY)tu=process.stdout.fd;else{try{tu=Un.openSync("\\\\.\\CON","w")}catch{}if(typeof tu!="number")try{tu=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Jf=Un.openSync("/dev/tty","r"),mE=process.stdin._handle}catch{}}else try{Jf=Un.openSync("/dev/tty","r"),mE=new Ame(Jf,!1)}catch{}if(process.stdout.isTTY)tu=process.stdout.fd;else try{tu=Un.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,E,w,v;uQ="";function b(C){return C===fme?!0:mE.setRawMode(C)!==0?!1:(fme=C,!0)}if(hme||!mE||typeof tu!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Un.writeSync(tu,t.display),t.display=""),!t.displayOnly){if(!b(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=Un.readSync(Jf,p,0,h)}catch(C){if(C.code!=="EOF"){b(!1),e+=a();return}}if(E>0?(w=p.toString(t.encoding,0,E),uQ+=w):(w=`
247`,nQ+=String.fromCharCode(0)),w&&typeof(v=(w.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(w=v,n=!0),w&&(w=w.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),w&&u&&(w=w.replace(u,"")),w&&(A||(t.hideEchoBack?t.mask&&Un.writeSync($c,new Array(w.length+1).join(t.mask)):Un.writeSync($c,w)),e+=w),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Un.writeSync($c,` 247`,uQ+=String.fromCharCode(0)),w&&typeof(v=(w.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(w=v,n=!0),w&&(w=w.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),w&&u&&(w=w.replace(u,"")),w&&(A||(t.hideEchoBack?t.mask&&Un.writeSync(tu,new Array(w.length+1).join(t.mask)):Un.writeSync(tu,w)),e+=w),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Un.writeSync(tu,`
248`),b(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` 248`),b(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+`
249`),t.encoding),t.displayOnly?"":fH=t.keepWhitespace||t.keyIn?e:e.trim()}function Xht(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function pH(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Ps(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(aH),t.unshift(aH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=Xht(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function uH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function hH(t,e){var r=sh.normalize(Zd?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=sh.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+pH(r)+"(?=\\/|\\\\|$)",Zd?"i":""),"~")}function pC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,C,w){var v;return A||typeof(v=e(C))!="string"?p:v?(h||"")+v+(w||""):""}return t.replace(o,n).replace(a,n)}function ume(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(C,w){return w.length>3?(C.push(w[0]+"..."+w[w.length-1]),p=!0):w.length&&(C=C.concat(w)),C}return o=t.reduce(function(C,w){return C.concat((w+"").split(""))},[]).reduce(function(C,w){var v,b;return e||(w=w.toLowerCase()),v=/^\d$/.test(w)?1:/^[A-Z]$/.test(w)?2:/^[a-z]$/.test(w)?3:0,r&&v===0?A+=w:(b=w.charCodeAt(0),v&&v===n&&b===u+1?a.push(w):(C=h(C,a),a=[w],n=v),u=b),C},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Ame(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function fme(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=ume(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Ame(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=fH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=sh.basename(r):t==="cwdHome"&&(r=hH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=Xd[Xd.length-n]||"")}return r}function pme(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o<a?1:-1,n=o;n!==a+u;n+=u)r+=String.fromCharCode(n);return r}function AH(t){var e=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),r,o="",a=[],n;for(t=t.trim();r=e.exec(t);)n=r[3]||r[4]||"",r[1]&&(a.push(o),o=""),o+=n;return o&&a.push(o),a}function hme(t,e){return e.trueValue.length&&uH(t,e.trueValue,e.caseSensitive)?!0:e.falseValue.length&&uH(t,e.falseValue,e.caseSensitive)?!1:t}function gme(t){var e,r,o,a,n,u,A;function p(C){return fme(C,t)}function h(C){t.display+=(/[^\r\n]$/.test(t.display)?` 249`),t.encoding),t.displayOnly?"":pH=t.keepWhitespace||t.keyIn?e:e.trim()}function lgt(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function hH(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Ps(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(lH),t.unshift(lH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=lgt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function AH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function gH(t,e){var r=oh.normalize(tm?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=oh.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+hH(r)+"(?=\\/|\\\\|$)",tm?"i":""),"~")}function yE(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,E,w){var v;return A||typeof(v=e(E))!="string"?p:v?(h||"")+v+(w||""):""}return t.replace(o,n).replace(a,n)}function dme(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(E,w){return w.length>3?(E.push(w[0]+"..."+w[w.length-1]),p=!0):w.length&&(E=E.concat(w)),E}return o=t.reduce(function(E,w){return E.concat((w+"").split(""))},[]).reduce(function(E,w){var v,b;return e||(w=w.toLowerCase()),v=/^\d$/.test(w)?1:/^[A-Z]$/.test(w)?2:/^[a-z]$/.test(w)?3:0,r&&v===0?A+=w:(b=w.charCodeAt(0),v&&v===n&&b===u+1?a.push(w):(E=h(E,a),a=[w],n=v),u=b),E},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function mme(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function yme(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=dme(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=mme(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=pH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=oh.basename(r):t==="cwdHome"&&(r=gH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=em[em.length-n]||"")}return r}function Cme(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o<a?1:-1,n=o;n!==a+u;n+=u)r+=String.fromCharCode(n);return r}function fH(t){var e=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),r,o="",a=[],n;for(t=t.trim();r=e.exec(t);)n=r[3]||r[4]||"",r[1]&&(a.push(o),o=""),o+=n;return o&&a.push(o),a}function Eme(t,e){return e.trueValue.length&&AH(t,e.trueValue,e.caseSensitive)?!0:e.falseValue.length&&AH(t,e.falseValue,e.caseSensitive)?!1:t}function Ime(t){var e,r,o,a,n,u,A;function p(E){return yme(E,t)}function h(E){t.display+=(/[^\r\n]$/.test(t.display)?`
250`:"")+C}for(t.limitSrc=t.limit,t.displaySrc=t.display,t.limit="",t.display=pC(t.display+"",p);;){if(e=cH(t),r=!1,o="",t.defaultInput&&!e&&(e=t.defaultInput),t.history&&((a=/^\s*\!(?:\!|-1)(:p)?\s*$/.exec(e))?(n=Xd[0]||"",a[1]?r=!0:e=n,h(n+` 250`:"")+E}for(t.limitSrc=t.limit,t.displaySrc=t.display,t.limit="",t.display=yE(t.display+"",p);;){if(e=uH(t),r=!1,o="",t.defaultInput&&!e&&(e=t.defaultInput),t.history&&((a=/^\s*\!(?:\!|-1)(:p)?\s*$/.exec(e))?(n=em[0]||"",a[1]?r=!0:e=n,h(n+`
251`),r||(t.displayOnly=!0,cH(t),t.displayOnly=!1)):e&&e!==Xd[Xd.length-1]&&(Xd=[e])),!r&&t.cd&&e)switch(u=AH(e),u[0].toLowerCase()){case"cd":if(u[1])try{process.chdir(hH(u[1],!0))}catch(C){h(C+"")}r=!0;break;case"pwd":h(process.cwd()),r=!0;break}if(!r&&t.preCheck&&(A=t.preCheck(e,t),e=A.res,A.forceNext&&(r=!0)),!r){if(!t.limitSrc.length||uH(e,t.limitSrc,t.caseSensitive))break;t.limitMessage&&(o=pC(t.limitMessage,p))}h((o?o+` 251`),r||(t.displayOnly=!0,uH(t),t.displayOnly=!1)):e&&e!==em[em.length-1]&&(em=[e])),!r&&t.cd&&e)switch(u=fH(e),u[0].toLowerCase()){case"cd":if(u[1])try{process.chdir(gH(u[1],!0))}catch(E){h(E+"")}r=!0;break;case"pwd":h(process.cwd()),r=!0;break}if(!r&&t.preCheck&&(A=t.preCheck(e,t),e=A.res,A.forceNext&&(r=!0)),!r){if(!t.limitSrc.length||AH(e,t.limitSrc,t.caseSensitive))break;t.limitMessage&&(o=yE(t.limitMessage,p))}h((o?o+`
252`:"")+pC(t.displaySrc+"",p))}return hme(e,t)}qr._DBG_set_useExt=function(t){lme=t};qr._DBG_set_checkOptions=function(t){lH=t};qr._DBG_set_checkMethod=function(t){o2=t};qr._DBG_clearHistory=function(){fH="",Xd=[]};qr.setDefaultOptions=function(t){return aH=Ps(!0,t),Ps(!0)};qr.question=function(t,e){return gme(Ps(Ps(!0,e),{display:t}))};qr.prompt=function(t){var e=Ps(!0,t);return e.display=e.prompt,gme(e)};qr.keyIn=function(t,e){var r=Ps(Ps(!0,e),{display:t,keyIn:!0,keepWhitespace:!0});return r.limitSrc=r.limit.filter(function(o){var a=typeof o;return a==="string"||a==="number"}).map(function(o){return pC(o+"",pme)}),r.limit=pH(r.limitSrc.join("")),["trueValue","falseValue"].forEach(function(o){r[o]=r[o].reduce(function(a,n){var u=typeof n;return u==="string"||u==="number"?a=a.concat((n+"").split("")):a.push(n),a},[])}),r.display=pC(r.display+"",function(o){return fme(o,r)}),hme(cH(r),r)};qr.questionEMail=function(t,e){return t==null&&(t="Input e-mail address: "),qr.question(t,Ps({hideEchoBack:!1,limit:/^[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])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},e,{keepWhitespace:!1,cd:!1}))};qr.questionNewPassword=function(t,e){var r,o,a,n=Ps({hideEchoBack:!0,mask:"*",limitMessage:`It can include: $<charlist> 252`:"")+yE(t.displaySrc+"",p))}return Eme(e,t)}qr._DBG_set_useExt=function(t){hme=t};qr._DBG_set_checkOptions=function(t){cH=t};qr._DBG_set_checkMethod=function(t){u2=t};qr._DBG_clearHistory=function(){pH="",em=[]};qr.setDefaultOptions=function(t){return lH=Ps(!0,t),Ps(!0)};qr.question=function(t,e){return Ime(Ps(Ps(!0,e),{display:t}))};qr.prompt=function(t){var e=Ps(!0,t);return e.display=e.prompt,Ime(e)};qr.keyIn=function(t,e){var r=Ps(Ps(!0,e),{display:t,keyIn:!0,keepWhitespace:!0});return r.limitSrc=r.limit.filter(function(o){var a=typeof o;return a==="string"||a==="number"}).map(function(o){return yE(o+"",Cme)}),r.limit=hH(r.limitSrc.join("")),["trueValue","falseValue"].forEach(function(o){r[o]=r[o].reduce(function(a,n){var u=typeof n;return u==="string"||u==="number"?a=a.concat((n+"").split("")):a.push(n),a},[])}),r.display=yE(r.display+"",function(o){return yme(o,r)}),Eme(uH(r),r)};qr.questionEMail=function(t,e){return t==null&&(t="Input e-mail address: "),qr.question(t,Ps({hideEchoBack:!1,limit:/^[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])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},e,{keepWhitespace:!1,cd:!1}))};qr.questionNewPassword=function(t,e){var r,o,a,n=Ps({hideEchoBack:!0,mask:"*",limitMessage:`It can include: $<charlist>
253And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(b){return b==="charlist"?r.text:b==="length"?o+"..."+a:null}}),u,A,p,h,C,w,v;for(e=e||{},u=pC(e.charlist?e.charlist+"":"$<!-~>",pme),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+pH(u)+"]{"+o+","+a+"}$"),r=ume([u],n.caseSensitive,!0),r.text=Ame(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),C=n.limitMessage;!v;)n.limit=h,n.limitMessage=C,w=qr.question(t,n),n.limit=[w,""],n.limitMessage=p,v=qr.question(A,n);return w};function dme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return qr.question(t,Ps({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}qr.questionInt=function(t,e){return dme(t,e,function(r){return parseInt(r,10)})};qr.questionFloat=function(t,e){return dme(t,e,parseFloat)};qr.questionPath=function(t,e){var r,o="",a=Ps({hideEchoBack:!1,limitMessage:`$<error( 253And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(b){return b==="charlist"?r.text:b==="length"?o+"..."+a:null}}),u,A,p,h,E,w,v;for(e=e||{},u=yE(e.charlist?e.charlist+"":"$<!-~>",Cme),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+hH(u)+"]{"+o+","+a+"}$"),r=dme([u],n.caseSensitive,!0),r.text=mme(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!v;)n.limit=h,n.limitMessage=E,w=qr.question(t,n),n.limit=[w,""],n.limitMessage=p,v=qr.question(A,n);return w};function wme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return qr.question(t,Ps({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}qr.questionInt=function(t,e){return wme(t,e,function(r){return parseInt(r,10)})};qr.questionFloat=function(t,e){return wme(t,e,parseFloat)};qr.questionPath=function(t,e){var r,o="",a=Ps({hideEchoBack:!1,limitMessage:`$<error(
254)>Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=hH(n,!0),o="";function h(C){C.split(/\/|\\/).reduce(function(w,v){var b=sh.resolve(w+=v+sh.sep);if(!Un.existsSync(b))Un.mkdirSync(b);else if(!Un.statSync(b).isDirectory())throw new Error("Non directory already exists: "+b);return w},"")}try{if(u=Un.existsSync(n),r=u?Un.realpathSync(n):sh.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(sh.dirname(r)),Un.closeSync(Un.openSync(r,"w"))),r=Un.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Un.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(C){return o=C+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),qr.question(t,a),r};function mme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=AH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=AH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}qr.promptCL=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=mme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,qr.prompt(r),o.args};qr.promptLoop=function(t,e){for(var r=Ps({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(qr.prompt(r)););};qr.promptCLLoop=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=mme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;qr.prompt(r),!o.hRes;);};qr.promptSimShell=function(t){return qr.prompt(Ps({hideEchoBack:!1,history:!0},t,{prompt:function(){return Zd?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}()}))};function yme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=qr.keyIn(t,Ps(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}qr.keyInYN=function(t,e){return yme(t,e)};qr.keyInYNStrict=function(t,e){return yme(t,e,"yn")};qr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),qr.keyIn(t,Ps({limit:null},e,{hideEchoBack:!0,mask:""}))};qr.keyInSelect=function(t,e,r){var o=Ps({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` 254)>Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=gH(n,!0),o="";function h(E){E.split(/\/|\\/).reduce(function(w,v){var b=oh.resolve(w+=v+oh.sep);if(!Un.existsSync(b))Un.mkdirSync(b);else if(!Un.statSync(b).isDirectory())throw new Error("Non directory already exists: "+b);return w},"")}try{if(u=Un.existsSync(n),r=u?Un.realpathSync(n):oh.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(oh.dirname(r)),Un.closeSync(Un.openSync(r,"w"))),r=Un.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Un.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(E){return o=E+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),qr.question(t,a),r};function Bme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=fH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=fH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}qr.promptCL=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Bme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,qr.prompt(r),o.args};qr.promptLoop=function(t,e){for(var r=Ps({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(qr.prompt(r)););};qr.promptCLLoop=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Bme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;qr.prompt(r),!o.hRes;);};qr.promptSimShell=function(t){return qr.prompt(Ps({hideEchoBack:!1,history:!0},t,{prompt:function(){return tm?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}()}))};function vme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=qr.keyIn(t,Ps(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}qr.keyInYN=function(t,e){return vme(t,e)};qr.keyInYNStrict=function(t,e){return vme(t,e,"yn")};qr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),qr.keyIn(t,Ps({limit:null},e,{hideEchoBack:!0,mask:""}))};qr.keyInSelect=function(t,e,r){var o=Ps({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=`
255`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var C=String.fromCharCode(u);a+=C,n[C]=h,A+="["+C+"] "+(p+"").trim()+` 255`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(u);a+=E,n[E]=h,A+="["+E+"] "+(p+"").trim()+`
256`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` 256`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+`
257`),o.limit=a,A+=` 257`),o.limit=a,A+=`
258`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),A+=e),n[qr.keyIn(A,o).toLowerCase()]};qr.getRawInput=function(){return nQ};function a2(t,e){var r;return e.length&&(r={},r[t]=e[0]),qr.setDefaultOptions(r)[t]}qr.setPrint=function(){return a2("print",arguments)};qr.setPrompt=function(){return a2("prompt",arguments)};qr.setEncoding=function(){return a2("encoding",arguments)};qr.setMask=function(){return a2("mask",arguments)};qr.setBufferSize=function(){return a2("bufferSize",arguments)}});var gH=U((W5t,pl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(I,P,y){var F=tau_file_system.files[I];if(!F){if(y==="read")return null;F={path:I,text:"",type:P,get:function(z,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+z)},put:function(z,X){return X==="end_of_file"?(this.text+=z,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+z+this.text.substring(X+z.length),!0)},get_byte:function(z){if(z==="end_of_stream")return-1;var X=Math.floor(z/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(z/2)],0);return z%2===0?$&255:$/256>>>0},put_byte:function(z,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var ie=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ie=ie/256>>>0,ie=(ie&255)<<8|z&255):(ie=ie&255,ie=(z&255)<<8|ie&255),this.text.length===$?this.text+=u(ie):this.text=this.text.substring(0,$)+u(ie)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var z=tau_file_system.files[this.path];return z?!0:null}},tau_file_system.files[I]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(I,P){for(var y;tau_user_input.buffer.length<I;)y=window.prompt(),y&&(tau_user_input.buffer+=y);return y=tau_user_input.buffer.substr(0,I),tau_user_input.buffer=tau_user_input.buffer.substr(I),y}},tau_user_output={put:function(I,P){return console.log(I),!0},flush:function(){return!0}},nodejs_file_system={open:function(I,P,y){var F=Ie("fs"),z=F.openSync(I,y[0]);return y==="read"&&!F.existsSync(I)?null:{get:function(X,$){var ie=new Buffer(X);return F.readSync(z,ie,0,X,$),ie.toString()},put:function(X,$){var ie=Buffer.from(X);if($==="end_of_file")F.writeSync(z,ie);else{if($==="past_end_of_file")return null;F.writeSync(z,ie,0,ie.length,$)}return!0},get_byte:function(X){return null},put_byte:function(X,$){return null},flush:function(){return!0},close:function(){return F.closeSync(z),!0}}}},nodejs_user_input={buffer:"",get:function(I,P){for(var y,F=Eme();nodejs_user_input.buffer.length<I;)nodejs_user_input.buffer+=F.question();return y=nodejs_user_input.buffer.substr(0,I),nodejs_user_input.buffer=nodejs_user_input.buffer.substr(I),y}},nodejs_user_output={put:function(I,P){return process.stdout.write(I),!0},flush:function(){return!0}};var e;Array.prototype.indexOf?e=function(I,P){return I.indexOf(P)}:e=function(I,P){for(var y=I.length,F=0;F<y;F++)if(P===I[F])return F;return-1};var r=function(I,P){if(I.length!==0){for(var y=I[0],F=I.length,z=1;z<F;z++)y=P(y,I[z]);return y}},o;Array.prototype.map?o=function(I,P){return I.map(P)}:o=function(I,P){for(var y=[],F=I.length,z=0;z<F;z++)y.push(P(I[z]));return y};var a;Array.prototype.filter?a=function(I,P){return I.filter(P)}:a=function(I,P){for(var y=[],F=I.length,z=0;z<F;z++)P(I[z])&&y.push(I[z]);return y};var n;String.prototype.codePointAt?n=function(I,P){return I.codePointAt(P)}:n=function(I,P){return I.charCodeAt(P)};var u;String.fromCodePoint?u=function(){return String.fromCodePoint.apply(null,arguments)}:u=function(){return String.fromCharCode.apply(null,arguments)};var A=0,p=1,h=/(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)|\\x([0-9a-fA-F]+)\\|\\([0-7]+)\\|(\\\\)|(\\')|('')|(\\")|(\\`)|(\\.)|(.)/g,C={"\\a":7,"\\b":8,"\\f":12,"\\n":10,"\\r":13,"\\t":9,"\\v":11};function w(I){var P=[],y=!1;return I.replace(h,function(F,z,X,$,ie,ke,Ne,st,ht,Ut,Xt,Pt,tn,Dr,fr,Br,jr){switch(!0){case ht!==void 0:return P.push(parseInt(ht,16)),"";case Ut!==void 0:return P.push(parseInt(Ut,8)),"";case Xt!==void 0:case Pt!==void 0:case tn!==void 0:case Dr!==void 0:case fr!==void 0:return P.push(n(F.substr(1),0)),"";case jr!==void 0:return P.push(n(jr,0)),"";case Br!==void 0:y=!0;default:return P.push(C[F]),""}}),y?null:P}function v(I,P){var y="";if(I.length<2)return I;try{I=I.replace(/\\([0-7]+)\\/g,function($,ie){return u(parseInt(ie,8))}),I=I.replace(/\\x([0-9a-fA-F]+)\\/g,function($,ie){return u(parseInt(ie,16))})}catch{return null}for(var F=0;F<I.length;F++){var z=I.charAt(F),X=I.charAt(F+1);if(z===P&&X===P)F++,y+=P;else if(z==="\\")if(["a","b","f","n","r","t","v","'",'"',"\\","a","\b","\f",` 258`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),A+=e),n[qr.keyIn(A,o).toLowerCase()]};qr.getRawInput=function(){return uQ};function A2(t,e){var r;return e.length&&(r={},r[t]=e[0]),qr.setDefaultOptions(r)[t]}qr.setPrint=function(){return A2("print",arguments)};qr.setPrompt=function(){return A2("prompt",arguments)};qr.setEncoding=function(){return A2("encoding",arguments)};qr.setMask=function(){return A2("mask",arguments)};qr.setBufferSize=function(){return A2("bufferSize",arguments)}});var dH=U((e5t,dl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(I,P,y){var F=tau_file_system.files[I];if(!F){if(y==="read")return null;F={path:I,text:"",type:P,get:function(J,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+J)},put:function(J,X){return X==="end_of_file"?(this.text+=J,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+J+this.text.substring(X+J.length),!0)},get_byte:function(J){if(J==="end_of_stream")return-1;var X=Math.floor(J/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(J/2)],0);return J%2===0?$&255:$/256>>>0},put_byte:function(J,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var ie=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ie=ie/256>>>0,ie=(ie&255)<<8|J&255):(ie=ie&255,ie=(J&255)<<8|ie&255),this.text.length===$?this.text+=u(ie):this.text=this.text.substring(0,$)+u(ie)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var J=tau_file_system.files[this.path];return J?!0:null}},tau_file_system.files[I]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(I,P){for(var y;tau_user_input.buffer.length<I;)y=window.prompt(),y&&(tau_user_input.buffer+=y);return y=tau_user_input.buffer.substr(0,I),tau_user_input.buffer=tau_user_input.buffer.substr(I),y}},tau_user_output={put:function(I,P){return console.log(I),!0},flush:function(){return!0}},nodejs_file_system={open:function(I,P,y){var F=Ie("fs"),J=F.openSync(I,y[0]);return y==="read"&&!F.existsSync(I)?null:{get:function(X,$){var ie=new Buffer(X);return F.readSync(J,ie,0,X,$),ie.toString()},put:function(X,$){var ie=Buffer.from(X);if($==="end_of_file")F.writeSync(J,ie);else{if($==="past_end_of_file")return null;F.writeSync(J,ie,0,ie.length,$)}return!0},get_byte:function(X){return null},put_byte:function(X,$){return null},flush:function(){return!0},close:function(){return F.closeSync(J),!0}}}},nodejs_user_input={buffer:"",get:function(I,P){for(var y,F=Dme();nodejs_user_input.buffer.length<I;)nodejs_user_input.buffer+=F.question();return y=nodejs_user_input.buffer.substr(0,I),nodejs_user_input.buffer=nodejs_user_input.buffer.substr(I),y}},nodejs_user_output={put:function(I,P){return process.stdout.write(I),!0},flush:function(){return!0}};var e;Array.prototype.indexOf?e=function(I,P){return I.indexOf(P)}:e=function(I,P){for(var y=I.length,F=0;F<y;F++)if(P===I[F])return F;return-1};var r=function(I,P){if(I.length!==0){for(var y=I[0],F=I.length,J=1;J<F;J++)y=P(y,I[J]);return y}},o;Array.prototype.map?o=function(I,P){return I.map(P)}:o=function(I,P){for(var y=[],F=I.length,J=0;J<F;J++)y.push(P(I[J]));return y};var a;Array.prototype.filter?a=function(I,P){return I.filter(P)}:a=function(I,P){for(var y=[],F=I.length,J=0;J<F;J++)P(I[J])&&y.push(I[J]);return y};var n;String.prototype.codePointAt?n=function(I,P){return I.codePointAt(P)}:n=function(I,P){return I.charCodeAt(P)};var u;String.fromCodePoint?u=function(){return String.fromCodePoint.apply(null,arguments)}:u=function(){return String.fromCharCode.apply(null,arguments)};var A=0,p=1,h=/(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)|\\x([0-9a-fA-F]+)\\|\\([0-7]+)\\|(\\\\)|(\\')|('')|(\\")|(\\`)|(\\.)|(.)/g,E={"\\a":7,"\\b":8,"\\f":12,"\\n":10,"\\r":13,"\\t":9,"\\v":11};function w(I){var P=[],y=!1;return I.replace(h,function(F,J,X,$,ie,ke,Ne,st,ht,Ut,Xt,Pt,tn,Dr,fr,Br,jr){switch(!0){case ht!==void 0:return P.push(parseInt(ht,16)),"";case Ut!==void 0:return P.push(parseInt(Ut,8)),"";case Xt!==void 0:case Pt!==void 0:case tn!==void 0:case Dr!==void 0:case fr!==void 0:return P.push(n(F.substr(1),0)),"";case jr!==void 0:return P.push(n(jr,0)),"";case Br!==void 0:y=!0;default:return P.push(E[F]),""}}),y?null:P}function v(I,P){var y="";if(I.length<2)return I;try{I=I.replace(/\\([0-7]+)\\/g,function($,ie){return u(parseInt(ie,8))}),I=I.replace(/\\x([0-9a-fA-F]+)\\/g,function($,ie){return u(parseInt(ie,16))})}catch{return null}for(var F=0;F<I.length;F++){var J=I.charAt(F),X=I.charAt(F+1);if(J===P&&X===P)F++,y+=P;else if(J==="\\")if(["a","b","f","n","r","t","v","'",'"',"\\","a","\b","\f",`
259`,"\r"," ","\v"].indexOf(X)!==-1)switch(F+=1,X){case"a":y+="a";break;case"b":y+="\b";break;case"f":y+="\f";break;case"n":y+=` 259`,"\r"," ","\v"].indexOf(X)!==-1)switch(F+=1,X){case"a":y+="a";break;case"b":y+="\b";break;case"f":y+="\f";break;case"n":y+=`
260`;break;case"r":y+="\r";break;case"t":y+=" ";break;case"v":y+="\v";break;case"'":y+="'";break;case'"':y+='"';break;case"\\":y+="\\";break}else return null;else y+=z}return y}function b(I){for(var P="",y=0;y<I.length;y++)switch(I.charAt(y)){case"'":P+="\\'";break;case"\\":P+="\\\\";break;case"\b":P+="\\b";break;case"\f":P+="\\f";break;case` 260`;break;case"r":y+="\r";break;case"t":y+=" ";break;case"v":y+="\v";break;case"'":y+="'";break;case'"':y+='"';break;case"\\":y+="\\";break}else return null;else y+=J}return y}function b(I){for(var P="",y=0;y<I.length;y++)switch(I.charAt(y)){case"'":P+="\\'";break;case"\\":P+="\\\\";break;case"\b":P+="\\b";break;case"\f":P+="\\f";break;case`
261`:P+="\\n";break;case"\r":P+="\\r";break;case" ":P+="\\t";break;case"\v":P+="\\v";break;default:P+=I.charAt(y);break}return P}function E(I){var P=I.substr(2);switch(I.substr(0,2).toLowerCase()){case"0x":return parseInt(P,16);case"0b":return parseInt(P,2);case"0o":return parseInt(P,8);case"0'":return w(P)[0];default:return parseFloat(I)}}var R={whitespace:/^\s*(?:(?:%.*)|(?:\/\*(?:\n|\r|.)*?\*\/)|(?:\s+))\s*/,variable:/^(?:[A-Z_][a-zA-Z0-9_]*)/,atom:/^(\!|,|;|[a-z][0-9a-zA-Z_]*|[#\$\&\*\+\-\.\/\:\<\=\>\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function L(I,P){return I.get_flag("char_conversion").id==="on"?P.replace(/./g,function(y){return I.get_char_conversion(y)}):P}function _(I){this.thread=I,this.text="",this.tokens=[]}_.prototype.set_last_tokens=function(I){return this.tokens=I},_.prototype.new_text=function(I){this.text=I,this.tokens=[]},_.prototype.get_tokens=function(I){var P,y=0,F=0,z=0,X=[],$=!1;if(I){var ie=this.tokens[I-1];y=ie.len,P=L(this.thread,this.text.substr(ie.len)),F=ie.line,z=ie.start}else P=this.text;if(/^\s*$/.test(P))return null;for(;P!=="";){var ke=[],Ne=!1;if(/^\n/.exec(P)!==null){F++,z=0,y++,P=P.replace(/\n/,""),$=!0;continue}for(var st in R)if(R.hasOwnProperty(st)){var ht=R[st].exec(P);ht&&ke.push({value:ht[0],name:st,matches:ht})}if(!ke.length)return this.set_last_tokens([{value:P,matches:[],name:"lexical",line:F,start:z}]);var ie=r(ke,function(Dr,fr){return Dr.value.length>=fr.value.length?Dr:fr});switch(ie.start=z,ie.line=F,P=P.replace(ie.value,""),z+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=E(ie.value),ie.blank=Ne;break;case"string":var Ut=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),Ut),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var Xt=X[X.length-1];Xt&&(Xt.space=!0),Ne=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Ne=!1}var Pt=this.set_last_tokens(X);return Pt.length===0?null:Pt};function J(I,P,y,F,z){if(!P[y])return{type:A,value:x.error.syntax(P[y-1],"expression expected",!0)};var X;if(F==="0"){var $=P[y];switch($.name){case"number":return{type:p,len:y+1,value:new x.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new x.type.Var($.value)};case"string":var ie;switch(I.get_flag("double_quotes").id){case"atom":ie=new H($.value,[]);break;case"codes":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Num(n($.value,ke),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Term($.value.charAt(ke),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var Pt=J(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_paren"?(Pt.len++,Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],") or operator expected",!P[Pt.len])};case"l_bracket":var Pt=J(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_bracket"?(Pt.len++,Pt.value=new H("{}",[Pt.value]),Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],"} or operator expected",!P[Pt.len])}}var Ne=re(I,P,y,z);return Ne.type===p||Ne.derived||(Ne=oe(I,P,y),Ne.type===p||Ne.derived)?Ne:{type:A,derived:!1,value:x.error.syntax(P[y],"unexpected token")}}var st=I.__get_max_priority(),ht=I.__get_next_priority(F),Ut=y;if(P[y].name==="atom"&&P[y+1]&&(P[y].space||P[y+1].name!=="l_paren")){var $=P[y++],Xt=I.__lookup_operator_classes(F,$.value);if(Xt&&Xt.indexOf("fy")>-1){var Pt=J(I,P,y,F,z);if(Pt.type!==A)return $.value==="-"&&!$.space&&x.type.is_number(Pt.value)?{value:new x.type.Num(-Pt.value.value,Pt.value.is_float),len:Pt.len,type:p}:{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}else if(Xt&&Xt.indexOf("fx")>-1){var Pt=J(I,P,y,ht,z);if(Pt.type!==A)return{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}}y=Ut;var Pt=J(I,P,y,ht,z);if(Pt.type===p){y=Pt.len;var $=P[y];if(P[y]&&(P[y].name==="atom"&&I.__lookup_operator_classes(F,$.value)||P[y].name==="bar"&&I.__lookup_operator_classes(F,"|"))){var tn=ht,Dr=F,Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("xf")>-1)return{value:new x.type.Term($.value,[Pt.value]),len:++Pt.len,type:p};if(Xt.indexOf("xfx")>-1){var fr=J(I,P,y+1,tn,z);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Xt.indexOf("xfy")>-1){var fr=J(I,P,y+1,Dr,z);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Pt.type!==A)for(;;){y=Pt.len;var $=P[y];if($&&$.name==="atom"&&I.__lookup_operator_classes(F,$.value)){var Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("yf")>-1)Pt={value:new x.type.Term($.value,[Pt.value]),len:++y,type:p};else if(Xt.indexOf("yfx")>-1){var fr=J(I,P,++y,tn,z);if(fr.type===A)return fr.derived=!0,fr;y=fr.len,Pt={value:new x.type.Term($.value,[Pt.value,fr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:x.error.syntax(P[Pt.len-1],"operator expected")};return Pt}return Pt}function re(I,P,y,F){if(!P[y]||P[y].name==="atom"&&P[y].raw==="."&&!F&&(P[y].space||!P[y+1]||P[y+1].name!=="l_paren"))return{type:A,derived:!1,value:x.error.syntax(P[y-1],"unfounded token")};var z=P[y],X=[];if(P[y].name==="atom"&&P[y].raw!==","){if(y++,P[y-1].space)return{type:p,len:y,value:new x.type.Term(z.value,X)};if(P[y]&&P[y].name==="l_paren"){if(P[y+1]&&P[y+1].name==="r_paren")return{type:A,derived:!0,value:x.error.syntax(P[y+1],"argument expected")};var $=J(I,P,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],"argument expected",!P[y])};for(X.push($.value),y=$.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if($=J(I,P,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X.push($.value),y=$.len}if(P[y]&&P[y].name==="r_paren")y++;else return{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],", or ) expected",!P[y])}}return{type:p,len:y,value:new x.type.Term(z.value,X)}}return{type:A,derived:!1,value:x.error.syntax(P[y],"term expected")}}function oe(I,P,y){if(!P[y])return{type:A,derived:!1,value:x.error.syntax(P[y-1],"[ expected")};if(P[y]&&P[y].name==="l_brace"){var F=J(I,P,++y,"999",!0),z=[F.value],X=void 0;if(F.type===A)return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:new x.type.Term("[]",[])}:{type:A,derived:!0,value:x.error.syntax(P[y],"] expected")};for(y=F.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(F=J(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};z.push(F.value),y=F.len}var $=!1;if(P[y]&&P[y].name==="bar"){if($=!0,F=J(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X=F.value,y=F.len}return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:g(z,X)}:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],$?"] expected":", or | or ] expected",!P[y])}}return{type:A,derived:!1,value:x.error.syntax(P[y],"list expected")}}function pe(I,P,y){var F=P[y].line,z=J(I,P,y,I.__get_max_priority(),!1),X=null,$;if(z.type!==A)if(y=z.len,P[y]&&P[y].name==="atom"&&P[y].raw===".")if(y++,x.type.is_term(z.value)){if(z.value.indicator===":-/2"?(X=new x.type.Rule(z.value.args[0],Pe(z.value.args[1])),$={value:X,len:y,type:p}):z.value.indicator==="-->/2"?(X=ge(new x.type.Rule(z.value.args[0],z.value.args[1]),I),X.body=Pe(X.body),$={value:X,len:y,type:x.type.is_rule(X)?p:A}):(X=new x.type.Rule(z.value,null),$={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&I.throw_warning(x.warning.singleton(ie,X.head.indicator,F))}return $}else return{type:A,value:x.error.syntax(P[y],"callable expected")};else return{type:A,value:x.error.syntax(P[y]?P[y]:P[y-1],". or operator expected")};return z}function he(I,P,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new _(I),z={},X;F.new_text(P);var $=0,ie=F.get_tokens($);do{if(ie===null||!ie[$])break;var ke=pe(I,ie,$);if(ke.type===A)return new H("throw",[ke.value]);if(ke.value.body===null&&ke.value.head.indicator==="?-/1"){var Ne=new At(I.session);Ne.add_goal(ke.value.head.args[0]),Ne.answer(function(ht){x.type.is_error(ht)?I.throw_warning(ht.args[0]):(ht===!1||ht===null)&&I.throw_warning(x.warning.failed_goal(ke.value.head.args[0],ke.len))}),$=ke.len;var st=!0}else if(ke.value.body===null&&ke.value.head.indicator===":-/1"){var st=I.run_directive(ke.value.head.args[0]);$=ke.len,ke.value.head.args[0].indicator==="char_conversion/2"&&(ie=F.get_tokens($),$=0)}else{X=ke.value.head.indicator,y.reconsult!==!1&&z[X]!==!0&&!I.is_multifile_predicate(X)&&(I.session.rules[X]=a(I.session.rules[X]||[],function(Ut){return Ut.dynamic}),z[X]=!0);var st=I.add_rule(ke.value,y);$=ke.len}if(!st)return st}while(!0);return!0}function ve(I,P){var y=new _(I);y.new_text(P);var F=0;do{var z=y.get_tokens(F);if(z===null)break;var X=J(I,z,0,I.__get_max_priority(),!1);if(X.type!==A){var $=X.len,ie=$;if(z[$]&&z[$].name==="atom"&&z[$].raw===".")I.add_goal(Pe(X.value));else{var ke=z[$];return new H("throw",[x.error.syntax(ke||z[$-1],". or operator expected",!ke)])}F=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function ge(I,P){I=I.rename(P);var y=P.next_free_variable(),F=le(I.body,y,P);return F.error?F.value:(I.body=F.value,I.head.args=I.head.args.concat([y,F.variable]),I.head=new H(I.head.id,I.head.args),I)}function le(I,P,y){var F;if(x.type.is_term(I)&&I.indicator==="!/0")return{value:I,variable:P,error:!1};if(x.type.is_term(I)&&I.indicator===",/2"){var z=le(I.args[0],P,y);if(z.error)return z;var X=le(I.args[1],z.variable,y);return X.error?X:{value:new H(",",[z.value,X.value]),variable:X.variable,error:!1}}else{if(x.type.is_term(I)&&I.indicator==="{}/1")return{value:I.args[0],variable:P,error:!1};if(x.type.is_empty_list(I))return{value:new H("true",[]),variable:P,error:!1};if(x.type.is_list(I)){F=y.next_free_variable();for(var $=I,ie;$.indicator==="./2";)ie=$,$=$.args[1];return x.type.is_variable($)?{value:x.error.instantiation("DCG"),variable:P,error:!0}:x.type.is_empty_list($)?(ie.args[1]=F,{value:new H("=",[P,I]),variable:F,error:!1}):{value:x.error.type("list",I,"DCG"),variable:P,error:!0}}else return x.type.is_callable(I)?(F=y.next_free_variable(),I.args=I.args.concat([P,F]),I=new H(I.id,I.args),{value:I,variable:F,error:!1}):{value:x.error.type("callable",I,"DCG"),variable:P,error:!0}}}function Pe(I){return x.type.is_variable(I)?new H("call",[I]):x.type.is_term(I)&&[",/2",";/2","->/2"].indexOf(I.indicator)!==-1?new H(I.id,[Pe(I.args[0]),Pe(I.args[1])]):I}function g(I,P){for(var y=P||new x.type.Term("[]",[]),F=I.length-1;F>=0;F--)y=new x.type.Term(".",[I[F],y]);return y}function De(I,P){for(var y=I.length-1;y>=0;y--)I[y]===P&&I.splice(y,1)}function Ee(I){for(var P={},y=[],F=0;F<I.length;F++)I[F]in P||(y.push(I[F]),P[I[F]]=!0);return y}function de(I,P,y,F){if(I.session.rules[y]!==null){for(var z=0;z<I.session.rules[y].length;z++)if(I.session.rules[y][z]===F){I.session.rules[y].splice(z,1),I.success(P);break}}}function ne(I){return function(P,y,F){var z=F.args[0],X=F.args.slice(1,I);if(x.type.is_variable(z))P.throw_error(x.error.instantiation(P.level));else if(!x.type.is_callable(z))P.throw_error(x.error.type("callable",z,P.level));else{var $=new H(z.id,z.args.concat(X));P.prepend([new Qe(y.goal.replace($),y.substitution,y)])}}}function Z(I){for(var P=I.length-1;P>=0;P--)if(I.charAt(P)==="/")return new H("/",[new H(I.substring(0,P)),new be(parseInt(I.substring(P+1)),!1)])}function me(I){this.id=I}function be(I,P){this.is_float=P!==void 0?P:parseInt(I)!==I,this.value=this.is_float?I:parseInt(I)}var ut=0;function H(I,P,y){this.ref=y||++ut,this.id=I,this.args=P||[],this.indicator=I+"/"+this.args.length}var yt=0;function Me(I,P,y,F,z,X){this.id=yt++,this.stream=I,this.mode=P,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=z!==void 0?z:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Te(I){I=I||{},this.links=I}function Qe(I,P,y){P=P||new Te,y=y||null,this.goal=I,this.substitution=P,this.parent=y}function Ue(I,P,y){this.head=I,this.body=P,this.dynamic=y||!1}function je(I){I=I===void 0||I<=0?1e3:I,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new At(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=I,this.streams={user_input:new Me(typeof pl<"u"&&pl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Me(typeof pl<"u"&&pl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof pl<"u"&&pl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(P){return P.substitution},this.format_error=function(P){return P.goal},this.flag={bounded:x.flag.bounded.value,max_integer:x.flag.max_integer.value,min_integer:x.flag.min_integer.value,integer_rounding_function:x.flag.integer_rounding_function.value,char_conversion:x.flag.char_conversion.value,debug:x.flag.debug.value,max_arity:x.flag.max_arity.value,unknown:x.flag.unknown.value,double_quotes:x.flag.double_quotes.value,occurs_check:x.flag.occurs_check.value,dialect:x.flag.dialect.value,version_data:x.flag.version_data.value,nodejs:x.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function At(I){this.epoch=Date.now(),this.session=I,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Le(I,P,y){this.id=I,this.rules=P,this.exports=y,x.module[I]=this}Le.prototype.exports_predicate=function(I){return this.exports.indexOf(I)!==-1},me.prototype.unify=function(I,P){if(P&&e(I.variables(),this.id)!==-1&&!x.type.is_variable(I))return null;var y={};return y[this.id]=I,new Te(y)},be.prototype.unify=function(I,P){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float?new Te:null},H.prototype.unify=function(I,P){if(x.type.is_term(I)&&this.indicator===I.indicator){for(var y=new Te,F=0;F<this.args.length;F++){var z=x.unify(this.args[F].apply(y),I.args[F].apply(y),P);if(z===null)return null;for(var X in z.links)y.links[X]=z.links[X];y=y.apply(z)}return y}return null},Me.prototype.unify=function(I,P){return x.type.is_stream(I)&&this.id===I.id?new Te:null},me.prototype.toString=function(I){return this.id},be.prototype.toString=function(I){return this.is_float&&e(this.value.toString(),".")===-1?this.value+".0":this.value.toString()},H.prototype.toString=function(I,P,y){if(I=I||{},I.quoted=I.quoted===void 0?!0:I.quoted,I.ignore_ops=I.ignore_ops===void 0?!1:I.ignore_ops,I.numbervars=I.numbervars===void 0?!1:I.numbervars,P=P===void 0?1200:P,y=y===void 0?"":y,I.numbervars&&this.indicator==="$VAR/1"&&x.type.is_integer(this.args[0])&&this.args[0].value>=0){var F=this.args[0].value,z=Math.floor(F/26),X=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(z!==0?z:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(I)+"}";case"./2":for(var $="["+this.args[0].toString(I),ie=this.args[1];ie.indicator==="./2";)$+=", "+ie.args[0].toString(I),ie=ie.args[1];return ie.indicator!=="[]/0"&&($+="|"+ie.toString(I)),$+="]",$;case",/2":return"("+this.args[0].toString(I)+", "+this.args[1].toString(I)+")";default:var ke=this.id,Ne=I.session?I.session.lookup_operator(this.id,this.args.length):null;if(I.session===void 0||I.ignore_ops||Ne===null)return I.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(ke)&&ke!=="{}"&&ke!=="[]"&&(ke="'"+b(ke)+"'"),ke+(this.args.length?"("+o(this.args,function(Xt){return Xt.toString(I)}).join(", ")+")":"");var st=Ne.priority>P.priority||Ne.priority===P.priority&&(Ne.class==="xfy"&&this.indicator!==P.indicator||Ne.class==="yfx"&&this.indicator!==P.indicator||this.indicator===P.indicator&&Ne.class==="yfx"&&y==="right"||this.indicator===P.indicator&&Ne.class==="xfy"&&y==="left");Ne.indicator=this.indicator;var ht=st?"(":"",Ut=st?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Ne.class)!==-1?ht+ke+" "+this.args[0].toString(I,Ne)+Ut:["yf","xf"].indexOf(Ne.class)!==-1?ht+this.args[0].toString(I,Ne)+" "+ke+Ut:ht+this.args[0].toString(I,Ne,"left")+" "+this.id+" "+this.args[1].toString(I,Ne,"right")+Ut}},Me.prototype.toString=function(I){return"<stream>("+this.id+")"},Te.prototype.toString=function(I){var P="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(P!=="{"&&(P+=", "),P+=y+"/"+this.links[y].toString(I));return P+="}",P},Qe.prototype.toString=function(I){return this.goal===null?"<"+this.substitution.toString(I)+">":"<"+this.goal.toString(I)+", "+this.substitution.toString(I)+">"},Ue.prototype.toString=function(I){return this.body?this.head.toString(I)+" :- "+this.body.toString(I)+".":this.head.toString(I)+"."},je.prototype.toString=function(I){for(var P="",y=0;y<this.modules.length;y++)P+=":- use_module(library("+this.modules[y]+`)). 261`:P+="\\n";break;case"\r":P+="\\r";break;case" ":P+="\\t";break;case"\v":P+="\\v";break;default:P+=I.charAt(y);break}return P}function C(I){var P=I.substr(2);switch(I.substr(0,2).toLowerCase()){case"0x":return parseInt(P,16);case"0b":return parseInt(P,2);case"0o":return parseInt(P,8);case"0'":return w(P)[0];default:return parseFloat(I)}}var R={whitespace:/^\s*(?:(?:%.*)|(?:\/\*(?:\n|\r|.)*?\*\/)|(?:\s+))\s*/,variable:/^(?:[A-Z_][a-zA-Z0-9_]*)/,atom:/^(\!|,|;|[a-z][0-9a-zA-Z_]*|[#\$\&\*\+\-\.\/\:\<\=\>\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function L(I,P){return I.get_flag("char_conversion").id==="on"?P.replace(/./g,function(y){return I.get_char_conversion(y)}):P}function _(I){this.thread=I,this.text="",this.tokens=[]}_.prototype.set_last_tokens=function(I){return this.tokens=I},_.prototype.new_text=function(I){this.text=I,this.tokens=[]},_.prototype.get_tokens=function(I){var P,y=0,F=0,J=0,X=[],$=!1;if(I){var ie=this.tokens[I-1];y=ie.len,P=L(this.thread,this.text.substr(ie.len)),F=ie.line,J=ie.start}else P=this.text;if(/^\s*$/.test(P))return null;for(;P!=="";){var ke=[],Ne=!1;if(/^\n/.exec(P)!==null){F++,J=0,y++,P=P.replace(/\n/,""),$=!0;continue}for(var st in R)if(R.hasOwnProperty(st)){var ht=R[st].exec(P);ht&&ke.push({value:ht[0],name:st,matches:ht})}if(!ke.length)return this.set_last_tokens([{value:P,matches:[],name:"lexical",line:F,start:J}]);var ie=r(ke,function(Dr,fr){return Dr.value.length>=fr.value.length?Dr:fr});switch(ie.start=J,ie.line=F,P=P.replace(ie.value,""),J+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=C(ie.value),ie.blank=Ne;break;case"string":var Ut=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),Ut),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var Xt=X[X.length-1];Xt&&(Xt.space=!0),Ne=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Ne=!1}var Pt=this.set_last_tokens(X);return Pt.length===0?null:Pt};function V(I,P,y,F,J){if(!P[y])return{type:A,value:x.error.syntax(P[y-1],"expression expected",!0)};var X;if(F==="0"){var $=P[y];switch($.name){case"number":return{type:p,len:y+1,value:new x.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new x.type.Var($.value)};case"string":var ie;switch(I.get_flag("double_quotes").id){case"atom":ie=new H($.value,[]);break;case"codes":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Num(n($.value,ke),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Term($.value.charAt(ke),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var Pt=V(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_paren"?(Pt.len++,Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],") or operator expected",!P[Pt.len])};case"l_bracket":var Pt=V(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_bracket"?(Pt.len++,Pt.value=new H("{}",[Pt.value]),Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],"} or operator expected",!P[Pt.len])}}var Ne=re(I,P,y,J);return Ne.type===p||Ne.derived||(Ne=oe(I,P,y),Ne.type===p||Ne.derived)?Ne:{type:A,derived:!1,value:x.error.syntax(P[y],"unexpected token")}}var st=I.__get_max_priority(),ht=I.__get_next_priority(F),Ut=y;if(P[y].name==="atom"&&P[y+1]&&(P[y].space||P[y+1].name!=="l_paren")){var $=P[y++],Xt=I.__lookup_operator_classes(F,$.value);if(Xt&&Xt.indexOf("fy")>-1){var Pt=V(I,P,y,F,J);if(Pt.type!==A)return $.value==="-"&&!$.space&&x.type.is_number(Pt.value)?{value:new x.type.Num(-Pt.value.value,Pt.value.is_float),len:Pt.len,type:p}:{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}else if(Xt&&Xt.indexOf("fx")>-1){var Pt=V(I,P,y,ht,J);if(Pt.type!==A)return{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}}y=Ut;var Pt=V(I,P,y,ht,J);if(Pt.type===p){y=Pt.len;var $=P[y];if(P[y]&&(P[y].name==="atom"&&I.__lookup_operator_classes(F,$.value)||P[y].name==="bar"&&I.__lookup_operator_classes(F,"|"))){var tn=ht,Dr=F,Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("xf")>-1)return{value:new x.type.Term($.value,[Pt.value]),len:++Pt.len,type:p};if(Xt.indexOf("xfx")>-1){var fr=V(I,P,y+1,tn,J);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Xt.indexOf("xfy")>-1){var fr=V(I,P,y+1,Dr,J);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Pt.type!==A)for(;;){y=Pt.len;var $=P[y];if($&&$.name==="atom"&&I.__lookup_operator_classes(F,$.value)){var Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("yf")>-1)Pt={value:new x.type.Term($.value,[Pt.value]),len:++y,type:p};else if(Xt.indexOf("yfx")>-1){var fr=V(I,P,++y,tn,J);if(fr.type===A)return fr.derived=!0,fr;y=fr.len,Pt={value:new x.type.Term($.value,[Pt.value,fr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:x.error.syntax(P[Pt.len-1],"operator expected")};return Pt}return Pt}function re(I,P,y,F){if(!P[y]||P[y].name==="atom"&&P[y].raw==="."&&!F&&(P[y].space||!P[y+1]||P[y+1].name!=="l_paren"))return{type:A,derived:!1,value:x.error.syntax(P[y-1],"unfounded token")};var J=P[y],X=[];if(P[y].name==="atom"&&P[y].raw!==","){if(y++,P[y-1].space)return{type:p,len:y,value:new x.type.Term(J.value,X)};if(P[y]&&P[y].name==="l_paren"){if(P[y+1]&&P[y+1].name==="r_paren")return{type:A,derived:!0,value:x.error.syntax(P[y+1],"argument expected")};var $=V(I,P,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],"argument expected",!P[y])};for(X.push($.value),y=$.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if($=V(I,P,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X.push($.value),y=$.len}if(P[y]&&P[y].name==="r_paren")y++;else return{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],", or ) expected",!P[y])}}return{type:p,len:y,value:new x.type.Term(J.value,X)}}return{type:A,derived:!1,value:x.error.syntax(P[y],"term expected")}}function oe(I,P,y){if(!P[y])return{type:A,derived:!1,value:x.error.syntax(P[y-1],"[ expected")};if(P[y]&&P[y].name==="l_brace"){var F=V(I,P,++y,"999",!0),J=[F.value],X=void 0;if(F.type===A)return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:new x.type.Term("[]",[])}:{type:A,derived:!0,value:x.error.syntax(P[y],"] expected")};for(y=F.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(F=V(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};J.push(F.value),y=F.len}var $=!1;if(P[y]&&P[y].name==="bar"){if($=!0,F=V(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X=F.value,y=F.len}return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:g(J,X)}:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],$?"] expected":", or | or ] expected",!P[y])}}return{type:A,derived:!1,value:x.error.syntax(P[y],"list expected")}}function pe(I,P,y){var F=P[y].line,J=V(I,P,y,I.__get_max_priority(),!1),X=null,$;if(J.type!==A)if(y=J.len,P[y]&&P[y].name==="atom"&&P[y].raw===".")if(y++,x.type.is_term(J.value)){if(J.value.indicator===":-/2"?(X=new x.type.Rule(J.value.args[0],Pe(J.value.args[1])),$={value:X,len:y,type:p}):J.value.indicator==="-->/2"?(X=ge(new x.type.Rule(J.value.args[0],J.value.args[1]),I),X.body=Pe(X.body),$={value:X,len:y,type:x.type.is_rule(X)?p:A}):(X=new x.type.Rule(J.value,null),$={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&I.throw_warning(x.warning.singleton(ie,X.head.indicator,F))}return $}else return{type:A,value:x.error.syntax(P[y],"callable expected")};else return{type:A,value:x.error.syntax(P[y]?P[y]:P[y-1],". or operator expected")};return J}function he(I,P,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new _(I),J={},X;F.new_text(P);var $=0,ie=F.get_tokens($);do{if(ie===null||!ie[$])break;var ke=pe(I,ie,$);if(ke.type===A)return new H("throw",[ke.value]);if(ke.value.body===null&&ke.value.head.indicator==="?-/1"){var Ne=new At(I.session);Ne.add_goal(ke.value.head.args[0]),Ne.answer(function(ht){x.type.is_error(ht)?I.throw_warning(ht.args[0]):(ht===!1||ht===null)&&I.throw_warning(x.warning.failed_goal(ke.value.head.args[0],ke.len))}),$=ke.len;var st=!0}else if(ke.value.body===null&&ke.value.head.indicator===":-/1"){var st=I.run_directive(ke.value.head.args[0]);$=ke.len,ke.value.head.args[0].indicator==="char_conversion/2"&&(ie=F.get_tokens($),$=0)}else{X=ke.value.head.indicator,y.reconsult!==!1&&J[X]!==!0&&!I.is_multifile_predicate(X)&&(I.session.rules[X]=a(I.session.rules[X]||[],function(Ut){return Ut.dynamic}),J[X]=!0);var st=I.add_rule(ke.value,y);$=ke.len}if(!st)return st}while(!0);return!0}function ve(I,P){var y=new _(I);y.new_text(P);var F=0;do{var J=y.get_tokens(F);if(J===null)break;var X=V(I,J,0,I.__get_max_priority(),!1);if(X.type!==A){var $=X.len,ie=$;if(J[$]&&J[$].name==="atom"&&J[$].raw===".")I.add_goal(Pe(X.value));else{var ke=J[$];return new H("throw",[x.error.syntax(ke||J[$-1],". or operator expected",!ke)])}F=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function ge(I,P){I=I.rename(P);var y=P.next_free_variable(),F=le(I.body,y,P);return F.error?F.value:(I.body=F.value,I.head.args=I.head.args.concat([y,F.variable]),I.head=new H(I.head.id,I.head.args),I)}function le(I,P,y){var F;if(x.type.is_term(I)&&I.indicator==="!/0")return{value:I,variable:P,error:!1};if(x.type.is_term(I)&&I.indicator===",/2"){var J=le(I.args[0],P,y);if(J.error)return J;var X=le(I.args[1],J.variable,y);return X.error?X:{value:new H(",",[J.value,X.value]),variable:X.variable,error:!1}}else{if(x.type.is_term(I)&&I.indicator==="{}/1")return{value:I.args[0],variable:P,error:!1};if(x.type.is_empty_list(I))return{value:new H("true",[]),variable:P,error:!1};if(x.type.is_list(I)){F=y.next_free_variable();for(var $=I,ie;$.indicator==="./2";)ie=$,$=$.args[1];return x.type.is_variable($)?{value:x.error.instantiation("DCG"),variable:P,error:!0}:x.type.is_empty_list($)?(ie.args[1]=F,{value:new H("=",[P,I]),variable:F,error:!1}):{value:x.error.type("list",I,"DCG"),variable:P,error:!0}}else return x.type.is_callable(I)?(F=y.next_free_variable(),I.args=I.args.concat([P,F]),I=new H(I.id,I.args),{value:I,variable:F,error:!1}):{value:x.error.type("callable",I,"DCG"),variable:P,error:!0}}}function Pe(I){return x.type.is_variable(I)?new H("call",[I]):x.type.is_term(I)&&[",/2",";/2","->/2"].indexOf(I.indicator)!==-1?new H(I.id,[Pe(I.args[0]),Pe(I.args[1])]):I}function g(I,P){for(var y=P||new x.type.Term("[]",[]),F=I.length-1;F>=0;F--)y=new x.type.Term(".",[I[F],y]);return y}function De(I,P){for(var y=I.length-1;y>=0;y--)I[y]===P&&I.splice(y,1)}function Ce(I){for(var P={},y=[],F=0;F<I.length;F++)I[F]in P||(y.push(I[F]),P[I[F]]=!0);return y}function de(I,P,y,F){if(I.session.rules[y]!==null){for(var J=0;J<I.session.rules[y].length;J++)if(I.session.rules[y][J]===F){I.session.rules[y].splice(J,1),I.success(P);break}}}function ne(I){return function(P,y,F){var J=F.args[0],X=F.args.slice(1,I);if(x.type.is_variable(J))P.throw_error(x.error.instantiation(P.level));else if(!x.type.is_callable(J))P.throw_error(x.error.type("callable",J,P.level));else{var $=new H(J.id,J.args.concat(X));P.prepend([new Qe(y.goal.replace($),y.substitution,y)])}}}function Z(I){for(var P=I.length-1;P>=0;P--)if(I.charAt(P)==="/")return new H("/",[new H(I.substring(0,P)),new be(parseInt(I.substring(P+1)),!1)])}function me(I){this.id=I}function be(I,P){this.is_float=P!==void 0?P:parseInt(I)!==I,this.value=this.is_float?I:parseInt(I)}var ut=0;function H(I,P,y){this.ref=y||++ut,this.id=I,this.args=P||[],this.indicator=I+"/"+this.args.length}var yt=0;function Me(I,P,y,F,J,X){this.id=yt++,this.stream=I,this.mode=P,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=J!==void 0?J:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Te(I){I=I||{},this.links=I}function Qe(I,P,y){P=P||new Te,y=y||null,this.goal=I,this.substitution=P,this.parent=y}function _e(I,P,y){this.head=I,this.body=P,this.dynamic=y||!1}function qe(I){I=I===void 0||I<=0?1e3:I,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new At(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=I,this.streams={user_input:new Me(typeof dl<"u"&&dl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Me(typeof dl<"u"&&dl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof dl<"u"&&dl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(P){return P.substitution},this.format_error=function(P){return P.goal},this.flag={bounded:x.flag.bounded.value,max_integer:x.flag.max_integer.value,min_integer:x.flag.min_integer.value,integer_rounding_function:x.flag.integer_rounding_function.value,char_conversion:x.flag.char_conversion.value,debug:x.flag.debug.value,max_arity:x.flag.max_arity.value,unknown:x.flag.unknown.value,double_quotes:x.flag.double_quotes.value,occurs_check:x.flag.occurs_check.value,dialect:x.flag.dialect.value,version_data:x.flag.version_data.value,nodejs:x.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function At(I){this.epoch=Date.now(),this.session=I,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Oe(I,P,y){this.id=I,this.rules=P,this.exports=y,x.module[I]=this}Oe.prototype.exports_predicate=function(I){return this.exports.indexOf(I)!==-1},me.prototype.unify=function(I,P){if(P&&e(I.variables(),this.id)!==-1&&!x.type.is_variable(I))return null;var y={};return y[this.id]=I,new Te(y)},be.prototype.unify=function(I,P){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float?new Te:null},H.prototype.unify=function(I,P){if(x.type.is_term(I)&&this.indicator===I.indicator){for(var y=new Te,F=0;F<this.args.length;F++){var J=x.unify(this.args[F].apply(y),I.args[F].apply(y),P);if(J===null)return null;for(var X in J.links)y.links[X]=J.links[X];y=y.apply(J)}return y}return null},Me.prototype.unify=function(I,P){return x.type.is_stream(I)&&this.id===I.id?new Te:null},me.prototype.toString=function(I){return this.id},be.prototype.toString=function(I){return this.is_float&&e(this.value.toString(),".")===-1?this.value+".0":this.value.toString()},H.prototype.toString=function(I,P,y){if(I=I||{},I.quoted=I.quoted===void 0?!0:I.quoted,I.ignore_ops=I.ignore_ops===void 0?!1:I.ignore_ops,I.numbervars=I.numbervars===void 0?!1:I.numbervars,P=P===void 0?1200:P,y=y===void 0?"":y,I.numbervars&&this.indicator==="$VAR/1"&&x.type.is_integer(this.args[0])&&this.args[0].value>=0){var F=this.args[0].value,J=Math.floor(F/26),X=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(J!==0?J:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(I)+"}";case"./2":for(var $="["+this.args[0].toString(I),ie=this.args[1];ie.indicator==="./2";)$+=", "+ie.args[0].toString(I),ie=ie.args[1];return ie.indicator!=="[]/0"&&($+="|"+ie.toString(I)),$+="]",$;case",/2":return"("+this.args[0].toString(I)+", "+this.args[1].toString(I)+")";default:var ke=this.id,Ne=I.session?I.session.lookup_operator(this.id,this.args.length):null;if(I.session===void 0||I.ignore_ops||Ne===null)return I.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(ke)&&ke!=="{}"&&ke!=="[]"&&(ke="'"+b(ke)+"'"),ke+(this.args.length?"("+o(this.args,function(Xt){return Xt.toString(I)}).join(", ")+")":"");var st=Ne.priority>P.priority||Ne.priority===P.priority&&(Ne.class==="xfy"&&this.indicator!==P.indicator||Ne.class==="yfx"&&this.indicator!==P.indicator||this.indicator===P.indicator&&Ne.class==="yfx"&&y==="right"||this.indicator===P.indicator&&Ne.class==="xfy"&&y==="left");Ne.indicator=this.indicator;var ht=st?"(":"",Ut=st?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Ne.class)!==-1?ht+ke+" "+this.args[0].toString(I,Ne)+Ut:["yf","xf"].indexOf(Ne.class)!==-1?ht+this.args[0].toString(I,Ne)+" "+ke+Ut:ht+this.args[0].toString(I,Ne,"left")+" "+this.id+" "+this.args[1].toString(I,Ne,"right")+Ut}},Me.prototype.toString=function(I){return"<stream>("+this.id+")"},Te.prototype.toString=function(I){var P="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(P!=="{"&&(P+=", "),P+=y+"/"+this.links[y].toString(I));return P+="}",P},Qe.prototype.toString=function(I){return this.goal===null?"<"+this.substitution.toString(I)+">":"<"+this.goal.toString(I)+", "+this.substitution.toString(I)+">"},_e.prototype.toString=function(I){return this.body?this.head.toString(I)+" :- "+this.body.toString(I)+".":this.head.toString(I)+"."},qe.prototype.toString=function(I){for(var P="",y=0;y<this.modules.length;y++)P+=":- use_module(library("+this.modules[y]+`)).
262`;P+=` 262`;P+=`
263`;for(key in this.rules)for(y=0;y<this.rules[key].length;y++)P+=this.rules[key][y].toString(I),P+=` 263`;for(key in this.rules)for(y=0;y<this.rules[key].length;y++)P+=this.rules[key][y].toString(I),P+=`
264`;return P},me.prototype.clone=function(){return new me(this.id)},be.prototype.clone=function(){return new be(this.value,this.is_float)},H.prototype.clone=function(){return new H(this.id,o(this.args,function(I){return I.clone()}))},Me.prototype.clone=function(){return new Stram(this.stream,this.mode,this.alias,this.type,this.reposition,this.eof_action)},Te.prototype.clone=function(){var I={};for(var P in this.links)!this.links.hasOwnProperty(P)||(I[P]=this.links[P].clone());return new Te(I)},Qe.prototype.clone=function(){return new Qe(this.goal.clone(),this.substitution.clone(),this.parent)},Ue.prototype.clone=function(){return new Ue(this.head.clone(),this.body!==null?this.body.clone():null)},me.prototype.equals=function(I){return x.type.is_variable(I)&&this.id===I.id},be.prototype.equals=function(I){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float},H.prototype.equals=function(I){if(!x.type.is_term(I)||this.indicator!==I.indicator)return!1;for(var P=0;P<this.args.length;P++)if(!this.args[P].equals(I.args[P]))return!1;return!0},Me.prototype.equals=function(I){return x.type.is_stream(I)&&this.id===I.id},Te.prototype.equals=function(I){var P;if(!x.type.is_substitution(I))return!1;for(P in this.links)if(!!this.links.hasOwnProperty(P)&&(!I.links[P]||!this.links[P].equals(I.links[P])))return!1;for(P in I.links)if(!!I.links.hasOwnProperty(P)&&!this.links[P])return!1;return!0},Qe.prototype.equals=function(I){return x.type.is_state(I)&&this.goal.equals(I.goal)&&this.substitution.equals(I.substitution)&&this.parent===I.parent},Ue.prototype.equals=function(I){return x.type.is_rule(I)&&this.head.equals(I.head)&&(this.body===null&&I.body===null||this.body!==null&&this.body.equals(I.body))},me.prototype.rename=function(I){return I.get_free_variable(this)},be.prototype.rename=function(I){return this},H.prototype.rename=function(I){return new H(this.id,o(this.args,function(P){return P.rename(I)}))},Me.prototype.rename=function(I){return this},Ue.prototype.rename=function(I){return new Ue(this.head.rename(I),this.body!==null?this.body.rename(I):null)},me.prototype.variables=function(){return[this.id]},be.prototype.variables=function(){return[]},H.prototype.variables=function(){return[].concat.apply([],o(this.args,function(I){return I.variables()}))},Me.prototype.variables=function(){return[]},Ue.prototype.variables=function(){return this.body===null?this.head.variables():this.head.variables().concat(this.body.variables())},me.prototype.apply=function(I){return I.lookup(this.id)?I.lookup(this.id):this},be.prototype.apply=function(I){return this},H.prototype.apply=function(I){if(this.indicator==="./2"){for(var P=[],y=this;y.indicator==="./2";)P.push(y.args[0].apply(I)),y=y.args[1];for(var F=y.apply(I),z=P.length-1;z>=0;z--)F=new H(".",[P[z],F]);return F}return new H(this.id,o(this.args,function(X){return X.apply(I)}),this.ref)},Me.prototype.apply=function(I){return this},Ue.prototype.apply=function(I){return new Ue(this.head.apply(I),this.body!==null?this.body.apply(I):null)},Te.prototype.apply=function(I){var P,y={};for(P in this.links)!this.links.hasOwnProperty(P)||(y[P]=this.links[P].apply(I));return new Te(y)},H.prototype.select=function(){for(var I=this;I.indicator===",/2";)I=I.args[0];return I},H.prototype.replace=function(I){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(I),this.args[1]]):I===null?this.args[1]:new H(",",[I,this.args[1]]):I},H.prototype.search=function(I){if(x.type.is_term(I)&&I.ref!==void 0&&this.ref===I.ref)return!0;for(var P=0;P<this.args.length;P++)if(x.type.is_term(this.args[P])&&this.args[P].search(I))return!0;return!1},je.prototype.get_current_input=function(){return this.current_input},At.prototype.get_current_input=function(){return this.session.get_current_input()},je.prototype.get_current_output=function(){return this.current_output},At.prototype.get_current_output=function(){return this.session.get_current_output()},je.prototype.set_current_input=function(I){this.current_input=I},At.prototype.set_current_input=function(I){return this.session.set_current_input(I)},je.prototype.set_current_output=function(I){this.current_input=I},At.prototype.set_current_output=function(I){return this.session.set_current_output(I)},je.prototype.get_stream_by_alias=function(I){return this.streams[I]},At.prototype.get_stream_by_alias=function(I){return this.session.get_stream_by_alias(I)},je.prototype.file_system_open=function(I,P,y){return this.file_system.open(I,P,y)},At.prototype.file_system_open=function(I,P,y){return this.session.file_system_open(I,P,y)},je.prototype.get_char_conversion=function(I){return this.__char_conversion[I]||I},At.prototype.get_char_conversion=function(I){return this.session.get_char_conversion(I)},je.prototype.parse=function(I){return this.thread.parse(I)},At.prototype.parse=function(I){var P=new _(this);P.new_text(I);var y=P.get_tokens();if(y===null)return!1;var F=J(this,y,0,this.__get_max_priority(),!1);return F.len!==y.length?!1:{value:F.value,expr:F,tokens:y}},je.prototype.get_flag=function(I){return this.flag[I]},At.prototype.get_flag=function(I){return this.session.get_flag(I)},je.prototype.add_rule=function(I,P){return P=P||{},P.from=P.from?P.from:"$tau-js",this.src_predicates[I.head.indicator]=P.from,this.rules[I.head.indicator]||(this.rules[I.head.indicator]=[]),this.rules[I.head.indicator].push(I),this.public_predicates.hasOwnProperty(I.head.indicator)||(this.public_predicates[I.head.indicator]=!1),!0},At.prototype.add_rule=function(I,P){return this.session.add_rule(I,P)},je.prototype.run_directive=function(I){this.thread.run_directive(I)},At.prototype.run_directive=function(I){return x.type.is_directive(I)?(x.directive[I.indicator](this,I),!0):!1},je.prototype.__get_max_priority=function(){return"1200"},At.prototype.__get_max_priority=function(){return this.session.__get_max_priority()},je.prototype.__get_next_priority=function(I){var P=0;I=parseInt(I);for(var y in this.__operators)if(!!this.__operators.hasOwnProperty(y)){var F=parseInt(y);F>P&&F<I&&(P=F)}return P.toString()},At.prototype.__get_next_priority=function(I){return this.session.__get_next_priority(I)},je.prototype.__lookup_operator_classes=function(I,P){return this.__operators.hasOwnProperty(I)&&this.__operators[I][P]instanceof Array&&this.__operators[I][P]||!1},At.prototype.__lookup_operator_classes=function(I,P){return this.session.__lookup_operator_classes(I,P)},je.prototype.lookup_operator=function(I,P){for(var y in this.__operators)if(this.__operators[y][I]){for(var F=0;F<this.__operators[y][I].length;F++)if(P===0||this.__operators[y][I][F].length===P+1)return{priority:y,class:this.__operators[y][I][F]}}return null},At.prototype.lookup_operator=function(I,P){return this.session.lookup_operator(I,P)},je.prototype.throw_warning=function(I){this.thread.throw_warning(I)},At.prototype.throw_warning=function(I){this.warnings.push(I)},je.prototype.get_warnings=function(){return this.thread.get_warnings()},At.prototype.get_warnings=function(){return this.warnings},je.prototype.add_goal=function(I,P){this.thread.add_goal(I,P)},At.prototype.add_goal=function(I,P,y){y=y||null,P===!0&&(this.points=[]);for(var F=I.variables(),z={},X=0;X<F.length;X++)z[F[X]]=new me(F[X]);this.points.push(new Qe(I,new Te(z),y))},je.prototype.consult=function(I,P){return this.thread.consult(I,P)},At.prototype.consult=function(I,P){var y="";if(typeof I=="string"){y=I;var F=y.length;if(y.substring(F-3,F)===".pl"&&document.getElementById(y)){var z=document.getElementById(y),X=z.getAttribute("type");X!==null&&X.replace(/ /g,"").toLowerCase()==="text/prolog"&&(y=z.text)}}else if(I.nodeName)switch(I.nodeName.toLowerCase()){case"input":case"textarea":y=I.value;break;default:y=I.innerHTML;break}else return!1;return this.warnings=[],he(this,y,P)},je.prototype.query=function(I){return this.thread.query(I)},At.prototype.query=function(I){return this.points=[],this.debugger_points=[],ve(this,I)},je.prototype.head_point=function(){return this.thread.head_point()},At.prototype.head_point=function(){return this.points[this.points.length-1]},je.prototype.get_free_variable=function(I){return this.thread.get_free_variable(I)},At.prototype.get_free_variable=function(I){var P=[];if(I.id==="_"||this.session.renamed_variables[I.id]===void 0){for(this.session.rename++,this.points.length>0&&(P=this.head_point().substitution.domain());e(P,x.format_variable(this.session.rename))!==-1;)this.session.rename++;if(I.id==="_")return new me(x.format_variable(this.session.rename));this.session.renamed_variables[I.id]=x.format_variable(this.session.rename)}return new me(this.session.renamed_variables[I.id])},je.prototype.next_free_variable=function(){return this.thread.next_free_variable()},At.prototype.next_free_variable=function(){this.session.rename++;var I=[];for(this.points.length>0&&(I=this.head_point().substitution.domain());e(I,x.format_variable(this.session.rename))!==-1;)this.session.rename++;return new me(x.format_variable(this.session.rename))},je.prototype.is_public_predicate=function(I){return!this.public_predicates.hasOwnProperty(I)||this.public_predicates[I]===!0},At.prototype.is_public_predicate=function(I){return this.session.is_public_predicate(I)},je.prototype.is_multifile_predicate=function(I){return this.multifile_predicates.hasOwnProperty(I)&&this.multifile_predicates[I]===!0},At.prototype.is_multifile_predicate=function(I){return this.session.is_multifile_predicate(I)},je.prototype.prepend=function(I){return this.thread.prepend(I)},At.prototype.prepend=function(I){for(var P=I.length-1;P>=0;P--)this.points.push(I[P])},je.prototype.success=function(I,P){return this.thread.success(I,P)},At.prototype.success=function(I,y){var y=typeof y>"u"?I:y;this.prepend([new Qe(I.goal.replace(null),I.substitution,y)])},je.prototype.throw_error=function(I){return this.thread.throw_error(I)},At.prototype.throw_error=function(I){this.prepend([new Qe(new H("throw",[I]),new Te,null,null)])},je.prototype.step_rule=function(I,P){return this.thread.step_rule(I,P)},At.prototype.step_rule=function(I,P){var y=P.indicator;if(I==="user"&&(I=null),I===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=I===null?this.session.modules:e(this.session.modules,I)===-1?[]:[I],z=0;z<F.length;z++){var X=x.module[F[z]];if(X.rules.hasOwnProperty(y)&&(X.rules.hasOwnProperty(this.level)||X.exports_predicate(y)))return x.module[F[z]].rules[y]}return null},je.prototype.step=function(){return this.thread.step()},At.prototype.step=function(){if(this.points.length!==0){var I=!1,P=this.points.pop();if(this.debugger&&this.debugger_states.push(P),x.type.is_term(P.goal)){var y=P.goal.select(),F=null,z=[];if(y!==null){this.total_steps++;for(var X=P;X.parent!==null&&X.parent.goal.search(y);)X=X.parent;if(this.level=X.parent===null?"top_level/0":X.parent.goal.select().indicator,x.type.is_term(y)&&y.indicator===":/2"&&(F=y.args[0].id,y=y.args[1]),F===null&&x.type.is_builtin(y))this.__call_indicator=y.indicator,I=x.predicate[y.indicator](this,P,y);else{var $=this.step_rule(F,y);if($===null)this.session.rules.hasOwnProperty(y.indicator)||(this.get_flag("unknown").id==="error"?this.throw_error(x.error.existence("procedure",y.indicator,this.level)):this.get_flag("unknown").id==="warning"&&this.throw_warning("unknown procedure "+y.indicator+" (from "+this.level+")"));else if($ instanceof Function)I=$(this,P,y);else{for(var ie in $)if(!!$.hasOwnProperty(ie)){var ke=$[ie];this.session.renamed_variables={},ke=ke.rename(this);var Ne=this.get_flag("occurs_check").indicator==="true/0",st=new Qe,ht=x.unify(y,ke.head,Ne);ht!==null&&(st.goal=P.goal.replace(ke.body),st.goal!==null&&(st.goal=st.goal.apply(ht)),st.substitution=P.substitution.apply(ht),st.parent=P,z.push(st))}this.prepend(z)}}}}else x.type.is_variable(P.goal)?this.throw_error(x.error.instantiation(this.level)):this.throw_error(x.error.type("callable",P.goal,this.level));return I}},je.prototype.answer=function(I){return this.thread.answer(I)},At.prototype.answer=function(I){I=I||function(P){},this.__calls.push(I),!(this.__calls.length>1)&&this.again()},je.prototype.answers=function(I,P,y){return this.thread.answers(I,P,y)},At.prototype.answers=function(I,P,y){var F=P||1e3,z=this;if(P<=0){y&&y();return}this.answer(function(X){I(X),X!==!1?setTimeout(function(){z.answers(I,P-1,y)},1):y&&y()})},je.prototype.again=function(I){return this.thread.again(I)},At.prototype.again=function(I){for(var P,y=Date.now();this.__calls.length>0;){for(this.warnings=[],I!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!x.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var z=this.__calls.shift();this.current_limit<=0?z(null):this.points.length===0?z(!1):x.type.is_error(this.head_point().goal)?(P=this.session.format_error(this.points.pop()),this.points=[],z(P)):(this.debugger&&this.debugger_states.push(this.head_point()),P=this.session.format_success(this.points.pop()),z(P))}},je.prototype.unfold=function(I){if(I.body===null)return!1;var P=I.head,y=I.body,F=y.select(),z=new At(this),X=[];z.add_goal(F),z.step();for(var $=z.points.length-1;$>=0;$--){var ie=z.points[$],ke=P.apply(ie.substitution),Ne=y.replace(ie.goal);Ne!==null&&(Ne=Ne.apply(ie.substitution)),X.push(new Ue(ke,Ne))}var st=this.rules[P.indicator],ht=e(st,I);return X.length>0&&ht!==-1?(st.splice.apply(st,[ht,1].concat(X)),!0):!1},At.prototype.unfold=function(I){return this.session.unfold(I)},me.prototype.interpret=function(I){return x.error.instantiation(I.level)},be.prototype.interpret=function(I){return this},H.prototype.interpret=function(I){return x.type.is_unitary_list(this)?this.args[0].interpret(I):x.operate(I,this)},me.prototype.compare=function(I){return this.id<I.id?-1:this.id>I.id?1:0},be.prototype.compare=function(I){if(this.value===I.value&&this.is_float===I.is_float)return 0;if(this.value<I.value||this.value===I.value&&this.is_float&&!I.is_float)return-1;if(this.value>I.value)return 1},H.prototype.compare=function(I){if(this.args.length<I.args.length||this.args.length===I.args.length&&this.id<I.id)return-1;if(this.args.length>I.args.length||this.args.length===I.args.length&&this.id>I.id)return 1;for(var P=0;P<this.args.length;P++){var y=x.compare(this.args[P],I.args[P]);if(y!==0)return y}return 0},Te.prototype.lookup=function(I){return this.links[I]?this.links[I]:null},Te.prototype.filter=function(I){var P={};for(var y in this.links)if(!!this.links.hasOwnProperty(y)){var F=this.links[y];I(y,F)&&(P[y]=F)}return new Te(P)},Te.prototype.exclude=function(I){var P={};for(var y in this.links)!this.links.hasOwnProperty(y)||e(I,y)===-1&&(P[y]=this.links[y]);return new Te(P)},Te.prototype.add=function(I,P){this.links[I]=P},Te.prototype.domain=function(I){var P=I===!0?function(z){return z}:function(z){return new me(z)},y=[];for(var F in this.links)y.push(P(F));return y},me.prototype.compile=function(){return'new pl.type.Var("'+this.id.toString()+'")'},be.prototype.compile=function(){return"new pl.type.Num("+this.value.toString()+", "+this.is_float.toString()+")"},H.prototype.compile=function(){return'new pl.type.Term("'+this.id.replace(/"/g,'\\"')+'", ['+o(this.args,function(I){return I.compile()})+"])"},Ue.prototype.compile=function(){return"new pl.type.Rule("+this.head.compile()+", "+(this.body===null?"null":this.body.compile())+")"},je.prototype.compile=function(){var I,P=[],y;for(var F in this.rules)if(!!this.rules.hasOwnProperty(F)){var z=this.rules[F];y=[],I='"'+F+'": [';for(var X=0;X<z.length;X++)y.push(z[X].compile());I+=y.join(),I+="]",P.push(I)}return"{"+P.join()+"};"},me.prototype.toJavaScript=function(){},be.prototype.toJavaScript=function(){return this.value},H.prototype.toJavaScript=function(){if(this.args.length===0&&this.indicator!=="[]/0")return this.id;if(x.type.is_list(this)){for(var I=[],P=this,y;P.indicator==="./2";){if(y=P.args[0].toJavaScript(),y===void 0)return;I.push(y),P=P.args[1]}if(P.indicator==="[]/0")return I}},Ue.prototype.singleton_variables=function(){var I=this.head.variables(),P={},y=[];this.body!==null&&(I=I.concat(this.body.variables()));for(var F=0;F<I.length;F++)P[I[F]]===void 0&&(P[I[F]]=0),P[I[F]]++;for(var z in P)z!=="_"&&P[z]===1&&y.push(z);return y};var x={__env:typeof pl<"u"&&pl.exports?global:window,module:{},version:t,parser:{tokenizer:_,expression:J},utils:{str_indicator:Z,codePointAt:n,fromCodePoint:u},statistics:{getCountTerms:function(){return ut}},fromJavaScript:{test:{boolean:function(I){return I===!0||I===!1},number:function(I){return typeof I=="number"},string:function(I){return typeof I=="string"},list:function(I){return I instanceof Array},variable:function(I){return I===void 0},any:function(I){return!0}},conversion:{boolean:function(I){return new H(I?"true":"false",[])},number:function(I){return new be(I,I%1!==0)},string:function(I){return new H(I,[])},list:function(I){for(var P=[],y,F=0;F<I.length;F++){if(y=x.fromJavaScript.apply(I[F]),y===void 0)return;P.push(y)}return g(P)},variable:function(I){return new me("_")},any:function(I){}},apply:function(I){for(var P in x.fromJavaScript.test)if(P!=="any"&&x.fromJavaScript.test[P](I))return x.fromJavaScript.conversion[P](I);return x.fromJavaScript.conversion.any(I)}},type:{Var:me,Num:be,Term:H,Rule:Ue,State:Qe,Stream:Me,Module:Le,Thread:At,Session:je,Substitution:Te,order:[me,be,H,Me],compare:function(I,P){var y=e(x.type.order,I.constructor),F=e(x.type.order,P.constructor);if(y<F)return-1;if(y>F)return 1;if(I.constructor===be){if(I.is_float&&P.is_float)return 0;if(I.is_float)return-1;if(P.is_float)return 1}return 0},is_substitution:function(I){return I instanceof Te},is_state:function(I){return I instanceof Qe},is_rule:function(I){return I instanceof Ue},is_variable:function(I){return I instanceof me},is_stream:function(I){return I instanceof Me},is_anonymous_var:function(I){return I instanceof me&&I.id==="_"},is_callable:function(I){return I instanceof H},is_number:function(I){return I instanceof be},is_integer:function(I){return I instanceof be&&!I.is_float},is_float:function(I){return I instanceof be&&I.is_float},is_term:function(I){return I instanceof H},is_atom:function(I){return I instanceof H&&I.args.length===0},is_ground:function(I){if(I instanceof me)return!1;if(I instanceof H){for(var P=0;P<I.args.length;P++)if(!x.type.is_ground(I.args[P]))return!1}return!0},is_atomic:function(I){return I instanceof H&&I.args.length===0||I instanceof be},is_compound:function(I){return I instanceof H&&I.args.length>0},is_list:function(I){return I instanceof H&&(I.indicator==="[]/0"||I.indicator==="./2")},is_empty_list:function(I){return I instanceof H&&I.indicator==="[]/0"},is_non_empty_list:function(I){return I instanceof H&&I.indicator==="./2"},is_fully_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof me||I instanceof H&&I.indicator==="[]/0"},is_instantiated_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof H&&I.indicator==="[]/0"},is_unitary_list:function(I){return I instanceof H&&I.indicator==="./2"&&I.args[1]instanceof H&&I.args[1].indicator==="[]/0"},is_character:function(I){return I instanceof H&&(I.id.length===1||I.id.length>0&&I.id.length<=2&&n(I.id,0)>=65536)},is_character_code:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=1114111},is_byte:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=255},is_operator:function(I){return I instanceof H&&x.arithmetic.evaluation[I.indicator]},is_directive:function(I){return I instanceof H&&x.directive[I.indicator]!==void 0},is_builtin:function(I){return I instanceof H&&x.predicate[I.indicator]!==void 0},is_error:function(I){return I instanceof H&&I.indicator==="throw/1"},is_predicate_indicator:function(I){return I instanceof H&&I.indicator==="//2"&&I.args[0]instanceof H&&I.args[0].args.length===0&&I.args[1]instanceof be&&I.args[1].is_float===!1},is_flag:function(I){return I instanceof H&&I.args.length===0&&x.flag[I.id]!==void 0},is_value_flag:function(I,P){if(!x.type.is_flag(I))return!1;for(var y in x.flag[I.id].allowed)if(!!x.flag[I.id].allowed.hasOwnProperty(y)&&x.flag[I.id].allowed[y].equals(P))return!0;return!1},is_io_mode:function(I){return x.type.is_atom(I)&&["read","write","append"].indexOf(I.id)!==-1},is_stream_option:function(I){return x.type.is_term(I)&&(I.indicator==="alias/1"&&x.type.is_atom(I.args[0])||I.indicator==="reposition/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="type/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary")||I.indicator==="eof_action/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))},is_stream_position:function(I){return x.type.is_integer(I)&&I.value>=0||x.type.is_atom(I)&&(I.id==="end_of_stream"||I.id==="past_end_of_stream")},is_stream_property:function(I){return x.type.is_term(I)&&(I.indicator==="input/0"||I.indicator==="output/0"||I.indicator==="alias/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="file_name/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="position/1"&&(x.type.is_variable(I.args[0])||x.type.is_stream_position(I.args[0]))||I.indicator==="reposition/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))||I.indicator==="type/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary"))||I.indicator==="mode/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="read"||I.args[0].id==="write"||I.args[0].id==="append"))||I.indicator==="eof_action/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))||I.indicator==="end_of_stream/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="at"||I.args[0].id==="past"||I.args[0].id==="not")))},is_streamable:function(I){return I.__proto__.stream!==void 0},is_read_option:function(I){return x.type.is_term(I)&&["variables/1","variable_names/1","singletons/1"].indexOf(I.indicator)!==-1},is_write_option:function(I){return x.type.is_term(I)&&(I.indicator==="quoted/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="ignore_ops/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="numbervars/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))},is_close_option:function(I){return x.type.is_term(I)&&I.indicator==="force/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")},is_modifiable_flag:function(I){return x.type.is_flag(I)&&x.flag[I.id].changeable},is_module:function(I){return I instanceof H&&I.indicator==="library/1"&&I.args[0]instanceof H&&I.args[0].args.length===0&&x.module[I.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(I){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(I){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(I){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(I){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(I,P){return I}},"-/1":{type_args:null,type_result:null,fn:function(I,P){return-I}},"\\/1":{type_args:!1,type_result:!1,fn:function(I,P){return~I}},"abs/1":{type_args:null,type_result:null,fn:function(I,P){return Math.abs(I)}},"sign/1":{type_args:null,type_result:null,fn:function(I,P){return Math.sign(I)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(I,P){return I-parseInt(I)}},"float/1":{type_args:null,type_result:!0,fn:function(I,P){return parseFloat(I)}},"floor/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.floor(I)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"round/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.round(I)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.ceil(I)}},"sin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sin(I)}},"cos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.cos(I)}},"tan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.tan(I)}},"asin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.asin(I)}},"acos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.acos(I)}},"atan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.atan(I)}},"atan2/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.atan2(I,P)}},"exp/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.exp(I)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sqrt(I)}},"log/1":{type_args:null,type_result:!0,fn:function(I,P){return I>0?Math.log(I):x.error.evaluation("undefined",P.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(I,P,y){return I+P}},"-/2":{type_args:null,type_result:null,fn:function(I,P,y){return I-P}},"*/2":{type_args:null,type_result:null,fn:function(I,P,y){return I*P}},"//2":{type_args:null,type_result:!0,fn:function(I,P,y){return P?I/P:x.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?parseInt(I/P):x.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.pow(I,P)}},"^/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.pow(I,P)}},"<</2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I<<P}},">>/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I>>P}},"/\\/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I&P}},"\\//2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I|P}},"xor/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I^P}},"rem/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I%P:x.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I-parseInt(I/P)*P:x.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.max(I,P)}},"min/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.min(I,P)}}}},directive:{"dynamic/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_compound(y)||y.indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y,P.indicator));else if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],P.indicator));else if(!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],P.indicator));else{var F=P.args[0].args[0].id+"/"+P.args[0].args[1].value;I.session.public_predicates[F]=!0,I.session.rules[F]||(I.session.rules[F]=[])}},"multifile/1":function(I,P){var y=P.args[0];x.type.is_variable(y)?I.throw_error(x.error.instantiation(P.indicator)):!x.type.is_compound(y)||y.indicator!=="//2"?I.throw_error(x.error.type("predicate_indicator",y,P.indicator)):x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1])?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y.args[0])?x.type.is_integer(y.args[1])?I.session.multifile_predicates[P.args[0].args[0].id+"/"+P.args[0].args[1].value]=!0:I.throw_error(x.error.type("integer",y.args[1],P.indicator)):I.throw_error(x.error.type("atom",y.args[0],P.indicator))},"set_prolog_flag/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y)?x.type.is_flag(y)?x.type.is_value_flag(y,F)?x.type.is_modifiable_flag(y)?I.session.flag[y.id]=F:I.throw_error(x.error.permission("modify","flag",y)):I.throw_error(x.error.domain("flag_value",new H("+",[y,F]),P.indicator)):I.throw_error(x.error.domain("prolog_flag",y,P.indicator)):I.throw_error(x.error.type("atom",y,P.indicator))},"use_module/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_term(y))I.throw_error(x.error.type("term",y,P.indicator));else if(x.type.is_module(y)){var F=y.args[0].id;e(I.session.modules,F)===-1&&I.session.modules.push(F)}},"char_conversion/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_character(y)?x.type.is_character(F)?y.id===F.id?delete I.session.__char_conversion[y.id]:I.session.__char_conversion[y.id]=F.id:I.throw_error(x.error.type("character",F,P.indicator)):I.throw_error(x.error.type("character",y,P.indicator))},"op/3":function(I,P){var y=P.args[0],F=P.args[1],z=P.args[2];if(x.type.is_variable(y)||x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_integer(y))I.throw_error(x.error.type("integer",y,P.indicator));else if(!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,P.indicator));else if(!x.type.is_atom(z))I.throw_error(x.error.type("atom",z,P.indicator));else if(y.value<0||y.value>1200)I.throw_error(x.error.domain("operator_priority",y,P.indicator));else if(z.id===",")I.throw_error(x.error.permission("modify","operator",z,P.indicator));else if(z.id==="|"&&(y.value<1001||F.id.length!==3))I.throw_error(x.error.permission("modify","operator",z,P.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)I.throw_error(x.error.domain("operator_specifier",F,P.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in I.session.__operators)if(!!I.session.__operators.hasOwnProperty($)){var ie=I.session.__operators[$][z.id];ie&&(e(ie,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(ie,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(ie,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(ie,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(ie,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(ie,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(ie,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var ke;switch(F.id){case"fy":case"fx":ke="prefix";break;case"yf":case"xf":ke="postfix";break;default:ke="infix";break}if(((X.prefix&&ke==="prefix"||X.postfix&&ke==="postfix"||X.infix&&ke==="infix")&&X[ke].type!==F.id||X.infix&&ke==="postfix"||X.postfix&&ke==="infix")&&y.value!==0)I.throw_error(x.error.permission("create","operator",z,P.indicator));else return X[ke]&&(De(I.session.__operators[X[ke].priority][z.id],F.id),I.session.__operators[X[ke].priority][z.id].length===0&&delete I.session.__operators[X[ke].priority][z.id]),y.value>0&&(I.session.__operators[y.value]||(I.session.__operators[y.value.toString()]={}),I.session.__operators[y.value][z.id]||(I.session.__operators[y.value][z.id]=[]),I.session.__operators[y.value][z.id].push(F.id)),!0}}},predicate:{"op/3":function(I,P,y){x.directive["op/3"](I,y)&&I.success(P)},"current_op/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=[];for(var ie in I.session.__operators)for(var ke in I.session.__operators[ie])for(var Ne=0;Ne<I.session.__operators[ie][ke].length;Ne++)$.push(new Qe(P.goal.replace(new H(",",[new H("=",[new be(ie,!1),F]),new H(",",[new H("=",[new H(I.session.__operators[ie][ke][Ne],[]),z]),new H("=",[new H(ke,[]),X])])])),P.substitution,P));I.prepend($)},";/2":function(I,P,y){if(x.type.is_term(y.args[0])&&y.args[0].indicator==="->/2"){var F=I.points,z=I.session.format_success,X=I.session.format_error;I.session.format_success=function(Ne){return Ne.substitution},I.session.format_error=function(Ne){return Ne.goal},I.points=[new Qe(y.args[0].args[0],P.substitution,P)];var $=function(Ne){I.points=F,I.session.format_success=z,I.session.format_error=X,Ne===!1?I.prepend([new Qe(P.goal.replace(y.args[1]),P.substitution,P)]):x.type.is_error(Ne)?I.throw_error(Ne.args[0]):Ne===null?(I.prepend([P]),I.__calls.shift()(null)):I.prepend([new Qe(P.goal.replace(y.args[0].args[1]).apply(Ne),P.substitution.apply(Ne),P)])};I.__calls.unshift($)}else{var ie=new Qe(P.goal.replace(y.args[0]),P.substitution,P),ke=new Qe(P.goal.replace(y.args[1]),P.substitution,P);I.prepend([ie,ke])}},"!/0":function(I,P,y){var F,z,X=[];for(F=P,z=null;F.parent!==null&&F.parent.goal.search(y);)if(z=F,F=F.parent,F.goal!==null){var $=F.goal.select();if($&&$.id==="call"&&$.search(y)){F=z;break}}for(var ie=I.points.length-1;ie>=0;ie--){for(var ke=I.points[ie],Ne=ke.parent;Ne!==null&&Ne!==F.parent;)Ne=Ne.parent;Ne===null&&Ne!==F.parent&&X.push(ke)}I.points=X.reverse(),I.success(P)},"\\+/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(I.level)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H(",",[new H("call",[F]),new H("!",[])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,I.level))},"->/2":function(I,P,y){var F=P.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));I.prepend([new Qe(F,P.substitution,P)])},"fail/0":function(I,P,y){},"false/0":function(I,P,y){},"true/0":function(I,P,y){I.success(P)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("call",[F]),new H("!",[])])),P.substitution,P)])},"forall/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("\\+",[new H(",",[new H("call",[F]),new H("\\+",[new H("call",[z])])])])),P.substitution,P)])},"repeat/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(null),P.substitution,P),P])},"throw/1":function(I,P,y){x.type.is_variable(y.args[0])?I.throw_error(x.error.instantiation(I.level)):I.throw_error(y.args[0])},"catch/3":function(I,P,y){var F=I.points;I.points=[],I.prepend([new Qe(y.args[0],P.substitution,P)]);var z=I.session.format_success,X=I.session.format_error;I.session.format_success=function(ie){return ie.substitution},I.session.format_error=function(ie){return ie.goal};var $=function(ie){var ke=I.points;if(I.points=F,I.session.format_success=z,I.session.format_error=X,x.type.is_error(ie)){for(var Ne=[],st=I.points.length-1;st>=0;st--){for(var Xt=I.points[st],ht=Xt.parent;ht!==null&&ht!==P.parent;)ht=ht.parent;ht===null&&ht!==P.parent&&Ne.push(Xt)}I.points=Ne;var Ut=I.get_flag("occurs_check").indicator==="true/0",Xt=new Qe,Pt=x.unify(ie.args[0],y.args[1],Ut);Pt!==null?(Xt.substitution=P.substitution.apply(Pt),Xt.goal=P.goal.replace(y.args[2]).apply(Pt),Xt.parent=P,I.prepend([Xt])):I.throw_error(ie.args[0])}else if(ie!==!1){for(var tn=ie===null?[]:[new Qe(P.goal.apply(ie).replace(null),P.substitution.apply(ie),P)],Dr=[],st=ke.length-1;st>=0;st--){Dr.push(ke[st]);var fr=ke[st].goal!==null?ke[st].goal.select():null;if(x.type.is_term(fr)&&fr.indicator==="!/0")break}var Br=o(Dr,function(jr){return jr.goal===null&&(jr.goal=new H("true",[])),jr=new Qe(P.goal.replace(new H("catch",[jr.goal,y.args[1],y.args[2]])),P.substitution.apply(jr.substitution),jr.parent),jr.exclude=y.args[0].variables(),jr}).reverse();I.prepend(Br),I.prepend(tn),ie===null&&(this.current_limit=0,I.__calls.shift()(null))}};I.__calls.unshift($)},"=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",z=new Qe,X=x.unify(y.args[0],y.args[1],F);X!==null&&(z.goal=P.goal.apply(X).replace(null),z.substitution=P.substitution.apply(X),z.parent=P,I.prepend([z]))},"unify_with_occurs_check/2":function(I,P,y){var F=new Qe,z=x.unify(y.args[0],y.args[1],!0);z!==null&&(F.goal=P.goal.apply(z).replace(null),F.substitution=P.substitution.apply(z),F.parent=P,I.prepend([F]))},"\\=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[0],y.args[1],F);z===null&&I.success(P)},"subsumes_term/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[1],y.args[0],F);z!==null&&y.args[1].apply(z).equals(y.args[1])&&I.success(P)},"findall/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(z))I.throw_error(x.error.type("callable",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=I.next_free_variable(),ie=new H(",",[z,new H("=",[$,F])]),ke=I.points,Ne=I.session.limit,st=I.session.format_success;I.session.format_success=function(Xt){return Xt.substitution},I.add_goal(ie,!0,P);var ht=[],Ut=function(Xt){if(Xt!==!1&&Xt!==null&&!x.type.is_error(Xt))I.__calls.unshift(Ut),ht.push(Xt.links[$.id]),I.session.limit=I.current_limit;else if(I.points=ke,I.session.limit=Ne,I.session.format_success=st,x.type.is_error(Xt))I.throw_error(Xt.args[0]);else if(I.current_limit>0){for(var Pt=new H("[]"),tn=ht.length-1;tn>=0;tn--)Pt=new H(".",[ht[tn],Pt]);I.prepend([new Qe(P.goal.replace(new H("=",[X,Pt])),P.substitution,P)])}};I.__calls.unshift(Ut)}},"bagof/3":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(z.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,z])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers;for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"setof/3":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(z.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,z])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers.sort(x.compare);for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"functor/3":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(z)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation("functor/3"));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",y.args[2],"functor/3"));else if(!x.type.is_variable(X)&&!x.type.is_atomic(X))I.throw_error(x.error.type("atomic",y.args[1],"functor/3"));else if(x.type.is_integer(X)&&x.type.is_integer($)&&$.value!==0)I.throw_error(x.error.type("atom",y.args[1],"functor/3"));else if(x.type.is_variable(z)){if(y.args[2].value>=0){for(var ie=[],ke=0;ke<$.value;ke++)ie.push(I.next_free_variable());var Ne=x.type.is_integer(X)?X:new H(X.id,ie);I.prepend([new Qe(P.goal.replace(new H("=",[z,Ne])),P.substitution,P)])}}else{var st=x.type.is_integer(z)?z:new H(z.id,[]),ht=x.type.is_integer(z)?new be(0,!1):new be(z.args.length,!1),Ut=new H(",",[new H("=",[st,X]),new H("=",[ht,$])]);I.prepend([new Qe(P.goal.replace(Ut),P.substitution,P)])}},"arg/3":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(y.indicator));else if(y.args[0].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!x.type.is_compound(y.args[1]))I.throw_error(x.error.type("compound",y.args[1],y.indicator));else{var F=y.args[0].value;if(F>0&&F<=y.args[1].args.length){var z=new H("=",[y.args[1].args[F-1],y.args[2]]);I.prepend([new Qe(P.goal.replace(z),P.substitution,P)])}}},"=../2":function(I,P,y){var F;if(x.type.is_variable(y.args[0])&&(x.type.is_variable(y.args[1])||x.type.is_non_empty_list(y.args[1])&&x.type.is_variable(y.args[1].args[0])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_fully_list(y.args[1]))I.throw_error(x.error.type("list",y.args[1],y.indicator));else if(x.type.is_variable(y.args[0])){if(!x.type.is_variable(y.args[1])){var X=[];for(F=y.args[1].args[1];F.indicator==="./2";)X.push(F.args[0]),F=F.args[1];x.type.is_variable(y.args[0])&&x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):X.length===0&&x.type.is_compound(y.args[1].args[0])?I.throw_error(x.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(x.type.is_compound(y.args[1].args[0])||x.type.is_number(y.args[1].args[0]))?I.throw_error(x.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],P)),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),P.substitution,P)])}}else{if(x.type.is_atomic(y.args[0]))F=new H(".",[y.args[0],new H("[]")]);else{F=new H("[]");for(var z=y.args[0].args.length-1;z>=0;z--)F=new H(".",[y.args[0].args[z],F]);F=new H(".",[new H(y.args[0].id),F])}I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"copy_term/2":function(I,P,y){var F=y.args[0].rename(I);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P.parent)])},"term_variables/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(!x.type.is_fully_list(z))I.throw_error(x.error.type("list",z,y.indicator));else{var X=g(o(Ee(F.variables()),function($){return new me($)}));I.prepend([new Qe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"clause/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_callable(y.args[1]))I.throw_error(x.error.type("callable",y.args[1],y.indicator));else if(I.session.rules[y.args[0].indicator]!==void 0)if(I.is_public_predicate(y.args[0].indicator)){var F=[];for(var z in I.session.rules[y.args[0].indicator])if(!!I.session.rules[y.args[0].indicator].hasOwnProperty(z)){var X=I.session.rules[y.args[0].indicator][z];I.session.renamed_variables={},X=X.rename(I),X.body===null&&(X.body=new H("true"));var $=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);F.push(new Qe(P.goal.replace($),P.substitution,P))}I.prepend(F)}else I.throw_error(x.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(I,P,y){var F=y.args[0];if(!x.type.is_variable(F)&&(!x.type.is_compound(F)||F.indicator!=="//2"))I.throw_error(x.error.type("predicate_indicator",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[0])&&!x.type.is_atom(F.args[0]))I.throw_error(x.error.type("atom",F.args[0],y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[1])&&!x.type.is_integer(F.args[1]))I.throw_error(x.error.type("integer",F.args[1],y.indicator));else{var z=[];for(var X in I.session.rules)if(!!I.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),ie=X.substr(0,$),ke=parseInt(X.substr($+1,X.length-($+1))),Ne=new H("/",[new H(ie),new be(ke,!1)]),st=new H("=",[Ne,F]);z.push(new Qe(P.goal.replace(st),P.substitution,P))}I.prepend(z)}},"asserta/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Pe(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?I.throw_error(x.error.type("callable",z,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator]=[new Ue(F,z,!0)].concat(I.session.rules[F.indicator]),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"assertz/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Pe(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?I.throw_error(x.error.type("callable",z,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator].push(new Ue(F,z,!0)),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"retract/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=y.args[0].args[1]):(F=y.args[0],z=new H("true")),typeof P.retract>"u")if(I.is_public_predicate(F.indicator)){if(I.session.rules[F.indicator]!==void 0){for(var X=[],$=0;$<I.session.rules[F.indicator].length;$++){I.session.renamed_variables={};var ie=I.session.rules[F.indicator][$],ke=ie.rename(I);ke.body===null&&(ke.body=new H("true",[]));var Ne=I.get_flag("occurs_check").indicator==="true/0",st=x.unify(new H(",",[F,z]),new H(",",[ke.head,ke.body]),Ne);if(st!==null){var ht=new Qe(P.goal.replace(new H(",",[new H("retract",[new H(":-",[F,z])]),new H(",",[new H("=",[F,ke.head]),new H("=",[z,ke.body])])])),P.substitution,P);ht.retract=ie,X.push(ht)}}I.prepend(X)}}else I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator));else de(I,P,F.indicator,P.retract)}},"retractall/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H("retract",[new x.type.Term(":-",[F,new me("_")])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,y.indicator))},"abolish/1":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_term(y.args[0])&&y.args[0].indicator==="//2"&&(x.type.is_variable(y.args[0].args[0])||x.type.is_variable(y.args[0].args[1])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_term(y.args[0])||y.args[0].indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y.args[0],y.indicator));else if(!x.type.is_atom(y.args[0].args[0]))I.throw_error(x.error.type("atom",y.args[0].args[0],y.indicator));else if(!x.type.is_integer(y.args[0].args[1]))I.throw_error(x.error.type("integer",y.args[0].args[1],y.indicator));else if(y.args[0].args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0].args[1],y.indicator));else if(x.type.is_number(I.get_flag("max_arity"))&&y.args[0].args[1].value>I.get_flag("max_arity").value)I.throw_error(x.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;I.is_public_predicate(F)?(delete I.session.rules[F],I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],y.indicator));else if(x.type.is_integer(y.args[1])&&y.args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new be(y.args[0].id.length,!1);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"atom_concat/3":function(I,P,y){var F,z,X=y.args[0],$=y.args[1],ie=y.args[2];if(x.type.is_variable(ie)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_atom($))I.throw_error(x.error.type("atom",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_atom(ie))I.throw_error(x.error.type("atom",ie,y.indicator));else{var ke=x.type.is_variable(X),Ne=x.type.is_variable($);if(!ke&&!Ne)z=new H("=",[ie,new H(X.id+$.id)]),I.prepend([new Qe(P.goal.replace(z),P.substitution,P)]);else if(ke&&!Ne)F=ie.id.substr(0,ie.id.length-$.id.length),F+$.id===ie.id&&(z=new H("=",[X,new H(F)]),I.prepend([new Qe(P.goal.replace(z),P.substitution,P)]));else if(Ne&&!ke)F=ie.id.substr(X.id.length),X.id+F===ie.id&&(z=new H("=",[$,new H(F)]),I.prepend([new Qe(P.goal.replace(z),P.substitution,P)]));else{for(var st=[],ht=0;ht<=ie.id.length;ht++){var Ut=new H(ie.id.substr(0,ht)),Xt=new H(ie.id.substr(ht));z=new H(",",[new H("=",[Ut,X]),new H("=",[Xt,$])]),st.push(new Qe(P.goal.replace(z),P.substitution,P))}I.prepend(st)}}},"sub_atom/5":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2],ie=y.args[3],ke=y.args[4];if(x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_integer(ie))I.throw_error(x.error.type("integer",ie,y.indicator));else if(x.type.is_integer(X)&&X.value<0)I.throw_error(x.error.domain("not_less_than_zero",X,y.indicator));else if(x.type.is_integer($)&&$.value<0)I.throw_error(x.error.domain("not_less_than_zero",$,y.indicator));else if(x.type.is_integer(ie)&&ie.value<0)I.throw_error(x.error.domain("not_less_than_zero",ie,y.indicator));else{var Ne=[],st=[],ht=[];if(x.type.is_variable(X))for(F=0;F<=z.id.length;F++)Ne.push(F);else Ne.push(X.value);if(x.type.is_variable($))for(F=0;F<=z.id.length;F++)st.push(F);else st.push($.value);if(x.type.is_variable(ie))for(F=0;F<=z.id.length;F++)ht.push(F);else ht.push(ie.value);var Ut=[];for(var Xt in Ne)if(!!Ne.hasOwnProperty(Xt)){F=Ne[Xt];for(var Pt in st)if(!!st.hasOwnProperty(Pt)){var tn=st[Pt],Dr=z.id.length-F-tn;if(e(ht,Dr)!==-1&&F+tn+Dr===z.id.length){var fr=z.id.substr(F,tn);if(z.id===z.id.substr(0,F)+fr+z.id.substr(F+tn,Dr)){var Br=new H("=",[new H(fr),ke]),jr=new H("=",[X,new be(F)]),Hn=new H("=",[$,new be(tn)]),bs=new H("=",[ie,new be(Dr)]),ki=new H(",",[new H(",",[new H(",",[jr,Hn]),bs]),Br]);Ut.push(new Qe(P.goal.replace(ki),P.substitution,P))}}}}I.prepend(Ut)}},"atom_chars/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=z,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))Ne+=ie.args[0].id;else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new H(F.id.charAt($)),X]);I.prepend([new Qe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"atom_codes/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=z,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))Ne+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.representation("character_code",y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new be(n(F.id,$),!1),X]);I.prepend([new Qe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"char_code/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_character(F))I.throw_error(x.error.type("character",F,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))I.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character_code(z))I.throw_error(x.error.representation("character_code",y.indicator));else if(x.type.is_variable(z)){var X=new be(n(F.id,0),!1);I.prepend([new Qe(P.goal.replace(new H("=",[X,z])),P.substitution,P)])}else{var $=new H(u(z.value));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"number_chars/2":function(I,P,y){var F,z=y.args[0],X=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))I.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(z);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))F+=ie.args[0].id;else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,st])),P.substitution,P)]);return}}if(!$){F=z.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new H(F.charAt(Ut)),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"number_codes/2":function(I,P,y){var F,z=y.args[0],X=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))I.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(z);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))F+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,st])),P.substitution,P)]);return}}if(!$){F=z.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new be(n(F,Ut),!1),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"upcase_atom/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?I.throw_error(x.error.type("atom",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,new H(F.id.toUpperCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"downcase_atom/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?I.throw_error(x.error.type("atom",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,new H(F.id.toLowerCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("atomic_list_concat",[F,new H("",[]),z])),P.substitution,P)])},"atomic_list_concat/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(z)||x.type.is_variable(F)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_list(F))I.throw_error(x.error.type("list",F,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(x.type.is_variable(X)){for(var ie="",ke=F;x.type.is_term(ke)&&ke.indicator==="./2";){if(!x.type.is_atom(ke.args[0])&&!x.type.is_number(ke.args[0])){I.throw_error(x.error.type("atomic",ke.args[0],y.indicator));return}ie!==""&&(ie+=z.id),x.type.is_atom(ke.args[0])?ie+=ke.args[0].id:ie+=""+ke.args[0].value,ke=ke.args[1]}ie=new H(ie,[]),x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_term(ke)||ke.indicator!=="[]/0"?I.throw_error(x.error.type("list",F,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[ie,X])),P.substitution,P)])}else{var $=g(o(X.id.split(z.id),function(Ne){return new H(Ne,[])}));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"@=</2":function(I,P,y){x.compare(y.args[0],y.args[1])<=0&&I.success(P)},"==/2":function(I,P,y){x.compare(y.args[0],y.args[1])===0&&I.success(P)},"\\==/2":function(I,P,y){x.compare(y.args[0],y.args[1])!==0&&I.success(P)},"@</2":function(I,P,y){x.compare(y.args[0],y.args[1])<0&&I.success(P)},"@>/2":function(I,P,y){x.compare(y.args[0],y.args[1])>0&&I.success(P)},"@>=/2":function(I,P,y){x.compare(y.args[0],y.args[1])>=0&&I.success(P)},"compare/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)I.throw_error(x.type.domain("order",F,y.indicator));else{var $=x.compare(z,X);$=$===0?"=":$===-1?"<":">",I.prepend([new Qe(P.goal.replace(new H("=",[F,new H($,[])])),P.substitution,P)])}},"is/2":function(I,P,y){var F=y.args[1].interpret(I);x.type.is_number(F)?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[0],F],I.level)),P.substitution,P)]):I.throw_error(F)},"between/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_integer(F))I.throw_error(x.error.type("integer",F,y.indicator));else if(!x.type.is_integer(z))I.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(x.type.is_variable(X)){var $=[new Qe(P.goal.replace(new H("=",[X,F])),P.substitution,P)];F.value<z.value&&$.push(new Qe(P.goal.replace(new H("between",[new be(F.value+1,!1),z,X])),P.substitution,P)),I.prepend($)}else F.value<=X.value&&z.value>=X.value&&I.success(P)},"succ/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)&&x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_integer(F)?I.throw_error(x.error.type("integer",F,y.indicator)):!x.type.is_variable(z)&&!x.type.is_integer(z)?I.throw_error(x.error.type("integer",z,y.indicator)):!x.type.is_variable(F)&&F.value<0?I.throw_error(x.error.domain("not_less_than_zero",F,y.indicator)):!x.type.is_variable(z)&&z.value<0?I.throw_error(x.error.domain("not_less_than_zero",z,y.indicator)):(x.type.is_variable(z)||z.value>0)&&(x.type.is_variable(F)?I.prepend([new Qe(P.goal.replace(new H("=",[F,new be(z.value-1,!1)])),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[z,new be(F.value+1,!1)])),P.substitution,P)]))},"=:=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F===0&&I.success(P)},"=\\=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F!==0&&I.success(P)},"</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<0&&I.success(P)},"=</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<=0&&I.success(P)},">/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>0&&I.success(P)},">=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>=0&&I.success(P)},"var/1":function(I,P,y){x.type.is_variable(y.args[0])&&I.success(P)},"atom/1":function(I,P,y){x.type.is_atom(y.args[0])&&I.success(P)},"atomic/1":function(I,P,y){x.type.is_atomic(y.args[0])&&I.success(P)},"compound/1":function(I,P,y){x.type.is_compound(y.args[0])&&I.success(P)},"integer/1":function(I,P,y){x.type.is_integer(y.args[0])&&I.success(P)},"float/1":function(I,P,y){x.type.is_float(y.args[0])&&I.success(P)},"number/1":function(I,P,y){x.type.is_number(y.args[0])&&I.success(P)},"nonvar/1":function(I,P,y){x.type.is_variable(y.args[0])||I.success(P)},"ground/1":function(I,P,y){y.variables().length===0&&I.success(P)},"acyclic_term/1":function(I,P,y){for(var F=P.substitution.apply(P.substitution),z=y.args[0].variables(),X=0;X<z.length;X++)if(P.substitution.links[z[X]]!==void 0&&!P.substitution.links[z[X]].equals(F.links[z[X]]))return;I.success(P)},"callable/1":function(I,P,y){x.type.is_callable(y.args[0])&&I.success(P)},"is_list/1":function(I,P,y){for(var F=y.args[0];x.type.is_term(F)&&F.indicator==="./2";)F=F.args[1];x.type.is_term(F)&&F.indicator==="[]/0"&&I.success(P)},"current_input/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_input()])),P.substitution,P)]))},"current_output/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_output()])),P.substitution,P)]))},"set_input/1":function(I,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(z)?z.output===!0?I.throw_error(x.error.permission("input","stream",F,y.indicator)):(I.set_current_input(z),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"set_output/1":function(I,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(z)?z.input===!0?I.throw_error(x.error.permission("output","stream",F,y.indicator)):(I.set_current_output(z),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"open/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];I.prepend([new Qe(P.goal.replace(new H("open",[F,z,X,new H("[]",[])])),P.substitution,P)])},"open/4":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=y.args[3];if(x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_atom(z))I.throw_error(x.error.type("atom",z,y.indicator));else if(!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else if(!x.type.is_variable(X))I.throw_error(x.error.type("variable",X,y.indicator));else if(!x.type.is_atom(F)&&!x.type.is_streamable(F))I.throw_error(x.error.domain("source_sink",F,y.indicator));else if(!x.type.is_io_mode(z))I.throw_error(x.error.domain("io_mode",z,y.indicator));else{for(var ie={},ke=$,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_stream_option(Ne)){I.throw_error(x.error.domain("stream_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id,ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",$,y.indicator));return}else{var st=ie.alias;if(st&&I.get_stream_by_alias(st)){I.throw_error(x.error.permission("open","source_sink",new H("alias",[new H(st,[])]),y.indicator));return}ie.type||(ie.type="text");var ht;if(x.type.is_atom(F)?ht=I.file_system_open(F.id,ie.type,z.id):ht=F.stream(ie.type,z.id),ht===!1){I.throw_error(x.error.permission("open","source_sink",F,y.indicator));return}else if(ht===null){I.throw_error(x.error.existence("source_sink",F,y.indicator));return}var Ut=new Me(ht,z.id,ie.alias,ie.type,ie.reposition==="true",ie.eof_action);st?I.session.streams[st]=Ut:I.session.streams[Ut.id]=Ut,I.prepend([new Qe(P.goal.replace(new H("=",[X,Ut])),P.substitution,P)])}}},"close/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("close",[F,new H("[]",[])])),P.substitution,P)])},"close/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(z))I.throw_error(x.error.type("list",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else{for(var $={},ie=z,ke;x.type.is_term(ie)&&ie.indicator==="./2";){if(ke=ie.args[0],x.type.is_variable(ke)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_close_option(ke)){I.throw_error(x.error.domain("close_option",ke,y.indicator));return}$[ke.id]=ke.args[0].id==="true",ie=ie.args[1]}if(ie.indicator!=="[]/0"){x.type.is_variable(ie)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",z,y.indicator));return}else{if(X===I.session.standard_input||X===I.session.standard_output){I.success(P);return}else X===I.session.current_input?I.session.current_input=I.session.standard_input:X===I.session.current_output&&(I.session.current_output=I.session.current_output);X.alias!==null?delete I.session.streams[X.alias]:delete I.session.streams[X.id],X.output&&X.stream.flush();var Ne=X.stream.close();X.stream=null,($.force===!0||Ne===!0)&&I.success(P)}}},"flush_output/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("flush_output",[new me("S")])])),P.substitution,P)])},"flush_output/1":function(I,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(z)||z.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):F.input===!0?I.throw_error(x.error.permission("output","stream",output,y.indicator)):(z.stream.flush(),I.success(P))},"stream_property/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_variable(F)&&(!x.type.is_stream(X)||X.stream===null))I.throw_error(x.error.existence("stream",F,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_stream_property(z))I.throw_error(x.error.domain("stream_property",z,y.indicator));else{var $=[],ie=[];if(!x.type.is_variable(F))$.push(X);else for(var ke in I.session.streams)$.push(I.session.streams[ke]);for(var Ne=0;Ne<$.length;Ne++){var st=[];$[Ne].filename&&st.push(new H("file_name",[new H($[Ne].file_name,[])])),st.push(new H("mode",[new H($[Ne].mode,[])])),st.push(new H($[Ne].input?"input":"output",[])),$[Ne].alias&&st.push(new H("alias",[new H($[Ne].alias,[])])),st.push(new H("position",[typeof $[Ne].position=="number"?new be($[Ne].position,!1):new H($[Ne].position,[])])),st.push(new H("end_of_stream",[new H($[Ne].position==="end_of_stream"?"at":$[Ne].position==="past_end_of_stream"?"past":"not",[])])),st.push(new H("eof_action",[new H($[Ne].eof_action,[])])),st.push(new H("reposition",[new H($[Ne].reposition?"true":"false",[])])),st.push(new H("type",[new H($[Ne].type,[])]));for(var ht=0;ht<st.length;ht++)ie.push(new Qe(P.goal.replace(new H(",",[new H("=",[x.type.is_variable(F)?F:X,$[Ne]]),new H("=",[z,st[ht]])])),P.substitution,P))}I.prepend(ie)}},"at_end_of_stream/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H(",",[new H("stream_property",[new me("S"),new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])])),P.substitution,P)])},"at_end_of_stream/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("stream_property",[F,new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])),P.substitution,P)])},"set_stream_position/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):x.type.is_stream_position(z)?X.reposition===!1?I.throw_error(x.error.permission("reposition","stream",F,y.indicator)):(x.type.is_integer(z)?X.position=z.value:X.position=z.id,I.success(P)):I.throw_error(x.error.domain("stream_position",z,y.indicator))},"get_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_char",[new me("S"),F])])),P.substitution,P)])},"get_char/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character(z))I.throw_error(x.error.type("in_character",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),z])),P.substitution,P)])}},"get_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_code",[new me("S"),F])])),P.substitution,P)])},"get_code/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0),X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"peek_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_char",[new me("S"),F])])),P.substitution,P)])},"peek_char/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character(z))I.throw_error(x.error.type("in_character",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),z])),P.substitution,P)])}},"peek_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_code",[new me("S"),F])])),P.substitution,P)])},"peek_code/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0)}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"put_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),F])])),P.substitution,P)])},"put_char/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_character(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put(z.id,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("character",z,y.indicator))},"put_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_code",[new me("S"),F])])),P.substitution,P)])},"put_code/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(z)?x.type.is_character_code(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put_char(u(z.value),X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.representation("character_code",y.indicator)):I.throw_error(x.error.type("integer",z,y.indicator))},"nl/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),new H(` 264`;return P},me.prototype.clone=function(){return new me(this.id)},be.prototype.clone=function(){return new be(this.value,this.is_float)},H.prototype.clone=function(){return new H(this.id,o(this.args,function(I){return I.clone()}))},Me.prototype.clone=function(){return new Stram(this.stream,this.mode,this.alias,this.type,this.reposition,this.eof_action)},Te.prototype.clone=function(){var I={};for(var P in this.links)!this.links.hasOwnProperty(P)||(I[P]=this.links[P].clone());return new Te(I)},Qe.prototype.clone=function(){return new Qe(this.goal.clone(),this.substitution.clone(),this.parent)},_e.prototype.clone=function(){return new _e(this.head.clone(),this.body!==null?this.body.clone():null)},me.prototype.equals=function(I){return x.type.is_variable(I)&&this.id===I.id},be.prototype.equals=function(I){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float},H.prototype.equals=function(I){if(!x.type.is_term(I)||this.indicator!==I.indicator)return!1;for(var P=0;P<this.args.length;P++)if(!this.args[P].equals(I.args[P]))return!1;return!0},Me.prototype.equals=function(I){return x.type.is_stream(I)&&this.id===I.id},Te.prototype.equals=function(I){var P;if(!x.type.is_substitution(I))return!1;for(P in this.links)if(!!this.links.hasOwnProperty(P)&&(!I.links[P]||!this.links[P].equals(I.links[P])))return!1;for(P in I.links)if(!!I.links.hasOwnProperty(P)&&!this.links[P])return!1;return!0},Qe.prototype.equals=function(I){return x.type.is_state(I)&&this.goal.equals(I.goal)&&this.substitution.equals(I.substitution)&&this.parent===I.parent},_e.prototype.equals=function(I){return x.type.is_rule(I)&&this.head.equals(I.head)&&(this.body===null&&I.body===null||this.body!==null&&this.body.equals(I.body))},me.prototype.rename=function(I){return I.get_free_variable(this)},be.prototype.rename=function(I){return this},H.prototype.rename=function(I){return new H(this.id,o(this.args,function(P){return P.rename(I)}))},Me.prototype.rename=function(I){return this},_e.prototype.rename=function(I){return new _e(this.head.rename(I),this.body!==null?this.body.rename(I):null)},me.prototype.variables=function(){return[this.id]},be.prototype.variables=function(){return[]},H.prototype.variables=function(){return[].concat.apply([],o(this.args,function(I){return I.variables()}))},Me.prototype.variables=function(){return[]},_e.prototype.variables=function(){return this.body===null?this.head.variables():this.head.variables().concat(this.body.variables())},me.prototype.apply=function(I){return I.lookup(this.id)?I.lookup(this.id):this},be.prototype.apply=function(I){return this},H.prototype.apply=function(I){if(this.indicator==="./2"){for(var P=[],y=this;y.indicator==="./2";)P.push(y.args[0].apply(I)),y=y.args[1];for(var F=y.apply(I),J=P.length-1;J>=0;J--)F=new H(".",[P[J],F]);return F}return new H(this.id,o(this.args,function(X){return X.apply(I)}),this.ref)},Me.prototype.apply=function(I){return this},_e.prototype.apply=function(I){return new _e(this.head.apply(I),this.body!==null?this.body.apply(I):null)},Te.prototype.apply=function(I){var P,y={};for(P in this.links)!this.links.hasOwnProperty(P)||(y[P]=this.links[P].apply(I));return new Te(y)},H.prototype.select=function(){for(var I=this;I.indicator===",/2";)I=I.args[0];return I},H.prototype.replace=function(I){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(I),this.args[1]]):I===null?this.args[1]:new H(",",[I,this.args[1]]):I},H.prototype.search=function(I){if(x.type.is_term(I)&&I.ref!==void 0&&this.ref===I.ref)return!0;for(var P=0;P<this.args.length;P++)if(x.type.is_term(this.args[P])&&this.args[P].search(I))return!0;return!1},qe.prototype.get_current_input=function(){return this.current_input},At.prototype.get_current_input=function(){return this.session.get_current_input()},qe.prototype.get_current_output=function(){return this.current_output},At.prototype.get_current_output=function(){return this.session.get_current_output()},qe.prototype.set_current_input=function(I){this.current_input=I},At.prototype.set_current_input=function(I){return this.session.set_current_input(I)},qe.prototype.set_current_output=function(I){this.current_input=I},At.prototype.set_current_output=function(I){return this.session.set_current_output(I)},qe.prototype.get_stream_by_alias=function(I){return this.streams[I]},At.prototype.get_stream_by_alias=function(I){return this.session.get_stream_by_alias(I)},qe.prototype.file_system_open=function(I,P,y){return this.file_system.open(I,P,y)},At.prototype.file_system_open=function(I,P,y){return this.session.file_system_open(I,P,y)},qe.prototype.get_char_conversion=function(I){return this.__char_conversion[I]||I},At.prototype.get_char_conversion=function(I){return this.session.get_char_conversion(I)},qe.prototype.parse=function(I){return this.thread.parse(I)},At.prototype.parse=function(I){var P=new _(this);P.new_text(I);var y=P.get_tokens();if(y===null)return!1;var F=V(this,y,0,this.__get_max_priority(),!1);return F.len!==y.length?!1:{value:F.value,expr:F,tokens:y}},qe.prototype.get_flag=function(I){return this.flag[I]},At.prototype.get_flag=function(I){return this.session.get_flag(I)},qe.prototype.add_rule=function(I,P){return P=P||{},P.from=P.from?P.from:"$tau-js",this.src_predicates[I.head.indicator]=P.from,this.rules[I.head.indicator]||(this.rules[I.head.indicator]=[]),this.rules[I.head.indicator].push(I),this.public_predicates.hasOwnProperty(I.head.indicator)||(this.public_predicates[I.head.indicator]=!1),!0},At.prototype.add_rule=function(I,P){return this.session.add_rule(I,P)},qe.prototype.run_directive=function(I){this.thread.run_directive(I)},At.prototype.run_directive=function(I){return x.type.is_directive(I)?(x.directive[I.indicator](this,I),!0):!1},qe.prototype.__get_max_priority=function(){return"1200"},At.prototype.__get_max_priority=function(){return this.session.__get_max_priority()},qe.prototype.__get_next_priority=function(I){var P=0;I=parseInt(I);for(var y in this.__operators)if(!!this.__operators.hasOwnProperty(y)){var F=parseInt(y);F>P&&F<I&&(P=F)}return P.toString()},At.prototype.__get_next_priority=function(I){return this.session.__get_next_priority(I)},qe.prototype.__lookup_operator_classes=function(I,P){return this.__operators.hasOwnProperty(I)&&this.__operators[I][P]instanceof Array&&this.__operators[I][P]||!1},At.prototype.__lookup_operator_classes=function(I,P){return this.session.__lookup_operator_classes(I,P)},qe.prototype.lookup_operator=function(I,P){for(var y in this.__operators)if(this.__operators[y][I]){for(var F=0;F<this.__operators[y][I].length;F++)if(P===0||this.__operators[y][I][F].length===P+1)return{priority:y,class:this.__operators[y][I][F]}}return null},At.prototype.lookup_operator=function(I,P){return this.session.lookup_operator(I,P)},qe.prototype.throw_warning=function(I){this.thread.throw_warning(I)},At.prototype.throw_warning=function(I){this.warnings.push(I)},qe.prototype.get_warnings=function(){return this.thread.get_warnings()},At.prototype.get_warnings=function(){return this.warnings},qe.prototype.add_goal=function(I,P){this.thread.add_goal(I,P)},At.prototype.add_goal=function(I,P,y){y=y||null,P===!0&&(this.points=[]);for(var F=I.variables(),J={},X=0;X<F.length;X++)J[F[X]]=new me(F[X]);this.points.push(new Qe(I,new Te(J),y))},qe.prototype.consult=function(I,P){return this.thread.consult(I,P)},At.prototype.consult=function(I,P){var y="";if(typeof I=="string"){y=I;var F=y.length;if(y.substring(F-3,F)===".pl"&&document.getElementById(y)){var J=document.getElementById(y),X=J.getAttribute("type");X!==null&&X.replace(/ /g,"").toLowerCase()==="text/prolog"&&(y=J.text)}}else if(I.nodeName)switch(I.nodeName.toLowerCase()){case"input":case"textarea":y=I.value;break;default:y=I.innerHTML;break}else return!1;return this.warnings=[],he(this,y,P)},qe.prototype.query=function(I){return this.thread.query(I)},At.prototype.query=function(I){return this.points=[],this.debugger_points=[],ve(this,I)},qe.prototype.head_point=function(){return this.thread.head_point()},At.prototype.head_point=function(){return this.points[this.points.length-1]},qe.prototype.get_free_variable=function(I){return this.thread.get_free_variable(I)},At.prototype.get_free_variable=function(I){var P=[];if(I.id==="_"||this.session.renamed_variables[I.id]===void 0){for(this.session.rename++,this.points.length>0&&(P=this.head_point().substitution.domain());e(P,x.format_variable(this.session.rename))!==-1;)this.session.rename++;if(I.id==="_")return new me(x.format_variable(this.session.rename));this.session.renamed_variables[I.id]=x.format_variable(this.session.rename)}return new me(this.session.renamed_variables[I.id])},qe.prototype.next_free_variable=function(){return this.thread.next_free_variable()},At.prototype.next_free_variable=function(){this.session.rename++;var I=[];for(this.points.length>0&&(I=this.head_point().substitution.domain());e(I,x.format_variable(this.session.rename))!==-1;)this.session.rename++;return new me(x.format_variable(this.session.rename))},qe.prototype.is_public_predicate=function(I){return!this.public_predicates.hasOwnProperty(I)||this.public_predicates[I]===!0},At.prototype.is_public_predicate=function(I){return this.session.is_public_predicate(I)},qe.prototype.is_multifile_predicate=function(I){return this.multifile_predicates.hasOwnProperty(I)&&this.multifile_predicates[I]===!0},At.prototype.is_multifile_predicate=function(I){return this.session.is_multifile_predicate(I)},qe.prototype.prepend=function(I){return this.thread.prepend(I)},At.prototype.prepend=function(I){for(var P=I.length-1;P>=0;P--)this.points.push(I[P])},qe.prototype.success=function(I,P){return this.thread.success(I,P)},At.prototype.success=function(I,y){var y=typeof y>"u"?I:y;this.prepend([new Qe(I.goal.replace(null),I.substitution,y)])},qe.prototype.throw_error=function(I){return this.thread.throw_error(I)},At.prototype.throw_error=function(I){this.prepend([new Qe(new H("throw",[I]),new Te,null,null)])},qe.prototype.step_rule=function(I,P){return this.thread.step_rule(I,P)},At.prototype.step_rule=function(I,P){var y=P.indicator;if(I==="user"&&(I=null),I===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=I===null?this.session.modules:e(this.session.modules,I)===-1?[]:[I],J=0;J<F.length;J++){var X=x.module[F[J]];if(X.rules.hasOwnProperty(y)&&(X.rules.hasOwnProperty(this.level)||X.exports_predicate(y)))return x.module[F[J]].rules[y]}return null},qe.prototype.step=function(){return this.thread.step()},At.prototype.step=function(){if(this.points.length!==0){var I=!1,P=this.points.pop();if(this.debugger&&this.debugger_states.push(P),x.type.is_term(P.goal)){var y=P.goal.select(),F=null,J=[];if(y!==null){this.total_steps++;for(var X=P;X.parent!==null&&X.parent.goal.search(y);)X=X.parent;if(this.level=X.parent===null?"top_level/0":X.parent.goal.select().indicator,x.type.is_term(y)&&y.indicator===":/2"&&(F=y.args[0].id,y=y.args[1]),F===null&&x.type.is_builtin(y))this.__call_indicator=y.indicator,I=x.predicate[y.indicator](this,P,y);else{var $=this.step_rule(F,y);if($===null)this.session.rules.hasOwnProperty(y.indicator)||(this.get_flag("unknown").id==="error"?this.throw_error(x.error.existence("procedure",y.indicator,this.level)):this.get_flag("unknown").id==="warning"&&this.throw_warning("unknown procedure "+y.indicator+" (from "+this.level+")"));else if($ instanceof Function)I=$(this,P,y);else{for(var ie in $)if(!!$.hasOwnProperty(ie)){var ke=$[ie];this.session.renamed_variables={},ke=ke.rename(this);var Ne=this.get_flag("occurs_check").indicator==="true/0",st=new Qe,ht=x.unify(y,ke.head,Ne);ht!==null&&(st.goal=P.goal.replace(ke.body),st.goal!==null&&(st.goal=st.goal.apply(ht)),st.substitution=P.substitution.apply(ht),st.parent=P,J.push(st))}this.prepend(J)}}}}else x.type.is_variable(P.goal)?this.throw_error(x.error.instantiation(this.level)):this.throw_error(x.error.type("callable",P.goal,this.level));return I}},qe.prototype.answer=function(I){return this.thread.answer(I)},At.prototype.answer=function(I){I=I||function(P){},this.__calls.push(I),!(this.__calls.length>1)&&this.again()},qe.prototype.answers=function(I,P,y){return this.thread.answers(I,P,y)},At.prototype.answers=function(I,P,y){var F=P||1e3,J=this;if(P<=0){y&&y();return}this.answer(function(X){I(X),X!==!1?setTimeout(function(){J.answers(I,P-1,y)},1):y&&y()})},qe.prototype.again=function(I){return this.thread.again(I)},At.prototype.again=function(I){for(var P,y=Date.now();this.__calls.length>0;){for(this.warnings=[],I!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!x.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var J=this.__calls.shift();this.current_limit<=0?J(null):this.points.length===0?J(!1):x.type.is_error(this.head_point().goal)?(P=this.session.format_error(this.points.pop()),this.points=[],J(P)):(this.debugger&&this.debugger_states.push(this.head_point()),P=this.session.format_success(this.points.pop()),J(P))}},qe.prototype.unfold=function(I){if(I.body===null)return!1;var P=I.head,y=I.body,F=y.select(),J=new At(this),X=[];J.add_goal(F),J.step();for(var $=J.points.length-1;$>=0;$--){var ie=J.points[$],ke=P.apply(ie.substitution),Ne=y.replace(ie.goal);Ne!==null&&(Ne=Ne.apply(ie.substitution)),X.push(new _e(ke,Ne))}var st=this.rules[P.indicator],ht=e(st,I);return X.length>0&&ht!==-1?(st.splice.apply(st,[ht,1].concat(X)),!0):!1},At.prototype.unfold=function(I){return this.session.unfold(I)},me.prototype.interpret=function(I){return x.error.instantiation(I.level)},be.prototype.interpret=function(I){return this},H.prototype.interpret=function(I){return x.type.is_unitary_list(this)?this.args[0].interpret(I):x.operate(I,this)},me.prototype.compare=function(I){return this.id<I.id?-1:this.id>I.id?1:0},be.prototype.compare=function(I){if(this.value===I.value&&this.is_float===I.is_float)return 0;if(this.value<I.value||this.value===I.value&&this.is_float&&!I.is_float)return-1;if(this.value>I.value)return 1},H.prototype.compare=function(I){if(this.args.length<I.args.length||this.args.length===I.args.length&&this.id<I.id)return-1;if(this.args.length>I.args.length||this.args.length===I.args.length&&this.id>I.id)return 1;for(var P=0;P<this.args.length;P++){var y=x.compare(this.args[P],I.args[P]);if(y!==0)return y}return 0},Te.prototype.lookup=function(I){return this.links[I]?this.links[I]:null},Te.prototype.filter=function(I){var P={};for(var y in this.links)if(!!this.links.hasOwnProperty(y)){var F=this.links[y];I(y,F)&&(P[y]=F)}return new Te(P)},Te.prototype.exclude=function(I){var P={};for(var y in this.links)!this.links.hasOwnProperty(y)||e(I,y)===-1&&(P[y]=this.links[y]);return new Te(P)},Te.prototype.add=function(I,P){this.links[I]=P},Te.prototype.domain=function(I){var P=I===!0?function(J){return J}:function(J){return new me(J)},y=[];for(var F in this.links)y.push(P(F));return y},me.prototype.compile=function(){return'new pl.type.Var("'+this.id.toString()+'")'},be.prototype.compile=function(){return"new pl.type.Num("+this.value.toString()+", "+this.is_float.toString()+")"},H.prototype.compile=function(){return'new pl.type.Term("'+this.id.replace(/"/g,'\\"')+'", ['+o(this.args,function(I){return I.compile()})+"])"},_e.prototype.compile=function(){return"new pl.type.Rule("+this.head.compile()+", "+(this.body===null?"null":this.body.compile())+")"},qe.prototype.compile=function(){var I,P=[],y;for(var F in this.rules)if(!!this.rules.hasOwnProperty(F)){var J=this.rules[F];y=[],I='"'+F+'": [';for(var X=0;X<J.length;X++)y.push(J[X].compile());I+=y.join(),I+="]",P.push(I)}return"{"+P.join()+"};"},me.prototype.toJavaScript=function(){},be.prototype.toJavaScript=function(){return this.value},H.prototype.toJavaScript=function(){if(this.args.length===0&&this.indicator!=="[]/0")return this.id;if(x.type.is_list(this)){for(var I=[],P=this,y;P.indicator==="./2";){if(y=P.args[0].toJavaScript(),y===void 0)return;I.push(y),P=P.args[1]}if(P.indicator==="[]/0")return I}},_e.prototype.singleton_variables=function(){var I=this.head.variables(),P={},y=[];this.body!==null&&(I=I.concat(this.body.variables()));for(var F=0;F<I.length;F++)P[I[F]]===void 0&&(P[I[F]]=0),P[I[F]]++;for(var J in P)J!=="_"&&P[J]===1&&y.push(J);return y};var x={__env:typeof dl<"u"&&dl.exports?global:window,module:{},version:t,parser:{tokenizer:_,expression:V},utils:{str_indicator:Z,codePointAt:n,fromCodePoint:u},statistics:{getCountTerms:function(){return ut}},fromJavaScript:{test:{boolean:function(I){return I===!0||I===!1},number:function(I){return typeof I=="number"},string:function(I){return typeof I=="string"},list:function(I){return I instanceof Array},variable:function(I){return I===void 0},any:function(I){return!0}},conversion:{boolean:function(I){return new H(I?"true":"false",[])},number:function(I){return new be(I,I%1!==0)},string:function(I){return new H(I,[])},list:function(I){for(var P=[],y,F=0;F<I.length;F++){if(y=x.fromJavaScript.apply(I[F]),y===void 0)return;P.push(y)}return g(P)},variable:function(I){return new me("_")},any:function(I){}},apply:function(I){for(var P in x.fromJavaScript.test)if(P!=="any"&&x.fromJavaScript.test[P](I))return x.fromJavaScript.conversion[P](I);return x.fromJavaScript.conversion.any(I)}},type:{Var:me,Num:be,Term:H,Rule:_e,State:Qe,Stream:Me,Module:Oe,Thread:At,Session:qe,Substitution:Te,order:[me,be,H,Me],compare:function(I,P){var y=e(x.type.order,I.constructor),F=e(x.type.order,P.constructor);if(y<F)return-1;if(y>F)return 1;if(I.constructor===be){if(I.is_float&&P.is_float)return 0;if(I.is_float)return-1;if(P.is_float)return 1}return 0},is_substitution:function(I){return I instanceof Te},is_state:function(I){return I instanceof Qe},is_rule:function(I){return I instanceof _e},is_variable:function(I){return I instanceof me},is_stream:function(I){return I instanceof Me},is_anonymous_var:function(I){return I instanceof me&&I.id==="_"},is_callable:function(I){return I instanceof H},is_number:function(I){return I instanceof be},is_integer:function(I){return I instanceof be&&!I.is_float},is_float:function(I){return I instanceof be&&I.is_float},is_term:function(I){return I instanceof H},is_atom:function(I){return I instanceof H&&I.args.length===0},is_ground:function(I){if(I instanceof me)return!1;if(I instanceof H){for(var P=0;P<I.args.length;P++)if(!x.type.is_ground(I.args[P]))return!1}return!0},is_atomic:function(I){return I instanceof H&&I.args.length===0||I instanceof be},is_compound:function(I){return I instanceof H&&I.args.length>0},is_list:function(I){return I instanceof H&&(I.indicator==="[]/0"||I.indicator==="./2")},is_empty_list:function(I){return I instanceof H&&I.indicator==="[]/0"},is_non_empty_list:function(I){return I instanceof H&&I.indicator==="./2"},is_fully_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof me||I instanceof H&&I.indicator==="[]/0"},is_instantiated_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof H&&I.indicator==="[]/0"},is_unitary_list:function(I){return I instanceof H&&I.indicator==="./2"&&I.args[1]instanceof H&&I.args[1].indicator==="[]/0"},is_character:function(I){return I instanceof H&&(I.id.length===1||I.id.length>0&&I.id.length<=2&&n(I.id,0)>=65536)},is_character_code:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=1114111},is_byte:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=255},is_operator:function(I){return I instanceof H&&x.arithmetic.evaluation[I.indicator]},is_directive:function(I){return I instanceof H&&x.directive[I.indicator]!==void 0},is_builtin:function(I){return I instanceof H&&x.predicate[I.indicator]!==void 0},is_error:function(I){return I instanceof H&&I.indicator==="throw/1"},is_predicate_indicator:function(I){return I instanceof H&&I.indicator==="//2"&&I.args[0]instanceof H&&I.args[0].args.length===0&&I.args[1]instanceof be&&I.args[1].is_float===!1},is_flag:function(I){return I instanceof H&&I.args.length===0&&x.flag[I.id]!==void 0},is_value_flag:function(I,P){if(!x.type.is_flag(I))return!1;for(var y in x.flag[I.id].allowed)if(!!x.flag[I.id].allowed.hasOwnProperty(y)&&x.flag[I.id].allowed[y].equals(P))return!0;return!1},is_io_mode:function(I){return x.type.is_atom(I)&&["read","write","append"].indexOf(I.id)!==-1},is_stream_option:function(I){return x.type.is_term(I)&&(I.indicator==="alias/1"&&x.type.is_atom(I.args[0])||I.indicator==="reposition/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="type/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary")||I.indicator==="eof_action/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))},is_stream_position:function(I){return x.type.is_integer(I)&&I.value>=0||x.type.is_atom(I)&&(I.id==="end_of_stream"||I.id==="past_end_of_stream")},is_stream_property:function(I){return x.type.is_term(I)&&(I.indicator==="input/0"||I.indicator==="output/0"||I.indicator==="alias/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="file_name/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="position/1"&&(x.type.is_variable(I.args[0])||x.type.is_stream_position(I.args[0]))||I.indicator==="reposition/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))||I.indicator==="type/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary"))||I.indicator==="mode/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="read"||I.args[0].id==="write"||I.args[0].id==="append"))||I.indicator==="eof_action/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))||I.indicator==="end_of_stream/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="at"||I.args[0].id==="past"||I.args[0].id==="not")))},is_streamable:function(I){return I.__proto__.stream!==void 0},is_read_option:function(I){return x.type.is_term(I)&&["variables/1","variable_names/1","singletons/1"].indexOf(I.indicator)!==-1},is_write_option:function(I){return x.type.is_term(I)&&(I.indicator==="quoted/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="ignore_ops/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="numbervars/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))},is_close_option:function(I){return x.type.is_term(I)&&I.indicator==="force/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")},is_modifiable_flag:function(I){return x.type.is_flag(I)&&x.flag[I.id].changeable},is_module:function(I){return I instanceof H&&I.indicator==="library/1"&&I.args[0]instanceof H&&I.args[0].args.length===0&&x.module[I.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(I){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(I){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(I){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(I){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(I,P){return I}},"-/1":{type_args:null,type_result:null,fn:function(I,P){return-I}},"\\/1":{type_args:!1,type_result:!1,fn:function(I,P){return~I}},"abs/1":{type_args:null,type_result:null,fn:function(I,P){return Math.abs(I)}},"sign/1":{type_args:null,type_result:null,fn:function(I,P){return Math.sign(I)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(I,P){return I-parseInt(I)}},"float/1":{type_args:null,type_result:!0,fn:function(I,P){return parseFloat(I)}},"floor/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.floor(I)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"round/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.round(I)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.ceil(I)}},"sin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sin(I)}},"cos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.cos(I)}},"tan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.tan(I)}},"asin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.asin(I)}},"acos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.acos(I)}},"atan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.atan(I)}},"atan2/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.atan2(I,P)}},"exp/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.exp(I)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sqrt(I)}},"log/1":{type_args:null,type_result:!0,fn:function(I,P){return I>0?Math.log(I):x.error.evaluation("undefined",P.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(I,P,y){return I+P}},"-/2":{type_args:null,type_result:null,fn:function(I,P,y){return I-P}},"*/2":{type_args:null,type_result:null,fn:function(I,P,y){return I*P}},"//2":{type_args:null,type_result:!0,fn:function(I,P,y){return P?I/P:x.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?parseInt(I/P):x.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.pow(I,P)}},"^/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.pow(I,P)}},"<</2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I<<P}},">>/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I>>P}},"/\\/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I&P}},"\\//2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I|P}},"xor/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I^P}},"rem/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I%P:x.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I-parseInt(I/P)*P:x.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.max(I,P)}},"min/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.min(I,P)}}}},directive:{"dynamic/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_compound(y)||y.indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y,P.indicator));else if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],P.indicator));else if(!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],P.indicator));else{var F=P.args[0].args[0].id+"/"+P.args[0].args[1].value;I.session.public_predicates[F]=!0,I.session.rules[F]||(I.session.rules[F]=[])}},"multifile/1":function(I,P){var y=P.args[0];x.type.is_variable(y)?I.throw_error(x.error.instantiation(P.indicator)):!x.type.is_compound(y)||y.indicator!=="//2"?I.throw_error(x.error.type("predicate_indicator",y,P.indicator)):x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1])?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y.args[0])?x.type.is_integer(y.args[1])?I.session.multifile_predicates[P.args[0].args[0].id+"/"+P.args[0].args[1].value]=!0:I.throw_error(x.error.type("integer",y.args[1],P.indicator)):I.throw_error(x.error.type("atom",y.args[0],P.indicator))},"set_prolog_flag/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y)?x.type.is_flag(y)?x.type.is_value_flag(y,F)?x.type.is_modifiable_flag(y)?I.session.flag[y.id]=F:I.throw_error(x.error.permission("modify","flag",y)):I.throw_error(x.error.domain("flag_value",new H("+",[y,F]),P.indicator)):I.throw_error(x.error.domain("prolog_flag",y,P.indicator)):I.throw_error(x.error.type("atom",y,P.indicator))},"use_module/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_term(y))I.throw_error(x.error.type("term",y,P.indicator));else if(x.type.is_module(y)){var F=y.args[0].id;e(I.session.modules,F)===-1&&I.session.modules.push(F)}},"char_conversion/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_character(y)?x.type.is_character(F)?y.id===F.id?delete I.session.__char_conversion[y.id]:I.session.__char_conversion[y.id]=F.id:I.throw_error(x.error.type("character",F,P.indicator)):I.throw_error(x.error.type("character",y,P.indicator))},"op/3":function(I,P){var y=P.args[0],F=P.args[1],J=P.args[2];if(x.type.is_variable(y)||x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_integer(y))I.throw_error(x.error.type("integer",y,P.indicator));else if(!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,P.indicator));else if(!x.type.is_atom(J))I.throw_error(x.error.type("atom",J,P.indicator));else if(y.value<0||y.value>1200)I.throw_error(x.error.domain("operator_priority",y,P.indicator));else if(J.id===",")I.throw_error(x.error.permission("modify","operator",J,P.indicator));else if(J.id==="|"&&(y.value<1001||F.id.length!==3))I.throw_error(x.error.permission("modify","operator",J,P.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)I.throw_error(x.error.domain("operator_specifier",F,P.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in I.session.__operators)if(!!I.session.__operators.hasOwnProperty($)){var ie=I.session.__operators[$][J.id];ie&&(e(ie,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(ie,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(ie,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(ie,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(ie,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(ie,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(ie,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var ke;switch(F.id){case"fy":case"fx":ke="prefix";break;case"yf":case"xf":ke="postfix";break;default:ke="infix";break}if(((X.prefix&&ke==="prefix"||X.postfix&&ke==="postfix"||X.infix&&ke==="infix")&&X[ke].type!==F.id||X.infix&&ke==="postfix"||X.postfix&&ke==="infix")&&y.value!==0)I.throw_error(x.error.permission("create","operator",J,P.indicator));else return X[ke]&&(De(I.session.__operators[X[ke].priority][J.id],F.id),I.session.__operators[X[ke].priority][J.id].length===0&&delete I.session.__operators[X[ke].priority][J.id]),y.value>0&&(I.session.__operators[y.value]||(I.session.__operators[y.value.toString()]={}),I.session.__operators[y.value][J.id]||(I.session.__operators[y.value][J.id]=[]),I.session.__operators[y.value][J.id].push(F.id)),!0}}},predicate:{"op/3":function(I,P,y){x.directive["op/3"](I,y)&&I.success(P)},"current_op/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=[];for(var ie in I.session.__operators)for(var ke in I.session.__operators[ie])for(var Ne=0;Ne<I.session.__operators[ie][ke].length;Ne++)$.push(new Qe(P.goal.replace(new H(",",[new H("=",[new be(ie,!1),F]),new H(",",[new H("=",[new H(I.session.__operators[ie][ke][Ne],[]),J]),new H("=",[new H(ke,[]),X])])])),P.substitution,P));I.prepend($)},";/2":function(I,P,y){if(x.type.is_term(y.args[0])&&y.args[0].indicator==="->/2"){var F=I.points,J=I.session.format_success,X=I.session.format_error;I.session.format_success=function(Ne){return Ne.substitution},I.session.format_error=function(Ne){return Ne.goal},I.points=[new Qe(y.args[0].args[0],P.substitution,P)];var $=function(Ne){I.points=F,I.session.format_success=J,I.session.format_error=X,Ne===!1?I.prepend([new Qe(P.goal.replace(y.args[1]),P.substitution,P)]):x.type.is_error(Ne)?I.throw_error(Ne.args[0]):Ne===null?(I.prepend([P]),I.__calls.shift()(null)):I.prepend([new Qe(P.goal.replace(y.args[0].args[1]).apply(Ne),P.substitution.apply(Ne),P)])};I.__calls.unshift($)}else{var ie=new Qe(P.goal.replace(y.args[0]),P.substitution,P),ke=new Qe(P.goal.replace(y.args[1]),P.substitution,P);I.prepend([ie,ke])}},"!/0":function(I,P,y){var F,J,X=[];for(F=P,J=null;F.parent!==null&&F.parent.goal.search(y);)if(J=F,F=F.parent,F.goal!==null){var $=F.goal.select();if($&&$.id==="call"&&$.search(y)){F=J;break}}for(var ie=I.points.length-1;ie>=0;ie--){for(var ke=I.points[ie],Ne=ke.parent;Ne!==null&&Ne!==F.parent;)Ne=Ne.parent;Ne===null&&Ne!==F.parent&&X.push(ke)}I.points=X.reverse(),I.success(P)},"\\+/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(I.level)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H(",",[new H("call",[F]),new H("!",[])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,I.level))},"->/2":function(I,P,y){var F=P.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));I.prepend([new Qe(F,P.substitution,P)])},"fail/0":function(I,P,y){},"false/0":function(I,P,y){},"true/0":function(I,P,y){I.success(P)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("call",[F]),new H("!",[])])),P.substitution,P)])},"forall/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("\\+",[new H(",",[new H("call",[F]),new H("\\+",[new H("call",[J])])])])),P.substitution,P)])},"repeat/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(null),P.substitution,P),P])},"throw/1":function(I,P,y){x.type.is_variable(y.args[0])?I.throw_error(x.error.instantiation(I.level)):I.throw_error(y.args[0])},"catch/3":function(I,P,y){var F=I.points;I.points=[],I.prepend([new Qe(y.args[0],P.substitution,P)]);var J=I.session.format_success,X=I.session.format_error;I.session.format_success=function(ie){return ie.substitution},I.session.format_error=function(ie){return ie.goal};var $=function(ie){var ke=I.points;if(I.points=F,I.session.format_success=J,I.session.format_error=X,x.type.is_error(ie)){for(var Ne=[],st=I.points.length-1;st>=0;st--){for(var Xt=I.points[st],ht=Xt.parent;ht!==null&&ht!==P.parent;)ht=ht.parent;ht===null&&ht!==P.parent&&Ne.push(Xt)}I.points=Ne;var Ut=I.get_flag("occurs_check").indicator==="true/0",Xt=new Qe,Pt=x.unify(ie.args[0],y.args[1],Ut);Pt!==null?(Xt.substitution=P.substitution.apply(Pt),Xt.goal=P.goal.replace(y.args[2]).apply(Pt),Xt.parent=P,I.prepend([Xt])):I.throw_error(ie.args[0])}else if(ie!==!1){for(var tn=ie===null?[]:[new Qe(P.goal.apply(ie).replace(null),P.substitution.apply(ie),P)],Dr=[],st=ke.length-1;st>=0;st--){Dr.push(ke[st]);var fr=ke[st].goal!==null?ke[st].goal.select():null;if(x.type.is_term(fr)&&fr.indicator==="!/0")break}var Br=o(Dr,function(jr){return jr.goal===null&&(jr.goal=new H("true",[])),jr=new Qe(P.goal.replace(new H("catch",[jr.goal,y.args[1],y.args[2]])),P.substitution.apply(jr.substitution),jr.parent),jr.exclude=y.args[0].variables(),jr}).reverse();I.prepend(Br),I.prepend(tn),ie===null&&(this.current_limit=0,I.__calls.shift()(null))}};I.__calls.unshift($)},"=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",J=new Qe,X=x.unify(y.args[0],y.args[1],F);X!==null&&(J.goal=P.goal.apply(X).replace(null),J.substitution=P.substitution.apply(X),J.parent=P,I.prepend([J]))},"unify_with_occurs_check/2":function(I,P,y){var F=new Qe,J=x.unify(y.args[0],y.args[1],!0);J!==null&&(F.goal=P.goal.apply(J).replace(null),F.substitution=P.substitution.apply(J),F.parent=P,I.prepend([F]))},"\\=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",J=x.unify(y.args[0],y.args[1],F);J===null&&I.success(P)},"subsumes_term/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",J=x.unify(y.args[1],y.args[0],F);J!==null&&y.args[1].apply(J).equals(y.args[1])&&I.success(P)},"findall/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(J))I.throw_error(x.error.type("callable",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=I.next_free_variable(),ie=new H(",",[J,new H("=",[$,F])]),ke=I.points,Ne=I.session.limit,st=I.session.format_success;I.session.format_success=function(Xt){return Xt.substitution},I.add_goal(ie,!0,P);var ht=[],Ut=function(Xt){if(Xt!==!1&&Xt!==null&&!x.type.is_error(Xt))I.__calls.unshift(Ut),ht.push(Xt.links[$.id]),I.session.limit=I.current_limit;else if(I.points=ke,I.session.limit=Ne,I.session.format_success=st,x.type.is_error(Xt))I.throw_error(Xt.args[0]);else if(I.current_limit>0){for(var Pt=new H("[]"),tn=ht.length-1;tn>=0;tn--)Pt=new H(".",[ht[tn],Pt]);I.prepend([new Qe(P.goal.replace(new H("=",[X,Pt])),P.substitution,P)])}};I.__calls.unshift(Ut)}},"bagof/3":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(J.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,J])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers;for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"setof/3":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(J.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,J])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers.sort(x.compare);for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"functor/3":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(J)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation("functor/3"));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",y.args[2],"functor/3"));else if(!x.type.is_variable(X)&&!x.type.is_atomic(X))I.throw_error(x.error.type("atomic",y.args[1],"functor/3"));else if(x.type.is_integer(X)&&x.type.is_integer($)&&$.value!==0)I.throw_error(x.error.type("atom",y.args[1],"functor/3"));else if(x.type.is_variable(J)){if(y.args[2].value>=0){for(var ie=[],ke=0;ke<$.value;ke++)ie.push(I.next_free_variable());var Ne=x.type.is_integer(X)?X:new H(X.id,ie);I.prepend([new Qe(P.goal.replace(new H("=",[J,Ne])),P.substitution,P)])}}else{var st=x.type.is_integer(J)?J:new H(J.id,[]),ht=x.type.is_integer(J)?new be(0,!1):new be(J.args.length,!1),Ut=new H(",",[new H("=",[st,X]),new H("=",[ht,$])]);I.prepend([new Qe(P.goal.replace(Ut),P.substitution,P)])}},"arg/3":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(y.indicator));else if(y.args[0].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!x.type.is_compound(y.args[1]))I.throw_error(x.error.type("compound",y.args[1],y.indicator));else{var F=y.args[0].value;if(F>0&&F<=y.args[1].args.length){var J=new H("=",[y.args[1].args[F-1],y.args[2]]);I.prepend([new Qe(P.goal.replace(J),P.substitution,P)])}}},"=../2":function(I,P,y){var F;if(x.type.is_variable(y.args[0])&&(x.type.is_variable(y.args[1])||x.type.is_non_empty_list(y.args[1])&&x.type.is_variable(y.args[1].args[0])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_fully_list(y.args[1]))I.throw_error(x.error.type("list",y.args[1],y.indicator));else if(x.type.is_variable(y.args[0])){if(!x.type.is_variable(y.args[1])){var X=[];for(F=y.args[1].args[1];F.indicator==="./2";)X.push(F.args[0]),F=F.args[1];x.type.is_variable(y.args[0])&&x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):X.length===0&&x.type.is_compound(y.args[1].args[0])?I.throw_error(x.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(x.type.is_compound(y.args[1].args[0])||x.type.is_number(y.args[1].args[0]))?I.throw_error(x.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],P)),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),P.substitution,P)])}}else{if(x.type.is_atomic(y.args[0]))F=new H(".",[y.args[0],new H("[]")]);else{F=new H("[]");for(var J=y.args[0].args.length-1;J>=0;J--)F=new H(".",[y.args[0].args[J],F]);F=new H(".",[new H(y.args[0].id),F])}I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"copy_term/2":function(I,P,y){var F=y.args[0].rename(I);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P.parent)])},"term_variables/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(!x.type.is_fully_list(J))I.throw_error(x.error.type("list",J,y.indicator));else{var X=g(o(Ce(F.variables()),function($){return new me($)}));I.prepend([new Qe(P.goal.replace(new H("=",[J,X])),P.substitution,P)])}},"clause/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_callable(y.args[1]))I.throw_error(x.error.type("callable",y.args[1],y.indicator));else if(I.session.rules[y.args[0].indicator]!==void 0)if(I.is_public_predicate(y.args[0].indicator)){var F=[];for(var J in I.session.rules[y.args[0].indicator])if(!!I.session.rules[y.args[0].indicator].hasOwnProperty(J)){var X=I.session.rules[y.args[0].indicator][J];I.session.renamed_variables={},X=X.rename(I),X.body===null&&(X.body=new H("true"));var $=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);F.push(new Qe(P.goal.replace($),P.substitution,P))}I.prepend(F)}else I.throw_error(x.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(I,P,y){var F=y.args[0];if(!x.type.is_variable(F)&&(!x.type.is_compound(F)||F.indicator!=="//2"))I.throw_error(x.error.type("predicate_indicator",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[0])&&!x.type.is_atom(F.args[0]))I.throw_error(x.error.type("atom",F.args[0],y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[1])&&!x.type.is_integer(F.args[1]))I.throw_error(x.error.type("integer",F.args[1],y.indicator));else{var J=[];for(var X in I.session.rules)if(!!I.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),ie=X.substr(0,$),ke=parseInt(X.substr($+1,X.length-($+1))),Ne=new H("/",[new H(ie),new be(ke,!1)]),st=new H("=",[Ne,F]);J.push(new Qe(P.goal.replace(st),P.substitution,P))}I.prepend(J)}},"asserta/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,J;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],J=Pe(y.args[0].args[1])):(F=y.args[0],J=null),x.type.is_callable(F)?J!==null&&!x.type.is_callable(J)?I.throw_error(x.error.type("callable",J,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator]=[new _e(F,J,!0)].concat(I.session.rules[F.indicator]),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"assertz/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,J;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],J=Pe(y.args[0].args[1])):(F=y.args[0],J=null),x.type.is_callable(F)?J!==null&&!x.type.is_callable(J)?I.throw_error(x.error.type("callable",J,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator].push(new _e(F,J,!0)),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"retract/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,J;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],J=y.args[0].args[1]):(F=y.args[0],J=new H("true")),typeof P.retract>"u")if(I.is_public_predicate(F.indicator)){if(I.session.rules[F.indicator]!==void 0){for(var X=[],$=0;$<I.session.rules[F.indicator].length;$++){I.session.renamed_variables={};var ie=I.session.rules[F.indicator][$],ke=ie.rename(I);ke.body===null&&(ke.body=new H("true",[]));var Ne=I.get_flag("occurs_check").indicator==="true/0",st=x.unify(new H(",",[F,J]),new H(",",[ke.head,ke.body]),Ne);if(st!==null){var ht=new Qe(P.goal.replace(new H(",",[new H("retract",[new H(":-",[F,J])]),new H(",",[new H("=",[F,ke.head]),new H("=",[J,ke.body])])])),P.substitution,P);ht.retract=ie,X.push(ht)}}I.prepend(X)}}else I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator));else de(I,P,F.indicator,P.retract)}},"retractall/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H("retract",[new x.type.Term(":-",[F,new me("_")])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,y.indicator))},"abolish/1":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_term(y.args[0])&&y.args[0].indicator==="//2"&&(x.type.is_variable(y.args[0].args[0])||x.type.is_variable(y.args[0].args[1])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_term(y.args[0])||y.args[0].indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y.args[0],y.indicator));else if(!x.type.is_atom(y.args[0].args[0]))I.throw_error(x.error.type("atom",y.args[0].args[0],y.indicator));else if(!x.type.is_integer(y.args[0].args[1]))I.throw_error(x.error.type("integer",y.args[0].args[1],y.indicator));else if(y.args[0].args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0].args[1],y.indicator));else if(x.type.is_number(I.get_flag("max_arity"))&&y.args[0].args[1].value>I.get_flag("max_arity").value)I.throw_error(x.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;I.is_public_predicate(F)?(delete I.session.rules[F],I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],y.indicator));else if(x.type.is_integer(y.args[1])&&y.args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new be(y.args[0].id.length,!1);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"atom_concat/3":function(I,P,y){var F,J,X=y.args[0],$=y.args[1],ie=y.args[2];if(x.type.is_variable(ie)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_atom($))I.throw_error(x.error.type("atom",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_atom(ie))I.throw_error(x.error.type("atom",ie,y.indicator));else{var ke=x.type.is_variable(X),Ne=x.type.is_variable($);if(!ke&&!Ne)J=new H("=",[ie,new H(X.id+$.id)]),I.prepend([new Qe(P.goal.replace(J),P.substitution,P)]);else if(ke&&!Ne)F=ie.id.substr(0,ie.id.length-$.id.length),F+$.id===ie.id&&(J=new H("=",[X,new H(F)]),I.prepend([new Qe(P.goal.replace(J),P.substitution,P)]));else if(Ne&&!ke)F=ie.id.substr(X.id.length),X.id+F===ie.id&&(J=new H("=",[$,new H(F)]),I.prepend([new Qe(P.goal.replace(J),P.substitution,P)]));else{for(var st=[],ht=0;ht<=ie.id.length;ht++){var Ut=new H(ie.id.substr(0,ht)),Xt=new H(ie.id.substr(ht));J=new H(",",[new H("=",[Ut,X]),new H("=",[Xt,$])]),st.push(new Qe(P.goal.replace(J),P.substitution,P))}I.prepend(st)}}},"sub_atom/5":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2],ie=y.args[3],ke=y.args[4];if(x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_integer(ie))I.throw_error(x.error.type("integer",ie,y.indicator));else if(x.type.is_integer(X)&&X.value<0)I.throw_error(x.error.domain("not_less_than_zero",X,y.indicator));else if(x.type.is_integer($)&&$.value<0)I.throw_error(x.error.domain("not_less_than_zero",$,y.indicator));else if(x.type.is_integer(ie)&&ie.value<0)I.throw_error(x.error.domain("not_less_than_zero",ie,y.indicator));else{var Ne=[],st=[],ht=[];if(x.type.is_variable(X))for(F=0;F<=J.id.length;F++)Ne.push(F);else Ne.push(X.value);if(x.type.is_variable($))for(F=0;F<=J.id.length;F++)st.push(F);else st.push($.value);if(x.type.is_variable(ie))for(F=0;F<=J.id.length;F++)ht.push(F);else ht.push(ie.value);var Ut=[];for(var Xt in Ne)if(!!Ne.hasOwnProperty(Xt)){F=Ne[Xt];for(var Pt in st)if(!!st.hasOwnProperty(Pt)){var tn=st[Pt],Dr=J.id.length-F-tn;if(e(ht,Dr)!==-1&&F+tn+Dr===J.id.length){var fr=J.id.substr(F,tn);if(J.id===J.id.substr(0,F)+fr+J.id.substr(F+tn,Dr)){var Br=new H("=",[new H(fr),ke]),jr=new H("=",[X,new be(F)]),Hn=new H("=",[$,new be(tn)]),bs=new H("=",[ie,new be(Dr)]),ki=new H(",",[new H(",",[new H(",",[jr,Hn]),bs]),Br]);Ut.push(new Qe(P.goal.replace(ki),P.substitution,P))}}}}I.prepend(Ut)}},"atom_chars/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=J,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))Ne+=ie.args[0].id;else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new H(F.id.charAt($)),X]);I.prepend([new Qe(P.goal.replace(new H("=",[J,X])),P.substitution,P)])}},"atom_codes/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=J,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))Ne+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.representation("character_code",y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new be(n(F.id,$),!1),X]);I.prepend([new Qe(P.goal.replace(new H("=",[J,X])),P.substitution,P)])}},"char_code/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_character(F))I.throw_error(x.error.type("character",F,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_integer(J))I.throw_error(x.error.type("integer",J,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_character_code(J))I.throw_error(x.error.representation("character_code",y.indicator));else if(x.type.is_variable(J)){var X=new be(n(F.id,0),!1);I.prepend([new Qe(P.goal.replace(new H("=",[X,J])),P.substitution,P)])}else{var $=new H(u(J.value));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"number_chars/2":function(I,P,y){var F,J=y.args[0],X=y.args[1];if(x.type.is_variable(J)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_number(J))I.throw_error(x.error.type("number",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(J);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))F+=ie.args[0].id;else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,st])),P.substitution,P)]);return}}if(!$){F=J.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new H(F.charAt(Ut)),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"number_codes/2":function(I,P,y){var F,J=y.args[0],X=y.args[1];if(x.type.is_variable(J)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_number(J))I.throw_error(x.error.type("number",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(J);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))F+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,st])),P.substitution,P)]);return}}if(!$){F=J.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new be(n(F,Ut),!1),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"upcase_atom/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(J)&&!x.type.is_atom(J)?I.throw_error(x.error.type("atom",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,new H(F.id.toUpperCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"downcase_atom/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(J)&&!x.type.is_atom(J)?I.throw_error(x.error.type("atom",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,new H(F.id.toLowerCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("atomic_list_concat",[F,new H("",[]),J])),P.substitution,P)])},"atomic_list_concat/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(J)||x.type.is_variable(F)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_list(F))I.throw_error(x.error.type("list",F,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(x.type.is_variable(X)){for(var ie="",ke=F;x.type.is_term(ke)&&ke.indicator==="./2";){if(!x.type.is_atom(ke.args[0])&&!x.type.is_number(ke.args[0])){I.throw_error(x.error.type("atomic",ke.args[0],y.indicator));return}ie!==""&&(ie+=J.id),x.type.is_atom(ke.args[0])?ie+=ke.args[0].id:ie+=""+ke.args[0].value,ke=ke.args[1]}ie=new H(ie,[]),x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_term(ke)||ke.indicator!=="[]/0"?I.throw_error(x.error.type("list",F,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[ie,X])),P.substitution,P)])}else{var $=g(o(X.id.split(J.id),function(Ne){return new H(Ne,[])}));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"@=</2":function(I,P,y){x.compare(y.args[0],y.args[1])<=0&&I.success(P)},"==/2":function(I,P,y){x.compare(y.args[0],y.args[1])===0&&I.success(P)},"\\==/2":function(I,P,y){x.compare(y.args[0],y.args[1])!==0&&I.success(P)},"@</2":function(I,P,y){x.compare(y.args[0],y.args[1])<0&&I.success(P)},"@>/2":function(I,P,y){x.compare(y.args[0],y.args[1])>0&&I.success(P)},"@>=/2":function(I,P,y){x.compare(y.args[0],y.args[1])>=0&&I.success(P)},"compare/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)I.throw_error(x.type.domain("order",F,y.indicator));else{var $=x.compare(J,X);$=$===0?"=":$===-1?"<":">",I.prepend([new Qe(P.goal.replace(new H("=",[F,new H($,[])])),P.substitution,P)])}},"is/2":function(I,P,y){var F=y.args[1].interpret(I);x.type.is_number(F)?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[0],F],I.level)),P.substitution,P)]):I.throw_error(F)},"between/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_integer(F))I.throw_error(x.error.type("integer",F,y.indicator));else if(!x.type.is_integer(J))I.throw_error(x.error.type("integer",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(x.type.is_variable(X)){var $=[new Qe(P.goal.replace(new H("=",[X,F])),P.substitution,P)];F.value<J.value&&$.push(new Qe(P.goal.replace(new H("between",[new be(F.value+1,!1),J,X])),P.substitution,P)),I.prepend($)}else F.value<=X.value&&J.value>=X.value&&I.success(P)},"succ/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)&&x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_integer(F)?I.throw_error(x.error.type("integer",F,y.indicator)):!x.type.is_variable(J)&&!x.type.is_integer(J)?I.throw_error(x.error.type("integer",J,y.indicator)):!x.type.is_variable(F)&&F.value<0?I.throw_error(x.error.domain("not_less_than_zero",F,y.indicator)):!x.type.is_variable(J)&&J.value<0?I.throw_error(x.error.domain("not_less_than_zero",J,y.indicator)):(x.type.is_variable(J)||J.value>0)&&(x.type.is_variable(F)?I.prepend([new Qe(P.goal.replace(new H("=",[F,new be(J.value-1,!1)])),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[J,new be(F.value+1,!1)])),P.substitution,P)]))},"=:=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F===0&&I.success(P)},"=\\=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F!==0&&I.success(P)},"</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<0&&I.success(P)},"=</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<=0&&I.success(P)},">/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>0&&I.success(P)},">=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>=0&&I.success(P)},"var/1":function(I,P,y){x.type.is_variable(y.args[0])&&I.success(P)},"atom/1":function(I,P,y){x.type.is_atom(y.args[0])&&I.success(P)},"atomic/1":function(I,P,y){x.type.is_atomic(y.args[0])&&I.success(P)},"compound/1":function(I,P,y){x.type.is_compound(y.args[0])&&I.success(P)},"integer/1":function(I,P,y){x.type.is_integer(y.args[0])&&I.success(P)},"float/1":function(I,P,y){x.type.is_float(y.args[0])&&I.success(P)},"number/1":function(I,P,y){x.type.is_number(y.args[0])&&I.success(P)},"nonvar/1":function(I,P,y){x.type.is_variable(y.args[0])||I.success(P)},"ground/1":function(I,P,y){y.variables().length===0&&I.success(P)},"acyclic_term/1":function(I,P,y){for(var F=P.substitution.apply(P.substitution),J=y.args[0].variables(),X=0;X<J.length;X++)if(P.substitution.links[J[X]]!==void 0&&!P.substitution.links[J[X]].equals(F.links[J[X]]))return;I.success(P)},"callable/1":function(I,P,y){x.type.is_callable(y.args[0])&&I.success(P)},"is_list/1":function(I,P,y){for(var F=y.args[0];x.type.is_term(F)&&F.indicator==="./2";)F=F.args[1];x.type.is_term(F)&&F.indicator==="[]/0"&&I.success(P)},"current_input/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_input()])),P.substitution,P)]))},"current_output/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_output()])),P.substitution,P)]))},"set_input/1":function(I,P,y){var F=y.args[0],J=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(J)?J.output===!0?I.throw_error(x.error.permission("input","stream",F,y.indicator)):(I.set_current_input(J),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"set_output/1":function(I,P,y){var F=y.args[0],J=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(J)?J.input===!0?I.throw_error(x.error.permission("output","stream",F,y.indicator)):(I.set_current_output(J),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"open/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];I.prepend([new Qe(P.goal.replace(new H("open",[F,J,X,new H("[]",[])])),P.substitution,P)])},"open/4":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=y.args[3];if(x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_atom(J))I.throw_error(x.error.type("atom",J,y.indicator));else if(!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else if(!x.type.is_variable(X))I.throw_error(x.error.type("variable",X,y.indicator));else if(!x.type.is_atom(F)&&!x.type.is_streamable(F))I.throw_error(x.error.domain("source_sink",F,y.indicator));else if(!x.type.is_io_mode(J))I.throw_error(x.error.domain("io_mode",J,y.indicator));else{for(var ie={},ke=$,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_stream_option(Ne)){I.throw_error(x.error.domain("stream_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id,ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",$,y.indicator));return}else{var st=ie.alias;if(st&&I.get_stream_by_alias(st)){I.throw_error(x.error.permission("open","source_sink",new H("alias",[new H(st,[])]),y.indicator));return}ie.type||(ie.type="text");var ht;if(x.type.is_atom(F)?ht=I.file_system_open(F.id,ie.type,J.id):ht=F.stream(ie.type,J.id),ht===!1){I.throw_error(x.error.permission("open","source_sink",F,y.indicator));return}else if(ht===null){I.throw_error(x.error.existence("source_sink",F,y.indicator));return}var Ut=new Me(ht,J.id,ie.alias,ie.type,ie.reposition==="true",ie.eof_action);st?I.session.streams[st]=Ut:I.session.streams[Ut.id]=Ut,I.prepend([new Qe(P.goal.replace(new H("=",[X,Ut])),P.substitution,P)])}}},"close/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("close",[F,new H("[]",[])])),P.substitution,P)])},"close/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(J))I.throw_error(x.error.type("list",J,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else{for(var $={},ie=J,ke;x.type.is_term(ie)&&ie.indicator==="./2";){if(ke=ie.args[0],x.type.is_variable(ke)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_close_option(ke)){I.throw_error(x.error.domain("close_option",ke,y.indicator));return}$[ke.id]=ke.args[0].id==="true",ie=ie.args[1]}if(ie.indicator!=="[]/0"){x.type.is_variable(ie)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",J,y.indicator));return}else{if(X===I.session.standard_input||X===I.session.standard_output){I.success(P);return}else X===I.session.current_input?I.session.current_input=I.session.standard_input:X===I.session.current_output&&(I.session.current_output=I.session.current_output);X.alias!==null?delete I.session.streams[X.alias]:delete I.session.streams[X.id],X.output&&X.stream.flush();var Ne=X.stream.close();X.stream=null,($.force===!0||Ne===!0)&&I.success(P)}}},"flush_output/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("flush_output",[new me("S")])])),P.substitution,P)])},"flush_output/1":function(I,P,y){var F=y.args[0],J=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(J)||J.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):F.input===!0?I.throw_error(x.error.permission("output","stream",output,y.indicator)):(J.stream.flush(),I.success(P))},"stream_property/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_variable(F)&&(!x.type.is_stream(X)||X.stream===null))I.throw_error(x.error.existence("stream",F,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_stream_property(J))I.throw_error(x.error.domain("stream_property",J,y.indicator));else{var $=[],ie=[];if(!x.type.is_variable(F))$.push(X);else for(var ke in I.session.streams)$.push(I.session.streams[ke]);for(var Ne=0;Ne<$.length;Ne++){var st=[];$[Ne].filename&&st.push(new H("file_name",[new H($[Ne].file_name,[])])),st.push(new H("mode",[new H($[Ne].mode,[])])),st.push(new H($[Ne].input?"input":"output",[])),$[Ne].alias&&st.push(new H("alias",[new H($[Ne].alias,[])])),st.push(new H("position",[typeof $[Ne].position=="number"?new be($[Ne].position,!1):new H($[Ne].position,[])])),st.push(new H("end_of_stream",[new H($[Ne].position==="end_of_stream"?"at":$[Ne].position==="past_end_of_stream"?"past":"not",[])])),st.push(new H("eof_action",[new H($[Ne].eof_action,[])])),st.push(new H("reposition",[new H($[Ne].reposition?"true":"false",[])])),st.push(new H("type",[new H($[Ne].type,[])]));for(var ht=0;ht<st.length;ht++)ie.push(new Qe(P.goal.replace(new H(",",[new H("=",[x.type.is_variable(F)?F:X,$[Ne]]),new H("=",[J,st[ht]])])),P.substitution,P))}I.prepend(ie)}},"at_end_of_stream/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H(",",[new H("stream_property",[new me("S"),new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])])),P.substitution,P)])},"at_end_of_stream/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("stream_property",[F,new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])),P.substitution,P)])},"set_stream_position/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):x.type.is_stream_position(J)?X.reposition===!1?I.throw_error(x.error.permission("reposition","stream",F,y.indicator)):(x.type.is_integer(J)?X.position=J.value:X.position=J.id,I.success(P)):I.throw_error(x.error.domain("stream_position",J,y.indicator))},"get_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_char",[new me("S"),F])])),P.substitution,P)])},"get_char/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_character(J))I.throw_error(x.error.type("in_character",J,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),J])),P.substitution,P)])}},"get_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_code",[new me("S"),F])])),P.substitution,P)])},"get_code/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_integer(J))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0),X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"peek_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_char",[new me("S"),F])])),P.substitution,P)])},"peek_char/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_character(J))I.throw_error(x.error.type("in_character",J,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),J])),P.substitution,P)])}},"peek_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_code",[new me("S"),F])])),P.substitution,P)])},"peek_code/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_integer(J))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0)}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"put_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),F])])),P.substitution,P)])},"put_char/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_character(J)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put(J.id,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("character",J,y.indicator))},"put_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_code",[new me("S"),F])])),P.substitution,P)])},"put_code/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(J)?x.type.is_character_code(J)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put_char(u(J.value),X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.representation("character_code",y.indicator)):I.throw_error(x.error.type("integer",J,y.indicator))},"nl/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),new H(`
265`,[])])])),P.substitution,P)])},"nl/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("put_char",[F,new H(` 265`,[])])])),P.substitution,P)])},"nl/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("put_char",[F,new H(`
266`,[])])),P.substitution,P)])},"get_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_byte",[new me("S"),F])])),P.substitution,P)])},"get_byte/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_byte(z))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"peek_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_byte",[new me("S"),F])])),P.substitution,P)])},"peek_byte/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_byte(z))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"put_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_byte",[new me("S"),F])])),P.substitution,P)])},"put_byte/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_byte(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="text"?I.throw_error(x.error.permission("output","text_stream",F,y.indicator)):X.stream.put_byte(z.value,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("byte",z,y.indicator))},"read/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,new H("[]",[])])])),P.substitution,P)])},"read/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("read_term",[F,z,new H("[]",[])])),P.substitution,P)])},"read_term/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,z])])),P.substitution,P)])},"read_term/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_read_option(Ne)){I.throw_error(x.error.domain("read_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0],ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{for(var st,ht,Ut,Xt="",Pt=[],tn=null;tn===null||tn.name!=="atom"||tn.value!=="."||Ut.type===A&&x.flatten_error(new H("throw",[Ut.value])).found==="token_not_found";){if(st=$.stream.get(1,$.position),st===null){I.throw_error(x.error.representation("character",y.indicator));return}if(st==="end_of_file"||st==="past_end_of_file"){Ut?I.throw_error(x.error.syntax(Pt[Ut.len-1],". or expression expected",!1)):I.throw_error(x.error.syntax(null,"token not found",!0));return}$.position++,Xt+=st,ht=new _(I),ht.new_text(Xt),Pt=ht.get_tokens(),tn=Pt!==null&&Pt.length>0?Pt[Pt.length-1]:null,Pt!==null&&(Ut=J(I,Pt,0,I.__get_max_priority(),!1))}if(Ut.type===p&&Ut.len===Pt.length-1&&tn.value==="."){Ut=Ut.value.rename(I);var Dr=new H("=",[z,Ut]);if(ie.variables){var fr=g(o(Ee(Ut.variables()),function(Br){return new me(Br)}));Dr=new H(",",[Dr,new H("=",[ie.variables,fr])])}if(ie.variable_names){var fr=g(o(Ee(Ut.variables()),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.variable_names,fr])])}if(ie.singletons){var fr=g(o(new Ue(Ut,null).singleton_variables(),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.singletons,fr])])}I.prepend([new Qe(P.goal.replace(Dr),P.substitution,P)])}else Ut.type===p?I.throw_error(x.error.syntax(Pt[Ut.len],"unexpected token",!1)):I.throw_error(Ut.value)}}},"write/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write",[new me("S"),F])])),P.substitution,P)])},"write/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"writeq/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("writeq",[new me("S"),F])])),P.substitution,P)])},"writeq/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"write_canonical/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_canonical",[new me("S"),F])])),P.substitution,P)])},"write_canonical/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),P.substitution,P)])},"write_term/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_term",[new me("S"),F,z])])),P.substitution,P)])},"write_term/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.input)I.throw_error(x.error.permission("output","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("output","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_write_option(Ne)){I.throw_error(x.error.domain("write_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id==="true",ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{ie.session=I.session;var st=z.toString(ie);$.stream.put(st,$.position),typeof $.position=="number"&&($.position+=st.length),I.success(P)}}},"halt/0":function(I,P,y){I.points=[]},"halt/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(F)?I.points=[]:I.throw_error(x.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_flag(F))I.throw_error(x.error.domain("prolog_flag",F,y.indicator));else{var X=[];for(var $ in x.flag)if(!!x.flag.hasOwnProperty($)){var ie=new H(",",[new H("=",[new H($),F]),new H("=",[I.get_flag($),z])]);X.push(new Qe(P.goal.replace(ie),P.substitution,P))}I.prepend(X)}},"set_prolog_flag/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?x.type.is_flag(F)?x.type.is_value_flag(F,z)?x.type.is_modifiable_flag(F)?(I.session.flag[F.id]=z,I.success(P)):I.throw_error(x.error.permission("modify","flag",F)):I.throw_error(x.error.domain("flag_value",new H("+",[F,z]),y.indicator)):I.throw_error(x.error.domain("prolog_flag",F,y.indicator)):I.throw_error(x.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new be(Number.MAX_SAFE_INTEGER)],value:new be(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new be(Number.MIN_SAFE_INTEGER)],value:new be(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)])],value:new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof pl<"u"&&pl.exports?"yes":"no"),changeable:!1}},unify:function(I,P,y){y=y===void 0?!1:y;for(var F=[{left:I,right:P}],z={};F.length!==0;){var X=F.pop();if(I=X.left,P=X.right,x.type.is_term(I)&&x.type.is_term(P)){if(I.indicator!==P.indicator)return null;for(var $=0;$<I.args.length;$++)F.push({left:I.args[$],right:P.args[$]})}else if(x.type.is_number(I)&&x.type.is_number(P)){if(I.value!==P.value||I.is_float!==P.is_float)return null}else if(x.type.is_variable(I)){if(x.type.is_variable(P)&&I.id===P.id)continue;if(y===!0&&P.variables().indexOf(I.id)!==-1)return null;if(I.id!=="_"){var ie=new Te;ie.add(I.id,P);for(var $=0;$<F.length;$++)F[$].left=F[$].left.apply(ie),F[$].right=F[$].right.apply(ie);for(var $ in z)z[$]=z[$].apply(ie);z[I.id]=P}}else if(x.type.is_variable(P))F.push({left:P,right:I});else if(I.unify!==void 0){if(!I.unify(P))return null}else return null}return new Te(z)},compare:function(I,P){var y=x.type.compare(I,P);return y!==0?y:I.compare(P)},arithmetic_compare:function(I,P,y){var F=P.interpret(I);if(x.type.is_number(F)){var z=y.interpret(I);return x.type.is_number(z)?F.value<z.value?-1:F.value>z.value?1:0:z}else return F},operate:function(I,P){if(x.type.is_operator(P)){for(var y=x.type.is_operator(P),F=[],z,X=!1,$=0;$<P.args.length;$++){if(z=P.args[$].interpret(I),x.type.is_number(z)){if(y.type_args!==null&&z.is_float!==y.type_args)return x.error.type(y.type_args?"float":"integer",z,I.__call_indicator);F.push(z.value)}else return z;X=X||z.is_float}return F.push(I),z=x.arithmetic.evaluation[P.indicator].fn.apply(this,F),X=y.type_result===null?X:y.type_result,x.type.is_term(z)?z:z===Number.POSITIVE_INFINITY||z===Number.NEGATIVE_INFINITY?x.error.evaluation("overflow",I.__call_indicator):X===!1&&I.get_flag("bounded").id==="true"&&(z>I.get_flag("max_integer").value||z<I.get_flag("min_integer").value)?x.error.evaluation("int_overflow",I.__call_indicator):new be(z,X)}else return x.error.type("evaluable",P.indicator,I.__call_indicator)},error:{existence:function(I,P,y){return typeof P=="string"&&(P=Z(P)),new H("error",[new H("existence_error",[new H(I),P]),Z(y)])},type:function(I,P,y){return new H("error",[new H("type_error",[new H(I),P]),Z(y)])},instantiation:function(I){return new H("error",[new H("instantiation_error"),Z(I)])},domain:function(I,P,y){return new H("error",[new H("domain_error",[new H(I),P]),Z(y)])},representation:function(I,P){return new H("error",[new H("representation_error",[new H(I)]),Z(P)])},permission:function(I,P,y,F){return new H("error",[new H("permission_error",[new H(I),new H(P),y]),Z(F)])},evaluation:function(I,P){return new H("error",[new H("evaluation_error",[new H(I)]),Z(P)])},syntax:function(I,P,y){I=I||{value:"",line:0,column:0,matches:[""],start:0};var F=y&&I.matches.length>0?I.start+I.matches[0].length:I.start,z=y?new H("token_not_found"):new H("found",[new H(I.value.toString())]),X=new H(".",[new H("line",[new be(I.line+1)]),new H(".",[new H("column",[new be(F+1)]),new H(".",[z,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(P)]),X])},syntax_by_predicate:function(I,P){return new H("error",[new H("syntax_error",[new H(I)]),Z(P)])}},warning:{singleton:function(I,P,y){for(var F=new H("[]"),z=I.length-1;z>=0;z--)F=new H(".",[new me(I[z]),F]);return new H("warning",[new H("singleton_variables",[F,Z(P)]),new H(".",[new H("line",[new be(y,!1)]),new H("[]")])])},failed_goal:function(I,P){return new H("warning",[new H("failed_goal",[I]),new H(".",[new H("line",[new be(P,!1)]),new H("[]")])])}},format_variable:function(I){return"_"+I},format_answer:function(I,P,F){P instanceof je&&(P=P.thread);var F=F||{};if(F.session=P?P.session:void 0,x.type.is_error(I))return"uncaught exception: "+I.args[0].toString();if(I===!1)return"false.";if(I===null)return"limit exceeded ;";var z=0,X="";if(x.type.is_substitution(I)){var $=I.domain(!0);I=I.filter(function(Ne,st){return!x.type.is_variable(st)||$.indexOf(st.id)!==-1&&Ne!==st.id})}for(var ie in I.links)!I.links.hasOwnProperty(ie)||(z++,X!==""&&(X+=", "),X+=ie.toString(F)+" = "+I.links[ie].toString(F));var ke=typeof P>"u"||P.points.length>0?" ;":".";return z===0?"true"+ke:X+ke},flatten_error:function(I){if(!x.type.is_error(I))return null;I=I.args[0];var P={};return P.type=I.args[0].id,P.thrown=P.type==="syntax_error"?null:I.args[1].id,P.expected=null,P.found=null,P.representation=null,P.existence=null,P.existence_type=null,P.line=null,P.column=null,P.permission_operation=null,P.permission_type=null,P.evaluation_type=null,P.type==="type_error"||P.type==="domain_error"?(P.expected=I.args[0].args[0].id,P.found=I.args[0].args[1].toString()):P.type==="syntax_error"?I.args[1].indicator==="./2"?(P.expected=I.args[0].args[0].id,P.found=I.args[1].args[1].args[1].args[0],P.found=P.found.id==="token_not_found"?P.found.id:P.found.args[0].id,P.line=I.args[1].args[0].args[0].value,P.column=I.args[1].args[1].args[0].args[0].value):P.thrown=I.args[1].id:P.type==="permission_error"?(P.found=I.args[0].args[2].toString(),P.permission_operation=I.args[0].args[0].id,P.permission_type=I.args[0].args[1].id):P.type==="evaluation_error"?P.evaluation_type=I.args[0].args[0].id:P.type==="representation_error"?P.representation=I.args[0].args[0].id:P.type==="existence_error"&&(P.existence=I.args[0].args[1].toString(),P.existence_type=I.args[0].args[0].id),P},create:function(I){return new x.type.Session(I)}};typeof pl<"u"?pl.exports=x:window.pl=x})()});function Cme(t,e,r){t.prepend(r.map(o=>new Ra.default.type.State(e.goal.replace(o),e.substitution,e)))}function dH(t){let e=wme.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function Bme(t,e){wme.set(t,e),t.consult(`:- use_module(library(${egt.id})).`)}var mH,Ra,Ime,oh,Zht,$ht,wme,egt,vme=dt(()=>{Ke();mH=tt(z1()),Ra=tt(gH()),Ime=tt(Ie("vm")),{is_atom:oh,is_variable:Zht,is_instantiated_list:$ht}=Ra.default.type;wme=new WeakMap;egt=new Ra.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!oh(o)||!oh(a)){t.throw_error(Ra.default.error.instantiation(r.indicator));return}let u=Y.parseIdent(o.id),A=Y.makeDescriptor(u,a.id),h=dH(t).tryWorkspaceByDescriptor(A);Zht(n)&&h!==null&&Cme(t,e,[new Ra.default.type.Term("=",[n,new Ra.default.type.Term(String(h.relativeCwd))])]),oh(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},["workspace_field/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!oh(o)||!oh(a)){t.throw_error(Ra.default.error.instantiation(r.indicator));return}let A=dH(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,mH.default)(A.manifest.raw,a.id);typeof p>"u"||Cme(t,e,[new Ra.default.type.Term("=",[n,new Ra.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Ra.default.type.State(e.goal.replace(new Ra.default.type.Term("workspace_field_test",[o,a,n,new Ra.default.type.Term("[]",[])])),e.substitution,e)])},["workspace_field_test/4"]:(t,e,r)=>{let[o,a,n,u]=r.args;if(!oh(o)||!oh(a)||!oh(n)||!$ht(u)){t.throw_error(Ra.default.error.instantiation(r.indicator));return}let p=dH(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,mH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let C={$$:h};for(let[v,b]of u.toJavaScript().entries())C[`$${v}`]=b;Ime.default.runInNewContext(n.id,C)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var c2={};Yt(c2,{Constraints:()=>l2,DependencyType:()=>xme});function Zs(t){if(t instanceof hC.default.type.Num)return t.value;if(t instanceof hC.default.type.Term)switch(t.indicator){case"throw/1":return Zs(t.args[0]);case"error/1":return Zs(t.args[0]);case"error/2":if(t.args[0]instanceof hC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(Zs(t.args[0]),...Zs(t.args[1]));{let e=Zs(t.args[0]);return e.message+=` (in ${Zs(t.args[1])})`,e}case"syntax_error/1":return new Jt(43,`Syntax error: ${Zs(t.args[0])}`);case"existence_error/2":return new Jt(44,`Existence error: ${Zs(t.args[0])} ${Zs(t.args[1])} not found`);case"instantiation_error/0":return new Jt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:Zs(t.args[0])};case"column/1":return{column:Zs(t.args[0])};case"found/1":return{found:Zs(t.args[0])};case"./2":return[Zs(t.args[0])].concat(Zs(t.args[1]));case"//2":return`${Zs(t.args[0])}/${Zs(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function Sme(t){let e;try{e=Zs(t)}catch(r){throw typeof r=="string"?new Jt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function $d(t){return t.id==="null"?null:`${t.toJavaScript()}`}function tgt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function ah(t){return typeof t=="string"?`'${t}'`:"[]"}var Pme,hC,xme,Dme,yH,l2,u2=dt(()=>{Ke();Ke();bt();Pme=tt(ime()),hC=tt(gH());s2();vme();(0,Pme.default)(hC.default);xme=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(xme||{}),Dme=["dependencies","devDependencies","peerDependencies"];yH=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=hC.default.create(o),Bme(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw Sme(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new Jt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw Sme(o);yield o}}};l2=class{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");ae.existsSync(r)&&(this.source=ae.readFileSync(r,"utf8"))}static async find(e){return new l2(e)}getProjectDatabase(){let e="";for(let r of Dme)e+=`dependency_type(${r}). 266`,[])])),P.substitution,P)])},"get_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_byte",[new me("S"),F])])),P.substitution,P)])},"get_byte/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_byte(J))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"peek_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_byte",[new me("S"),F])])),P.substitution,P)])},"peek_byte/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_byte(J))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"put_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_byte",[new me("S"),F])])),P.substitution,P)])},"put_byte/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_byte(J)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="text"?I.throw_error(x.error.permission("output","text_stream",F,y.indicator)):X.stream.put_byte(J.value,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("byte",J,y.indicator))},"read/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,new H("[]",[])])])),P.substitution,P)])},"read/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("read_term",[F,J,new H("[]",[])])),P.substitution,P)])},"read_term/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,J])])),P.substitution,P)])},"read_term/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_read_option(Ne)){I.throw_error(x.error.domain("read_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0],ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{for(var st,ht,Ut,Xt="",Pt=[],tn=null;tn===null||tn.name!=="atom"||tn.value!=="."||Ut.type===A&&x.flatten_error(new H("throw",[Ut.value])).found==="token_not_found";){if(st=$.stream.get(1,$.position),st===null){I.throw_error(x.error.representation("character",y.indicator));return}if(st==="end_of_file"||st==="past_end_of_file"){Ut?I.throw_error(x.error.syntax(Pt[Ut.len-1],". or expression expected",!1)):I.throw_error(x.error.syntax(null,"token not found",!0));return}$.position++,Xt+=st,ht=new _(I),ht.new_text(Xt),Pt=ht.get_tokens(),tn=Pt!==null&&Pt.length>0?Pt[Pt.length-1]:null,Pt!==null&&(Ut=V(I,Pt,0,I.__get_max_priority(),!1))}if(Ut.type===p&&Ut.len===Pt.length-1&&tn.value==="."){Ut=Ut.value.rename(I);var Dr=new H("=",[J,Ut]);if(ie.variables){var fr=g(o(Ce(Ut.variables()),function(Br){return new me(Br)}));Dr=new H(",",[Dr,new H("=",[ie.variables,fr])])}if(ie.variable_names){var fr=g(o(Ce(Ut.variables()),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.variable_names,fr])])}if(ie.singletons){var fr=g(o(new _e(Ut,null).singleton_variables(),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.singletons,fr])])}I.prepend([new Qe(P.goal.replace(Dr),P.substitution,P)])}else Ut.type===p?I.throw_error(x.error.syntax(Pt[Ut.len],"unexpected token",!1)):I.throw_error(Ut.value)}}},"write/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write",[new me("S"),F])])),P.substitution,P)])},"write/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,J,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"writeq/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("writeq",[new me("S"),F])])),P.substitution,P)])},"writeq/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,J,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"write_canonical/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_canonical",[new me("S"),F])])),P.substitution,P)])},"write_canonical/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,J,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),P.substitution,P)])},"write_term/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_term",[new me("S"),F,J])])),P.substitution,P)])},"write_term/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.input)I.throw_error(x.error.permission("output","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("output","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_write_option(Ne)){I.throw_error(x.error.domain("write_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id==="true",ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{ie.session=I.session;var st=J.toString(ie);$.stream.put(st,$.position),typeof $.position=="number"&&($.position+=st.length),I.success(P)}}},"halt/0":function(I,P,y){I.points=[]},"halt/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(F)?I.points=[]:I.throw_error(x.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_flag(F))I.throw_error(x.error.domain("prolog_flag",F,y.indicator));else{var X=[];for(var $ in x.flag)if(!!x.flag.hasOwnProperty($)){var ie=new H(",",[new H("=",[new H($),F]),new H("=",[I.get_flag($),J])]);X.push(new Qe(P.goal.replace(ie),P.substitution,P))}I.prepend(X)}},"set_prolog_flag/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?x.type.is_flag(F)?x.type.is_value_flag(F,J)?x.type.is_modifiable_flag(F)?(I.session.flag[F.id]=J,I.success(P)):I.throw_error(x.error.permission("modify","flag",F)):I.throw_error(x.error.domain("flag_value",new H("+",[F,J]),y.indicator)):I.throw_error(x.error.domain("prolog_flag",F,y.indicator)):I.throw_error(x.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new be(Number.MAX_SAFE_INTEGER)],value:new be(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new be(Number.MIN_SAFE_INTEGER)],value:new be(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)])],value:new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof dl<"u"&&dl.exports?"yes":"no"),changeable:!1}},unify:function(I,P,y){y=y===void 0?!1:y;for(var F=[{left:I,right:P}],J={};F.length!==0;){var X=F.pop();if(I=X.left,P=X.right,x.type.is_term(I)&&x.type.is_term(P)){if(I.indicator!==P.indicator)return null;for(var $=0;$<I.args.length;$++)F.push({left:I.args[$],right:P.args[$]})}else if(x.type.is_number(I)&&x.type.is_number(P)){if(I.value!==P.value||I.is_float!==P.is_float)return null}else if(x.type.is_variable(I)){if(x.type.is_variable(P)&&I.id===P.id)continue;if(y===!0&&P.variables().indexOf(I.id)!==-1)return null;if(I.id!=="_"){var ie=new Te;ie.add(I.id,P);for(var $=0;$<F.length;$++)F[$].left=F[$].left.apply(ie),F[$].right=F[$].right.apply(ie);for(var $ in J)J[$]=J[$].apply(ie);J[I.id]=P}}else if(x.type.is_variable(P))F.push({left:P,right:I});else if(I.unify!==void 0){if(!I.unify(P))return null}else return null}return new Te(J)},compare:function(I,P){var y=x.type.compare(I,P);return y!==0?y:I.compare(P)},arithmetic_compare:function(I,P,y){var F=P.interpret(I);if(x.type.is_number(F)){var J=y.interpret(I);return x.type.is_number(J)?F.value<J.value?-1:F.value>J.value?1:0:J}else return F},operate:function(I,P){if(x.type.is_operator(P)){for(var y=x.type.is_operator(P),F=[],J,X=!1,$=0;$<P.args.length;$++){if(J=P.args[$].interpret(I),x.type.is_number(J)){if(y.type_args!==null&&J.is_float!==y.type_args)return x.error.type(y.type_args?"float":"integer",J,I.__call_indicator);F.push(J.value)}else return J;X=X||J.is_float}return F.push(I),J=x.arithmetic.evaluation[P.indicator].fn.apply(this,F),X=y.type_result===null?X:y.type_result,x.type.is_term(J)?J:J===Number.POSITIVE_INFINITY||J===Number.NEGATIVE_INFINITY?x.error.evaluation("overflow",I.__call_indicator):X===!1&&I.get_flag("bounded").id==="true"&&(J>I.get_flag("max_integer").value||J<I.get_flag("min_integer").value)?x.error.evaluation("int_overflow",I.__call_indicator):new be(J,X)}else return x.error.type("evaluable",P.indicator,I.__call_indicator)},error:{existence:function(I,P,y){return typeof P=="string"&&(P=Z(P)),new H("error",[new H("existence_error",[new H(I),P]),Z(y)])},type:function(I,P,y){return new H("error",[new H("type_error",[new H(I),P]),Z(y)])},instantiation:function(I){return new H("error",[new H("instantiation_error"),Z(I)])},domain:function(I,P,y){return new H("error",[new H("domain_error",[new H(I),P]),Z(y)])},representation:function(I,P){return new H("error",[new H("representation_error",[new H(I)]),Z(P)])},permission:function(I,P,y,F){return new H("error",[new H("permission_error",[new H(I),new H(P),y]),Z(F)])},evaluation:function(I,P){return new H("error",[new H("evaluation_error",[new H(I)]),Z(P)])},syntax:function(I,P,y){I=I||{value:"",line:0,column:0,matches:[""],start:0};var F=y&&I.matches.length>0?I.start+I.matches[0].length:I.start,J=y?new H("token_not_found"):new H("found",[new H(I.value.toString())]),X=new H(".",[new H("line",[new be(I.line+1)]),new H(".",[new H("column",[new be(F+1)]),new H(".",[J,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(P)]),X])},syntax_by_predicate:function(I,P){return new H("error",[new H("syntax_error",[new H(I)]),Z(P)])}},warning:{singleton:function(I,P,y){for(var F=new H("[]"),J=I.length-1;J>=0;J--)F=new H(".",[new me(I[J]),F]);return new H("warning",[new H("singleton_variables",[F,Z(P)]),new H(".",[new H("line",[new be(y,!1)]),new H("[]")])])},failed_goal:function(I,P){return new H("warning",[new H("failed_goal",[I]),new H(".",[new H("line",[new be(P,!1)]),new H("[]")])])}},format_variable:function(I){return"_"+I},format_answer:function(I,P,F){P instanceof qe&&(P=P.thread);var F=F||{};if(F.session=P?P.session:void 0,x.type.is_error(I))return"uncaught exception: "+I.args[0].toString();if(I===!1)return"false.";if(I===null)return"limit exceeded ;";var J=0,X="";if(x.type.is_substitution(I)){var $=I.domain(!0);I=I.filter(function(Ne,st){return!x.type.is_variable(st)||$.indexOf(st.id)!==-1&&Ne!==st.id})}for(var ie in I.links)!I.links.hasOwnProperty(ie)||(J++,X!==""&&(X+=", "),X+=ie.toString(F)+" = "+I.links[ie].toString(F));var ke=typeof P>"u"||P.points.length>0?" ;":".";return J===0?"true"+ke:X+ke},flatten_error:function(I){if(!x.type.is_error(I))return null;I=I.args[0];var P={};return P.type=I.args[0].id,P.thrown=P.type==="syntax_error"?null:I.args[1].id,P.expected=null,P.found=null,P.representation=null,P.existence=null,P.existence_type=null,P.line=null,P.column=null,P.permission_operation=null,P.permission_type=null,P.evaluation_type=null,P.type==="type_error"||P.type==="domain_error"?(P.expected=I.args[0].args[0].id,P.found=I.args[0].args[1].toString()):P.type==="syntax_error"?I.args[1].indicator==="./2"?(P.expected=I.args[0].args[0].id,P.found=I.args[1].args[1].args[1].args[0],P.found=P.found.id==="token_not_found"?P.found.id:P.found.args[0].id,P.line=I.args[1].args[0].args[0].value,P.column=I.args[1].args[1].args[0].args[0].value):P.thrown=I.args[1].id:P.type==="permission_error"?(P.found=I.args[0].args[2].toString(),P.permission_operation=I.args[0].args[0].id,P.permission_type=I.args[0].args[1].id):P.type==="evaluation_error"?P.evaluation_type=I.args[0].args[0].id:P.type==="representation_error"?P.representation=I.args[0].args[0].id:P.type==="existence_error"&&(P.existence=I.args[0].args[1].toString(),P.existence_type=I.args[0].args[0].id),P},create:function(I){return new x.type.Session(I)}};typeof dl<"u"?dl.exports=x:window.pl=x})()});function Sme(t,e,r){t.prepend(r.map(o=>new Ta.default.type.State(e.goal.replace(o),e.substitution,e)))}function mH(t){let e=xme.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function bme(t,e){xme.set(t,e),t.consult(`:- use_module(library(${Agt.id})).`)}var yH,Ta,Pme,ah,cgt,ugt,xme,Agt,Qme=dt(()=>{Ke();yH=tt(e2()),Ta=tt(dH()),Pme=tt(Ie("vm")),{is_atom:ah,is_variable:cgt,is_instantiated_list:ugt}=Ta.default.type;xme=new WeakMap;Agt=new Ta.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!ah(o)||!ah(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let u=Y.parseIdent(o.id),A=Y.makeDescriptor(u,a.id),h=mH(t).tryWorkspaceByDescriptor(A);cgt(n)&&h!==null&&Sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(String(h.relativeCwd))])]),ah(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},["workspace_field/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!ah(o)||!ah(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let A=mH(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,yH.default)(A.manifest.raw,a.id);typeof p>"u"||Sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Ta.default.type.State(e.goal.replace(new Ta.default.type.Term("workspace_field_test",[o,a,n,new Ta.default.type.Term("[]",[])])),e.substitution,e)])},["workspace_field_test/4"]:(t,e,r)=>{let[o,a,n,u]=r.args;if(!ah(o)||!ah(a)||!ah(n)||!ugt(u)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let p=mH(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,yH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[v,b]of u.toJavaScript().entries())E[`$${v}`]=b;Pme.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var p2={};Yt(p2,{Constraints:()=>f2,DependencyType:()=>Tme});function Zs(t){if(t instanceof CE.default.type.Num)return t.value;if(t instanceof CE.default.type.Term)switch(t.indicator){case"throw/1":return Zs(t.args[0]);case"error/1":return Zs(t.args[0]);case"error/2":if(t.args[0]instanceof CE.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(Zs(t.args[0]),...Zs(t.args[1]));{let e=Zs(t.args[0]);return e.message+=` (in ${Zs(t.args[1])})`,e}case"syntax_error/1":return new Vt(43,`Syntax error: ${Zs(t.args[0])}`);case"existence_error/2":return new Vt(44,`Existence error: ${Zs(t.args[0])} ${Zs(t.args[1])} not found`);case"instantiation_error/0":return new Vt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:Zs(t.args[0])};case"column/1":return{column:Zs(t.args[0])};case"found/1":return{found:Zs(t.args[0])};case"./2":return[Zs(t.args[0])].concat(Zs(t.args[1]));case"//2":return`${Zs(t.args[0])}/${Zs(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function Fme(t){let e;try{e=Zs(t)}catch(r){throw typeof r=="string"?new Vt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function rm(t){return t.id==="null"?null:`${t.toJavaScript()}`}function fgt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function lh(t){return typeof t=="string"?`'${t}'`:"[]"}var Rme,CE,Tme,kme,CH,f2,h2=dt(()=>{Ke();Ke();bt();Rme=tt(ume()),CE=tt(dH());c2();Qme();(0,Rme.default)(CE.default);Tme=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(Tme||{}),kme=["dependencies","devDependencies","peerDependencies"];CH=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=CE.default.create(o),bme(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw Fme(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new Vt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw Fme(o);yield o}}};f2=class{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");ae.existsSync(r)&&(this.source=ae.readFileSync(r,"utf8"))}static async find(e){return new f2(e)}getProjectDatabase(){let e="";for(let r of kme)e+=`dependency_type(${r}).
267`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${ah(o)}). 267`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${lh(o)}).
268`,e+=`workspace_ident(${ah(o)}, ${ah(Y.stringifyIdent(r.locator))}). 268`,e+=`workspace_ident(${lh(o)}, ${lh(Y.stringifyIdent(r.locator))}).
269`,e+=`workspace_version(${ah(o)}, ${ah(r.manifest.version)}). 269`,e+=`workspace_version(${lh(o)}, ${lh(r.manifest.version)}).
270`;for(let a of Dme)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${ah(o)}, ${ah(Y.stringifyIdent(n))}, ${ah(n.range)}, ${a}). 270`;for(let a of kme)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${lh(o)}, ${lh(Y.stringifyIdent(n))}, ${lh(n.range)}, ${a}).
271`}return e+=`workspace(_) :- false. 271`}return e+=`workspace(_) :- false.
272`,e+=`workspace_ident(_, _) :- false. 272`,e+=`workspace_ident(_, _) :- false.
273`,e+=`workspace_version(_, _) :- false. 273`,e+=`workspace_version(_, _) :- false.
@@ -276,50 +276,50 @@ And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:
276`,e+=`gen_enforced_field(_, _, _) :- false. 276`,e+=`gen_enforced_field(_, _, _) :- false.
277`,e}get fullSource(){return`${this.getProjectDatabase()} 277`,e}get fullSource(){return`${this.getProjectDatabase()}
278${this.source} 278${this.source}
279${this.getDeclarations()}`}createSession(){return new yH(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=i2([A,Y.stringifyIdent(n)]),h=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=i2(n),p=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=V.resolve(this.project.cwd,$d(o.links.WorkspaceCwd)),n=$d(o.links.DependencyIdent),u=$d(o.links.DependencyRange),A=$d(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=Y.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return Ye.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>Y.stringifyIdent(o.locator),({dependencyIdent:o})=>Y.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=V.resolve(this.project.cwd,$d(o.links.WorkspaceCwd)),n=$d(o.links.FieldPath),u=tgt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return Ye.sortMap(r,[({workspace:o})=>Y.stringifyIdent(o.locator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=$d(u));yield a}}}});var Lme=U(aQ=>{"use strict";Object.defineProperty(aQ,"__esModule",{value:!0});function S2(t){let e=[...t.caches],r=e.shift();return r===void 0?Nme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>S2({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>S2({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>S2({caches:e}).delete(o))},clear(){return r.clear().catch(()=>S2({caches:e}).clear())}}}function Nme(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}aQ.createFallbackableCache=S2;aQ.createNullCache=Nme});var Mme=U((SWt,Ome)=>{Ome.exports=Lme()});var Ume=U(FH=>{"use strict";Object.defineProperty(FH,"__esModule",{value:!0});function Cgt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}FH.createInMemoryCache=Cgt});var Hme=U((xWt,_me)=>{_me.exports=Ume()});var jme=U(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});function Igt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===RH.WithinHeaders?o:{}},queryParameters(){return t===RH.WithinQueryParameters?o:{}}}}function wgt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function qme(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return qme(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function Bgt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function vgt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function Dgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Sgt="4.14.2",Pgt=t=>()=>t.transporter.requester.destroy(),RH={WithinQueryParameters:0,WithinHeaders:1};eu.AuthMode=RH;eu.addMethods=vgt;eu.createAuth=Igt;eu.createRetryablePromise=wgt;eu.createWaitablePromise=qme;eu.destroy=Pgt;eu.encode=Dgt;eu.shuffle=Bgt;eu.version=Sgt});var P2=U((QWt,Gme)=>{Gme.exports=jme()});var Wme=U(TH=>{"use strict";Object.defineProperty(TH,"__esModule",{value:!0});var xgt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};TH.MethodEnum=xgt});var x2=U((FWt,Yme)=>{Yme.exports=Wme()});var aye=U(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});var Jme=x2();function NH(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var b2={Read:1,Write:2,Any:3},yC={Up:1,Down:2,Timeouted:3},Vme=2*60*1e3;function OH(t,e=yC.Up){return{...t,status:e,lastUpdate:Date.now()}}function zme(t){return t.status===yC.Up||Date.now()-t.lastUpdate>Vme}function Xme(t){return t.status===yC.Timeouted&&Date.now()-t.lastUpdate<=Vme}function MH(t){return typeof t=="string"?{protocol:"https",url:t,accept:b2.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||b2.Any}}function bgt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(OH(r))))).then(r=>{let o=r.filter(A=>zme(A)),a=r.filter(A=>Xme(A)),n=[...o,...a],u=n.length>0?n.map(A=>MH(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var Qgt=({isTimedOut:t,status:e})=>!t&&~~e===0,kgt=t=>{let e=t.status;return t.isTimedOut||Qgt(t)||~~(e/100)!==2&&~~(e/100)!==4},Fgt=({status:t})=>~~(t/100)===2,Rgt=(t,e)=>kgt(t)?e.onRetry(t):Fgt(t)?e.onSuccess(t):e.onFail(t);function Kme(t,e,r,o){let a=[],n=rye(r,o),u=nye(t,o),A=r.method,p=r.method!==Jme.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},C=0,w=(v,b)=>{let E=v.pop();if(E===void 0)throw oye(LH(a));let R={data:n,headers:u,method:A,url:eye(E,r.path,h),connectTimeout:b(C,t.timeouts.connect),responseTimeout:b(C,o.timeout)},L=J=>{let re={request:R,response:J,host:E,triesLeft:v.length};return a.push(re),re},_={onSuccess:J=>Zme(J),onRetry(J){let re=L(J);return J.isTimedOut&&C++,Promise.all([t.logger.info("Retryable failure",UH(re)),t.hostsCache.set(E,OH(E,J.isTimedOut?yC.Timeouted:yC.Down))]).then(()=>w(v,b))},onFail(J){throw L(J),$me(J,LH(a))}};return t.requester.send(R).then(J=>Rgt(J,_))};return bgt(t.hostsCache,e).then(v=>w([...v.statelessHosts].reverse(),v.getTimeout))}function Tgt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:C}=t,w={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:C,queryParameters:h,hosts:p.map(v=>MH(v)),read(v,b){let E=NH(b,w.timeouts.read),R=()=>Kme(w,w.hosts.filter(J=>(J.accept&b2.Read)!==0),v,E);if((E.cacheable!==void 0?E.cacheable:v.cacheable)!==!0)return R();let _={request:v,mappedRequestOptions:E,transporter:{queryParameters:w.queryParameters,headers:w.headers}};return w.responsesCache.get(_,()=>w.requestsCache.get(_,()=>w.requestsCache.set(_,R()).then(J=>Promise.all([w.requestsCache.delete(_),J]),J=>Promise.all([w.requestsCache.delete(_),Promise.reject(J)])).then(([J,re])=>re)),{miss:J=>w.responsesCache.set(_,J)})},write(v,b){return Kme(w,w.hosts.filter(E=>(E.accept&b2.Write)!==0),v,NH(b,w.timeouts.write))}};return w}function Ngt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function Zme(t){try{return JSON.parse(t.content)}catch(e){throw sye(e.message,t)}}function $me({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return iye(o,e,r)}function Lgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function eye(t,e,r){let o=tye(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function tye(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Lgt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function rye(t,e){if(t.method===Jme.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function nye(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function LH(t){return t.map(e=>UH(e))}function UH(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function iye(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function sye(t,e){return{name:"DeserializationError",message:t,response:e}}function oye(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}bi.CallEnum=b2;bi.HostStatusEnum=yC;bi.createApiError=iye;bi.createDeserializationError=sye;bi.createMappedRequestOptions=NH;bi.createRetryError=oye;bi.createStatefulHost=OH;bi.createStatelessHost=MH;bi.createTransporter=Tgt;bi.createUserAgent=Ngt;bi.deserializeFailure=$me;bi.deserializeSuccess=Zme;bi.isStatefulHostTimeouted=Xme;bi.isStatefulHostUp=zme;bi.serializeData=rye;bi.serializeHeaders=nye;bi.serializeQueryParameters=tye;bi.serializeUrl=eye;bi.stackFrameWithoutCredentials=UH;bi.stackTraceWithoutCredentials=LH});var Q2=U((TWt,lye)=>{lye.exports=aye()});var cye=U(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});var EC=P2(),Ogt=Q2(),k2=x2(),Mgt=t=>{let e=t.region||"us",r=EC.createAuth(EC.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Ogt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return EC.addMethods({appId:a,transporter:o},t.methods)},Ugt=t=>(e,r)=>t.transporter.write({method:k2.MethodEnum.Post,path:"2/abtests",data:e},r),_gt=t=>(e,r)=>t.transporter.write({method:k2.MethodEnum.Delete,path:EC.encode("2/abtests/%s",e)},r),Hgt=t=>(e,r)=>t.transporter.read({method:k2.MethodEnum.Get,path:EC.encode("2/abtests/%s",e)},r),qgt=t=>e=>t.transporter.read({method:k2.MethodEnum.Get,path:"2/abtests"},e),jgt=t=>(e,r)=>t.transporter.write({method:k2.MethodEnum.Post,path:EC.encode("2/abtests/%s/stop",e)},r);ph.addABTest=Ugt;ph.createAnalyticsClient=Mgt;ph.deleteABTest=_gt;ph.getABTest=Hgt;ph.getABTests=qgt;ph.stopABTest=jgt});var Aye=U((LWt,uye)=>{uye.exports=cye()});var pye=U(F2=>{"use strict";Object.defineProperty(F2,"__esModule",{value:!0});var _H=P2(),Ggt=Q2(),fye=x2(),Wgt=t=>{let e=t.region||"us",r=_H.createAuth(_H.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Ggt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return _H.addMethods({appId:t.appId,transporter:o},t.methods)},Ygt=t=>e=>t.transporter.read({method:fye.MethodEnum.Get,path:"1/strategies/personalization"},e),Kgt=t=>(e,r)=>t.transporter.write({method:fye.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);F2.createPersonalizationClient=Wgt;F2.getPersonalizationStrategy=Ygt;F2.setPersonalizationStrategy=Kgt});var gye=U((MWt,hye)=>{hye.exports=pye()});var bye=U(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Ht=P2(),Ta=Q2(),mr=x2(),Jgt=Ie("crypto");function lQ(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var Vgt=t=>{let e=t.appId,r=Ht.createAuth(t.authMode!==void 0?t.authMode:Ht.AuthMode.WithinHeaders,e,t.apiKey),o=Ta.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:Ta.CallEnum.Read},{url:`${e}.algolia.net`,accept:Ta.CallEnum.Write}].concat(Ht.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Ht.addMethods(a,t.methods)};function dye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function mye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function yye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var zgt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Ht.createRetryablePromise(h=>R2(t)(A.key,p).catch(C=>{if(C.status!==404)throw C;return h()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/keys",data:n},a),u)},Xgt=t=>(e,r,o)=>{let a=Ta.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},Zgt=t=>(e,r,o)=>t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),$gt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>CC(t)(o.taskID,a)),cQ=t=>(e,r,o)=>{let a=(n,u)=>T2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},edt=t=>(e,r,o)=>cQ(t)(e,r,{...o,scope:[AQ.Rules]}),tdt=t=>(e,r,o)=>cQ(t)(e,r,{...o,scope:[AQ.Settings]}),rdt=t=>(e,r,o)=>cQ(t)(e,r,{...o,scope:[AQ.Synonyms]}),ndt=t=>(e,r)=>e.method===mr.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),idt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>R2(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/keys/%s",e)},r),o)},sdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>CC(t)(n.taskID,u))},odt=()=>(t,e)=>{let r=Ta.serializeQueryParameters(e),o=Jgt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},R2=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/keys/%s",e)},r),Eye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/task/%s",e.toString())},r),adt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),ldt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/logs"},e),cdt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw yye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},udt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/top"},e),Adt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/clusters/mapping/%s",e)},r),fdt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},T2=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return Ht.addMethods(o,r.methods)},pdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/keys"},e),hdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters"},e),gdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/indexes"},e),ddt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping"},e),mdt=t=>(e,r,o)=>{let a=(n,u)=>T2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},ydt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>T2(t)(u,{methods:{waitTask:zi}}).waitTask(a.taskID[u],n)));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},Edt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),Cdt=t=>(e,r)=>{let o=e.map(a=>({...a,params:Ta.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},Idt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return T2(t)(o.indexName,{methods:{searchForFacetValues:Sye}}).searchForFacetValues(a,n,{...r,...u})})),wdt=t=>(e,r)=>{let o=Ta.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Delete,path:"1/clusters/mapping"},o)},Bdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>CC(t)(n.taskID,u))},vdt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>R2(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/keys/%s/restore",e)},r),o)},Ddt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>CC(t)(n.taskID,u))},Sdt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Pdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),xdt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>CC(t)(o.taskID,a)),bdt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=C=>Object.keys(o).filter(w=>A.indexOf(w)!==-1).every(w=>C[w]===o[w]),h=(C,w)=>Ht.createRetryablePromise(v=>R2(t)(e,w).then(b=>p(b)?Promise.resolve():v()));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/keys/%s",e),data:u},n),h)},CC=t=>(e,r)=>Ht.createRetryablePromise(o=>Eye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Cye=t=>(e,r)=>{let o=(a,n)=>zi(t)(a.taskID,n);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},Qdt=t=>e=>lQ({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),kdt=t=>e=>{let r={hitsPerPage:1e3,...e};return lQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return Pye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Fdt=t=>e=>{let r={hitsPerPage:1e3,...e};return lQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return xye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},uQ=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],C;for(C=p;C<e.length&&(h.push(e[C]),h.length!==(a||1e3));C++);return h.length===0?Promise.resolve(u):Cye(t)(h.map(w=>({action:r,body:w})),n).then(w=>(u.objectIDs=u.objectIDs.concat(w.objectIDs),u.taskIDs.push(w.taskID),C++,A(C)))};return Ht.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(C=>zi(t)(C,h))))},Rdt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Tdt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ta.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Ndt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ta.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Ldt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>zi(t)(o.taskID,a)),Odt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Mdt=t=>(e,r)=>Ht.createWaitablePromise(Iye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),Iye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return uQ(t)(o,rm.DeleteObject,r)},Udt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ta.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},_dt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ta.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},Hdt=t=>e=>wye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),qdt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),jdt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>Dye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,C]of Object.entries(p.hits))if(e(C))return{object:C,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw mye();return A()});return A()},Gdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/%s",t.indexName,e)},r),Wdt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},Ydt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},Kdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),wye=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),Jdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),Bye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),Vdt=t=>(e,r)=>Ht.createWaitablePromise(vye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),vye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?rm.PartialUpdateObject:rm.PartialUpdateObjectNoCreate;return uQ(t)(e,n,a)},zdt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(E,R,L,_)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",E),data:{operation:L,destination:R}},_),(J,re)=>zi(t)(J.taskID,re)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,C=HH({appId:t.appId,transporter:t.transporter,indexName:h}),w=[],v=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});w.push(v);let b=(o?v.wait(u):v).then(()=>{let E=C(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return w.push(E),o?E.wait(u):E}).then(()=>{let E=A(h,t.indexName,"move",u);return w.push(E),o?E.wait(u):E}).then(()=>Promise.all(w)).then(([E,R,L])=>({objectIDs:R.objectIDs,taskIDs:[E.taskID,...R.taskIDs,L.taskID]}));return Ht.createWaitablePromise(b,(E,R)=>Promise.all(w.map(L=>L.wait(R))))},Xdt=t=>(e,r)=>qH(t)(e,{...r,clearExistingRules:!0}),Zdt=t=>(e,r)=>jH(t)(e,{...r,clearExistingSynonyms:!0}),$dt=t=>(e,r)=>Ht.createWaitablePromise(HH(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),HH=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?rm.AddObject:rm.UpdateObject;if(n===rm.UpdateObject){for(let u of e)if(u.objectID===void 0)return Ht.createWaitablePromise(Promise.reject(dye()))}return uQ(t)(e,n,a)},emt=t=>(e,r)=>qH(t)([e],r),qH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Ta.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>zi(t)(A.taskID,p))},tmt=t=>(e,r)=>jH(t)([e],r),jH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Ta.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>zi(t)(p.taskID,h))},Dye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),Sye=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),Pye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),xye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),rmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ta.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>zi(t)(u.taskID,A))},zi=t=>(e,r)=>Ht.createRetryablePromise(o=>Bye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),nmt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},rm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},AQ={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},imt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},smt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=nmt;Ft.BatchActionEnum=rm;Ft.ScopeEnum=AQ;Ft.StrategyEnum=imt;Ft.SynonymEnum=smt;Ft.addApiKey=zgt;Ft.assignUserID=Xgt;Ft.assignUserIDs=Zgt;Ft.batch=Cye;Ft.browseObjects=Qdt;Ft.browseRules=kdt;Ft.browseSynonyms=Fdt;Ft.chunkedBatch=uQ;Ft.clearDictionaryEntries=$gt;Ft.clearObjects=Rdt;Ft.clearRules=Tdt;Ft.clearSynonyms=Ndt;Ft.copyIndex=cQ;Ft.copyRules=edt;Ft.copySettings=tdt;Ft.copySynonyms=rdt;Ft.createBrowsablePromise=lQ;Ft.createMissingObjectIDError=dye;Ft.createObjectNotFoundError=mye;Ft.createSearchClient=Vgt;Ft.createValidUntilNotFoundError=yye;Ft.customRequest=ndt;Ft.deleteApiKey=idt;Ft.deleteBy=Ldt;Ft.deleteDictionaryEntries=sdt;Ft.deleteIndex=Odt;Ft.deleteObject=Mdt;Ft.deleteObjects=Iye;Ft.deleteRule=Udt;Ft.deleteSynonym=_dt;Ft.exists=Hdt;Ft.findAnswers=qdt;Ft.findObject=jdt;Ft.generateSecuredApiKey=odt;Ft.getApiKey=R2;Ft.getAppTask=Eye;Ft.getDictionarySettings=adt;Ft.getLogs=ldt;Ft.getObject=Gdt;Ft.getObjectPosition=Wdt;Ft.getObjects=Ydt;Ft.getRule=Kdt;Ft.getSecuredApiKeyRemainingValidity=cdt;Ft.getSettings=wye;Ft.getSynonym=Jdt;Ft.getTask=Bye;Ft.getTopUserIDs=udt;Ft.getUserID=Adt;Ft.hasPendingMappings=fdt;Ft.initIndex=T2;Ft.listApiKeys=pdt;Ft.listClusters=hdt;Ft.listIndices=gdt;Ft.listUserIDs=ddt;Ft.moveIndex=mdt;Ft.multipleBatch=ydt;Ft.multipleGetObjects=Edt;Ft.multipleQueries=Cdt;Ft.multipleSearchForFacetValues=Idt;Ft.partialUpdateObject=Vdt;Ft.partialUpdateObjects=vye;Ft.removeUserID=wdt;Ft.replaceAllObjects=zdt;Ft.replaceAllRules=Xdt;Ft.replaceAllSynonyms=Zdt;Ft.replaceDictionaryEntries=Bdt;Ft.restoreApiKey=vdt;Ft.saveDictionaryEntries=Ddt;Ft.saveObject=$dt;Ft.saveObjects=HH;Ft.saveRule=emt;Ft.saveRules=qH;Ft.saveSynonym=tmt;Ft.saveSynonyms=jH;Ft.search=Dye;Ft.searchDictionaryEntries=Sdt;Ft.searchForFacetValues=Sye;Ft.searchRules=Pye;Ft.searchSynonyms=xye;Ft.searchUserIDs=Pdt;Ft.setDictionarySettings=xdt;Ft.setSettings=rmt;Ft.updateApiKey=bdt;Ft.waitAppTask=CC;Ft.waitTask=zi});var kye=U((_Wt,Qye)=>{Qye.exports=bye()});var Fye=U(fQ=>{"use strict";Object.defineProperty(fQ,"__esModule",{value:!0});function omt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var amt={Debug:1,Info:2,Error:3};fQ.LogLevelEnum=amt;fQ.createNullLogger=omt});var Tye=U((qWt,Rye)=>{Rye.exports=Fye()});var Mye=U(GH=>{"use strict";Object.defineProperty(GH,"__esModule",{value:!0});var Nye=Ie("http"),Lye=Ie("https"),lmt=Ie("url"),Oye={keepAlive:!0},cmt=new Nye.Agent(Oye),umt=new Lye.Agent(Oye);function Amt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||cmt,n=r||t||umt;return{send(u){return new Promise(A=>{let p=lmt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,C={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},w=(p.protocol==="https:"?Lye:Nye).request(C,R=>{let L=[];R.on("data",_=>{L=L.concat(_)}),R.on("end",()=>{clearTimeout(b),clearTimeout(E),A({status:R.statusCode||0,content:Buffer.concat(L).toString(),isTimedOut:!1})})}),v=(R,L)=>setTimeout(()=>{w.abort(),A({status:0,content:L,isTimedOut:!0})},R*1e3),b=v(u.connectTimeout,"Connection timeout"),E;w.on("error",R=>{clearTimeout(b),clearTimeout(E),A({status:0,content:R.message,isTimedOut:!1})}),w.once("response",()=>{clearTimeout(b),E=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&w.write(u.data),w.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}GH.createNodeHttpRequester=Amt});var _ye=U((GWt,Uye)=>{Uye.exports=Mye()});var Gye=U((WWt,jye)=>{"use strict";var Hye=Mme(),fmt=Hme(),IC=Aye(),YH=P2(),WH=gye(),Lt=kye(),pmt=Tye(),hmt=_ye(),gmt=Q2();function qye(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:hmt.createNodeHttpRequester(),logger:pmt.createNullLogger(),responsesCache:Hye.createNullCache(),requestsCache:Hye.createNullCache(),hostsCache:fmt.createInMemoryCache(),userAgent:gmt.createUserAgent(YH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>WH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:WH.getPersonalizationStrategy,setPersonalizationStrategy:WH.setPersonalizationStrategy}});return Lt.createSearchClient({...a,methods:{search:Lt.multipleQueries,searchForFacetValues:Lt.multipleSearchForFacetValues,multipleBatch:Lt.multipleBatch,multipleGetObjects:Lt.multipleGetObjects,multipleQueries:Lt.multipleQueries,copyIndex:Lt.copyIndex,copySettings:Lt.copySettings,copyRules:Lt.copyRules,copySynonyms:Lt.copySynonyms,moveIndex:Lt.moveIndex,listIndices:Lt.listIndices,getLogs:Lt.getLogs,listClusters:Lt.listClusters,multipleSearchForFacetValues:Lt.multipleSearchForFacetValues,getApiKey:Lt.getApiKey,addApiKey:Lt.addApiKey,listApiKeys:Lt.listApiKeys,updateApiKey:Lt.updateApiKey,deleteApiKey:Lt.deleteApiKey,restoreApiKey:Lt.restoreApiKey,assignUserID:Lt.assignUserID,assignUserIDs:Lt.assignUserIDs,getUserID:Lt.getUserID,searchUserIDs:Lt.searchUserIDs,listUserIDs:Lt.listUserIDs,getTopUserIDs:Lt.getTopUserIDs,removeUserID:Lt.removeUserID,hasPendingMappings:Lt.hasPendingMappings,generateSecuredApiKey:Lt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Lt.getSecuredApiKeyRemainingValidity,destroy:YH.destroy,clearDictionaryEntries:Lt.clearDictionaryEntries,deleteDictionaryEntries:Lt.deleteDictionaryEntries,getDictionarySettings:Lt.getDictionarySettings,getAppTask:Lt.getAppTask,replaceDictionaryEntries:Lt.replaceDictionaryEntries,saveDictionaryEntries:Lt.saveDictionaryEntries,searchDictionaryEntries:Lt.searchDictionaryEntries,setDictionarySettings:Lt.setDictionarySettings,waitAppTask:Lt.waitAppTask,customRequest:Lt.customRequest,initIndex:u=>A=>Lt.initIndex(u)(A,{methods:{batch:Lt.batch,delete:Lt.deleteIndex,findAnswers:Lt.findAnswers,getObject:Lt.getObject,getObjects:Lt.getObjects,saveObject:Lt.saveObject,saveObjects:Lt.saveObjects,search:Lt.search,searchForFacetValues:Lt.searchForFacetValues,waitTask:Lt.waitTask,setSettings:Lt.setSettings,getSettings:Lt.getSettings,partialUpdateObject:Lt.partialUpdateObject,partialUpdateObjects:Lt.partialUpdateObjects,deleteObject:Lt.deleteObject,deleteObjects:Lt.deleteObjects,deleteBy:Lt.deleteBy,clearObjects:Lt.clearObjects,browseObjects:Lt.browseObjects,getObjectPosition:Lt.getObjectPosition,findObject:Lt.findObject,exists:Lt.exists,saveSynonym:Lt.saveSynonym,saveSynonyms:Lt.saveSynonyms,getSynonym:Lt.getSynonym,searchSynonyms:Lt.searchSynonyms,browseSynonyms:Lt.browseSynonyms,deleteSynonym:Lt.deleteSynonym,clearSynonyms:Lt.clearSynonyms,replaceAllObjects:Lt.replaceAllObjects,replaceAllSynonyms:Lt.replaceAllSynonyms,searchRules:Lt.searchRules,getRule:Lt.getRule,deleteRule:Lt.deleteRule,saveRule:Lt.saveRule,saveRules:Lt.saveRules,replaceAllRules:Lt.replaceAllRules,browseRules:Lt.browseRules,clearRules:Lt.clearRules}}),initAnalytics:()=>u=>IC.createAnalyticsClient({...o,...u,methods:{addABTest:IC.addABTest,getABTest:IC.getABTest,getABTests:IC.getABTests,stopABTest:IC.stopABTest,deleteABTest:IC.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}qye.version=YH.version;jye.exports=qye});var JH=U((YWt,KH)=>{var Wye=Gye();KH.exports=Wye;KH.exports.default=Wye});var XH=U((JWt,Jye)=>{"use strict";var Kye=Object.getOwnPropertySymbols,mmt=Object.prototype.hasOwnProperty,ymt=Object.prototype.propertyIsEnumerable;function Emt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Cmt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Jye.exports=Cmt()?Object.assign:function(t,e){for(var r,o=Emt(t),a,n=1;n<arguments.length;n++){r=Object(arguments[n]);for(var u in r)mmt.call(r,u)&&(o[u]=r[u]);if(Kye){a=Kye(r);for(var A=0;A<a.length;A++)ymt.call(r,a[A])&&(o[a[A]]=r[a[A]])}}return o}});var oEe=U(Qn=>{"use strict";var r6=XH(),tu=typeof Symbol=="function"&&Symbol.for,N2=tu?Symbol.for("react.element"):60103,Imt=tu?Symbol.for("react.portal"):60106,wmt=tu?Symbol.for("react.fragment"):60107,Bmt=tu?Symbol.for("react.strict_mode"):60108,vmt=tu?Symbol.for("react.profiler"):60114,Dmt=tu?Symbol.for("react.provider"):60109,Smt=tu?Symbol.for("react.context"):60110,Pmt=tu?Symbol.for("react.forward_ref"):60112,xmt=tu?Symbol.for("react.suspense"):60113,bmt=tu?Symbol.for("react.memo"):60115,Qmt=tu?Symbol.for("react.lazy"):60116,Vye=typeof Symbol=="function"&&Symbol.iterator;function L2(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var zye={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Xye={};function wC(t,e,r){this.props=t,this.context=e,this.refs=Xye,this.updater=r||zye}wC.prototype.isReactComponent={};wC.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(L2(85));this.updater.enqueueSetState(this,t,e,"setState")};wC.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Zye(){}Zye.prototype=wC.prototype;function n6(t,e,r){this.props=t,this.context=e,this.refs=Xye,this.updater=r||zye}var i6=n6.prototype=new Zye;i6.constructor=n6;r6(i6,wC.prototype);i6.isPureReactComponent=!0;var s6={current:null},$ye=Object.prototype.hasOwnProperty,eEe={key:!0,ref:!0,__self:!0,__source:!0};function tEe(t,e,r){var o,a={},n=null,u=null;if(e!=null)for(o in e.ref!==void 0&&(u=e.ref),e.key!==void 0&&(n=""+e.key),e)$ye.call(e,o)&&!eEe.hasOwnProperty(o)&&(a[o]=e[o]);var A=arguments.length-2;if(A===1)a.children=r;else if(1<A){for(var p=Array(A),h=0;h<A;h++)p[h]=arguments[h+2];a.children=p}if(t&&t.defaultProps)for(o in A=t.defaultProps,A)a[o]===void 0&&(a[o]=A[o]);return{$$typeof:N2,type:t,key:n,ref:u,props:a,_owner:s6.current}}function kmt(t,e){return{$$typeof:N2,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function o6(t){return typeof t=="object"&&t!==null&&t.$$typeof===N2}function Fmt(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,function(r){return e[r]})}var rEe=/\/+/g,pQ=[];function nEe(t,e,r,o){if(pQ.length){var a=pQ.pop();return a.result=t,a.keyPrefix=e,a.func=r,a.context=o,a.count=0,a}return{result:t,keyPrefix:e,func:r,context:o,count:0}}function iEe(t){t.result=null,t.keyPrefix=null,t.func=null,t.context=null,t.count=0,10>pQ.length&&pQ.push(t)}function $H(t,e,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var n=!1;if(t===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(t.$$typeof){case N2:case Imt:n=!0}}if(n)return r(o,t,e===""?"."+ZH(t,0):e),1;if(n=0,e=e===""?".":e+":",Array.isArray(t))for(var u=0;u<t.length;u++){a=t[u];var A=e+ZH(a,u);n+=$H(a,A,r,o)}else if(t===null||typeof t!="object"?A=null:(A=Vye&&t[Vye]||t["@@iterator"],A=typeof A=="function"?A:null),typeof A=="function")for(t=A.call(t),u=0;!(a=t.next()).done;)a=a.value,A=e+ZH(a,u++),n+=$H(a,A,r,o);else if(a==="object")throw r=""+t,Error(L2(31,r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return n}function e6(t,e,r){return t==null?0:$H(t,"",e,r)}function ZH(t,e){return typeof t=="object"&&t!==null&&t.key!=null?Fmt(t.key):e.toString(36)}function Rmt(t,e){t.func.call(t.context,e,t.count++)}function Tmt(t,e,r){var o=t.result,a=t.keyPrefix;t=t.func.call(t.context,e,t.count++),Array.isArray(t)?t6(t,o,r,function(n){return n}):t!=null&&(o6(t)&&(t=kmt(t,a+(!t.key||e&&e.key===t.key?"":(""+t.key).replace(rEe,"$&/")+"/")+r)),o.push(t))}function t6(t,e,r,o,a){var n="";r!=null&&(n=(""+r).replace(rEe,"$&/")+"/"),e=nEe(e,n,o,a),e6(t,Tmt,e),iEe(e)}var sEe={current:null};function Jf(){var t=sEe.current;if(t===null)throw Error(L2(321));return t}var Nmt={ReactCurrentDispatcher:sEe,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:s6,IsSomeRendererActing:{current:!1},assign:r6};Qn.Children={map:function(t,e,r){if(t==null)return t;var o=[];return t6(t,o,null,e,r),o},forEach:function(t,e,r){if(t==null)return t;e=nEe(null,null,e,r),e6(t,Rmt,e),iEe(e)},count:function(t){return e6(t,function(){return null},null)},toArray:function(t){var e=[];return t6(t,e,null,function(r){return r}),e},only:function(t){if(!o6(t))throw Error(L2(143));return t}};Qn.Component=wC;Qn.Fragment=wmt;Qn.Profiler=vmt;Qn.PureComponent=n6;Qn.StrictMode=Bmt;Qn.Suspense=xmt;Qn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Nmt;Qn.cloneElement=function(t,e,r){if(t==null)throw Error(L2(267,t));var o=r6({},t.props),a=t.key,n=t.ref,u=t._owner;if(e!=null){if(e.ref!==void 0&&(n=e.ref,u=s6.current),e.key!==void 0&&(a=""+e.key),t.type&&t.type.defaultProps)var A=t.type.defaultProps;for(p in e)$ye.call(e,p)&&!eEe.hasOwnProperty(p)&&(o[p]=e[p]===void 0&&A!==void 0?A[p]:e[p])}var p=arguments.length-2;if(p===1)o.children=r;else if(1<p){A=Array(p);for(var h=0;h<p;h++)A[h]=arguments[h+2];o.children=A}return{$$typeof:N2,type:t.type,key:a,ref:n,props:o,_owner:u}};Qn.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:Smt,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:Dmt,_context:t},t.Consumer=t};Qn.createElement=tEe;Qn.createFactory=function(t){var e=tEe.bind(null,t);return e.type=t,e};Qn.createRef=function(){return{current:null}};Qn.forwardRef=function(t){return{$$typeof:Pmt,render:t}};Qn.isValidElement=o6;Qn.lazy=function(t){return{$$typeof:Qmt,_ctor:t,_status:-1,_result:null}};Qn.memo=function(t,e){return{$$typeof:bmt,type:t,compare:e===void 0?null:e}};Qn.useCallback=function(t,e){return Jf().useCallback(t,e)};Qn.useContext=function(t,e){return Jf().useContext(t,e)};Qn.useDebugValue=function(){};Qn.useEffect=function(t,e){return Jf().useEffect(t,e)};Qn.useImperativeHandle=function(t,e,r){return Jf().useImperativeHandle(t,e,r)};Qn.useLayoutEffect=function(t,e){return Jf().useLayoutEffect(t,e)};Qn.useMemo=function(t,e){return Jf().useMemo(t,e)};Qn.useReducer=function(t,e,r){return Jf().useReducer(t,e,r)};Qn.useRef=function(t){return Jf().useRef(t)};Qn.useState=function(t){return Jf().useState(t)};Qn.version="16.13.1"});var en=U((zWt,aEe)=>{"use strict";aEe.exports=oEe()});var l6=U((XWt,a6)=>{"use strict";var on=a6.exports;a6.exports.default=on;var kn="\x1B[",O2="\x1B]",BC="\x07",hQ=";",lEe=process.env.TERM_PROGRAM==="Apple_Terminal";on.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?kn+(t+1)+"G":kn+(e+1)+";"+(t+1)+"H"};on.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=kn+-t+"D":t>0&&(r+=kn+t+"C"),e<0?r+=kn+-e+"A":e>0&&(r+=kn+e+"B"),r};on.cursorUp=(t=1)=>kn+t+"A";on.cursorDown=(t=1)=>kn+t+"B";on.cursorForward=(t=1)=>kn+t+"C";on.cursorBackward=(t=1)=>kn+t+"D";on.cursorLeft=kn+"G";on.cursorSavePosition=lEe?"\x1B7":kn+"s";on.cursorRestorePosition=lEe?"\x1B8":kn+"u";on.cursorGetPosition=kn+"6n";on.cursorNextLine=kn+"E";on.cursorPrevLine=kn+"F";on.cursorHide=kn+"?25l";on.cursorShow=kn+"?25h";on.eraseLines=t=>{let e="";for(let r=0;r<t;r++)e+=on.eraseLine+(r<t-1?on.cursorUp():"");return t&&(e+=on.cursorLeft),e};on.eraseEndLine=kn+"K";on.eraseStartLine=kn+"1K";on.eraseLine=kn+"2K";on.eraseDown=kn+"J";on.eraseUp=kn+"1J";on.eraseScreen=kn+"2J";on.scrollUp=kn+"S";on.scrollDown=kn+"T";on.clearScreen="\x1Bc";on.clearTerminal=process.platform==="win32"?`${on.eraseScreen}${kn}0f`:`${on.eraseScreen}${kn}3J${kn}H`;on.beep=BC;on.link=(t,e)=>[O2,"8",hQ,hQ,e,BC,t,O2,"8",hQ,hQ,BC].join("");on.image=(t,e={})=>{let r=`${O2}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+BC};on.iTerm={setCwd:(t=process.cwd())=>`${O2}50;CurrentDir=${t}${BC}`,annotation:(t,e={})=>{let r=`${O2}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+BC}}});var uEe=U((ZWt,c6)=>{"use strict";var cEe=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};c6.exports=cEe;c6.exports.default=cEe});var fEe=U(($Wt,dQ)=>{"use strict";var Lmt=uEe(),gQ=new WeakMap,AEe=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"<anonymous>",n=function(...u){if(gQ.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Lmt(n,t),gQ.set(n,o),n};dQ.exports=AEe;dQ.exports.default=AEe;dQ.exports.callCount=t=>{if(!gQ.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return gQ.get(t)}});var pEe=U((eYt,mQ)=>{mQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&mQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&mQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var f6=U((tYt,SC)=>{var gi=global.process,nm=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};nm(gi)?(hEe=Ie("assert"),vC=pEe(),gEe=/^win/i.test(gi.platform),M2=Ie("events"),typeof M2!="function"&&(M2=M2.EventEmitter),gi.__signal_exit_emitter__?xs=gi.__signal_exit_emitter__:(xs=gi.__signal_exit_emitter__=new M2,xs.count=0,xs.emitted={}),xs.infinite||(xs.setMaxListeners(1/0),xs.infinite=!0),SC.exports=function(t,e){if(!nm(global.process))return function(){};hEe.equal(typeof t,"function","a callback must be provided for exit handler"),DC===!1&&u6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){xs.removeListener(r,t),xs.listeners("exit").length===0&&xs.listeners("afterexit").length===0&&yQ()};return xs.on(r,t),o},yQ=function(){!DC||!nm(global.process)||(DC=!1,vC.forEach(function(e){try{gi.removeListener(e,EQ[e])}catch{}}),gi.emit=CQ,gi.reallyExit=A6,xs.count-=1)},SC.exports.unload=yQ,im=function(e,r,o){xs.emitted[e]||(xs.emitted[e]=!0,xs.emit(e,r,o))},EQ={},vC.forEach(function(t){EQ[t]=function(){if(!!nm(global.process)){var r=gi.listeners(t);r.length===xs.count&&(yQ(),im("exit",null,t),im("afterexit",null,t),gEe&&t==="SIGHUP"&&(t="SIGINT"),gi.kill(gi.pid,t))}}}),SC.exports.signals=function(){return vC},DC=!1,u6=function(){DC||!nm(global.process)||(DC=!0,xs.count+=1,vC=vC.filter(function(e){try{return gi.on(e,EQ[e]),!0}catch{return!1}}),gi.emit=mEe,gi.reallyExit=dEe)},SC.exports.load=u6,A6=gi.reallyExit,dEe=function(e){!nm(global.process)||(gi.exitCode=e||0,im("exit",gi.exitCode,null),im("afterexit",gi.exitCode,null),A6.call(gi,gi.exitCode))},CQ=gi.emit,mEe=function(e,r){if(e==="exit"&&nm(global.process)){r!==void 0&&(gi.exitCode=r);var o=CQ.apply(this,arguments);return im("exit",gi.exitCode,null),im("afterexit",gi.exitCode,null),o}else return CQ.apply(this,arguments)}):SC.exports=function(){return function(){}};var hEe,vC,gEe,M2,xs,yQ,im,EQ,DC,u6,A6,dEe,CQ,mEe});var EEe=U((rYt,yEe)=>{"use strict";var Omt=fEe(),Mmt=f6();yEe.exports=Omt(()=>{Mmt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var p6=U(PC=>{"use strict";var Umt=EEe(),IQ=!1;PC.show=(t=process.stderr)=>{!t.isTTY||(IQ=!1,t.write("\x1B[?25h"))};PC.hide=(t=process.stderr)=>{!t.isTTY||(Umt(),IQ=!0,t.write("\x1B[?25l"))};PC.toggle=(t,e)=>{t!==void 0&&(IQ=t),IQ?PC.show(e):PC.hide(e)}});var BEe=U(U2=>{"use strict";var wEe=U2&&U2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(U2,"__esModule",{value:!0});var CEe=wEe(l6()),IEe=wEe(p6()),_mt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(IEe.default.hide(),a=!0);let A=u+` 279${this.getDeclarations()}`}createSession(){return new CH(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=l2([A,Y.stringifyIdent(n)]),h=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=l2(n),p=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=z.resolve(this.project.cwd,rm(o.links.WorkspaceCwd)),n=rm(o.links.DependencyIdent),u=rm(o.links.DependencyRange),A=rm(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=Y.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return Ye.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>Y.stringifyIdent(o.locator),({dependencyIdent:o})=>Y.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=z.resolve(this.project.cwd,rm(o.links.WorkspaceCwd)),n=rm(o.links.FieldPath),u=fgt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return Ye.sortMap(r,[({workspace:o})=>Y.stringifyIdent(o.locator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=rm(u));yield a}}}});var qme=U(hQ=>{"use strict";Object.defineProperty(hQ,"__esModule",{value:!0});function Q2(t){let e=[...t.caches],r=e.shift();return r===void 0?Hme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>Q2({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>Q2({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>Q2({caches:e}).delete(o))},clear(){return r.clear().catch(()=>Q2({caches:e}).clear())}}}function Hme(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}hQ.createFallbackableCache=Q2;hQ.createNullCache=Hme});var Gme=U((RWt,jme)=>{jme.exports=qme()});var Wme=U(RH=>{"use strict";Object.defineProperty(RH,"__esModule",{value:!0});function kgt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}RH.createInMemoryCache=kgt});var Kme=U((NWt,Yme)=>{Yme.exports=Wme()});var Jme=U(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});function Fgt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===TH.WithinHeaders?o:{}},queryParameters(){return t===TH.WithinQueryParameters?o:{}}}}function Rgt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function Vme(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return Vme(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function Tgt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function Ngt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function Lgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Ogt="4.14.2",Mgt=t=>()=>t.transporter.requester.destroy(),TH={WithinQueryParameters:0,WithinHeaders:1};ru.AuthMode=TH;ru.addMethods=Ngt;ru.createAuth=Fgt;ru.createRetryablePromise=Rgt;ru.createWaitablePromise=Vme;ru.destroy=Mgt;ru.encode=Lgt;ru.shuffle=Tgt;ru.version=Ogt});var k2=U((OWt,zme)=>{zme.exports=Jme()});var Xme=U(NH=>{"use strict";Object.defineProperty(NH,"__esModule",{value:!0});var Ugt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};NH.MethodEnum=Ugt});var F2=U((UWt,Zme)=>{Zme.exports=Xme()});var pye=U(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});var eye=F2();function LH(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var R2={Read:1,Write:2,Any:3},BE={Up:1,Down:2,Timeouted:3},tye=2*60*1e3;function MH(t,e=BE.Up){return{...t,status:e,lastUpdate:Date.now()}}function rye(t){return t.status===BE.Up||Date.now()-t.lastUpdate>tye}function nye(t){return t.status===BE.Timeouted&&Date.now()-t.lastUpdate<=tye}function UH(t){return typeof t=="string"?{protocol:"https",url:t,accept:R2.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||R2.Any}}function _gt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(MH(r))))).then(r=>{let o=r.filter(A=>rye(A)),a=r.filter(A=>nye(A)),n=[...o,...a],u=n.length>0?n.map(A=>UH(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var Hgt=({isTimedOut:t,status:e})=>!t&&~~e===0,qgt=t=>{let e=t.status;return t.isTimedOut||Hgt(t)||~~(e/100)!==2&&~~(e/100)!==4},jgt=({status:t})=>~~(t/100)===2,Ggt=(t,e)=>qgt(t)?e.onRetry(t):jgt(t)?e.onSuccess(t):e.onFail(t);function $me(t,e,r,o){let a=[],n=lye(r,o),u=cye(t,o),A=r.method,p=r.method!==eye.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},E=0,w=(v,b)=>{let C=v.pop();if(C===void 0)throw fye(OH(a));let R={data:n,headers:u,method:A,url:oye(C,r.path,h),connectTimeout:b(E,t.timeouts.connect),responseTimeout:b(E,o.timeout)},L=V=>{let re={request:R,response:V,host:C,triesLeft:v.length};return a.push(re),re},_={onSuccess:V=>iye(V),onRetry(V){let re=L(V);return V.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",_H(re)),t.hostsCache.set(C,MH(C,V.isTimedOut?BE.Timeouted:BE.Down))]).then(()=>w(v,b))},onFail(V){throw L(V),sye(V,OH(a))}};return t.requester.send(R).then(V=>Ggt(V,_))};return _gt(t.hostsCache,e).then(v=>w([...v.statelessHosts].reverse(),v.getTimeout))}function Wgt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:E}=t,w={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:E,queryParameters:h,hosts:p.map(v=>UH(v)),read(v,b){let C=LH(b,w.timeouts.read),R=()=>$me(w,w.hosts.filter(V=>(V.accept&R2.Read)!==0),v,C);if((C.cacheable!==void 0?C.cacheable:v.cacheable)!==!0)return R();let _={request:v,mappedRequestOptions:C,transporter:{queryParameters:w.queryParameters,headers:w.headers}};return w.responsesCache.get(_,()=>w.requestsCache.get(_,()=>w.requestsCache.set(_,R()).then(V=>Promise.all([w.requestsCache.delete(_),V]),V=>Promise.all([w.requestsCache.delete(_),Promise.reject(V)])).then(([V,re])=>re)),{miss:V=>w.responsesCache.set(_,V)})},write(v,b){return $me(w,w.hosts.filter(C=>(C.accept&R2.Write)!==0),v,LH(b,w.timeouts.write))}};return w}function Ygt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function iye(t){try{return JSON.parse(t.content)}catch(e){throw Aye(e.message,t)}}function sye({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return uye(o,e,r)}function Kgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function oye(t,e,r){let o=aye(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function aye(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Kgt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function lye(t,e){if(t.method===eye.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function cye(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function OH(t){return t.map(e=>_H(e))}function _H(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function uye(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function Aye(t,e){return{name:"DeserializationError",message:t,response:e}}function fye(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}bi.CallEnum=R2;bi.HostStatusEnum=BE;bi.createApiError=uye;bi.createDeserializationError=Aye;bi.createMappedRequestOptions=LH;bi.createRetryError=fye;bi.createStatefulHost=MH;bi.createStatelessHost=UH;bi.createTransporter=Wgt;bi.createUserAgent=Ygt;bi.deserializeFailure=sye;bi.deserializeSuccess=iye;bi.isStatefulHostTimeouted=nye;bi.isStatefulHostUp=rye;bi.serializeData=lye;bi.serializeHeaders=cye;bi.serializeQueryParameters=aye;bi.serializeUrl=oye;bi.stackFrameWithoutCredentials=_H;bi.stackTraceWithoutCredentials=OH});var T2=U((HWt,hye)=>{hye.exports=pye()});var gye=U(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});var vE=k2(),Vgt=T2(),N2=F2(),Jgt=t=>{let e=t.region||"us",r=vE.createAuth(vE.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Vgt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return vE.addMethods({appId:a,transporter:o},t.methods)},zgt=t=>(e,r)=>t.transporter.write({method:N2.MethodEnum.Post,path:"2/abtests",data:e},r),Xgt=t=>(e,r)=>t.transporter.write({method:N2.MethodEnum.Delete,path:vE.encode("2/abtests/%s",e)},r),Zgt=t=>(e,r)=>t.transporter.read({method:N2.MethodEnum.Get,path:vE.encode("2/abtests/%s",e)},r),$gt=t=>e=>t.transporter.read({method:N2.MethodEnum.Get,path:"2/abtests"},e),edt=t=>(e,r)=>t.transporter.write({method:N2.MethodEnum.Post,path:vE.encode("2/abtests/%s/stop",e)},r);hh.addABTest=zgt;hh.createAnalyticsClient=Jgt;hh.deleteABTest=Xgt;hh.getABTest=Zgt;hh.getABTests=$gt;hh.stopABTest=edt});var mye=U((jWt,dye)=>{dye.exports=gye()});var Cye=U(L2=>{"use strict";Object.defineProperty(L2,"__esModule",{value:!0});var HH=k2(),tdt=T2(),yye=F2(),rdt=t=>{let e=t.region||"us",r=HH.createAuth(HH.AuthMode.WithinHeaders,t.appId,t.apiKey),o=tdt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return HH.addMethods({appId:t.appId,transporter:o},t.methods)},ndt=t=>e=>t.transporter.read({method:yye.MethodEnum.Get,path:"1/strategies/personalization"},e),idt=t=>(e,r)=>t.transporter.write({method:yye.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);L2.createPersonalizationClient=rdt;L2.getPersonalizationStrategy=ndt;L2.setPersonalizationStrategy=idt});var Iye=U((WWt,Eye)=>{Eye.exports=Cye()});var Nye=U(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Ht=k2(),Na=T2(),mr=F2(),sdt=Ie("crypto");function gQ(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var odt=t=>{let e=t.appId,r=Ht.createAuth(t.authMode!==void 0?t.authMode:Ht.AuthMode.WithinHeaders,e,t.apiKey),o=Na.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:Na.CallEnum.Read},{url:`${e}.algolia.net`,accept:Na.CallEnum.Write}].concat(Ht.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Ht.addMethods(a,t.methods)};function wye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function Bye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function vye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var adt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Ht.createRetryablePromise(h=>O2(t)(A.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/keys",data:n},a),u)},ldt=t=>(e,r,o)=>{let a=Na.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},cdt=t=>(e,r,o)=>t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),udt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>DE(t)(o.taskID,a)),dQ=t=>(e,r,o)=>{let a=(n,u)=>M2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},Adt=t=>(e,r,o)=>dQ(t)(e,r,{...o,scope:[yQ.Rules]}),fdt=t=>(e,r,o)=>dQ(t)(e,r,{...o,scope:[yQ.Settings]}),pdt=t=>(e,r,o)=>dQ(t)(e,r,{...o,scope:[yQ.Synonyms]}),hdt=t=>(e,r)=>e.method===mr.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),gdt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>O2(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/keys/%s",e)},r),o)},ddt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>DE(t)(n.taskID,u))},mdt=()=>(t,e)=>{let r=Na.serializeQueryParameters(e),o=sdt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},O2=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/keys/%s",e)},r),Dye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/task/%s",e.toString())},r),ydt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),Cdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/logs"},e),Edt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw vye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},Idt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/top"},e),wdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/clusters/mapping/%s",e)},r),Bdt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},M2=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return Ht.addMethods(o,r.methods)},vdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/keys"},e),Ddt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters"},e),Sdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/indexes"},e),Pdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping"},e),xdt=t=>(e,r,o)=>{let a=(n,u)=>M2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},bdt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>M2(t)(u,{methods:{waitTask:zi}}).waitTask(a.taskID[u],n)));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},Qdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),kdt=t=>(e,r)=>{let o=e.map(a=>({...a,params:Na.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},Fdt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return M2(t)(o.indexName,{methods:{searchForFacetValues:Fye}}).searchForFacetValues(a,n,{...r,...u})})),Rdt=t=>(e,r)=>{let o=Na.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Delete,path:"1/clusters/mapping"},o)},Tdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>DE(t)(n.taskID,u))},Ndt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>O2(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/keys/%s/restore",e)},r),o)},Ldt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>DE(t)(n.taskID,u))},Odt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Mdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),Udt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>DE(t)(o.taskID,a)),_dt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(o).filter(w=>A.indexOf(w)!==-1).every(w=>E[w]===o[w]),h=(E,w)=>Ht.createRetryablePromise(v=>O2(t)(e,w).then(b=>p(b)?Promise.resolve():v()));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/keys/%s",e),data:u},n),h)},DE=t=>(e,r)=>Ht.createRetryablePromise(o=>Dye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Sye=t=>(e,r)=>{let o=(a,n)=>zi(t)(a.taskID,n);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},Hdt=t=>e=>gQ({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),qdt=t=>e=>{let r={hitsPerPage:1e3,...e};return gQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return Rye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},jdt=t=>e=>{let r={hitsPerPage:1e3,...e};return gQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return Tye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},mQ=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],E;for(E=p;E<e.length&&(h.push(e[E]),h.length!==(a||1e3));E++);return h.length===0?Promise.resolve(u):Sye(t)(h.map(w=>({action:r,body:w})),n).then(w=>(u.objectIDs=u.objectIDs.concat(w.objectIDs),u.taskIDs.push(w.taskID),E++,A(E)))};return Ht.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(E=>zi(t)(E,h))))},Gdt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Wdt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Ydt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Kdt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>zi(t)(o.taskID,a)),Vdt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Jdt=t=>(e,r)=>Ht.createWaitablePromise(Pye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),Pye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return mQ(t)(o,sm.DeleteObject,r)},zdt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},Xdt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},Zdt=t=>e=>xye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),$dt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),emt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>kye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw Bye();return A()});return A()},tmt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/%s",t.indexName,e)},r),rmt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},nmt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},imt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),xye=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),smt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),bye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),omt=t=>(e,r)=>Ht.createWaitablePromise(Qye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),Qye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?sm.PartialUpdateObject:sm.PartialUpdateObjectNoCreate;return mQ(t)(e,n,a)},amt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(C,R,L,_)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",C),data:{operation:L,destination:R}},_),(V,re)=>zi(t)(V.taskID,re)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=qH({appId:t.appId,transporter:t.transporter,indexName:h}),w=[],v=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});w.push(v);let b=(o?v.wait(u):v).then(()=>{let C=E(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return w.push(C),o?C.wait(u):C}).then(()=>{let C=A(h,t.indexName,"move",u);return w.push(C),o?C.wait(u):C}).then(()=>Promise.all(w)).then(([C,R,L])=>({objectIDs:R.objectIDs,taskIDs:[C.taskID,...R.taskIDs,L.taskID]}));return Ht.createWaitablePromise(b,(C,R)=>Promise.all(w.map(L=>L.wait(R))))},lmt=t=>(e,r)=>jH(t)(e,{...r,clearExistingRules:!0}),cmt=t=>(e,r)=>GH(t)(e,{...r,clearExistingSynonyms:!0}),umt=t=>(e,r)=>Ht.createWaitablePromise(qH(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),qH=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?sm.AddObject:sm.UpdateObject;if(n===sm.UpdateObject){for(let u of e)if(u.objectID===void 0)return Ht.createWaitablePromise(Promise.reject(wye()))}return mQ(t)(e,n,a)},Amt=t=>(e,r)=>jH(t)([e],r),jH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Na.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>zi(t)(A.taskID,p))},fmt=t=>(e,r)=>GH(t)([e],r),GH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Na.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>zi(t)(p.taskID,h))},kye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),Fye=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),Rye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),Tye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),pmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>zi(t)(u.taskID,A))},zi=t=>(e,r)=>Ht.createRetryablePromise(o=>bye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),hmt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},sm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},yQ={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},gmt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},dmt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=hmt;Ft.BatchActionEnum=sm;Ft.ScopeEnum=yQ;Ft.StrategyEnum=gmt;Ft.SynonymEnum=dmt;Ft.addApiKey=adt;Ft.assignUserID=ldt;Ft.assignUserIDs=cdt;Ft.batch=Sye;Ft.browseObjects=Hdt;Ft.browseRules=qdt;Ft.browseSynonyms=jdt;Ft.chunkedBatch=mQ;Ft.clearDictionaryEntries=udt;Ft.clearObjects=Gdt;Ft.clearRules=Wdt;Ft.clearSynonyms=Ydt;Ft.copyIndex=dQ;Ft.copyRules=Adt;Ft.copySettings=fdt;Ft.copySynonyms=pdt;Ft.createBrowsablePromise=gQ;Ft.createMissingObjectIDError=wye;Ft.createObjectNotFoundError=Bye;Ft.createSearchClient=odt;Ft.createValidUntilNotFoundError=vye;Ft.customRequest=hdt;Ft.deleteApiKey=gdt;Ft.deleteBy=Kdt;Ft.deleteDictionaryEntries=ddt;Ft.deleteIndex=Vdt;Ft.deleteObject=Jdt;Ft.deleteObjects=Pye;Ft.deleteRule=zdt;Ft.deleteSynonym=Xdt;Ft.exists=Zdt;Ft.findAnswers=$dt;Ft.findObject=emt;Ft.generateSecuredApiKey=mdt;Ft.getApiKey=O2;Ft.getAppTask=Dye;Ft.getDictionarySettings=ydt;Ft.getLogs=Cdt;Ft.getObject=tmt;Ft.getObjectPosition=rmt;Ft.getObjects=nmt;Ft.getRule=imt;Ft.getSecuredApiKeyRemainingValidity=Edt;Ft.getSettings=xye;Ft.getSynonym=smt;Ft.getTask=bye;Ft.getTopUserIDs=Idt;Ft.getUserID=wdt;Ft.hasPendingMappings=Bdt;Ft.initIndex=M2;Ft.listApiKeys=vdt;Ft.listClusters=Ddt;Ft.listIndices=Sdt;Ft.listUserIDs=Pdt;Ft.moveIndex=xdt;Ft.multipleBatch=bdt;Ft.multipleGetObjects=Qdt;Ft.multipleQueries=kdt;Ft.multipleSearchForFacetValues=Fdt;Ft.partialUpdateObject=omt;Ft.partialUpdateObjects=Qye;Ft.removeUserID=Rdt;Ft.replaceAllObjects=amt;Ft.replaceAllRules=lmt;Ft.replaceAllSynonyms=cmt;Ft.replaceDictionaryEntries=Tdt;Ft.restoreApiKey=Ndt;Ft.saveDictionaryEntries=Ldt;Ft.saveObject=umt;Ft.saveObjects=qH;Ft.saveRule=Amt;Ft.saveRules=jH;Ft.saveSynonym=fmt;Ft.saveSynonyms=GH;Ft.search=kye;Ft.searchDictionaryEntries=Odt;Ft.searchForFacetValues=Fye;Ft.searchRules=Rye;Ft.searchSynonyms=Tye;Ft.searchUserIDs=Mdt;Ft.setDictionarySettings=Udt;Ft.setSettings=pmt;Ft.updateApiKey=_dt;Ft.waitAppTask=DE;Ft.waitTask=zi});var Oye=U((KWt,Lye)=>{Lye.exports=Nye()});var Mye=U(CQ=>{"use strict";Object.defineProperty(CQ,"__esModule",{value:!0});function mmt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var ymt={Debug:1,Info:2,Error:3};CQ.LogLevelEnum=ymt;CQ.createNullLogger=mmt});var _ye=U((JWt,Uye)=>{Uye.exports=Mye()});var Gye=U(WH=>{"use strict";Object.defineProperty(WH,"__esModule",{value:!0});var Hye=Ie("http"),qye=Ie("https"),Cmt=Ie("url"),jye={keepAlive:!0},Emt=new Hye.Agent(jye),Imt=new qye.Agent(jye);function wmt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||Emt,n=r||t||Imt;return{send(u){return new Promise(A=>{let p=Cmt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},w=(p.protocol==="https:"?qye:Hye).request(E,R=>{let L=[];R.on("data",_=>{L=L.concat(_)}),R.on("end",()=>{clearTimeout(b),clearTimeout(C),A({status:R.statusCode||0,content:Buffer.concat(L).toString(),isTimedOut:!1})})}),v=(R,L)=>setTimeout(()=>{w.abort(),A({status:0,content:L,isTimedOut:!0})},R*1e3),b=v(u.connectTimeout,"Connection timeout"),C;w.on("error",R=>{clearTimeout(b),clearTimeout(C),A({status:0,content:R.message,isTimedOut:!1})}),w.once("response",()=>{clearTimeout(b),C=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&w.write(u.data),w.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}WH.createNodeHttpRequester=wmt});var Yye=U((XWt,Wye)=>{Wye.exports=Gye()});var zye=U((ZWt,Jye)=>{"use strict";var Kye=Gme(),Bmt=Kme(),SE=mye(),KH=k2(),YH=Iye(),Lt=Oye(),vmt=_ye(),Dmt=Yye(),Smt=T2();function Vye(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:Dmt.createNodeHttpRequester(),logger:vmt.createNullLogger(),responsesCache:Kye.createNullCache(),requestsCache:Kye.createNullCache(),hostsCache:Bmt.createInMemoryCache(),userAgent:Smt.createUserAgent(KH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>YH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:YH.getPersonalizationStrategy,setPersonalizationStrategy:YH.setPersonalizationStrategy}});return Lt.createSearchClient({...a,methods:{search:Lt.multipleQueries,searchForFacetValues:Lt.multipleSearchForFacetValues,multipleBatch:Lt.multipleBatch,multipleGetObjects:Lt.multipleGetObjects,multipleQueries:Lt.multipleQueries,copyIndex:Lt.copyIndex,copySettings:Lt.copySettings,copyRules:Lt.copyRules,copySynonyms:Lt.copySynonyms,moveIndex:Lt.moveIndex,listIndices:Lt.listIndices,getLogs:Lt.getLogs,listClusters:Lt.listClusters,multipleSearchForFacetValues:Lt.multipleSearchForFacetValues,getApiKey:Lt.getApiKey,addApiKey:Lt.addApiKey,listApiKeys:Lt.listApiKeys,updateApiKey:Lt.updateApiKey,deleteApiKey:Lt.deleteApiKey,restoreApiKey:Lt.restoreApiKey,assignUserID:Lt.assignUserID,assignUserIDs:Lt.assignUserIDs,getUserID:Lt.getUserID,searchUserIDs:Lt.searchUserIDs,listUserIDs:Lt.listUserIDs,getTopUserIDs:Lt.getTopUserIDs,removeUserID:Lt.removeUserID,hasPendingMappings:Lt.hasPendingMappings,generateSecuredApiKey:Lt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Lt.getSecuredApiKeyRemainingValidity,destroy:KH.destroy,clearDictionaryEntries:Lt.clearDictionaryEntries,deleteDictionaryEntries:Lt.deleteDictionaryEntries,getDictionarySettings:Lt.getDictionarySettings,getAppTask:Lt.getAppTask,replaceDictionaryEntries:Lt.replaceDictionaryEntries,saveDictionaryEntries:Lt.saveDictionaryEntries,searchDictionaryEntries:Lt.searchDictionaryEntries,setDictionarySettings:Lt.setDictionarySettings,waitAppTask:Lt.waitAppTask,customRequest:Lt.customRequest,initIndex:u=>A=>Lt.initIndex(u)(A,{methods:{batch:Lt.batch,delete:Lt.deleteIndex,findAnswers:Lt.findAnswers,getObject:Lt.getObject,getObjects:Lt.getObjects,saveObject:Lt.saveObject,saveObjects:Lt.saveObjects,search:Lt.search,searchForFacetValues:Lt.searchForFacetValues,waitTask:Lt.waitTask,setSettings:Lt.setSettings,getSettings:Lt.getSettings,partialUpdateObject:Lt.partialUpdateObject,partialUpdateObjects:Lt.partialUpdateObjects,deleteObject:Lt.deleteObject,deleteObjects:Lt.deleteObjects,deleteBy:Lt.deleteBy,clearObjects:Lt.clearObjects,browseObjects:Lt.browseObjects,getObjectPosition:Lt.getObjectPosition,findObject:Lt.findObject,exists:Lt.exists,saveSynonym:Lt.saveSynonym,saveSynonyms:Lt.saveSynonyms,getSynonym:Lt.getSynonym,searchSynonyms:Lt.searchSynonyms,browseSynonyms:Lt.browseSynonyms,deleteSynonym:Lt.deleteSynonym,clearSynonyms:Lt.clearSynonyms,replaceAllObjects:Lt.replaceAllObjects,replaceAllSynonyms:Lt.replaceAllSynonyms,searchRules:Lt.searchRules,getRule:Lt.getRule,deleteRule:Lt.deleteRule,saveRule:Lt.saveRule,saveRules:Lt.saveRules,replaceAllRules:Lt.replaceAllRules,browseRules:Lt.browseRules,clearRules:Lt.clearRules}}),initAnalytics:()=>u=>SE.createAnalyticsClient({...o,...u,methods:{addABTest:SE.addABTest,getABTest:SE.getABTest,getABTests:SE.getABTests,stopABTest:SE.stopABTest,deleteABTest:SE.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}Vye.version=KH.version;Jye.exports=Vye});var JH=U(($Wt,VH)=>{var Xye=zye();VH.exports=Xye;VH.exports.default=Xye});var ZH=U((tYt,eCe)=>{"use strict";var $ye=Object.getOwnPropertySymbols,xmt=Object.prototype.hasOwnProperty,bmt=Object.prototype.propertyIsEnumerable;function Qmt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function kmt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}eCe.exports=kmt()?Object.assign:function(t,e){for(var r,o=Qmt(t),a,n=1;n<arguments.length;n++){r=Object(arguments[n]);for(var u in r)xmt.call(r,u)&&(o[u]=r[u]);if($ye){a=$ye(r);for(var A=0;A<a.length;A++)bmt.call(r,a[A])&&(o[a[A]]=r[a[A]])}}return o}});var fCe=U(Qn=>{"use strict";var n6=ZH(),nu=typeof Symbol=="function"&&Symbol.for,U2=nu?Symbol.for("react.element"):60103,Fmt=nu?Symbol.for("react.portal"):60106,Rmt=nu?Symbol.for("react.fragment"):60107,Tmt=nu?Symbol.for("react.strict_mode"):60108,Nmt=nu?Symbol.for("react.profiler"):60114,Lmt=nu?Symbol.for("react.provider"):60109,Omt=nu?Symbol.for("react.context"):60110,Mmt=nu?Symbol.for("react.forward_ref"):60112,Umt=nu?Symbol.for("react.suspense"):60113,_mt=nu?Symbol.for("react.memo"):60115,Hmt=nu?Symbol.for("react.lazy"):60116,tCe=typeof Symbol=="function"&&Symbol.iterator;function _2(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var rCe={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},nCe={};function PE(t,e,r){this.props=t,this.context=e,this.refs=nCe,this.updater=r||rCe}PE.prototype.isReactComponent={};PE.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(_2(85));this.updater.enqueueSetState(this,t,e,"setState")};PE.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function iCe(){}iCe.prototype=PE.prototype;function i6(t,e,r){this.props=t,this.context=e,this.refs=nCe,this.updater=r||rCe}var s6=i6.prototype=new iCe;s6.constructor=i6;n6(s6,PE.prototype);s6.isPureReactComponent=!0;var o6={current:null},sCe=Object.prototype.hasOwnProperty,oCe={key:!0,ref:!0,__self:!0,__source:!0};function aCe(t,e,r){var o,a={},n=null,u=null;if(e!=null)for(o in e.ref!==void 0&&(u=e.ref),e.key!==void 0&&(n=""+e.key),e)sCe.call(e,o)&&!oCe.hasOwnProperty(o)&&(a[o]=e[o]);var A=arguments.length-2;if(A===1)a.children=r;else if(1<A){for(var p=Array(A),h=0;h<A;h++)p[h]=arguments[h+2];a.children=p}if(t&&t.defaultProps)for(o in A=t.defaultProps,A)a[o]===void 0&&(a[o]=A[o]);return{$$typeof:U2,type:t,key:n,ref:u,props:a,_owner:o6.current}}function qmt(t,e){return{$$typeof:U2,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function a6(t){return typeof t=="object"&&t!==null&&t.$$typeof===U2}function jmt(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,function(r){return e[r]})}var lCe=/\/+/g,EQ=[];function cCe(t,e,r,o){if(EQ.length){var a=EQ.pop();return a.result=t,a.keyPrefix=e,a.func=r,a.context=o,a.count=0,a}return{result:t,keyPrefix:e,func:r,context:o,count:0}}function uCe(t){t.result=null,t.keyPrefix=null,t.func=null,t.context=null,t.count=0,10>EQ.length&&EQ.push(t)}function e6(t,e,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var n=!1;if(t===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(t.$$typeof){case U2:case Fmt:n=!0}}if(n)return r(o,t,e===""?"."+$H(t,0):e),1;if(n=0,e=e===""?".":e+":",Array.isArray(t))for(var u=0;u<t.length;u++){a=t[u];var A=e+$H(a,u);n+=e6(a,A,r,o)}else if(t===null||typeof t!="object"?A=null:(A=tCe&&t[tCe]||t["@@iterator"],A=typeof A=="function"?A:null),typeof A=="function")for(t=A.call(t),u=0;!(a=t.next()).done;)a=a.value,A=e+$H(a,u++),n+=e6(a,A,r,o);else if(a==="object")throw r=""+t,Error(_2(31,r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return n}function t6(t,e,r){return t==null?0:e6(t,"",e,r)}function $H(t,e){return typeof t=="object"&&t!==null&&t.key!=null?jmt(t.key):e.toString(36)}function Gmt(t,e){t.func.call(t.context,e,t.count++)}function Wmt(t,e,r){var o=t.result,a=t.keyPrefix;t=t.func.call(t.context,e,t.count++),Array.isArray(t)?r6(t,o,r,function(n){return n}):t!=null&&(a6(t)&&(t=qmt(t,a+(!t.key||e&&e.key===t.key?"":(""+t.key).replace(lCe,"$&/")+"/")+r)),o.push(t))}function r6(t,e,r,o,a){var n="";r!=null&&(n=(""+r).replace(lCe,"$&/")+"/"),e=cCe(e,n,o,a),t6(t,Wmt,e),uCe(e)}var ACe={current:null};function zf(){var t=ACe.current;if(t===null)throw Error(_2(321));return t}var Ymt={ReactCurrentDispatcher:ACe,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:o6,IsSomeRendererActing:{current:!1},assign:n6};Qn.Children={map:function(t,e,r){if(t==null)return t;var o=[];return r6(t,o,null,e,r),o},forEach:function(t,e,r){if(t==null)return t;e=cCe(null,null,e,r),t6(t,Gmt,e),uCe(e)},count:function(t){return t6(t,function(){return null},null)},toArray:function(t){var e=[];return r6(t,e,null,function(r){return r}),e},only:function(t){if(!a6(t))throw Error(_2(143));return t}};Qn.Component=PE;Qn.Fragment=Rmt;Qn.Profiler=Nmt;Qn.PureComponent=i6;Qn.StrictMode=Tmt;Qn.Suspense=Umt;Qn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ymt;Qn.cloneElement=function(t,e,r){if(t==null)throw Error(_2(267,t));var o=n6({},t.props),a=t.key,n=t.ref,u=t._owner;if(e!=null){if(e.ref!==void 0&&(n=e.ref,u=o6.current),e.key!==void 0&&(a=""+e.key),t.type&&t.type.defaultProps)var A=t.type.defaultProps;for(p in e)sCe.call(e,p)&&!oCe.hasOwnProperty(p)&&(o[p]=e[p]===void 0&&A!==void 0?A[p]:e[p])}var p=arguments.length-2;if(p===1)o.children=r;else if(1<p){A=Array(p);for(var h=0;h<p;h++)A[h]=arguments[h+2];o.children=A}return{$$typeof:U2,type:t.type,key:a,ref:n,props:o,_owner:u}};Qn.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:Omt,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:Lmt,_context:t},t.Consumer=t};Qn.createElement=aCe;Qn.createFactory=function(t){var e=aCe.bind(null,t);return e.type=t,e};Qn.createRef=function(){return{current:null}};Qn.forwardRef=function(t){return{$$typeof:Mmt,render:t}};Qn.isValidElement=a6;Qn.lazy=function(t){return{$$typeof:Hmt,_ctor:t,_status:-1,_result:null}};Qn.memo=function(t,e){return{$$typeof:_mt,type:t,compare:e===void 0?null:e}};Qn.useCallback=function(t,e){return zf().useCallback(t,e)};Qn.useContext=function(t,e){return zf().useContext(t,e)};Qn.useDebugValue=function(){};Qn.useEffect=function(t,e){return zf().useEffect(t,e)};Qn.useImperativeHandle=function(t,e,r){return zf().useImperativeHandle(t,e,r)};Qn.useLayoutEffect=function(t,e){return zf().useLayoutEffect(t,e)};Qn.useMemo=function(t,e){return zf().useMemo(t,e)};Qn.useReducer=function(t,e,r){return zf().useReducer(t,e,r)};Qn.useRef=function(t){return zf().useRef(t)};Qn.useState=function(t){return zf().useState(t)};Qn.version="16.13.1"});var en=U((nYt,pCe)=>{"use strict";pCe.exports=fCe()});var c6=U((iYt,l6)=>{"use strict";var on=l6.exports;l6.exports.default=on;var kn="\x1B[",H2="\x1B]",xE="\x07",IQ=";",hCe=process.env.TERM_PROGRAM==="Apple_Terminal";on.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?kn+(t+1)+"G":kn+(e+1)+";"+(t+1)+"H"};on.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=kn+-t+"D":t>0&&(r+=kn+t+"C"),e<0?r+=kn+-e+"A":e>0&&(r+=kn+e+"B"),r};on.cursorUp=(t=1)=>kn+t+"A";on.cursorDown=(t=1)=>kn+t+"B";on.cursorForward=(t=1)=>kn+t+"C";on.cursorBackward=(t=1)=>kn+t+"D";on.cursorLeft=kn+"G";on.cursorSavePosition=hCe?"\x1B7":kn+"s";on.cursorRestorePosition=hCe?"\x1B8":kn+"u";on.cursorGetPosition=kn+"6n";on.cursorNextLine=kn+"E";on.cursorPrevLine=kn+"F";on.cursorHide=kn+"?25l";on.cursorShow=kn+"?25h";on.eraseLines=t=>{let e="";for(let r=0;r<t;r++)e+=on.eraseLine+(r<t-1?on.cursorUp():"");return t&&(e+=on.cursorLeft),e};on.eraseEndLine=kn+"K";on.eraseStartLine=kn+"1K";on.eraseLine=kn+"2K";on.eraseDown=kn+"J";on.eraseUp=kn+"1J";on.eraseScreen=kn+"2J";on.scrollUp=kn+"S";on.scrollDown=kn+"T";on.clearScreen="\x1Bc";on.clearTerminal=process.platform==="win32"?`${on.eraseScreen}${kn}0f`:`${on.eraseScreen}${kn}3J${kn}H`;on.beep=xE;on.link=(t,e)=>[H2,"8",IQ,IQ,e,xE,t,H2,"8",IQ,IQ,xE].join("");on.image=(t,e={})=>{let r=`${H2}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+xE};on.iTerm={setCwd:(t=process.cwd())=>`${H2}50;CurrentDir=${t}${xE}`,annotation:(t,e={})=>{let r=`${H2}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+xE}}});var dCe=U((sYt,u6)=>{"use strict";var gCe=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};u6.exports=gCe;u6.exports.default=gCe});var yCe=U((oYt,BQ)=>{"use strict";var Kmt=dCe(),wQ=new WeakMap,mCe=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"<anonymous>",n=function(...u){if(wQ.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Kmt(n,t),wQ.set(n,o),n};BQ.exports=mCe;BQ.exports.default=mCe;BQ.exports.callCount=t=>{if(!wQ.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return wQ.get(t)}});var CCe=U((aYt,vQ)=>{vQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&vQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&vQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var p6=U((lYt,kE)=>{var gi=global.process,om=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};om(gi)?(ECe=Ie("assert"),bE=CCe(),ICe=/^win/i.test(gi.platform),q2=Ie("events"),typeof q2!="function"&&(q2=q2.EventEmitter),gi.__signal_exit_emitter__?xs=gi.__signal_exit_emitter__:(xs=gi.__signal_exit_emitter__=new q2,xs.count=0,xs.emitted={}),xs.infinite||(xs.setMaxListeners(1/0),xs.infinite=!0),kE.exports=function(t,e){if(!om(global.process))return function(){};ECe.equal(typeof t,"function","a callback must be provided for exit handler"),QE===!1&&A6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){xs.removeListener(r,t),xs.listeners("exit").length===0&&xs.listeners("afterexit").length===0&&DQ()};return xs.on(r,t),o},DQ=function(){!QE||!om(global.process)||(QE=!1,bE.forEach(function(e){try{gi.removeListener(e,SQ[e])}catch{}}),gi.emit=PQ,gi.reallyExit=f6,xs.count-=1)},kE.exports.unload=DQ,am=function(e,r,o){xs.emitted[e]||(xs.emitted[e]=!0,xs.emit(e,r,o))},SQ={},bE.forEach(function(t){SQ[t]=function(){if(!!om(global.process)){var r=gi.listeners(t);r.length===xs.count&&(DQ(),am("exit",null,t),am("afterexit",null,t),ICe&&t==="SIGHUP"&&(t="SIGINT"),gi.kill(gi.pid,t))}}}),kE.exports.signals=function(){return bE},QE=!1,A6=function(){QE||!om(global.process)||(QE=!0,xs.count+=1,bE=bE.filter(function(e){try{return gi.on(e,SQ[e]),!0}catch{return!1}}),gi.emit=BCe,gi.reallyExit=wCe)},kE.exports.load=A6,f6=gi.reallyExit,wCe=function(e){!om(global.process)||(gi.exitCode=e||0,am("exit",gi.exitCode,null),am("afterexit",gi.exitCode,null),f6.call(gi,gi.exitCode))},PQ=gi.emit,BCe=function(e,r){if(e==="exit"&&om(global.process)){r!==void 0&&(gi.exitCode=r);var o=PQ.apply(this,arguments);return am("exit",gi.exitCode,null),am("afterexit",gi.exitCode,null),o}else return PQ.apply(this,arguments)}):kE.exports=function(){return function(){}};var ECe,bE,ICe,q2,xs,DQ,am,SQ,QE,A6,f6,wCe,PQ,BCe});var DCe=U((cYt,vCe)=>{"use strict";var Vmt=yCe(),Jmt=p6();vCe.exports=Vmt(()=>{Jmt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var h6=U(FE=>{"use strict";var zmt=DCe(),xQ=!1;FE.show=(t=process.stderr)=>{!t.isTTY||(xQ=!1,t.write("\x1B[?25h"))};FE.hide=(t=process.stderr)=>{!t.isTTY||(zmt(),xQ=!0,t.write("\x1B[?25l"))};FE.toggle=(t,e)=>{t!==void 0&&(xQ=t),xQ?FE.show(e):FE.hide(e)}});var bCe=U(j2=>{"use strict";var xCe=j2&&j2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(j2,"__esModule",{value:!0});var SCe=xCe(c6()),PCe=xCe(h6()),Xmt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(PCe.default.hide(),a=!0);let A=u+`
280`;A!==o&&(o=A,t.write(CEe.default.eraseLines(r)+A),r=A.split(` 280`;A!==o&&(o=A,t.write(SCe.default.eraseLines(r)+A),r=A.split(`
281`).length)};return n.clear=()=>{t.write(CEe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(IEe.default.show(),a=!1)},n};U2.default={create:_mt}});var vEe=U((sYt,Hmt)=>{Hmt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var PEe=U(hl=>{"use strict";var SEe=vEe(),hA=process.env;Object.defineProperty(hl,"_vendors",{value:SEe.map(function(t){return t.constant})});hl.name=null;hl.isPR=null;SEe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return DEe(o)});if(hl[t.constant]=r,r)switch(hl.name=t.name,typeof t.pr){case"string":hl.isPR=!!hA[t.pr];break;case"object":"env"in t.pr?hl.isPR=t.pr.env in hA&&hA[t.pr.env]!==t.pr.ne:"any"in t.pr?hl.isPR=t.pr.any.some(function(o){return!!hA[o]}):hl.isPR=DEe(t.pr);break;default:hl.isPR=null}});hl.isCI=!!(hA.CI||hA.CONTINUOUS_INTEGRATION||hA.BUILD_NUMBER||hA.RUN_ID||hl.name);function DEe(t){return typeof t=="string"?!!hA[t]:Object.keys(t).every(function(e){return hA[e]===t[e]})}});var bEe=U((aYt,xEe)=>{"use strict";xEe.exports=PEe().isCI});var kEe=U((lYt,QEe)=>{"use strict";var qmt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};QEe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of qmt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var MEe=U(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var bC,q2,SQ,PQ,C6;typeof window>"u"||typeof MessageChannel!="function"?(xC=null,h6=null,g6=function(){if(xC!==null)try{var t=vn.unstable_now();xC(!0,t),xC=null}catch(e){throw setTimeout(g6,0),e}},FEe=Date.now(),vn.unstable_now=function(){return Date.now()-FEe},bC=function(t){xC!==null?setTimeout(bC,0,t):(xC=t,setTimeout(g6,0))},q2=function(t,e){h6=setTimeout(t,e)},SQ=function(){clearTimeout(h6)},PQ=function(){return!1},C6=vn.unstable_forceFrameRate=function(){}):(wQ=window.performance,d6=window.Date,REe=window.setTimeout,TEe=window.clearTimeout,typeof console<"u"&&(NEe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof NEe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof wQ=="object"&&typeof wQ.now=="function"?vn.unstable_now=function(){return wQ.now()}:(LEe=d6.now(),vn.unstable_now=function(){return d6.now()-LEe}),_2=!1,H2=null,BQ=-1,m6=5,y6=0,PQ=function(){return vn.unstable_now()>=y6},C6=function(){},vn.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):m6=0<t?Math.floor(1e3/t):5},E6=new MessageChannel,vQ=E6.port2,E6.port1.onmessage=function(){if(H2!==null){var t=vn.unstable_now();y6=t+m6;try{H2(!0,t)?vQ.postMessage(null):(_2=!1,H2=null)}catch(e){throw vQ.postMessage(null),e}}else _2=!1},bC=function(t){H2=t,_2||(_2=!0,vQ.postMessage(null))},q2=function(t,e){BQ=REe(function(){t(vn.unstable_now())},e)},SQ=function(){TEe(BQ),BQ=-1});var xC,h6,g6,FEe,wQ,d6,REe,TEe,NEe,LEe,_2,H2,BQ,m6,y6,E6,vQ;function I6(t,e){var r=t.length;t.push(e);e:for(;;){var o=Math.floor((r-1)/2),a=t[o];if(a!==void 0&&0<DQ(a,e))t[o]=e,t[r]=a,r=o;else break e}}function sc(t){return t=t[0],t===void 0?null:t}function xQ(t){var e=t[0];if(e!==void 0){var r=t.pop();if(r!==e){t[0]=r;e:for(var o=0,a=t.length;o<a;){var n=2*(o+1)-1,u=t[n],A=n+1,p=t[A];if(u!==void 0&&0>DQ(u,r))p!==void 0&&0>DQ(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>DQ(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function DQ(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var ru=[],hh=[],jmt=1,$o=null,Ro=3,bQ=!1,sm=!1,j2=!1;function QQ(t){for(var e=sc(hh);e!==null;){if(e.callback===null)xQ(hh);else if(e.startTime<=t)xQ(hh),e.sortIndex=e.expirationTime,I6(ru,e);else break;e=sc(hh)}}function w6(t){if(j2=!1,QQ(t),!sm)if(sc(ru)!==null)sm=!0,bC(B6);else{var e=sc(hh);e!==null&&q2(w6,e.startTime-t)}}function B6(t,e){sm=!1,j2&&(j2=!1,SQ()),bQ=!0;var r=Ro;try{for(QQ(e),$o=sc(ru);$o!==null&&(!($o.expirationTime>e)||t&&!PQ());){var o=$o.callback;if(o!==null){$o.callback=null,Ro=$o.priorityLevel;var a=o($o.expirationTime<=e);e=vn.unstable_now(),typeof a=="function"?$o.callback=a:$o===sc(ru)&&xQ(ru),QQ(e)}else xQ(ru);$o=sc(ru)}if($o!==null)var n=!0;else{var u=sc(hh);u!==null&&q2(w6,u.startTime-e),n=!1}return n}finally{$o=null,Ro=r,bQ=!1}}function OEe(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var Gmt=C6;vn.unstable_ImmediatePriority=1;vn.unstable_UserBlockingPriority=2;vn.unstable_NormalPriority=3;vn.unstable_IdlePriority=5;vn.unstable_LowPriority=4;vn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Ro;Ro=t;try{return e()}finally{Ro=r}};vn.unstable_next=function(t){switch(Ro){case 1:case 2:case 3:var e=3;break;default:e=Ro}var r=Ro;Ro=e;try{return t()}finally{Ro=r}};vn.unstable_scheduleCallback=function(t,e,r){var o=vn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0<a?o+a:o,r=typeof r.timeout=="number"?r.timeout:OEe(t)}else r=OEe(t),a=o;return r=a+r,t={id:jmt++,callback:e,priorityLevel:t,startTime:a,expirationTime:r,sortIndex:-1},a>o?(t.sortIndex=a,I6(hh,t),sc(ru)===null&&t===sc(hh)&&(j2?SQ():j2=!0,q2(w6,a-o))):(t.sortIndex=r,I6(ru,t),sm||bQ||(sm=!0,bC(B6))),t};vn.unstable_cancelCallback=function(t){t.callback=null};vn.unstable_wrapCallback=function(t){var e=Ro;return function(){var r=Ro;Ro=e;try{return t.apply(this,arguments)}finally{Ro=r}}};vn.unstable_getCurrentPriorityLevel=function(){return Ro};vn.unstable_shouldYield=function(){var t=vn.unstable_now();QQ(t);var e=sc(ru);return e!==$o&&$o!==null&&e!==null&&e.callback!==null&&e.startTime<=t&&e.expirationTime<$o.expirationTime||PQ()};vn.unstable_requestPaint=Gmt;vn.unstable_continueExecution=function(){sm||bQ||(sm=!0,bC(B6))};vn.unstable_pauseExecution=function(){};vn.unstable_getFirstCallbackNode=function(){return sc(ru)};vn.unstable_Profiling=null});var v6=U((uYt,UEe)=>{"use strict";UEe.exports=MEe()});var _Ee=U((AYt,G2)=>{G2.exports=function t(e){"use strict";var r=XH(),o=en(),a=v6();function n(S){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+S,T=1;T<arguments.length;T++)D+="&args[]="+encodeURIComponent(arguments[T]);return"Minified React error #"+S+"; visit "+D+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;u.hasOwnProperty("ReactCurrentDispatcher")||(u.ReactCurrentDispatcher={current:null}),u.hasOwnProperty("ReactCurrentBatchConfig")||(u.ReactCurrentBatchConfig={suspense:null});var A=typeof Symbol=="function"&&Symbol.for,p=A?Symbol.for("react.element"):60103,h=A?Symbol.for("react.portal"):60106,C=A?Symbol.for("react.fragment"):60107,w=A?Symbol.for("react.strict_mode"):60108,v=A?Symbol.for("react.profiler"):60114,b=A?Symbol.for("react.provider"):60109,E=A?Symbol.for("react.context"):60110,R=A?Symbol.for("react.concurrent_mode"):60111,L=A?Symbol.for("react.forward_ref"):60112,_=A?Symbol.for("react.suspense"):60113,J=A?Symbol.for("react.suspense_list"):60120,re=A?Symbol.for("react.memo"):60115,oe=A?Symbol.for("react.lazy"):60116;A&&Symbol.for("react.fundamental"),A&&Symbol.for("react.responder"),A&&Symbol.for("react.scope");var pe=typeof Symbol=="function"&&Symbol.iterator;function he(S){return S===null||typeof S!="object"?null:(S=pe&&S[pe]||S["@@iterator"],typeof S=="function"?S:null)}function ve(S){if(S._status===-1){S._status=0;var D=S._ctor;D=D(),S._result=D,D.then(function(T){S._status===0&&(T=T.default,S._status=1,S._result=T)},function(T){S._status===0&&(S._status=2,S._result=T)})}}function ge(S){if(S==null)return null;if(typeof S=="function")return S.displayName||S.name||null;if(typeof S=="string")return S;switch(S){case C:return"Fragment";case h:return"Portal";case v:return"Profiler";case w:return"StrictMode";case _:return"Suspense";case J:return"SuspenseList"}if(typeof S=="object")switch(S.$$typeof){case E:return"Context.Consumer";case b:return"Context.Provider";case L:var D=S.render;return D=D.displayName||D.name||"",S.displayName||(D!==""?"ForwardRef("+D+")":"ForwardRef");case re:return ge(S.type);case oe:if(S=S._status===1?S._result:null)return ge(S)}return null}function le(S){var D=S,T=S;if(S.alternate)for(;D.return;)D=D.return;else{S=D;do D=S,(D.effectTag&1026)!==0&&(T=D.return),S=D.return;while(S)}return D.tag===3?T:null}function Pe(S){if(le(S)!==S)throw Error(n(188))}function g(S){var D=S.alternate;if(!D){if(D=le(S),D===null)throw Error(n(188));return D!==S?null:S}for(var T=S,q=D;;){var W=T.return;if(W===null)break;var ce=W.alternate;if(ce===null){if(q=W.return,q!==null){T=q;continue}break}if(W.child===ce.child){for(ce=W.child;ce;){if(ce===T)return Pe(W),S;if(ce===q)return Pe(W),D;ce=ce.sibling}throw Error(n(188))}if(T.return!==q.return)T=W,q=ce;else{for(var Se=!1,It=W.child;It;){if(It===T){Se=!0,T=W,q=ce;break}if(It===q){Se=!0,q=W,T=ce;break}It=It.sibling}if(!Se){for(It=ce.child;It;){if(It===T){Se=!0,T=ce,q=W;break}if(It===q){Se=!0,q=ce,T=W;break}It=It.sibling}if(!Se)throw Error(n(189))}}if(T.alternate!==q)throw Error(n(190))}if(T.tag!==3)throw Error(n(188));return T.stateNode.current===T?S:D}function De(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}function Ee(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child&&D.tag!==4)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}var de=e.getPublicInstance,ne=e.getRootHostContext,Z=e.getChildHostContext,me=e.prepareForCommit,be=e.resetAfterCommit,ut=e.createInstance,H=e.appendInitialChild,yt=e.finalizeInitialChildren,Me=e.prepareUpdate,Te=e.shouldSetTextContent,Qe=e.shouldDeprioritizeSubtree,Ue=e.createTextInstance,je=e.setTimeout,At=e.clearTimeout,Le=e.noTimeout,x=e.isPrimaryRenderer,I=e.supportsMutation,P=e.supportsPersistence,y=e.supportsHydration,F=e.appendChild,z=e.appendChildToContainer,X=e.commitTextUpdate,$=e.commitMount,ie=e.commitUpdate,ke=e.insertBefore,Ne=e.insertInContainerBefore,st=e.removeChild,ht=e.removeChildFromContainer,Ut=e.resetTextContent,Xt=e.hideInstance,Pt=e.hideTextInstance,tn=e.unhideInstance,Dr=e.unhideTextInstance,fr=e.cloneInstance,Br=e.createContainerChildSet,jr=e.appendChildToContainerChildSet,Hn=e.finalizeContainerChildren,bs=e.replaceContainerChildren,ki=e.cloneHiddenInstance,gs=e.cloneHiddenTextInstance,to=e.canHydrateInstance,Di=e.canHydrateTextInstance,Qs=e.isSuspenseInstancePending,ro=e.isSuspenseInstanceFallback,uc=e.getNextHydratableSibling,hu=e.getFirstHydratableChild,op=e.hydrateInstance,ap=e.hydrateTextInstance,ks=e.getNextHydratableInstanceAfterSuspenseInstance,Cn=e.commitHydratedContainer,no=e.commitHydratedSuspenseInstance,Fs=/^(.*)[\\\/]/;function dl(S){var D="";do{e:switch(S.tag){case 3:case 4:case 6:case 7:case 10:case 9:var T="";break e;default:var q=S._debugOwner,W=S._debugSource,ce=ge(S.type);T=null,q&&(T=ge(q.type)),q=ce,ce="",W?ce=" (at "+W.fileName.replace(Fs,"")+":"+W.lineNumber+")":T&&(ce=" (created by "+T+")"),T=` 281`).length)};return n.clear=()=>{t.write(SCe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(PCe.default.show(),a=!1)},n};j2.default={create:Xmt}});var QCe=U((fYt,Zmt)=>{Zmt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var RCe=U(ml=>{"use strict";var FCe=QCe(),gA=process.env;Object.defineProperty(ml,"_vendors",{value:FCe.map(function(t){return t.constant})});ml.name=null;ml.isPR=null;FCe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return kCe(o)});if(ml[t.constant]=r,r)switch(ml.name=t.name,typeof t.pr){case"string":ml.isPR=!!gA[t.pr];break;case"object":"env"in t.pr?ml.isPR=t.pr.env in gA&&gA[t.pr.env]!==t.pr.ne:"any"in t.pr?ml.isPR=t.pr.any.some(function(o){return!!gA[o]}):ml.isPR=kCe(t.pr);break;default:ml.isPR=null}});ml.isCI=!!(gA.CI||gA.CONTINUOUS_INTEGRATION||gA.BUILD_NUMBER||gA.RUN_ID||ml.name);function kCe(t){return typeof t=="string"?!!gA[t]:Object.keys(t).every(function(e){return gA[e]===t[e]})}});var NCe=U((hYt,TCe)=>{"use strict";TCe.exports=RCe().isCI});var OCe=U((gYt,LCe)=>{"use strict";var $mt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};LCe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of $mt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var GCe=U(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var TE,Y2,RQ,TQ,I6;typeof window>"u"||typeof MessageChannel!="function"?(RE=null,g6=null,d6=function(){if(RE!==null)try{var t=vn.unstable_now();RE(!0,t),RE=null}catch(e){throw setTimeout(d6,0),e}},MCe=Date.now(),vn.unstable_now=function(){return Date.now()-MCe},TE=function(t){RE!==null?setTimeout(TE,0,t):(RE=t,setTimeout(d6,0))},Y2=function(t,e){g6=setTimeout(t,e)},RQ=function(){clearTimeout(g6)},TQ=function(){return!1},I6=vn.unstable_forceFrameRate=function(){}):(bQ=window.performance,m6=window.Date,UCe=window.setTimeout,_Ce=window.clearTimeout,typeof console<"u"&&(HCe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof HCe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof bQ=="object"&&typeof bQ.now=="function"?vn.unstable_now=function(){return bQ.now()}:(qCe=m6.now(),vn.unstable_now=function(){return m6.now()-qCe}),G2=!1,W2=null,QQ=-1,y6=5,C6=0,TQ=function(){return vn.unstable_now()>=C6},I6=function(){},vn.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):y6=0<t?Math.floor(1e3/t):5},E6=new MessageChannel,kQ=E6.port2,E6.port1.onmessage=function(){if(W2!==null){var t=vn.unstable_now();C6=t+y6;try{W2(!0,t)?kQ.postMessage(null):(G2=!1,W2=null)}catch(e){throw kQ.postMessage(null),e}}else G2=!1},TE=function(t){W2=t,G2||(G2=!0,kQ.postMessage(null))},Y2=function(t,e){QQ=UCe(function(){t(vn.unstable_now())},e)},RQ=function(){_Ce(QQ),QQ=-1});var RE,g6,d6,MCe,bQ,m6,UCe,_Ce,HCe,qCe,G2,W2,QQ,y6,C6,E6,kQ;function w6(t,e){var r=t.length;t.push(e);e:for(;;){var o=Math.floor((r-1)/2),a=t[o];if(a!==void 0&&0<FQ(a,e))t[o]=e,t[r]=a,r=o;else break e}}function lc(t){return t=t[0],t===void 0?null:t}function NQ(t){var e=t[0];if(e!==void 0){var r=t.pop();if(r!==e){t[0]=r;e:for(var o=0,a=t.length;o<a;){var n=2*(o+1)-1,u=t[n],A=n+1,p=t[A];if(u!==void 0&&0>FQ(u,r))p!==void 0&&0>FQ(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>FQ(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function FQ(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var iu=[],gh=[],eyt=1,ea=null,Ro=3,LQ=!1,lm=!1,K2=!1;function OQ(t){for(var e=lc(gh);e!==null;){if(e.callback===null)NQ(gh);else if(e.startTime<=t)NQ(gh),e.sortIndex=e.expirationTime,w6(iu,e);else break;e=lc(gh)}}function B6(t){if(K2=!1,OQ(t),!lm)if(lc(iu)!==null)lm=!0,TE(v6);else{var e=lc(gh);e!==null&&Y2(B6,e.startTime-t)}}function v6(t,e){lm=!1,K2&&(K2=!1,RQ()),LQ=!0;var r=Ro;try{for(OQ(e),ea=lc(iu);ea!==null&&(!(ea.expirationTime>e)||t&&!TQ());){var o=ea.callback;if(o!==null){ea.callback=null,Ro=ea.priorityLevel;var a=o(ea.expirationTime<=e);e=vn.unstable_now(),typeof a=="function"?ea.callback=a:ea===lc(iu)&&NQ(iu),OQ(e)}else NQ(iu);ea=lc(iu)}if(ea!==null)var n=!0;else{var u=lc(gh);u!==null&&Y2(B6,u.startTime-e),n=!1}return n}finally{ea=null,Ro=r,LQ=!1}}function jCe(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var tyt=I6;vn.unstable_ImmediatePriority=1;vn.unstable_UserBlockingPriority=2;vn.unstable_NormalPriority=3;vn.unstable_IdlePriority=5;vn.unstable_LowPriority=4;vn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Ro;Ro=t;try{return e()}finally{Ro=r}};vn.unstable_next=function(t){switch(Ro){case 1:case 2:case 3:var e=3;break;default:e=Ro}var r=Ro;Ro=e;try{return t()}finally{Ro=r}};vn.unstable_scheduleCallback=function(t,e,r){var o=vn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0<a?o+a:o,r=typeof r.timeout=="number"?r.timeout:jCe(t)}else r=jCe(t),a=o;return r=a+r,t={id:eyt++,callback:e,priorityLevel:t,startTime:a,expirationTime:r,sortIndex:-1},a>o?(t.sortIndex=a,w6(gh,t),lc(iu)===null&&t===lc(gh)&&(K2?RQ():K2=!0,Y2(B6,a-o))):(t.sortIndex=r,w6(iu,t),lm||LQ||(lm=!0,TE(v6))),t};vn.unstable_cancelCallback=function(t){t.callback=null};vn.unstable_wrapCallback=function(t){var e=Ro;return function(){var r=Ro;Ro=e;try{return t.apply(this,arguments)}finally{Ro=r}}};vn.unstable_getCurrentPriorityLevel=function(){return Ro};vn.unstable_shouldYield=function(){var t=vn.unstable_now();OQ(t);var e=lc(iu);return e!==ea&&ea!==null&&e!==null&&e.callback!==null&&e.startTime<=t&&e.expirationTime<ea.expirationTime||TQ()};vn.unstable_requestPaint=tyt;vn.unstable_continueExecution=function(){lm||LQ||(lm=!0,TE(v6))};vn.unstable_pauseExecution=function(){};vn.unstable_getFirstCallbackNode=function(){return lc(iu)};vn.unstable_Profiling=null});var D6=U((mYt,WCe)=>{"use strict";WCe.exports=GCe()});var YCe=U((yYt,V2)=>{V2.exports=function t(e){"use strict";var r=ZH(),o=en(),a=D6();function n(S){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+S,T=1;T<arguments.length;T++)D+="&args[]="+encodeURIComponent(arguments[T]);return"Minified React error #"+S+"; visit "+D+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;u.hasOwnProperty("ReactCurrentDispatcher")||(u.ReactCurrentDispatcher={current:null}),u.hasOwnProperty("ReactCurrentBatchConfig")||(u.ReactCurrentBatchConfig={suspense:null});var A=typeof Symbol=="function"&&Symbol.for,p=A?Symbol.for("react.element"):60103,h=A?Symbol.for("react.portal"):60106,E=A?Symbol.for("react.fragment"):60107,w=A?Symbol.for("react.strict_mode"):60108,v=A?Symbol.for("react.profiler"):60114,b=A?Symbol.for("react.provider"):60109,C=A?Symbol.for("react.context"):60110,R=A?Symbol.for("react.concurrent_mode"):60111,L=A?Symbol.for("react.forward_ref"):60112,_=A?Symbol.for("react.suspense"):60113,V=A?Symbol.for("react.suspense_list"):60120,re=A?Symbol.for("react.memo"):60115,oe=A?Symbol.for("react.lazy"):60116;A&&Symbol.for("react.fundamental"),A&&Symbol.for("react.responder"),A&&Symbol.for("react.scope");var pe=typeof Symbol=="function"&&Symbol.iterator;function he(S){return S===null||typeof S!="object"?null:(S=pe&&S[pe]||S["@@iterator"],typeof S=="function"?S:null)}function ve(S){if(S._status===-1){S._status=0;var D=S._ctor;D=D(),S._result=D,D.then(function(T){S._status===0&&(T=T.default,S._status=1,S._result=T)},function(T){S._status===0&&(S._status=2,S._result=T)})}}function ge(S){if(S==null)return null;if(typeof S=="function")return S.displayName||S.name||null;if(typeof S=="string")return S;switch(S){case E:return"Fragment";case h:return"Portal";case v:return"Profiler";case w:return"StrictMode";case _:return"Suspense";case V:return"SuspenseList"}if(typeof S=="object")switch(S.$$typeof){case C:return"Context.Consumer";case b:return"Context.Provider";case L:var D=S.render;return D=D.displayName||D.name||"",S.displayName||(D!==""?"ForwardRef("+D+")":"ForwardRef");case re:return ge(S.type);case oe:if(S=S._status===1?S._result:null)return ge(S)}return null}function le(S){var D=S,T=S;if(S.alternate)for(;D.return;)D=D.return;else{S=D;do D=S,(D.effectTag&1026)!==0&&(T=D.return),S=D.return;while(S)}return D.tag===3?T:null}function Pe(S){if(le(S)!==S)throw Error(n(188))}function g(S){var D=S.alternate;if(!D){if(D=le(S),D===null)throw Error(n(188));return D!==S?null:S}for(var T=S,q=D;;){var W=T.return;if(W===null)break;var ce=W.alternate;if(ce===null){if(q=W.return,q!==null){T=q;continue}break}if(W.child===ce.child){for(ce=W.child;ce;){if(ce===T)return Pe(W),S;if(ce===q)return Pe(W),D;ce=ce.sibling}throw Error(n(188))}if(T.return!==q.return)T=W,q=ce;else{for(var Se=!1,It=W.child;It;){if(It===T){Se=!0,T=W,q=ce;break}if(It===q){Se=!0,q=W,T=ce;break}It=It.sibling}if(!Se){for(It=ce.child;It;){if(It===T){Se=!0,T=ce,q=W;break}if(It===q){Se=!0,q=ce,T=W;break}It=It.sibling}if(!Se)throw Error(n(189))}}if(T.alternate!==q)throw Error(n(190))}if(T.tag!==3)throw Error(n(188));return T.stateNode.current===T?S:D}function De(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}function Ce(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child&&D.tag!==4)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}var de=e.getPublicInstance,ne=e.getRootHostContext,Z=e.getChildHostContext,me=e.prepareForCommit,be=e.resetAfterCommit,ut=e.createInstance,H=e.appendInitialChild,yt=e.finalizeInitialChildren,Me=e.prepareUpdate,Te=e.shouldSetTextContent,Qe=e.shouldDeprioritizeSubtree,_e=e.createTextInstance,qe=e.setTimeout,At=e.clearTimeout,Oe=e.noTimeout,x=e.isPrimaryRenderer,I=e.supportsMutation,P=e.supportsPersistence,y=e.supportsHydration,F=e.appendChild,J=e.appendChildToContainer,X=e.commitTextUpdate,$=e.commitMount,ie=e.commitUpdate,ke=e.insertBefore,Ne=e.insertInContainerBefore,st=e.removeChild,ht=e.removeChildFromContainer,Ut=e.resetTextContent,Xt=e.hideInstance,Pt=e.hideTextInstance,tn=e.unhideInstance,Dr=e.unhideTextInstance,fr=e.cloneInstance,Br=e.createContainerChildSet,jr=e.appendChildToContainerChildSet,Hn=e.finalizeContainerChildren,bs=e.replaceContainerChildren,ki=e.cloneHiddenInstance,gs=e.cloneHiddenTextInstance,to=e.canHydrateInstance,Di=e.canHydrateTextInstance,Qs=e.isSuspenseInstancePending,ro=e.isSuspenseInstanceFallback,pc=e.getNextHydratableSibling,gu=e.getFirstHydratableChild,ap=e.hydrateInstance,lp=e.hydrateTextInstance,ks=e.getNextHydratableInstanceAfterSuspenseInstance,En=e.commitHydratedContainer,no=e.commitHydratedSuspenseInstance,Fs=/^(.*)[\\\/]/;function Cl(S){var D="";do{e:switch(S.tag){case 3:case 4:case 6:case 7:case 10:case 9:var T="";break e;default:var q=S._debugOwner,W=S._debugSource,ce=ge(S.type);T=null,q&&(T=ge(q.type)),q=ce,ce="",W?ce=" (at "+W.fileName.replace(Fs,"")+":"+W.lineNumber+")":T&&(ce=" (created by "+T+")"),T=`
282 in `+(q||"Unknown")+ce}D+=T,S=S.return}while(S);return D}var ml=[],io=-1;function _e(S){0>io||(S.current=ml[io],ml[io]=null,io--)}function Fn(S,D){io++,ml[io]=S.current,S.current=D}var Fi={},Rn={current:Fi},Ui={current:!1},Zt=Fi;function Ri(S,D){var T=S.type.contextTypes;if(!T)return Fi;var q=S.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===D)return q.__reactInternalMemoizedMaskedChildContext;var W={},ce;for(ce in T)W[ce]=D[ce];return q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=D,S.__reactInternalMemoizedMaskedChildContext=W),W}function Zn(S){return S=S.childContextTypes,S!=null}function La(S){_e(Ui,S),_e(Rn,S)}function $t(S){_e(Ui,S),_e(Rn,S)}function Ac(S,D,T){if(Rn.current!==Fi)throw Error(n(168));Fn(Rn,D,S),Fn(Ui,T,S)}function gu(S,D,T){var q=S.stateNode;if(S=D.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var W in q)if(!(W in S))throw Error(n(108,ge(D)||"Unknown",W));return r({},T,{},q)}function fc(S){var D=S.stateNode;return D=D&&D.__reactInternalMemoizedMergedChildContext||Fi,Zt=Rn.current,Fn(Rn,D,S),Fn(Ui,Ui.current,S),!0}function yl(S,D,T){var q=S.stateNode;if(!q)throw Error(n(169));T?(D=gu(S,D,Zt),q.__reactInternalMemoizedMergedChildContext=D,_e(Ui,S),_e(Rn,S),Fn(Rn,D,S)):_e(Ui,S),Fn(Ui,T,S)}var DA=a.unstable_runWithPriority,du=a.unstable_scheduleCallback,Ce=a.unstable_cancelCallback,Rt=a.unstable_shouldYield,pc=a.unstable_requestPaint,_i=a.unstable_now,mu=a.unstable_getCurrentPriorityLevel,qt=a.unstable_ImmediatePriority,El=a.unstable_UserBlockingPriority,SA=a.unstable_NormalPriority,lp=a.unstable_LowPriority,hc=a.unstable_IdlePriority,PA={},Dn=pc!==void 0?pc:function(){},ui=null,gc=null,xA=!1,ta=_i(),Hi=1e4>ta?_i:function(){return _i()-ta};function Lo(){switch(mu()){case qt:return 99;case El:return 98;case SA:return 97;case lp:return 96;case hc:return 95;default:throw Error(n(332))}}function $e(S){switch(S){case 99:return qt;case 98:return El;case 97:return SA;case 96:return lp;case 95:return hc;default:throw Error(n(332))}}function so(S,D){return S=$e(S),DA(S,D)}function Cl(S,D,T){return S=$e(S),du(S,D,T)}function yu(S){return ui===null?(ui=[S],gc=du(qt,Eu)):ui.push(S),PA}function qi(){if(gc!==null){var S=gc;gc=null,Ce(S)}Eu()}function Eu(){if(!xA&&ui!==null){xA=!0;var S=0;try{var D=ui;so(99,function(){for(;S<D.length;S++){var T=D[S];do T=T(!0);while(T!==null)}}),ui=null}catch(T){throw ui!==null&&(ui=ui.slice(S+1)),du(qt,qi),T}finally{xA=!1}}}var bA=3;function Oa(S,D,T){return T/=10,1073741821-(((1073741821-S+D/10)/T|0)+1)*T}function dc(S,D){return S===D&&(S!==0||1/S===1/D)||S!==S&&D!==D}var ds=typeof Object.is=="function"?Object.is:dc,Ot=Object.prototype.hasOwnProperty;function Sn(S,D){if(ds(S,D))return!0;if(typeof S!="object"||S===null||typeof D!="object"||D===null)return!1;var T=Object.keys(S),q=Object.keys(D);if(T.length!==q.length)return!1;for(q=0;q<T.length;q++)if(!Ot.call(D,T[q])||!ds(S[T[q]],D[T[q]]))return!1;return!0}function di(S,D){if(S&&S.defaultProps){D=r({},D),S=S.defaultProps;for(var T in S)D[T]===void 0&&(D[T]=S[T])}return D}var ra={current:null},oo=null,Rs=null,na=null;function ia(){na=Rs=oo=null}function Oo(S,D){var T=S.type._context;x?(Fn(ra,T._currentValue,S),T._currentValue=D):(Fn(ra,T._currentValue2,S),T._currentValue2=D)}function Zi(S){var D=ra.current;_e(ra,S),S=S.type._context,x?S._currentValue=D:S._currentValue2=D}function Ts(S,D){for(;S!==null;){var T=S.alternate;if(S.childExpirationTime<D)S.childExpirationTime=D,T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D);else if(T!==null&&T.childExpirationTime<D)T.childExpirationTime=D;else break;S=S.return}}function Ns(S,D){oo=S,na=Rs=null,S=S.dependencies,S!==null&&S.firstContext!==null&&(S.expirationTime>=D&&(Mo=!0),S.firstContext=null)}function Ls(S,D){if(na!==S&&D!==!1&&D!==0)if((typeof D!="number"||D===1073741823)&&(na=S,D=1073741823),D={context:S,observedBits:D,next:null},Rs===null){if(oo===null)throw Error(n(308));Rs=D,oo.dependencies={expirationTime:0,firstContext:D,responders:null}}else Rs=Rs.next=D;return x?S._currentValue:S._currentValue2}var ao=!1;function Wn(S){return{baseState:S,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function qn(S){return{baseState:S.baseState,firstUpdate:S.firstUpdate,lastUpdate:S.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function $i(S,D){return{expirationTime:S,suspenseConfig:D,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function es(S,D){S.lastUpdate===null?S.firstUpdate=S.lastUpdate=D:(S.lastUpdate.next=D,S.lastUpdate=D)}function mi(S,D){var T=S.alternate;if(T===null){var q=S.updateQueue,W=null;q===null&&(q=S.updateQueue=Wn(S.memoizedState))}else q=S.updateQueue,W=T.updateQueue,q===null?W===null?(q=S.updateQueue=Wn(S.memoizedState),W=T.updateQueue=Wn(T.memoizedState)):q=S.updateQueue=qn(W):W===null&&(W=T.updateQueue=qn(q));W===null||q===W?es(q,D):q.lastUpdate===null||W.lastUpdate===null?(es(q,D),es(W,D)):(es(q,D),W.lastUpdate=D)}function Ma(S,D){var T=S.updateQueue;T=T===null?S.updateQueue=Wn(S.memoizedState):sa(S,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=D:(T.lastCapturedUpdate.next=D,T.lastCapturedUpdate=D)}function sa(S,D){var T=S.alternate;return T!==null&&D===T.updateQueue&&(D=S.updateQueue=qn(D)),D}function ee(S,D,T,q,W,ce){switch(T.tag){case 1:return S=T.payload,typeof S=="function"?S.call(ce,q,W):S;case 3:S.effectTag=S.effectTag&-4097|64;case 0:if(S=T.payload,W=typeof S=="function"?S.call(ce,q,W):S,W==null)break;return r({},q,W);case 2:ao=!0}return q}function we(S,D,T,q,W){ao=!1,D=sa(S,D);for(var ce=D.baseState,Se=null,It=0,Et=D.firstUpdate,xt=ce;Et!==null;){var Nr=Et.expirationTime;Nr<W?(Se===null&&(Se=Et,ce=xt),It<Nr&&(It=Nr)):(hI(Nr,Et.suspenseConfig),xt=ee(S,D,Et,xt,T,q),Et.callback!==null&&(S.effectTag|=32,Et.nextEffect=null,D.lastEffect===null?D.firstEffect=D.lastEffect=Et:(D.lastEffect.nextEffect=Et,D.lastEffect=Et))),Et=Et.next}for(Nr=null,Et=D.firstCapturedUpdate;Et!==null;){var is=Et.expirationTime;is<W?(Nr===null&&(Nr=Et,Se===null&&(ce=xt)),It<is&&(It=is)):(xt=ee(S,D,Et,xt,T,q),Et.callback!==null&&(S.effectTag|=32,Et.nextEffect=null,D.lastCapturedEffect===null?D.firstCapturedEffect=D.lastCapturedEffect=Et:(D.lastCapturedEffect.nextEffect=Et,D.lastCapturedEffect=Et))),Et=Et.next}Se===null&&(D.lastUpdate=null),Nr===null?D.lastCapturedUpdate=null:S.effectTag|=32,Se===null&&Nr===null&&(ce=xt),D.baseState=ce,D.firstUpdate=Se,D.firstCapturedUpdate=Nr,Mm(It),S.expirationTime=It,S.memoizedState=xt}function qe(S,D,T){D.firstCapturedUpdate!==null&&(D.lastUpdate!==null&&(D.lastUpdate.next=D.firstCapturedUpdate,D.lastUpdate=D.lastCapturedUpdate),D.firstCapturedUpdate=D.lastCapturedUpdate=null),Be(D.firstEffect,T),D.firstEffect=D.lastEffect=null,Be(D.firstCapturedEffect,T),D.firstCapturedEffect=D.lastCapturedEffect=null}function Be(S,D){for(;S!==null;){var T=S.callback;if(T!==null){S.callback=null;var q=D;if(typeof T!="function")throw Error(n(191,T));T.call(q)}S=S.nextEffect}}var xe=u.ReactCurrentBatchConfig,Je=new o.Component().refs;function vt(S,D,T,q){D=S.memoizedState,T=T(q,D),T=T==null?D:r({},D,T),S.memoizedState=T,q=S.updateQueue,q!==null&&S.expirationTime===0&&(q.baseState=T)}var tr={isMounted:function(S){return(S=S._reactInternalFiber)?le(S)===S:!1},enqueueSetState:function(S,D,T){S=S._reactInternalFiber;var q=ha(),W=xe.suspense;q=_A(q,S,W),W=$i(q,W),W.payload=D,T!=null&&(W.callback=T),mi(S,W),Pc(S,q)},enqueueReplaceState:function(S,D,T){S=S._reactInternalFiber;var q=ha(),W=xe.suspense;q=_A(q,S,W),W=$i(q,W),W.tag=1,W.payload=D,T!=null&&(W.callback=T),mi(S,W),Pc(S,q)},enqueueForceUpdate:function(S,D){S=S._reactInternalFiber;var T=ha(),q=xe.suspense;T=_A(T,S,q),q=$i(T,q),q.tag=2,D!=null&&(q.callback=D),mi(S,q),Pc(S,T)}};function Zr(S,D,T,q,W,ce,Se){return S=S.stateNode,typeof S.shouldComponentUpdate=="function"?S.shouldComponentUpdate(q,ce,Se):D.prototype&&D.prototype.isPureReactComponent?!Sn(T,q)||!Sn(W,ce):!0}function Tn(S,D,T){var q=!1,W=Fi,ce=D.contextType;return typeof ce=="object"&&ce!==null?ce=Ls(ce):(W=Zn(D)?Zt:Rn.current,q=D.contextTypes,ce=(q=q!=null)?Ri(S,W):Fi),D=new D(T,ce),S.memoizedState=D.state!==null&&D.state!==void 0?D.state:null,D.updater=tr,S.stateNode=D,D._reactInternalFiber=S,q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=W,S.__reactInternalMemoizedMaskedChildContext=ce),D}function _r(S,D,T,q){S=D.state,typeof D.componentWillReceiveProps=="function"&&D.componentWillReceiveProps(T,q),typeof D.UNSAFE_componentWillReceiveProps=="function"&&D.UNSAFE_componentWillReceiveProps(T,q),D.state!==S&&tr.enqueueReplaceState(D,D.state,null)}function $n(S,D,T,q){var W=S.stateNode;W.props=T,W.state=S.memoizedState,W.refs=Je;var ce=D.contextType;typeof ce=="object"&&ce!==null?W.context=Ls(ce):(ce=Zn(D)?Zt:Rn.current,W.context=Ri(S,ce)),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState),ce=D.getDerivedStateFromProps,typeof ce=="function"&&(vt(S,D,ce,T),W.state=S.memoizedState),typeof D.getDerivedStateFromProps=="function"||typeof W.getSnapshotBeforeUpdate=="function"||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(D=W.state,typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount(),D!==W.state&&tr.enqueueReplaceState(W,W.state,null),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState)),typeof W.componentDidMount=="function"&&(S.effectTag|=4)}var Ti=Array.isArray;function Yn(S,D,T){if(S=T.ref,S!==null&&typeof S!="function"&&typeof S!="object"){if(T._owner){if(T=T._owner,T){if(T.tag!==1)throw Error(n(309));var q=T.stateNode}if(!q)throw Error(n(147,S));var W=""+S;return D!==null&&D.ref!==null&&typeof D.ref=="function"&&D.ref._stringRef===W?D.ref:(D=function(ce){var Se=q.refs;Se===Je&&(Se=q.refs={}),ce===null?delete Se[W]:Se[W]=ce},D._stringRef=W,D)}if(typeof S!="string")throw Error(n(284));if(!T._owner)throw Error(n(290,S))}return S}function Ua(S,D){if(S.type!=="textarea")throw Error(n(31,Object.prototype.toString.call(D)==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":D,""))}function oa(S){function D(rt,Ve){if(S){var ft=rt.lastEffect;ft!==null?(ft.nextEffect=Ve,rt.lastEffect=Ve):rt.firstEffect=rt.lastEffect=Ve,Ve.nextEffect=null,Ve.effectTag=8}}function T(rt,Ve){if(!S)return null;for(;Ve!==null;)D(rt,Ve),Ve=Ve.sibling;return null}function q(rt,Ve){for(rt=new Map;Ve!==null;)Ve.key!==null?rt.set(Ve.key,Ve):rt.set(Ve.index,Ve),Ve=Ve.sibling;return rt}function W(rt,Ve,ft){return rt=GA(rt,Ve,ft),rt.index=0,rt.sibling=null,rt}function ce(rt,Ve,ft){return rt.index=ft,S?(ft=rt.alternate,ft!==null?(ft=ft.index,ft<Ve?(rt.effectTag=2,Ve):ft):(rt.effectTag=2,Ve)):Ve}function Se(rt){return S&&rt.alternate===null&&(rt.effectTag=2),rt}function It(rt,Ve,ft,jt){return Ve===null||Ve.tag!==6?(Ve=EI(ft,rt.mode,jt),Ve.return=rt,Ve):(Ve=W(Ve,ft,jt),Ve.return=rt,Ve)}function Et(rt,Ve,ft,jt){return Ve!==null&&Ve.elementType===ft.type?(jt=W(Ve,ft.props,jt),jt.ref=Yn(rt,Ve,ft),jt.return=rt,jt):(jt=Um(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Yn(rt,Ve,ft),jt.return=rt,jt)}function xt(rt,Ve,ft,jt){return Ve===null||Ve.tag!==4||Ve.stateNode.containerInfo!==ft.containerInfo||Ve.stateNode.implementation!==ft.implementation?(Ve=CI(ft,rt.mode,jt),Ve.return=rt,Ve):(Ve=W(Ve,ft.children||[],jt),Ve.return=rt,Ve)}function Nr(rt,Ve,ft,jt,Er){return Ve===null||Ve.tag!==7?(Ve=ku(ft,rt.mode,jt,Er),Ve.return=rt,Ve):(Ve=W(Ve,ft,jt),Ve.return=rt,Ve)}function is(rt,Ve,ft){if(typeof Ve=="string"||typeof Ve=="number")return Ve=EI(""+Ve,rt.mode,ft),Ve.return=rt,Ve;if(typeof Ve=="object"&&Ve!==null){switch(Ve.$$typeof){case p:return ft=Um(Ve.type,Ve.key,Ve.props,null,rt.mode,ft),ft.ref=Yn(rt,null,Ve),ft.return=rt,ft;case h:return Ve=CI(Ve,rt.mode,ft),Ve.return=rt,Ve}if(Ti(Ve)||he(Ve))return Ve=ku(Ve,rt.mode,ft,null),Ve.return=rt,Ve;Ua(rt,Ve)}return null}function fi(rt,Ve,ft,jt){var Er=Ve!==null?Ve.key:null;if(typeof ft=="string"||typeof ft=="number")return Er!==null?null:It(rt,Ve,""+ft,jt);if(typeof ft=="object"&&ft!==null){switch(ft.$$typeof){case p:return ft.key===Er?ft.type===C?Nr(rt,Ve,ft.props.children,jt,Er):Et(rt,Ve,ft,jt):null;case h:return ft.key===Er?xt(rt,Ve,ft,jt):null}if(Ti(ft)||he(ft))return Er!==null?null:Nr(rt,Ve,ft,jt,null);Ua(rt,ft)}return null}function Ao(rt,Ve,ft,jt,Er){if(typeof jt=="string"||typeof jt=="number")return rt=rt.get(ft)||null,It(Ve,rt,""+jt,Er);if(typeof jt=="object"&&jt!==null){switch(jt.$$typeof){case p:return rt=rt.get(jt.key===null?ft:jt.key)||null,jt.type===C?Nr(Ve,rt,jt.props.children,Er,jt.key):Et(Ve,rt,jt,Er);case h:return rt=rt.get(jt.key===null?ft:jt.key)||null,xt(Ve,rt,jt,Er)}if(Ti(jt)||he(jt))return rt=rt.get(ft)||null,Nr(Ve,rt,jt,Er,null);Ua(Ve,jt)}return null}function YA(rt,Ve,ft,jt){for(var Er=null,In=null,Sr=Ve,wn=Ve=0,ri=null;Sr!==null&&wn<ft.length;wn++){Sr.index>wn?(ri=Sr,Sr=null):ri=Sr.sibling;var Xr=fi(rt,Sr,ft[wn],jt);if(Xr===null){Sr===null&&(Sr=ri);break}S&&Sr&&Xr.alternate===null&&D(rt,Sr),Ve=ce(Xr,Ve,wn),In===null?Er=Xr:In.sibling=Xr,In=Xr,Sr=ri}if(wn===ft.length)return T(rt,Sr),Er;if(Sr===null){for(;wn<ft.length;wn++)Sr=is(rt,ft[wn],jt),Sr!==null&&(Ve=ce(Sr,Ve,wn),In===null?Er=Sr:In.sibling=Sr,In=Sr);return Er}for(Sr=q(rt,Sr);wn<ft.length;wn++)ri=Ao(Sr,rt,wn,ft[wn],jt),ri!==null&&(S&&ri.alternate!==null&&Sr.delete(ri.key===null?wn:ri.key),Ve=ce(ri,Ve,wn),In===null?Er=ri:In.sibling=ri,In=ri);return S&&Sr.forEach(function(fo){return D(rt,fo)}),Er}function _o(rt,Ve,ft,jt){var Er=he(ft);if(typeof Er!="function")throw Error(n(150));if(ft=Er.call(ft),ft==null)throw Error(n(151));for(var In=Er=null,Sr=Ve,wn=Ve=0,ri=null,Xr=ft.next();Sr!==null&&!Xr.done;wn++,Xr=ft.next()){Sr.index>wn?(ri=Sr,Sr=null):ri=Sr.sibling;var fo=fi(rt,Sr,Xr.value,jt);if(fo===null){Sr===null&&(Sr=ri);break}S&&Sr&&fo.alternate===null&&D(rt,Sr),Ve=ce(fo,Ve,wn),In===null?Er=fo:In.sibling=fo,In=fo,Sr=ri}if(Xr.done)return T(rt,Sr),Er;if(Sr===null){for(;!Xr.done;wn++,Xr=ft.next())Xr=is(rt,Xr.value,jt),Xr!==null&&(Ve=ce(Xr,Ve,wn),In===null?Er=Xr:In.sibling=Xr,In=Xr);return Er}for(Sr=q(rt,Sr);!Xr.done;wn++,Xr=ft.next())Xr=Ao(Sr,rt,wn,Xr.value,jt),Xr!==null&&(S&&Xr.alternate!==null&&Sr.delete(Xr.key===null?wn:Xr.key),Ve=ce(Xr,Ve,wn),In===null?Er=Xr:In.sibling=Xr,In=Xr);return S&&Sr.forEach(function(dF){return D(rt,dF)}),Er}return function(rt,Ve,ft,jt){var Er=typeof ft=="object"&&ft!==null&&ft.type===C&&ft.key===null;Er&&(ft=ft.props.children);var In=typeof ft=="object"&&ft!==null;if(In)switch(ft.$$typeof){case p:e:{for(In=ft.key,Er=Ve;Er!==null;){if(Er.key===In)if(Er.tag===7?ft.type===C:Er.elementType===ft.type){T(rt,Er.sibling),Ve=W(Er,ft.type===C?ft.props.children:ft.props,jt),Ve.ref=Yn(rt,Er,ft),Ve.return=rt,rt=Ve;break e}else{T(rt,Er);break}else D(rt,Er);Er=Er.sibling}ft.type===C?(Ve=ku(ft.props.children,rt.mode,jt,ft.key),Ve.return=rt,rt=Ve):(jt=Um(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Yn(rt,Ve,ft),jt.return=rt,rt=jt)}return Se(rt);case h:e:{for(Er=ft.key;Ve!==null;){if(Ve.key===Er)if(Ve.tag===4&&Ve.stateNode.containerInfo===ft.containerInfo&&Ve.stateNode.implementation===ft.implementation){T(rt,Ve.sibling),Ve=W(Ve,ft.children||[],jt),Ve.return=rt,rt=Ve;break e}else{T(rt,Ve);break}else D(rt,Ve);Ve=Ve.sibling}Ve=CI(ft,rt.mode,jt),Ve.return=rt,rt=Ve}return Se(rt)}if(typeof ft=="string"||typeof ft=="number")return ft=""+ft,Ve!==null&&Ve.tag===6?(T(rt,Ve.sibling),Ve=W(Ve,ft,jt),Ve.return=rt,rt=Ve):(T(rt,Ve),Ve=EI(ft,rt.mode,jt),Ve.return=rt,rt=Ve),Se(rt);if(Ti(ft))return YA(rt,Ve,ft,jt);if(he(ft))return _o(rt,Ve,ft,jt);if(In&&Ua(rt,ft),typeof ft>"u"&&!Er)switch(rt.tag){case 1:case 0:throw rt=rt.type,Error(n(152,rt.displayName||rt.name||"Component"))}return T(rt,Ve)}}var yi=oa(!0),aa=oa(!1),Ha={},lo={current:Ha},QA={current:Ha},mc={current:Ha};function la(S){if(S===Ha)throw Error(n(174));return S}function $h(S,D){Fn(mc,D,S),Fn(QA,S,S),Fn(lo,Ha,S),D=ne(D),_e(lo,S),Fn(lo,D,S)}function yc(S){_e(lo,S),_e(QA,S),_e(mc,S)}function vm(S){var D=la(mc.current),T=la(lo.current);D=Z(T,S.type,D),T!==D&&(Fn(QA,S,S),Fn(lo,D,S))}function eg(S){QA.current===S&&(_e(lo,S),_e(QA,S))}var Kn={current:0};function cp(S){for(var D=S;D!==null;){if(D.tag===13){var T=D.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Qs(T)||ro(T)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if((D.effectTag&64)!==0)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break;for(;D.sibling===null;){if(D.return===null||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}function tg(S,D){return{responder:S,props:D}}var kA=u.ReactCurrentDispatcher,Os=u.ReactCurrentBatchConfig,Cu=0,qa=null,ji=null,ca=null,Iu=null,ms=null,Ec=null,Cc=0,G=null,Dt=0,Il=!1,Si=null,Ic=0;function lt(){throw Error(n(321))}function wu(S,D){if(D===null)return!1;for(var T=0;T<D.length&&T<S.length;T++)if(!ds(S[T],D[T]))return!1;return!0}function rg(S,D,T,q,W,ce){if(Cu=ce,qa=D,ca=S!==null?S.memoizedState:null,kA.current=ca===null?oI:Pm,D=T(q,W),Il){do Il=!1,Ic+=1,ca=S!==null?S.memoizedState:null,Ec=Iu,G=ms=ji=null,kA.current=Pm,D=T(q,W);while(Il);Si=null,Ic=0}if(kA.current=vu,S=qa,S.memoizedState=Iu,S.expirationTime=Cc,S.updateQueue=G,S.effectTag|=Dt,S=ji!==null&&ji.next!==null,Cu=0,Ec=ms=Iu=ca=ji=qa=null,Cc=0,G=null,Dt=0,S)throw Error(n(300));return D}function sI(){kA.current=vu,Cu=0,Ec=ms=Iu=ca=ji=qa=null,Cc=0,G=null,Dt=0,Il=!1,Si=null,Ic=0}function FA(){var S={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return ms===null?Iu=ms=S:ms=ms.next=S,ms}function up(){if(Ec!==null)ms=Ec,Ec=ms.next,ji=ca,ca=ji!==null?ji.next:null;else{if(ca===null)throw Error(n(310));ji=ca;var S={memoizedState:ji.memoizedState,baseState:ji.baseState,queue:ji.queue,baseUpdate:ji.baseUpdate,next:null};ms=ms===null?Iu=S:ms.next=S,ca=ji.next}return ms}function yr(S,D){return typeof D=="function"?D(S):D}function ys(S){var D=up(),T=D.queue;if(T===null)throw Error(n(311));if(T.lastRenderedReducer=S,0<Ic){var q=T.dispatch;if(Si!==null){var W=Si.get(T);if(W!==void 0){Si.delete(T);var ce=D.memoizedState;do ce=S(ce,W.action),W=W.next;while(W!==null);return ds(ce,D.memoizedState)||(Mo=!0),D.memoizedState=ce,D.baseUpdate===T.last&&(D.baseState=ce),T.lastRenderedState=ce,[ce,q]}}return[D.memoizedState,q]}q=T.last;var Se=D.baseUpdate;if(ce=D.baseState,Se!==null?(q!==null&&(q.next=null),q=Se.next):q=q!==null?q.next:null,q!==null){var It=W=null,Et=q,xt=!1;do{var Nr=Et.expirationTime;Nr<Cu?(xt||(xt=!0,It=Se,W=ce),Nr>Cc&&(Cc=Nr,Mm(Cc))):(hI(Nr,Et.suspenseConfig),ce=Et.eagerReducer===S?Et.eagerState:S(ce,Et.action)),Se=Et,Et=Et.next}while(Et!==null&&Et!==q);xt||(It=Se,W=ce),ds(ce,D.memoizedState)||(Mo=!0),D.memoizedState=ce,D.baseUpdate=It,D.baseState=W,T.lastRenderedState=ce}return[D.memoizedState,T.dispatch]}function ng(S){var D=FA();return typeof S=="function"&&(S=S()),D.memoizedState=D.baseState=S,S=D.queue={last:null,dispatch:null,lastRenderedReducer:yr,lastRenderedState:S},S=S.dispatch=lg.bind(null,qa,S),[D.memoizedState,S]}function ig(S){return ys(yr,S)}function sg(S,D,T,q){return S={tag:S,create:D,destroy:T,deps:q,next:null},G===null?(G={lastEffect:null},G.lastEffect=S.next=S):(D=G.lastEffect,D===null?G.lastEffect=S.next=S:(T=D.next,D.next=S,S.next=T,G.lastEffect=S)),S}function Ap(S,D,T,q){var W=FA();Dt|=S,W.memoizedState=sg(D,T,void 0,q===void 0?null:q)}function wc(S,D,T,q){var W=up();q=q===void 0?null:q;var ce=void 0;if(ji!==null){var Se=ji.memoizedState;if(ce=Se.destroy,q!==null&&wu(q,Se.deps)){sg(0,T,ce,q);return}}Dt|=S,W.memoizedState=sg(D,T,ce,q)}function mt(S,D){return Ap(516,192,S,D)}function Dm(S,D){return wc(516,192,S,D)}function og(S,D){if(typeof D=="function")return S=S(),D(S),function(){D(null)};if(D!=null)return S=S(),D.current=S,function(){D.current=null}}function ag(){}function Bu(S,D){return FA().memoizedState=[S,D===void 0?null:D],S}function Sm(S,D){var T=up();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&wu(D,q[1])?q[0]:(T.memoizedState=[S,D],S)}function lg(S,D,T){if(!(25>Ic))throw Error(n(301));var q=S.alternate;if(S===qa||q!==null&&q===qa)if(Il=!0,S={expirationTime:Cu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},Si===null&&(Si=new Map),T=Si.get(D),T===void 0)Si.set(D,S);else{for(D=T;D.next!==null;)D=D.next;D.next=S}else{var W=ha(),ce=xe.suspense;W=_A(W,S,ce),ce={expirationTime:W,suspenseConfig:ce,action:T,eagerReducer:null,eagerState:null,next:null};var Se=D.last;if(Se===null)ce.next=ce;else{var It=Se.next;It!==null&&(ce.next=It),Se.next=ce}if(D.last=ce,S.expirationTime===0&&(q===null||q.expirationTime===0)&&(q=D.lastRenderedReducer,q!==null))try{var Et=D.lastRenderedState,xt=q(Et,T);if(ce.eagerReducer=q,ce.eagerState=xt,ds(xt,Et))return}catch{}finally{}Pc(S,W)}}var vu={readContext:Ls,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useResponder:lt,useDeferredValue:lt,useTransition:lt},oI={readContext:Ls,useCallback:Bu,useContext:Ls,useEffect:mt,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,Ap(4,36,og.bind(null,D,S),T)},useLayoutEffect:function(S,D){return Ap(4,36,S,D)},useMemo:function(S,D){var T=FA();return D=D===void 0?null:D,S=S(),T.memoizedState=[S,D],S},useReducer:function(S,D,T){var q=FA();return D=T!==void 0?T(D):D,q.memoizedState=q.baseState=D,S=q.queue={last:null,dispatch:null,lastRenderedReducer:S,lastRenderedState:D},S=S.dispatch=lg.bind(null,qa,S),[q.memoizedState,S]},useRef:function(S){var D=FA();return S={current:S},D.memoizedState=S},useState:ng,useDebugValue:ag,useResponder:tg,useDeferredValue:function(S,D){var T=ng(S),q=T[0],W=T[1];return mt(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=ng(!1),T=D[0],q=D[1];return[Bu(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},Pm={readContext:Ls,useCallback:Sm,useContext:Ls,useEffect:Dm,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,wc(4,36,og.bind(null,D,S),T)},useLayoutEffect:function(S,D){return wc(4,36,S,D)},useMemo:function(S,D){var T=up();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&wu(D,q[1])?q[0]:(S=S(),T.memoizedState=[S,D],S)},useReducer:ys,useRef:function(){return up().memoizedState},useState:ig,useDebugValue:ag,useResponder:tg,useDeferredValue:function(S,D){var T=ig(S),q=T[0],W=T[1];return Dm(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=ig(!1),T=D[0],q=D[1];return[Sm(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},ua=null,Bc=null,wl=!1;function Du(S,D){var T=Dl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=D,T.return=S,T.effectTag=8,S.lastEffect!==null?(S.lastEffect.nextEffect=T,S.lastEffect=T):S.firstEffect=S.lastEffect=T}function cg(S,D){switch(S.tag){case 5:return D=to(D,S.type,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 6:return D=Di(D,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function RA(S){if(wl){var D=Bc;if(D){var T=D;if(!cg(S,D)){if(D=uc(T),!D||!cg(S,D)){S.effectTag=S.effectTag&-1025|2,wl=!1,ua=S;return}Du(ua,T)}ua=S,Bc=hu(D)}else S.effectTag=S.effectTag&-1025|2,wl=!1,ua=S}}function fp(S){for(S=S.return;S!==null&&S.tag!==5&&S.tag!==3&&S.tag!==13;)S=S.return;ua=S}function ja(S){if(!y||S!==ua)return!1;if(!wl)return fp(S),wl=!0,!1;var D=S.type;if(S.tag!==5||D!=="head"&&D!=="body"&&!Te(D,S.memoizedProps))for(D=Bc;D;)Du(S,D),D=uc(D);if(fp(S),S.tag===13){if(!y)throw Error(n(316));if(S=S.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(n(317));Bc=ks(S)}else Bc=ua?uc(S.stateNode):null;return!0}function ug(){y&&(Bc=ua=null,wl=!1)}var pp=u.ReactCurrentOwner,Mo=!1;function Es(S,D,T,q){D.child=S===null?aa(D,null,T,q):yi(D,S.child,T,q)}function Ei(S,D,T,q,W){T=T.render;var ce=D.ref;return Ns(D,W),q=rg(S,D,T,q,ce,W),S!==null&&!Mo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ei(S,D,W)):(D.effectTag|=1,Es(S,D,q,W),D.child)}function xm(S,D,T,q,W,ce){if(S===null){var Se=T.type;return typeof Se=="function"&&!yI(Se)&&Se.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(D.tag=15,D.type=Se,bm(S,D,Se,q,W,ce)):(S=Um(T.type,null,q,null,D.mode,ce),S.ref=D.ref,S.return=D,D.child=S)}return Se=S.child,W<ce&&(W=Se.memoizedProps,T=T.compare,T=T!==null?T:Sn,T(W,q)&&S.ref===D.ref)?ei(S,D,ce):(D.effectTag|=1,S=GA(Se,q,ce),S.ref=D.ref,S.return=D,D.child=S)}function bm(S,D,T,q,W,ce){return S!==null&&Sn(S.memoizedProps,q)&&S.ref===D.ref&&(Mo=!1,W<ce)?ei(S,D,ce):TA(S,D,T,q,ce)}function Uo(S,D){var T=D.ref;(S===null&&T!==null||S!==null&&S.ref!==T)&&(D.effectTag|=128)}function TA(S,D,T,q,W){var ce=Zn(T)?Zt:Rn.current;return ce=Ri(D,ce),Ns(D,W),T=rg(S,D,T,q,ce,W),S!==null&&!Mo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ei(S,D,W)):(D.effectTag|=1,Es(S,D,T,W),D.child)}function hp(S,D,T,q,W){if(Zn(T)){var ce=!0;fc(D)}else ce=!1;if(Ns(D,W),D.stateNode===null)S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),Tn(D,T,q,W),$n(D,T,q,W),q=!0;else if(S===null){var Se=D.stateNode,It=D.memoizedProps;Se.props=It;var Et=Se.context,xt=T.contextType;typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=Zn(T)?Zt:Rn.current,xt=Ri(D,xt));var Nr=T.getDerivedStateFromProps,is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function";is||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Et!==xt)&&_r(D,Se,q,xt),ao=!1;var fi=D.memoizedState;Et=Se.state=fi;var Ao=D.updateQueue;Ao!==null&&(we(D,Ao,q,Se,W),Et=D.memoizedState),It!==q||fi!==Et||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),Et=D.memoizedState),(It=ao||Zr(D,T,It,q,fi,Et,xt))?(is||typeof Se.UNSAFE_componentWillMount!="function"&&typeof Se.componentWillMount!="function"||(typeof Se.componentWillMount=="function"&&Se.componentWillMount(),typeof Se.UNSAFE_componentWillMount=="function"&&Se.UNSAFE_componentWillMount()),typeof Se.componentDidMount=="function"&&(D.effectTag|=4)):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),D.memoizedProps=q,D.memoizedState=Et),Se.props=q,Se.state=Et,Se.context=xt,q=It):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),q=!1)}else Se=D.stateNode,It=D.memoizedProps,Se.props=D.type===D.elementType?It:di(D.type,It),Et=Se.context,xt=T.contextType,typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=Zn(T)?Zt:Rn.current,xt=Ri(D,xt)),Nr=T.getDerivedStateFromProps,(is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function")||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Et!==xt)&&_r(D,Se,q,xt),ao=!1,Et=D.memoizedState,fi=Se.state=Et,Ao=D.updateQueue,Ao!==null&&(we(D,Ao,q,Se,W),fi=D.memoizedState),It!==q||Et!==fi||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),fi=D.memoizedState),(Nr=ao||Zr(D,T,It,q,Et,fi,xt))?(is||typeof Se.UNSAFE_componentWillUpdate!="function"&&typeof Se.componentWillUpdate!="function"||(typeof Se.componentWillUpdate=="function"&&Se.componentWillUpdate(q,fi,xt),typeof Se.UNSAFE_componentWillUpdate=="function"&&Se.UNSAFE_componentWillUpdate(q,fi,xt)),typeof Se.componentDidUpdate=="function"&&(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate=="function"&&(D.effectTag|=256)):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=256),D.memoizedProps=q,D.memoizedState=fi),Se.props=q,Se.state=fi,Se.context=xt,q=Nr):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=256),q=!1);return gp(S,D,T,q,ce,W)}function gp(S,D,T,q,W,ce){Uo(S,D);var Se=(D.effectTag&64)!==0;if(!q&&!Se)return W&&yl(D,T,!1),ei(S,D,ce);q=D.stateNode,pp.current=D;var It=Se&&typeof T.getDerivedStateFromError!="function"?null:q.render();return D.effectTag|=1,S!==null&&Se?(D.child=yi(D,S.child,null,ce),D.child=yi(D,null,It,ce)):Es(S,D,It,ce),D.memoizedState=q.state,W&&yl(D,T,!0),D.child}function Ag(S){var D=S.stateNode;D.pendingContext?Ac(S,D.pendingContext,D.pendingContext!==D.context):D.context&&Ac(S,D.context,!1),$h(S,D.containerInfo)}var Aa={dehydrated:null,retryTime:0};function rn(S,D,T){var q=D.mode,W=D.pendingProps,ce=Kn.current,Se=!1,It;if((It=(D.effectTag&64)!==0)||(It=(ce&2)!==0&&(S===null||S.memoizedState!==null)),It?(Se=!0,D.effectTag&=-65):S!==null&&S.memoizedState===null||W.fallback===void 0||W.unstable_avoidThisFallback===!0||(ce|=1),Fn(Kn,ce&1,D),S===null){if(W.fallback!==void 0&&RA(D),Se){if(Se=W.fallback,W=ku(null,q,0,null),W.return=D,(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=ku(Se,q,T,null),T.return=D,W.sibling=T,D.memoizedState=Aa,D.child=W,T}return q=W.children,D.memoizedState=null,D.child=aa(D,null,q,T)}if(S.memoizedState!==null){if(S=S.child,q=S.sibling,Se){if(W=W.fallback,T=GA(S,S.pendingProps,0),T.return=D,(D.mode&2)===0&&(Se=D.memoizedState!==null?D.child.child:D.child,Se!==S.child))for(T.child=Se;Se!==null;)Se.return=T,Se=Se.sibling;return q=GA(q,W,q.expirationTime),q.return=D,T.sibling=q,T.childExpirationTime=0,D.memoizedState=Aa,D.child=T,q}return T=yi(D,S.child,W.children,T),D.memoizedState=null,D.child=T}if(S=S.child,Se){if(Se=W.fallback,W=ku(null,q,0,null),W.return=D,W.child=S,S!==null&&(S.return=W),(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=ku(Se,q,T,null),T.return=D,W.sibling=T,T.effectTag|=2,W.childExpirationTime=0,D.memoizedState=Aa,D.child=W,T}return D.memoizedState=null,D.child=yi(D,S,W.children,T)}function co(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D),Ts(S.return,D)}function NA(S,D,T,q,W,ce){var Se=S.memoizedState;Se===null?S.memoizedState={isBackwards:D,rendering:null,last:q,tail:T,tailExpiration:0,tailMode:W,lastEffect:ce}:(Se.isBackwards=D,Se.rendering=null,Se.last=q,Se.tail=T,Se.tailExpiration=0,Se.tailMode=W,Se.lastEffect=ce)}function Ga(S,D,T){var q=D.pendingProps,W=q.revealOrder,ce=q.tail;if(Es(S,D,q.children,T),q=Kn.current,(q&2)!==0)q=q&1|2,D.effectTag|=64;else{if(S!==null&&(S.effectTag&64)!==0)e:for(S=D.child;S!==null;){if(S.tag===13)S.memoizedState!==null&&co(S,T);else if(S.tag===19)co(S,T);else if(S.child!==null){S.child.return=S,S=S.child;continue}if(S===D)break e;for(;S.sibling===null;){if(S.return===null||S.return===D)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}q&=1}if(Fn(Kn,q,D),(D.mode&2)===0)D.memoizedState=null;else switch(W){case"forwards":for(T=D.child,W=null;T!==null;)S=T.alternate,S!==null&&cp(S)===null&&(W=T),T=T.sibling;T=W,T===null?(W=D.child,D.child=null):(W=T.sibling,T.sibling=null),NA(D,!1,W,T,ce,D.lastEffect);break;case"backwards":for(T=null,W=D.child,D.child=null;W!==null;){if(S=W.alternate,S!==null&&cp(S)===null){D.child=W;break}S=W.sibling,W.sibling=T,T=W,W=S}NA(D,!0,T,null,ce,D.lastEffect);break;case"together":NA(D,!1,null,null,void 0,D.lastEffect);break;default:D.memoizedState=null}return D.child}function ei(S,D,T){S!==null&&(D.dependencies=S.dependencies);var q=D.expirationTime;if(q!==0&&Mm(q),D.childExpirationTime<T)return null;if(S!==null&&D.child!==S.child)throw Error(n(153));if(D.child!==null){for(S=D.child,T=GA(S,S.pendingProps,S.expirationTime),D.child=T,T.return=D;S.sibling!==null;)S=S.sibling,T=T.sibling=GA(S,S.pendingProps,S.expirationTime),T.return=D;T.sibling=null}return D.child}function fa(S){S.effectTag|=4}var vc,Bl,ts,Hr;if(I)vc=function(S,D){for(var T=D.child;T!==null;){if(T.tag===5||T.tag===6)H(S,T.stateNode);else if(T.tag!==4&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===D)break;for(;T.sibling===null;){if(T.return===null||T.return===D)return;T=T.return}T.sibling.return=T.return,T=T.sibling}},Bl=function(){},ts=function(S,D,T,q,W){if(S=S.memoizedProps,S!==q){var ce=D.stateNode,Se=la(lo.current);T=Me(ce,T,S,q,W,Se),(D.updateQueue=T)&&fa(D)}},Hr=function(S,D,T,q){T!==q&&fa(D)};else if(P){vc=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),H(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),H(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,vc(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};var dp=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),jr(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),jr(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,dp(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};Bl=function(S){var D=S.stateNode;if(S.firstEffect!==null){var T=D.containerInfo,q=Br(T);dp(q,S,!1,!1),D.pendingChildren=q,fa(S),Hn(T,q)}},ts=function(S,D,T,q,W){var ce=S.stateNode,Se=S.memoizedProps;if((S=D.firstEffect===null)&&Se===q)D.stateNode=ce;else{var It=D.stateNode,Et=la(lo.current),xt=null;Se!==q&&(xt=Me(It,T,Se,q,W,Et)),S&&xt===null?D.stateNode=ce:(ce=fr(ce,xt,T,Se,q,D,S,It),yt(ce,T,q,W,Et)&&fa(D),D.stateNode=ce,S?fa(D):vc(ce,D,!1,!1))}},Hr=function(S,D,T,q){T!==q&&(S=la(mc.current),T=la(lo.current),D.stateNode=Ue(q,S,T,D),fa(D))}}else Bl=function(){},ts=function(){},Hr=function(){};function Dc(S,D){switch(S.tailMode){case"hidden":D=S.tail;for(var T=null;D!==null;)D.alternate!==null&&(T=D),D=D.sibling;T===null?S.tail=null:T.sibling=null;break;case"collapsed":T=S.tail;for(var q=null;T!==null;)T.alternate!==null&&(q=T),T=T.sibling;q===null?D||S.tail===null?S.tail=null:S.tail.sibling=null:q.sibling=null}}function aI(S){switch(S.tag){case 1:Zn(S.type)&&La(S);var D=S.effectTag;return D&4096?(S.effectTag=D&-4097|64,S):null;case 3:if(yc(S),$t(S),D=S.effectTag,(D&64)!==0)throw Error(n(285));return S.effectTag=D&-4097|64,S;case 5:return eg(S),null;case 13:return _e(Kn,S),D=S.effectTag,D&4096?(S.effectTag=D&-4097|64,S):null;case 19:return _e(Kn,S),null;case 4:return yc(S),null;case 10:return Zi(S),null;default:return null}}function fg(S,D){return{value:S,source:D,stack:dl(D)}}var pg=typeof WeakSet=="function"?WeakSet:Set;function Wa(S,D){var T=D.source,q=D.stack;q===null&&T!==null&&(q=dl(T)),T!==null&&ge(T.type),D=D.value,S!==null&&S.tag===1&&ge(S.type);try{console.error(D)}catch(W){setTimeout(function(){throw W})}}function Qm(S,D){try{D.props=S.memoizedProps,D.state=S.memoizedState,D.componentWillUnmount()}catch(T){jA(S,T)}}function hg(S){var D=S.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(T){jA(S,T)}else D.current=null}function kt(S,D){switch(D.tag){case 0:case 11:case 15:N(2,0,D);break;case 1:if(D.effectTag&256&&S!==null){var T=S.memoizedProps,q=S.memoizedState;S=D.stateNode,D=S.getSnapshotBeforeUpdate(D.elementType===D.type?T:di(D.type,T),q),S.__reactInternalSnapshotBeforeUpdate=D}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}function N(S,D,T){if(T=T.updateQueue,T=T!==null?T.lastEffect:null,T!==null){var q=T=T.next;do{if((q.tag&S)!==0){var W=q.destroy;q.destroy=void 0,W!==void 0&&W()}(q.tag&D)!==0&&(W=q.create,q.destroy=W()),q=q.next}while(q!==T)}}function K(S,D,T){switch(typeof mI=="function"&&mI(D),D.tag){case 0:case 11:case 14:case 15:if(S=D.updateQueue,S!==null&&(S=S.lastEffect,S!==null)){var q=S.next;so(97<T?97:T,function(){var W=q;do{var ce=W.destroy;if(ce!==void 0){var Se=D;try{ce()}catch(It){jA(Se,It)}}W=W.next}while(W!==q)})}break;case 1:hg(D),T=D.stateNode,typeof T.componentWillUnmount=="function"&&Qm(D,T);break;case 5:hg(D);break;case 4:I?gr(S,D,T):P&&ze(D)}}function te(S,D,T){for(var q=D;;)if(K(S,q,T),q.child===null||I&&q.tag===4){if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return}q.sibling.return=q.return,q=q.sibling}else q.child.return=q,q=q.child}function ue(S){var D=S.alternate;S.return=null,S.child=null,S.memoizedState=null,S.updateQueue=null,S.dependencies=null,S.alternate=null,S.firstEffect=null,S.lastEffect=null,S.pendingProps=null,S.memoizedProps=null,D!==null&&ue(D)}function ze(S){if(P){S=S.stateNode.containerInfo;var D=Br(S);bs(S,D)}}function gt(S){return S.tag===5||S.tag===3||S.tag===4}function ur(S){if(I){e:{for(var D=S.return;D!==null;){if(gt(D)){var T=D;break e}D=D.return}throw Error(n(160))}switch(D=T.stateNode,T.tag){case 5:var q=!1;break;case 3:D=D.containerInfo,q=!0;break;case 4:D=D.containerInfo,q=!0;break;default:throw Error(n(161))}T.effectTag&16&&(Ut(D),T.effectTag&=-17);e:t:for(T=S;;){for(;T.sibling===null;){if(T.return===null||gt(T.return)){T=null;break e}T=T.return}for(T.sibling.return=T.return,T=T.sibling;T.tag!==5&&T.tag!==6&&T.tag!==18;){if(T.effectTag&2||T.child===null||T.tag===4)continue t;T.child.return=T,T=T.child}if(!(T.effectTag&2)){T=T.stateNode;break e}}for(var W=S;;){var ce=W.tag===5||W.tag===6;if(ce)ce=ce?W.stateNode:W.stateNode.instance,T?q?Ne(D,ce,T):ke(D,ce,T):q?z(D,ce):F(D,ce);else if(W.tag!==4&&W.child!==null){W.child.return=W,W=W.child;continue}if(W===S)break;for(;W.sibling===null;){if(W.return===null||W.return===S)return;W=W.return}W.sibling.return=W.return,W=W.sibling}}}function gr(S,D,T){for(var q=D,W=!1,ce,Se;;){if(!W){W=q.return;e:for(;;){if(W===null)throw Error(n(160));switch(ce=W.stateNode,W.tag){case 5:Se=!1;break e;case 3:ce=ce.containerInfo,Se=!0;break e;case 4:ce=ce.containerInfo,Se=!0;break e}W=W.return}W=!0}if(q.tag===5||q.tag===6)te(S,q,T),Se?ht(ce,q.stateNode):st(ce,q.stateNode);else if(q.tag===4){if(q.child!==null){ce=q.stateNode.containerInfo,Se=!0,q.child.return=q,q=q.child;continue}}else if(K(S,q,T),q.child!==null){q.child.return=q,q=q.child;continue}if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return,q.tag===4&&(W=!1)}q.sibling.return=q.return,q=q.sibling}}function hn(S,D){if(I)switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);break;case 1:break;case 5:var T=D.stateNode;if(T!=null){var q=D.memoizedProps;S=S!==null?S.memoizedProps:q;var W=D.type,ce=D.updateQueue;D.updateQueue=null,ce!==null&&ie(T,ce,W,S,q,D)}break;case 6:if(D.stateNode===null)throw Error(n(162));T=D.memoizedProps,X(D.stateNode,S!==null?S.memoizedProps:T,T);break;case 3:y&&(D=D.stateNode,D.hydrate&&(D.hydrate=!1,Cn(D.containerInfo)));break;case 12:break;case 13:ti(D),Ni(D);break;case 19:Ni(D);break;case 17:break;case 20:break;case 21:break;default:throw Error(n(163))}else{switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);return;case 12:return;case 13:ti(D),Ni(D);return;case 19:Ni(D);return;case 3:y&&(T=D.stateNode,T.hydrate&&(T.hydrate=!1,Cn(T.containerInfo)))}e:if(P)switch(D.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:D=D.stateNode,bs(D.containerInfo,D.pendingChildren);break e;default:throw Error(n(163))}}}function ti(S){var D=S;if(S.memoizedState===null)var T=!1;else T=!0,D=S.child,uI=Hi();if(I&&D!==null){e:if(S=D,I)for(D=S;;){if(D.tag===5){var q=D.stateNode;T?Xt(q):tn(D.stateNode,D.memoizedProps)}else if(D.tag===6)q=D.stateNode,T?Pt(q):Dr(q,D.memoizedProps);else if(D.tag===13&&D.memoizedState!==null&&D.memoizedState.dehydrated===null){q=D.child.sibling,q.return=D,D=q;continue}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break e;for(;D.sibling===null;){if(D.return===null||D.return===S)break e;D=D.return}D.sibling.return=D.return,D=D.sibling}}}function Ni(S){var D=S.updateQueue;if(D!==null){S.updateQueue=null;var T=S.stateNode;T===null&&(T=S.stateNode=new pg),D.forEach(function(q){var W=uF.bind(null,S,q);T.has(q)||(T.add(q),q.then(W,W))})}}var gg=typeof WeakMap=="function"?WeakMap:Map;function Bv(S,D,T){T=$i(T,null),T.tag=3,T.payload={element:null};var q=D.value;return T.callback=function(){Pu||(Pu=!0,Nm=q),Wa(S,D)},T}function vv(S,D,T){T=$i(T,null),T.tag=3;var q=S.type.getDerivedStateFromError;if(typeof q=="function"){var W=D.value;T.payload=function(){return Wa(S,D),q(W)}}var ce=S.stateNode;return ce!==null&&typeof ce.componentDidCatch=="function"&&(T.callback=function(){typeof q!="function"&&(xu===null?xu=new Set([this]):xu.add(this),Wa(S,D));var Se=D.stack;this.componentDidCatch(D.value,{componentStack:Se!==null?Se:""})}),T}var lI=Math.ceil,mp=u.ReactCurrentDispatcher,cI=u.ReactCurrentOwner,gn=0,km=8,rs=16,Ms=32,Su=0,Fm=1,Ci=2,pa=3,vl=4,Sc=5,pr=gn,Ai=null,Fr=null,ns=0,Gi=Su,Rm=null,Ya=1073741823,LA=1073741823,Tm=null,yp=0,OA=!1,uI=0,AI=500,nr=null,Pu=!1,Nm=null,xu=null,Ep=!1,dg=null,MA=90,UA=null,mg=0,fI=null,Lm=0;function ha(){return(pr&(rs|Ms))!==gn?1073741821-(Hi()/10|0):Lm!==0?Lm:Lm=1073741821-(Hi()/10|0)}function _A(S,D,T){if(D=D.mode,(D&2)===0)return 1073741823;var q=Lo();if((D&4)===0)return q===99?1073741823:1073741822;if((pr&rs)!==gn)return ns;if(T!==null)S=Oa(S,T.timeoutMs|0||5e3,250);else switch(q){case 99:S=1073741823;break;case 98:S=Oa(S,150,100);break;case 97:case 96:S=Oa(S,5e3,250);break;case 95:S=2;break;default:throw Error(n(326))}return Ai!==null&&S===ns&&--S,S}function Pc(S,D){if(50<mg)throw mg=0,fI=null,Error(n(185));if(S=yg(S,D),S!==null){var T=Lo();D===1073741823?(pr&km)!==gn&&(pr&(rs|Ms))===gn?pI(S):(uo(S),pr===gn&&qi()):uo(S),(pr&4)===gn||T!==98&&T!==99||(UA===null?UA=new Map([[S,D]]):(T=UA.get(S),(T===void 0||T>D)&&UA.set(S,D)))}}function yg(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D);var q=S.return,W=null;if(q===null&&S.tag===3)W=S.stateNode;else for(;q!==null;){if(T=q.alternate,q.childExpirationTime<D&&(q.childExpirationTime=D),T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D),q.return===null&&q.tag===3){W=q.stateNode;break}q=q.return}return W!==null&&(Ai===W&&(Mm(D),Gi===vl&&WA(W,ns)),Rv(W,D)),W}function Om(S){var D=S.lastExpiredTime;return D!==0||(D=S.firstPendingTime,!Fv(S,D))?D:(D=S.lastPingedTime,S=S.nextKnownPendingLevel,D>S?D:S)}function uo(S){if(S.lastExpiredTime!==0)S.callbackExpirationTime=1073741823,S.callbackPriority=99,S.callbackNode=yu(pI.bind(null,S));else{var D=Om(S),T=S.callbackNode;if(D===0)T!==null&&(S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90);else{var q=ha();if(D===1073741823?q=99:D===1||D===2?q=95:(q=10*(1073741821-D)-10*(1073741821-q),q=0>=q?99:250>=q?98:5250>=q?97:95),T!==null){var W=S.callbackPriority;if(S.callbackExpirationTime===D&&W>=q)return;T!==PA&&Ce(T)}S.callbackExpirationTime=D,S.callbackPriority=q,D=D===1073741823?yu(pI.bind(null,S)):Cl(q,Dv.bind(null,S),{timeout:10*(1073741821-D)-Hi()}),S.callbackNode=D}}}function Dv(S,D){if(Lm=0,D)return D=ha(),_m(S,D),uo(S),null;var T=Om(S);if(T!==0){if(D=S.callbackNode,(pr&(rs|Ms))!==gn)throw Error(n(327));if(Cp(),S===Ai&&T===ns||bu(S,T),Fr!==null){var q=pr;pr|=rs;var W=qA(S);do try{sF();break}catch(It){HA(S,It)}while(1);if(ia(),pr=q,mp.current=W,Gi===Fm)throw D=Rm,bu(S,T),WA(S,T),uo(S),D;if(Fr===null)switch(W=S.finishedWork=S.current.alternate,S.finishedExpirationTime=T,q=Gi,Ai=null,q){case Su:case Fm:throw Error(n(345));case Ci:_m(S,2<T?2:T);break;case pa:if(WA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=gI(W)),Ya===1073741823&&(W=uI+AI-Hi(),10<W)){if(OA){var ce=S.lastPingedTime;if(ce===0||ce>=T){S.lastPingedTime=T,bu(S,T);break}}if(ce=Om(S),ce!==0&&ce!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}S.timeoutHandle=je(Qu.bind(null,S),W);break}Qu(S);break;case vl:if(WA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=gI(W)),OA&&(W=S.lastPingedTime,W===0||W>=T)){S.lastPingedTime=T,bu(S,T);break}if(W=Om(S),W!==0&&W!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}if(LA!==1073741823?q=10*(1073741821-LA)-Hi():Ya===1073741823?q=0:(q=10*(1073741821-Ya)-5e3,W=Hi(),T=10*(1073741821-T)-W,q=W-q,0>q&&(q=0),q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*lI(q/1960))-q,T<q&&(q=T)),10<q){S.timeoutHandle=je(Qu.bind(null,S),q);break}Qu(S);break;case Sc:if(Ya!==1073741823&&Tm!==null){ce=Ya;var Se=Tm;if(q=Se.busyMinDurationMs|0,0>=q?q=0:(W=Se.busyDelayMs|0,ce=Hi()-(10*(1073741821-ce)-(Se.timeoutMs|0||5e3)),q=ce<=W?0:W+q-ce),10<q){WA(S,T),S.timeoutHandle=je(Qu.bind(null,S),q);break}}Qu(S);break;default:throw Error(n(329))}if(uo(S),S.callbackNode===D)return Dv.bind(null,S)}}return null}function pI(S){var D=S.lastExpiredTime;if(D=D!==0?D:1073741823,S.finishedExpirationTime===D)Qu(S);else{if((pr&(rs|Ms))!==gn)throw Error(n(327));if(Cp(),S===Ai&&D===ns||bu(S,D),Fr!==null){var T=pr;pr|=rs;var q=qA(S);do try{iF();break}catch(W){HA(S,W)}while(1);if(ia(),pr=T,mp.current=q,Gi===Fm)throw T=Rm,bu(S,D),WA(S,D),uo(S),T;if(Fr!==null)throw Error(n(261));S.finishedWork=S.current.alternate,S.finishedExpirationTime=D,Ai=null,Qu(S),uo(S)}}return null}function Sv(S,D){_m(S,D),uo(S),(pr&(rs|Ms))===gn&&qi()}function nF(){if(UA!==null){var S=UA;UA=null,S.forEach(function(D,T){_m(T,D),uo(T)}),qi()}}function Pv(S,D){if((pr&(rs|Ms))!==gn)throw Error(n(187));var T=pr;pr|=1;try{return so(99,S.bind(null,D))}finally{pr=T,qi()}}function bu(S,D){S.finishedWork=null,S.finishedExpirationTime=0;var T=S.timeoutHandle;if(T!==Le&&(S.timeoutHandle=Le,At(T)),Fr!==null)for(T=Fr.return;T!==null;){var q=T;switch(q.tag){case 1:var W=q.type.childContextTypes;W!=null&&La(q);break;case 3:yc(q),$t(q);break;case 5:eg(q);break;case 4:yc(q);break;case 13:_e(Kn,q);break;case 19:_e(Kn,q);break;case 10:Zi(q)}T=T.return}Ai=S,Fr=GA(S.current,null,D),ns=D,Gi=Su,Rm=null,LA=Ya=1073741823,Tm=null,yp=0,OA=!1}function HA(S,D){do{try{if(ia(),sI(),Fr===null||Fr.return===null)return Gi=Fm,Rm=D,null;e:{var T=S,q=Fr.return,W=Fr,ce=D;if(D=ns,W.effectTag|=2048,W.firstEffect=W.lastEffect=null,ce!==null&&typeof ce=="object"&&typeof ce.then=="function"){var Se=ce,It=(Kn.current&1)!==0,Et=q;do{var xt;if(xt=Et.tag===13){var Nr=Et.memoizedState;if(Nr!==null)xt=Nr.dehydrated!==null;else{var is=Et.memoizedProps;xt=is.fallback===void 0?!1:is.unstable_avoidThisFallback!==!0?!0:!It}}if(xt){var fi=Et.updateQueue;if(fi===null){var Ao=new Set;Ao.add(Se),Et.updateQueue=Ao}else fi.add(Se);if((Et.mode&2)===0){if(Et.effectTag|=64,W.effectTag&=-2981,W.tag===1)if(W.alternate===null)W.tag=17;else{var YA=$i(1073741823,null);YA.tag=2,mi(W,YA)}W.expirationTime=1073741823;break e}ce=void 0,W=D;var _o=T.pingCache;if(_o===null?(_o=T.pingCache=new gg,ce=new Set,_o.set(Se,ce)):(ce=_o.get(Se),ce===void 0&&(ce=new Set,_o.set(Se,ce))),!ce.has(W)){ce.add(W);var rt=cF.bind(null,T,Se,W);Se.then(rt,rt)}Et.effectTag|=4096,Et.expirationTime=D;break e}Et=Et.return}while(Et!==null);ce=Error((ge(W.type)||"A React component")+` suspended while rendering, but no fallback UI was specified. 282 in `+(q||"Unknown")+ce}D+=T,S=S.return}while(S);return D}var El=[],io=-1;function Ue(S){0>io||(S.current=El[io],El[io]=null,io--)}function Fn(S,D){io++,El[io]=S.current,S.current=D}var Fi={},Rn={current:Fi},Ui={current:!1},Zt=Fi;function Ri(S,D){var T=S.type.contextTypes;if(!T)return Fi;var q=S.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===D)return q.__reactInternalMemoizedMaskedChildContext;var W={},ce;for(ce in T)W[ce]=D[ce];return q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=D,S.__reactInternalMemoizedMaskedChildContext=W),W}function $n(S){return S=S.childContextTypes,S!=null}function Ma(S){Ue(Ui,S),Ue(Rn,S)}function $t(S){Ue(Ui,S),Ue(Rn,S)}function hc(S,D,T){if(Rn.current!==Fi)throw Error(n(168));Fn(Rn,D,S),Fn(Ui,T,S)}function du(S,D,T){var q=S.stateNode;if(S=D.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var W in q)if(!(W in S))throw Error(n(108,ge(D)||"Unknown",W));return r({},T,{},q)}function gc(S){var D=S.stateNode;return D=D&&D.__reactInternalMemoizedMergedChildContext||Fi,Zt=Rn.current,Fn(Rn,D,S),Fn(Ui,Ui.current,S),!0}function Il(S,D,T){var q=S.stateNode;if(!q)throw Error(n(169));T?(D=du(S,D,Zt),q.__reactInternalMemoizedMergedChildContext=D,Ue(Ui,S),Ue(Rn,S),Fn(Rn,D,S)):Ue(Ui,S),Fn(Ui,T,S)}var PA=a.unstable_runWithPriority,mu=a.unstable_scheduleCallback,Ee=a.unstable_cancelCallback,Rt=a.unstable_shouldYield,dc=a.unstable_requestPaint,_i=a.unstable_now,yu=a.unstable_getCurrentPriorityLevel,qt=a.unstable_ImmediatePriority,wl=a.unstable_UserBlockingPriority,xA=a.unstable_NormalPriority,cp=a.unstable_LowPriority,mc=a.unstable_IdlePriority,bA={},Dn=dc!==void 0?dc:function(){},ui=null,yc=null,QA=!1,ra=_i(),Hi=1e4>ra?_i:function(){return _i()-ra};function Oo(){switch(yu()){case qt:return 99;case wl:return 98;case xA:return 97;case cp:return 96;case mc:return 95;default:throw Error(n(332))}}function $e(S){switch(S){case 99:return qt;case 98:return wl;case 97:return xA;case 96:return cp;case 95:return mc;default:throw Error(n(332))}}function so(S,D){return S=$e(S),PA(S,D)}function Bl(S,D,T){return S=$e(S),mu(S,D,T)}function Cu(S){return ui===null?(ui=[S],yc=mu(qt,Eu)):ui.push(S),bA}function qi(){if(yc!==null){var S=yc;yc=null,Ee(S)}Eu()}function Eu(){if(!QA&&ui!==null){QA=!0;var S=0;try{var D=ui;so(99,function(){for(;S<D.length;S++){var T=D[S];do T=T(!0);while(T!==null)}}),ui=null}catch(T){throw ui!==null&&(ui=ui.slice(S+1)),mu(qt,qi),T}finally{QA=!1}}}var kA=3;function Ua(S,D,T){return T/=10,1073741821-(((1073741821-S+D/10)/T|0)+1)*T}function Cc(S,D){return S===D&&(S!==0||1/S===1/D)||S!==S&&D!==D}var ds=typeof Object.is=="function"?Object.is:Cc,Ot=Object.prototype.hasOwnProperty;function Sn(S,D){if(ds(S,D))return!0;if(typeof S!="object"||S===null||typeof D!="object"||D===null)return!1;var T=Object.keys(S),q=Object.keys(D);if(T.length!==q.length)return!1;for(q=0;q<T.length;q++)if(!Ot.call(D,T[q])||!ds(S[T[q]],D[T[q]]))return!1;return!0}function di(S,D){if(S&&S.defaultProps){D=r({},D),S=S.defaultProps;for(var T in S)D[T]===void 0&&(D[T]=S[T])}return D}var na={current:null},oo=null,Rs=null,ia=null;function sa(){ia=Rs=oo=null}function Mo(S,D){var T=S.type._context;x?(Fn(na,T._currentValue,S),T._currentValue=D):(Fn(na,T._currentValue2,S),T._currentValue2=D)}function Zi(S){var D=na.current;Ue(na,S),S=S.type._context,x?S._currentValue=D:S._currentValue2=D}function Ts(S,D){for(;S!==null;){var T=S.alternate;if(S.childExpirationTime<D)S.childExpirationTime=D,T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D);else if(T!==null&&T.childExpirationTime<D)T.childExpirationTime=D;else break;S=S.return}}function Ns(S,D){oo=S,ia=Rs=null,S=S.dependencies,S!==null&&S.firstContext!==null&&(S.expirationTime>=D&&(Uo=!0),S.firstContext=null)}function Ls(S,D){if(ia!==S&&D!==!1&&D!==0)if((typeof D!="number"||D===1073741823)&&(ia=S,D=1073741823),D={context:S,observedBits:D,next:null},Rs===null){if(oo===null)throw Error(n(308));Rs=D,oo.dependencies={expirationTime:0,firstContext:D,responders:null}}else Rs=Rs.next=D;return x?S._currentValue:S._currentValue2}var ao=!1;function Yn(S){return{baseState:S,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function qn(S){return{baseState:S.baseState,firstUpdate:S.firstUpdate,lastUpdate:S.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function $i(S,D){return{expirationTime:S,suspenseConfig:D,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function es(S,D){S.lastUpdate===null?S.firstUpdate=S.lastUpdate=D:(S.lastUpdate.next=D,S.lastUpdate=D)}function mi(S,D){var T=S.alternate;if(T===null){var q=S.updateQueue,W=null;q===null&&(q=S.updateQueue=Yn(S.memoizedState))}else q=S.updateQueue,W=T.updateQueue,q===null?W===null?(q=S.updateQueue=Yn(S.memoizedState),W=T.updateQueue=Yn(T.memoizedState)):q=S.updateQueue=qn(W):W===null&&(W=T.updateQueue=qn(q));W===null||q===W?es(q,D):q.lastUpdate===null||W.lastUpdate===null?(es(q,D),es(W,D)):(es(q,D),W.lastUpdate=D)}function Ha(S,D){var T=S.updateQueue;T=T===null?S.updateQueue=Yn(S.memoizedState):oa(S,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=D:(T.lastCapturedUpdate.next=D,T.lastCapturedUpdate=D)}function oa(S,D){var T=S.alternate;return T!==null&&D===T.updateQueue&&(D=S.updateQueue=qn(D)),D}function ee(S,D,T,q,W,ce){switch(T.tag){case 1:return S=T.payload,typeof S=="function"?S.call(ce,q,W):S;case 3:S.effectTag=S.effectTag&-4097|64;case 0:if(S=T.payload,W=typeof S=="function"?S.call(ce,q,W):S,W==null)break;return r({},q,W);case 2:ao=!0}return q}function we(S,D,T,q,W){ao=!1,D=oa(S,D);for(var ce=D.baseState,Se=null,It=0,Ct=D.firstUpdate,xt=ce;Ct!==null;){var Nr=Ct.expirationTime;Nr<W?(Se===null&&(Se=Ct,ce=xt),It<Nr&&(It=Nr)):(yI(Nr,Ct.suspenseConfig),xt=ee(S,D,Ct,xt,T,q),Ct.callback!==null&&(S.effectTag|=32,Ct.nextEffect=null,D.lastEffect===null?D.firstEffect=D.lastEffect=Ct:(D.lastEffect.nextEffect=Ct,D.lastEffect=Ct))),Ct=Ct.next}for(Nr=null,Ct=D.firstCapturedUpdate;Ct!==null;){var is=Ct.expirationTime;is<W?(Nr===null&&(Nr=Ct,Se===null&&(ce=xt)),It<is&&(It=is)):(xt=ee(S,D,Ct,xt,T,q),Ct.callback!==null&&(S.effectTag|=32,Ct.nextEffect=null,D.lastCapturedEffect===null?D.firstCapturedEffect=D.lastCapturedEffect=Ct:(D.lastCapturedEffect.nextEffect=Ct,D.lastCapturedEffect=Ct))),Ct=Ct.next}Se===null&&(D.lastUpdate=null),Nr===null?D.lastCapturedUpdate=null:S.effectTag|=32,Se===null&&Nr===null&&(ce=xt),D.baseState=ce,D.firstUpdate=Se,D.firstCapturedUpdate=Nr,jm(It),S.expirationTime=It,S.memoizedState=xt}function je(S,D,T){D.firstCapturedUpdate!==null&&(D.lastUpdate!==null&&(D.lastUpdate.next=D.firstCapturedUpdate,D.lastUpdate=D.lastCapturedUpdate),D.firstCapturedUpdate=D.lastCapturedUpdate=null),Be(D.firstEffect,T),D.firstEffect=D.lastEffect=null,Be(D.firstCapturedEffect,T),D.firstCapturedEffect=D.lastCapturedEffect=null}function Be(S,D){for(;S!==null;){var T=S.callback;if(T!==null){S.callback=null;var q=D;if(typeof T!="function")throw Error(n(191,T));T.call(q)}S=S.nextEffect}}var xe=u.ReactCurrentBatchConfig,Ve=new o.Component().refs;function vt(S,D,T,q){D=S.memoizedState,T=T(q,D),T=T==null?D:r({},D,T),S.memoizedState=T,q=S.updateQueue,q!==null&&S.expirationTime===0&&(q.baseState=T)}var tr={isMounted:function(S){return(S=S._reactInternalFiber)?le(S)===S:!1},enqueueSetState:function(S,D,T){S=S._reactInternalFiber;var q=ga(),W=xe.suspense;q=qA(q,S,W),W=$i(q,W),W.payload=D,T!=null&&(W.callback=T),mi(S,W),Qc(S,q)},enqueueReplaceState:function(S,D,T){S=S._reactInternalFiber;var q=ga(),W=xe.suspense;q=qA(q,S,W),W=$i(q,W),W.tag=1,W.payload=D,T!=null&&(W.callback=T),mi(S,W),Qc(S,q)},enqueueForceUpdate:function(S,D){S=S._reactInternalFiber;var T=ga(),q=xe.suspense;T=qA(T,S,q),q=$i(T,q),q.tag=2,D!=null&&(q.callback=D),mi(S,q),Qc(S,T)}};function Zr(S,D,T,q,W,ce,Se){return S=S.stateNode,typeof S.shouldComponentUpdate=="function"?S.shouldComponentUpdate(q,ce,Se):D.prototype&&D.prototype.isPureReactComponent?!Sn(T,q)||!Sn(W,ce):!0}function Tn(S,D,T){var q=!1,W=Fi,ce=D.contextType;return typeof ce=="object"&&ce!==null?ce=Ls(ce):(W=$n(D)?Zt:Rn.current,q=D.contextTypes,ce=(q=q!=null)?Ri(S,W):Fi),D=new D(T,ce),S.memoizedState=D.state!==null&&D.state!==void 0?D.state:null,D.updater=tr,S.stateNode=D,D._reactInternalFiber=S,q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=W,S.__reactInternalMemoizedMaskedChildContext=ce),D}function _r(S,D,T,q){S=D.state,typeof D.componentWillReceiveProps=="function"&&D.componentWillReceiveProps(T,q),typeof D.UNSAFE_componentWillReceiveProps=="function"&&D.UNSAFE_componentWillReceiveProps(T,q),D.state!==S&&tr.enqueueReplaceState(D,D.state,null)}function ei(S,D,T,q){var W=S.stateNode;W.props=T,W.state=S.memoizedState,W.refs=Ve;var ce=D.contextType;typeof ce=="object"&&ce!==null?W.context=Ls(ce):(ce=$n(D)?Zt:Rn.current,W.context=Ri(S,ce)),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState),ce=D.getDerivedStateFromProps,typeof ce=="function"&&(vt(S,D,ce,T),W.state=S.memoizedState),typeof D.getDerivedStateFromProps=="function"||typeof W.getSnapshotBeforeUpdate=="function"||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(D=W.state,typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount(),D!==W.state&&tr.enqueueReplaceState(W,W.state,null),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState)),typeof W.componentDidMount=="function"&&(S.effectTag|=4)}var Ti=Array.isArray;function Kn(S,D,T){if(S=T.ref,S!==null&&typeof S!="function"&&typeof S!="object"){if(T._owner){if(T=T._owner,T){if(T.tag!==1)throw Error(n(309));var q=T.stateNode}if(!q)throw Error(n(147,S));var W=""+S;return D!==null&&D.ref!==null&&typeof D.ref=="function"&&D.ref._stringRef===W?D.ref:(D=function(ce){var Se=q.refs;Se===Ve&&(Se=q.refs={}),ce===null?delete Se[W]:Se[W]=ce},D._stringRef=W,D)}if(typeof S!="string")throw Error(n(284));if(!T._owner)throw Error(n(290,S))}return S}function qa(S,D){if(S.type!=="textarea")throw Error(n(31,Object.prototype.toString.call(D)==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":D,""))}function aa(S){function D(rt,Je){if(S){var ft=rt.lastEffect;ft!==null?(ft.nextEffect=Je,rt.lastEffect=Je):rt.firstEffect=rt.lastEffect=Je,Je.nextEffect=null,Je.effectTag=8}}function T(rt,Je){if(!S)return null;for(;Je!==null;)D(rt,Je),Je=Je.sibling;return null}function q(rt,Je){for(rt=new Map;Je!==null;)Je.key!==null?rt.set(Je.key,Je):rt.set(Je.index,Je),Je=Je.sibling;return rt}function W(rt,Je,ft){return rt=YA(rt,Je,ft),rt.index=0,rt.sibling=null,rt}function ce(rt,Je,ft){return rt.index=ft,S?(ft=rt.alternate,ft!==null?(ft=ft.index,ft<Je?(rt.effectTag=2,Je):ft):(rt.effectTag=2,Je)):Je}function Se(rt){return S&&rt.alternate===null&&(rt.effectTag=2),rt}function It(rt,Je,ft,jt){return Je===null||Je.tag!==6?(Je=BI(ft,rt.mode,jt),Je.return=rt,Je):(Je=W(Je,ft,jt),Je.return=rt,Je)}function Ct(rt,Je,ft,jt){return Je!==null&&Je.elementType===ft.type?(jt=W(Je,ft.props,jt),jt.ref=Kn(rt,Je,ft),jt.return=rt,jt):(jt=Gm(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Kn(rt,Je,ft),jt.return=rt,jt)}function xt(rt,Je,ft,jt){return Je===null||Je.tag!==4||Je.stateNode.containerInfo!==ft.containerInfo||Je.stateNode.implementation!==ft.implementation?(Je=vI(ft,rt.mode,jt),Je.return=rt,Je):(Je=W(Je,ft.children||[],jt),Je.return=rt,Je)}function Nr(rt,Je,ft,jt,Cr){return Je===null||Je.tag!==7?(Je=Fu(ft,rt.mode,jt,Cr),Je.return=rt,Je):(Je=W(Je,ft,jt),Je.return=rt,Je)}function is(rt,Je,ft){if(typeof Je=="string"||typeof Je=="number")return Je=BI(""+Je,rt.mode,ft),Je.return=rt,Je;if(typeof Je=="object"&&Je!==null){switch(Je.$$typeof){case p:return ft=Gm(Je.type,Je.key,Je.props,null,rt.mode,ft),ft.ref=Kn(rt,null,Je),ft.return=rt,ft;case h:return Je=vI(Je,rt.mode,ft),Je.return=rt,Je}if(Ti(Je)||he(Je))return Je=Fu(Je,rt.mode,ft,null),Je.return=rt,Je;qa(rt,Je)}return null}function fi(rt,Je,ft,jt){var Cr=Je!==null?Je.key:null;if(typeof ft=="string"||typeof ft=="number")return Cr!==null?null:It(rt,Je,""+ft,jt);if(typeof ft=="object"&&ft!==null){switch(ft.$$typeof){case p:return ft.key===Cr?ft.type===E?Nr(rt,Je,ft.props.children,jt,Cr):Ct(rt,Je,ft,jt):null;case h:return ft.key===Cr?xt(rt,Je,ft,jt):null}if(Ti(ft)||he(ft))return Cr!==null?null:Nr(rt,Je,ft,jt,null);qa(rt,ft)}return null}function Ao(rt,Je,ft,jt,Cr){if(typeof jt=="string"||typeof jt=="number")return rt=rt.get(ft)||null,It(Je,rt,""+jt,Cr);if(typeof jt=="object"&&jt!==null){switch(jt.$$typeof){case p:return rt=rt.get(jt.key===null?ft:jt.key)||null,jt.type===E?Nr(Je,rt,jt.props.children,Cr,jt.key):Ct(Je,rt,jt,Cr);case h:return rt=rt.get(jt.key===null?ft:jt.key)||null,xt(Je,rt,jt,Cr)}if(Ti(jt)||he(jt))return rt=rt.get(ft)||null,Nr(Je,rt,jt,Cr,null);qa(Je,jt)}return null}function VA(rt,Je,ft,jt){for(var Cr=null,In=null,Sr=Je,wn=Je=0,ni=null;Sr!==null&&wn<ft.length;wn++){Sr.index>wn?(ni=Sr,Sr=null):ni=Sr.sibling;var Xr=fi(rt,Sr,ft[wn],jt);if(Xr===null){Sr===null&&(Sr=ni);break}S&&Sr&&Xr.alternate===null&&D(rt,Sr),Je=ce(Xr,Je,wn),In===null?Cr=Xr:In.sibling=Xr,In=Xr,Sr=ni}if(wn===ft.length)return T(rt,Sr),Cr;if(Sr===null){for(;wn<ft.length;wn++)Sr=is(rt,ft[wn],jt),Sr!==null&&(Je=ce(Sr,Je,wn),In===null?Cr=Sr:In.sibling=Sr,In=Sr);return Cr}for(Sr=q(rt,Sr);wn<ft.length;wn++)ni=Ao(Sr,rt,wn,ft[wn],jt),ni!==null&&(S&&ni.alternate!==null&&Sr.delete(ni.key===null?wn:ni.key),Je=ce(ni,Je,wn),In===null?Cr=ni:In.sibling=ni,In=ni);return S&&Sr.forEach(function(fo){return D(rt,fo)}),Cr}function Ho(rt,Je,ft,jt){var Cr=he(ft);if(typeof Cr!="function")throw Error(n(150));if(ft=Cr.call(ft),ft==null)throw Error(n(151));for(var In=Cr=null,Sr=Je,wn=Je=0,ni=null,Xr=ft.next();Sr!==null&&!Xr.done;wn++,Xr=ft.next()){Sr.index>wn?(ni=Sr,Sr=null):ni=Sr.sibling;var fo=fi(rt,Sr,Xr.value,jt);if(fo===null){Sr===null&&(Sr=ni);break}S&&Sr&&fo.alternate===null&&D(rt,Sr),Je=ce(fo,Je,wn),In===null?Cr=fo:In.sibling=fo,In=fo,Sr=ni}if(Xr.done)return T(rt,Sr),Cr;if(Sr===null){for(;!Xr.done;wn++,Xr=ft.next())Xr=is(rt,Xr.value,jt),Xr!==null&&(Je=ce(Xr,Je,wn),In===null?Cr=Xr:In.sibling=Xr,In=Xr);return Cr}for(Sr=q(rt,Sr);!Xr.done;wn++,Xr=ft.next())Xr=Ao(Sr,rt,wn,Xr.value,jt),Xr!==null&&(S&&Xr.alternate!==null&&Sr.delete(Xr.key===null?wn:Xr.key),Je=ce(Xr,Je,wn),In===null?Cr=Xr:In.sibling=Xr,In=Xr);return S&&Sr.forEach(function(mF){return D(rt,mF)}),Cr}return function(rt,Je,ft,jt){var Cr=typeof ft=="object"&&ft!==null&&ft.type===E&&ft.key===null;Cr&&(ft=ft.props.children);var In=typeof ft=="object"&&ft!==null;if(In)switch(ft.$$typeof){case p:e:{for(In=ft.key,Cr=Je;Cr!==null;){if(Cr.key===In)if(Cr.tag===7?ft.type===E:Cr.elementType===ft.type){T(rt,Cr.sibling),Je=W(Cr,ft.type===E?ft.props.children:ft.props,jt),Je.ref=Kn(rt,Cr,ft),Je.return=rt,rt=Je;break e}else{T(rt,Cr);break}else D(rt,Cr);Cr=Cr.sibling}ft.type===E?(Je=Fu(ft.props.children,rt.mode,jt,ft.key),Je.return=rt,rt=Je):(jt=Gm(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Kn(rt,Je,ft),jt.return=rt,rt=jt)}return Se(rt);case h:e:{for(Cr=ft.key;Je!==null;){if(Je.key===Cr)if(Je.tag===4&&Je.stateNode.containerInfo===ft.containerInfo&&Je.stateNode.implementation===ft.implementation){T(rt,Je.sibling),Je=W(Je,ft.children||[],jt),Je.return=rt,rt=Je;break e}else{T(rt,Je);break}else D(rt,Je);Je=Je.sibling}Je=vI(ft,rt.mode,jt),Je.return=rt,rt=Je}return Se(rt)}if(typeof ft=="string"||typeof ft=="number")return ft=""+ft,Je!==null&&Je.tag===6?(T(rt,Je.sibling),Je=W(Je,ft,jt),Je.return=rt,rt=Je):(T(rt,Je),Je=BI(ft,rt.mode,jt),Je.return=rt,rt=Je),Se(rt);if(Ti(ft))return VA(rt,Je,ft,jt);if(he(ft))return Ho(rt,Je,ft,jt);if(In&&qa(rt,ft),typeof ft>"u"&&!Cr)switch(rt.tag){case 1:case 0:throw rt=rt.type,Error(n(152,rt.displayName||rt.name||"Component"))}return T(rt,Je)}}var yi=aa(!0),la=aa(!1),ja={},lo={current:ja},FA={current:ja},Ec={current:ja};function ca(S){if(S===ja)throw Error(n(174));return S}function rg(S,D){Fn(Ec,D,S),Fn(FA,S,S),Fn(lo,ja,S),D=ne(D),Ue(lo,S),Fn(lo,D,S)}function Ic(S){Ue(lo,S),Ue(FA,S),Ue(Ec,S)}function bm(S){var D=ca(Ec.current),T=ca(lo.current);D=Z(T,S.type,D),T!==D&&(Fn(FA,S,S),Fn(lo,D,S))}function ng(S){FA.current===S&&(Ue(lo,S),Ue(FA,S))}var Vn={current:0};function up(S){for(var D=S;D!==null;){if(D.tag===13){var T=D.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Qs(T)||ro(T)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if((D.effectTag&64)!==0)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break;for(;D.sibling===null;){if(D.return===null||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}function ig(S,D){return{responder:S,props:D}}var RA=u.ReactCurrentDispatcher,Os=u.ReactCurrentBatchConfig,Iu=0,Ga=null,ji=null,ua=null,wu=null,ms=null,wc=null,Bc=0,G=null,Dt=0,vl=!1,Si=null,vc=0;function lt(){throw Error(n(321))}function Bu(S,D){if(D===null)return!1;for(var T=0;T<D.length&&T<S.length;T++)if(!ds(S[T],D[T]))return!1;return!0}function sg(S,D,T,q,W,ce){if(Iu=ce,Ga=D,ua=S!==null?S.memoizedState:null,RA.current=ua===null?uI:Fm,D=T(q,W),vl){do vl=!1,vc+=1,ua=S!==null?S.memoizedState:null,wc=wu,G=ms=ji=null,RA.current=Fm,D=T(q,W);while(vl);Si=null,vc=0}if(RA.current=Du,S=Ga,S.memoizedState=wu,S.expirationTime=Bc,S.updateQueue=G,S.effectTag|=Dt,S=ji!==null&&ji.next!==null,Iu=0,wc=ms=wu=ua=ji=Ga=null,Bc=0,G=null,Dt=0,S)throw Error(n(300));return D}function cI(){RA.current=Du,Iu=0,wc=ms=wu=ua=ji=Ga=null,Bc=0,G=null,Dt=0,vl=!1,Si=null,vc=0}function TA(){var S={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return ms===null?wu=ms=S:ms=ms.next=S,ms}function Ap(){if(wc!==null)ms=wc,wc=ms.next,ji=ua,ua=ji!==null?ji.next:null;else{if(ua===null)throw Error(n(310));ji=ua;var S={memoizedState:ji.memoizedState,baseState:ji.baseState,queue:ji.queue,baseUpdate:ji.baseUpdate,next:null};ms=ms===null?wu=S:ms.next=S,ua=ji.next}return ms}function yr(S,D){return typeof D=="function"?D(S):D}function ys(S){var D=Ap(),T=D.queue;if(T===null)throw Error(n(311));if(T.lastRenderedReducer=S,0<vc){var q=T.dispatch;if(Si!==null){var W=Si.get(T);if(W!==void 0){Si.delete(T);var ce=D.memoizedState;do ce=S(ce,W.action),W=W.next;while(W!==null);return ds(ce,D.memoizedState)||(Uo=!0),D.memoizedState=ce,D.baseUpdate===T.last&&(D.baseState=ce),T.lastRenderedState=ce,[ce,q]}}return[D.memoizedState,q]}q=T.last;var Se=D.baseUpdate;if(ce=D.baseState,Se!==null?(q!==null&&(q.next=null),q=Se.next):q=q!==null?q.next:null,q!==null){var It=W=null,Ct=q,xt=!1;do{var Nr=Ct.expirationTime;Nr<Iu?(xt||(xt=!0,It=Se,W=ce),Nr>Bc&&(Bc=Nr,jm(Bc))):(yI(Nr,Ct.suspenseConfig),ce=Ct.eagerReducer===S?Ct.eagerState:S(ce,Ct.action)),Se=Ct,Ct=Ct.next}while(Ct!==null&&Ct!==q);xt||(It=Se,W=ce),ds(ce,D.memoizedState)||(Uo=!0),D.memoizedState=ce,D.baseUpdate=It,D.baseState=W,T.lastRenderedState=ce}return[D.memoizedState,T.dispatch]}function og(S){var D=TA();return typeof S=="function"&&(S=S()),D.memoizedState=D.baseState=S,S=D.queue={last:null,dispatch:null,lastRenderedReducer:yr,lastRenderedState:S},S=S.dispatch=Ag.bind(null,Ga,S),[D.memoizedState,S]}function ag(S){return ys(yr,S)}function lg(S,D,T,q){return S={tag:S,create:D,destroy:T,deps:q,next:null},G===null?(G={lastEffect:null},G.lastEffect=S.next=S):(D=G.lastEffect,D===null?G.lastEffect=S.next=S:(T=D.next,D.next=S,S.next=T,G.lastEffect=S)),S}function fp(S,D,T,q){var W=TA();Dt|=S,W.memoizedState=lg(D,T,void 0,q===void 0?null:q)}function Dc(S,D,T,q){var W=Ap();q=q===void 0?null:q;var ce=void 0;if(ji!==null){var Se=ji.memoizedState;if(ce=Se.destroy,q!==null&&Bu(q,Se.deps)){lg(0,T,ce,q);return}}Dt|=S,W.memoizedState=lg(D,T,ce,q)}function mt(S,D){return fp(516,192,S,D)}function Qm(S,D){return Dc(516,192,S,D)}function cg(S,D){if(typeof D=="function")return S=S(),D(S),function(){D(null)};if(D!=null)return S=S(),D.current=S,function(){D.current=null}}function ug(){}function vu(S,D){return TA().memoizedState=[S,D===void 0?null:D],S}function km(S,D){var T=Ap();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&Bu(D,q[1])?q[0]:(T.memoizedState=[S,D],S)}function Ag(S,D,T){if(!(25>vc))throw Error(n(301));var q=S.alternate;if(S===Ga||q!==null&&q===Ga)if(vl=!0,S={expirationTime:Iu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},Si===null&&(Si=new Map),T=Si.get(D),T===void 0)Si.set(D,S);else{for(D=T;D.next!==null;)D=D.next;D.next=S}else{var W=ga(),ce=xe.suspense;W=qA(W,S,ce),ce={expirationTime:W,suspenseConfig:ce,action:T,eagerReducer:null,eagerState:null,next:null};var Se=D.last;if(Se===null)ce.next=ce;else{var It=Se.next;It!==null&&(ce.next=It),Se.next=ce}if(D.last=ce,S.expirationTime===0&&(q===null||q.expirationTime===0)&&(q=D.lastRenderedReducer,q!==null))try{var Ct=D.lastRenderedState,xt=q(Ct,T);if(ce.eagerReducer=q,ce.eagerState=xt,ds(xt,Ct))return}catch{}finally{}Qc(S,W)}}var Du={readContext:Ls,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useResponder:lt,useDeferredValue:lt,useTransition:lt},uI={readContext:Ls,useCallback:vu,useContext:Ls,useEffect:mt,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,fp(4,36,cg.bind(null,D,S),T)},useLayoutEffect:function(S,D){return fp(4,36,S,D)},useMemo:function(S,D){var T=TA();return D=D===void 0?null:D,S=S(),T.memoizedState=[S,D],S},useReducer:function(S,D,T){var q=TA();return D=T!==void 0?T(D):D,q.memoizedState=q.baseState=D,S=q.queue={last:null,dispatch:null,lastRenderedReducer:S,lastRenderedState:D},S=S.dispatch=Ag.bind(null,Ga,S),[q.memoizedState,S]},useRef:function(S){var D=TA();return S={current:S},D.memoizedState=S},useState:og,useDebugValue:ug,useResponder:ig,useDeferredValue:function(S,D){var T=og(S),q=T[0],W=T[1];return mt(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=og(!1),T=D[0],q=D[1];return[vu(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},Fm={readContext:Ls,useCallback:km,useContext:Ls,useEffect:Qm,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,Dc(4,36,cg.bind(null,D,S),T)},useLayoutEffect:function(S,D){return Dc(4,36,S,D)},useMemo:function(S,D){var T=Ap();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&Bu(D,q[1])?q[0]:(S=S(),T.memoizedState=[S,D],S)},useReducer:ys,useRef:function(){return Ap().memoizedState},useState:ag,useDebugValue:ug,useResponder:ig,useDeferredValue:function(S,D){var T=ag(S),q=T[0],W=T[1];return Qm(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=ag(!1),T=D[0],q=D[1];return[km(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},Aa=null,Sc=null,Dl=!1;function Su(S,D){var T=xl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=D,T.return=S,T.effectTag=8,S.lastEffect!==null?(S.lastEffect.nextEffect=T,S.lastEffect=T):S.firstEffect=S.lastEffect=T}function fg(S,D){switch(S.tag){case 5:return D=to(D,S.type,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 6:return D=Di(D,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function NA(S){if(Dl){var D=Sc;if(D){var T=D;if(!fg(S,D)){if(D=pc(T),!D||!fg(S,D)){S.effectTag=S.effectTag&-1025|2,Dl=!1,Aa=S;return}Su(Aa,T)}Aa=S,Sc=gu(D)}else S.effectTag=S.effectTag&-1025|2,Dl=!1,Aa=S}}function pp(S){for(S=S.return;S!==null&&S.tag!==5&&S.tag!==3&&S.tag!==13;)S=S.return;Aa=S}function Wa(S){if(!y||S!==Aa)return!1;if(!Dl)return pp(S),Dl=!0,!1;var D=S.type;if(S.tag!==5||D!=="head"&&D!=="body"&&!Te(D,S.memoizedProps))for(D=Sc;D;)Su(S,D),D=pc(D);if(pp(S),S.tag===13){if(!y)throw Error(n(316));if(S=S.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(n(317));Sc=ks(S)}else Sc=Aa?pc(S.stateNode):null;return!0}function pg(){y&&(Sc=Aa=null,Dl=!1)}var hp=u.ReactCurrentOwner,Uo=!1;function Cs(S,D,T,q){D.child=S===null?la(D,null,T,q):yi(D,S.child,T,q)}function Ci(S,D,T,q,W){T=T.render;var ce=D.ref;return Ns(D,W),q=sg(S,D,T,q,ce,W),S!==null&&!Uo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ti(S,D,W)):(D.effectTag|=1,Cs(S,D,q,W),D.child)}function Rm(S,D,T,q,W,ce){if(S===null){var Se=T.type;return typeof Se=="function"&&!wI(Se)&&Se.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(D.tag=15,D.type=Se,Tm(S,D,Se,q,W,ce)):(S=Gm(T.type,null,q,null,D.mode,ce),S.ref=D.ref,S.return=D,D.child=S)}return Se=S.child,W<ce&&(W=Se.memoizedProps,T=T.compare,T=T!==null?T:Sn,T(W,q)&&S.ref===D.ref)?ti(S,D,ce):(D.effectTag|=1,S=YA(Se,q,ce),S.ref=D.ref,S.return=D,D.child=S)}function Tm(S,D,T,q,W,ce){return S!==null&&Sn(S.memoizedProps,q)&&S.ref===D.ref&&(Uo=!1,W<ce)?ti(S,D,ce):LA(S,D,T,q,ce)}function _o(S,D){var T=D.ref;(S===null&&T!==null||S!==null&&S.ref!==T)&&(D.effectTag|=128)}function LA(S,D,T,q,W){var ce=$n(T)?Zt:Rn.current;return ce=Ri(D,ce),Ns(D,W),T=sg(S,D,T,q,ce,W),S!==null&&!Uo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ti(S,D,W)):(D.effectTag|=1,Cs(S,D,T,W),D.child)}function gp(S,D,T,q,W){if($n(T)){var ce=!0;gc(D)}else ce=!1;if(Ns(D,W),D.stateNode===null)S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),Tn(D,T,q,W),ei(D,T,q,W),q=!0;else if(S===null){var Se=D.stateNode,It=D.memoizedProps;Se.props=It;var Ct=Se.context,xt=T.contextType;typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=$n(T)?Zt:Rn.current,xt=Ri(D,xt));var Nr=T.getDerivedStateFromProps,is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function";is||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Ct!==xt)&&_r(D,Se,q,xt),ao=!1;var fi=D.memoizedState;Ct=Se.state=fi;var Ao=D.updateQueue;Ao!==null&&(we(D,Ao,q,Se,W),Ct=D.memoizedState),It!==q||fi!==Ct||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),Ct=D.memoizedState),(It=ao||Zr(D,T,It,q,fi,Ct,xt))?(is||typeof Se.UNSAFE_componentWillMount!="function"&&typeof Se.componentWillMount!="function"||(typeof Se.componentWillMount=="function"&&Se.componentWillMount(),typeof Se.UNSAFE_componentWillMount=="function"&&Se.UNSAFE_componentWillMount()),typeof Se.componentDidMount=="function"&&(D.effectTag|=4)):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),D.memoizedProps=q,D.memoizedState=Ct),Se.props=q,Se.state=Ct,Se.context=xt,q=It):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),q=!1)}else Se=D.stateNode,It=D.memoizedProps,Se.props=D.type===D.elementType?It:di(D.type,It),Ct=Se.context,xt=T.contextType,typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=$n(T)?Zt:Rn.current,xt=Ri(D,xt)),Nr=T.getDerivedStateFromProps,(is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function")||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Ct!==xt)&&_r(D,Se,q,xt),ao=!1,Ct=D.memoizedState,fi=Se.state=Ct,Ao=D.updateQueue,Ao!==null&&(we(D,Ao,q,Se,W),fi=D.memoizedState),It!==q||Ct!==fi||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),fi=D.memoizedState),(Nr=ao||Zr(D,T,It,q,Ct,fi,xt))?(is||typeof Se.UNSAFE_componentWillUpdate!="function"&&typeof Se.componentWillUpdate!="function"||(typeof Se.componentWillUpdate=="function"&&Se.componentWillUpdate(q,fi,xt),typeof Se.UNSAFE_componentWillUpdate=="function"&&Se.UNSAFE_componentWillUpdate(q,fi,xt)),typeof Se.componentDidUpdate=="function"&&(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate=="function"&&(D.effectTag|=256)):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=256),D.memoizedProps=q,D.memoizedState=fi),Se.props=q,Se.state=fi,Se.context=xt,q=Nr):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=256),q=!1);return dp(S,D,T,q,ce,W)}function dp(S,D,T,q,W,ce){_o(S,D);var Se=(D.effectTag&64)!==0;if(!q&&!Se)return W&&Il(D,T,!1),ti(S,D,ce);q=D.stateNode,hp.current=D;var It=Se&&typeof T.getDerivedStateFromError!="function"?null:q.render();return D.effectTag|=1,S!==null&&Se?(D.child=yi(D,S.child,null,ce),D.child=yi(D,null,It,ce)):Cs(S,D,It,ce),D.memoizedState=q.state,W&&Il(D,T,!0),D.child}function hg(S){var D=S.stateNode;D.pendingContext?hc(S,D.pendingContext,D.pendingContext!==D.context):D.context&&hc(S,D.context,!1),rg(S,D.containerInfo)}var fa={dehydrated:null,retryTime:0};function rn(S,D,T){var q=D.mode,W=D.pendingProps,ce=Vn.current,Se=!1,It;if((It=(D.effectTag&64)!==0)||(It=(ce&2)!==0&&(S===null||S.memoizedState!==null)),It?(Se=!0,D.effectTag&=-65):S!==null&&S.memoizedState===null||W.fallback===void 0||W.unstable_avoidThisFallback===!0||(ce|=1),Fn(Vn,ce&1,D),S===null){if(W.fallback!==void 0&&NA(D),Se){if(Se=W.fallback,W=Fu(null,q,0,null),W.return=D,(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=Fu(Se,q,T,null),T.return=D,W.sibling=T,D.memoizedState=fa,D.child=W,T}return q=W.children,D.memoizedState=null,D.child=la(D,null,q,T)}if(S.memoizedState!==null){if(S=S.child,q=S.sibling,Se){if(W=W.fallback,T=YA(S,S.pendingProps,0),T.return=D,(D.mode&2)===0&&(Se=D.memoizedState!==null?D.child.child:D.child,Se!==S.child))for(T.child=Se;Se!==null;)Se.return=T,Se=Se.sibling;return q=YA(q,W,q.expirationTime),q.return=D,T.sibling=q,T.childExpirationTime=0,D.memoizedState=fa,D.child=T,q}return T=yi(D,S.child,W.children,T),D.memoizedState=null,D.child=T}if(S=S.child,Se){if(Se=W.fallback,W=Fu(null,q,0,null),W.return=D,W.child=S,S!==null&&(S.return=W),(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=Fu(Se,q,T,null),T.return=D,W.sibling=T,T.effectTag|=2,W.childExpirationTime=0,D.memoizedState=fa,D.child=W,T}return D.memoizedState=null,D.child=yi(D,S,W.children,T)}function co(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D),Ts(S.return,D)}function OA(S,D,T,q,W,ce){var Se=S.memoizedState;Se===null?S.memoizedState={isBackwards:D,rendering:null,last:q,tail:T,tailExpiration:0,tailMode:W,lastEffect:ce}:(Se.isBackwards=D,Se.rendering=null,Se.last=q,Se.tail=T,Se.tailExpiration=0,Se.tailMode=W,Se.lastEffect=ce)}function Ya(S,D,T){var q=D.pendingProps,W=q.revealOrder,ce=q.tail;if(Cs(S,D,q.children,T),q=Vn.current,(q&2)!==0)q=q&1|2,D.effectTag|=64;else{if(S!==null&&(S.effectTag&64)!==0)e:for(S=D.child;S!==null;){if(S.tag===13)S.memoizedState!==null&&co(S,T);else if(S.tag===19)co(S,T);else if(S.child!==null){S.child.return=S,S=S.child;continue}if(S===D)break e;for(;S.sibling===null;){if(S.return===null||S.return===D)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}q&=1}if(Fn(Vn,q,D),(D.mode&2)===0)D.memoizedState=null;else switch(W){case"forwards":for(T=D.child,W=null;T!==null;)S=T.alternate,S!==null&&up(S)===null&&(W=T),T=T.sibling;T=W,T===null?(W=D.child,D.child=null):(W=T.sibling,T.sibling=null),OA(D,!1,W,T,ce,D.lastEffect);break;case"backwards":for(T=null,W=D.child,D.child=null;W!==null;){if(S=W.alternate,S!==null&&up(S)===null){D.child=W;break}S=W.sibling,W.sibling=T,T=W,W=S}OA(D,!0,T,null,ce,D.lastEffect);break;case"together":OA(D,!1,null,null,void 0,D.lastEffect);break;default:D.memoizedState=null}return D.child}function ti(S,D,T){S!==null&&(D.dependencies=S.dependencies);var q=D.expirationTime;if(q!==0&&jm(q),D.childExpirationTime<T)return null;if(S!==null&&D.child!==S.child)throw Error(n(153));if(D.child!==null){for(S=D.child,T=YA(S,S.pendingProps,S.expirationTime),D.child=T,T.return=D;S.sibling!==null;)S=S.sibling,T=T.sibling=YA(S,S.pendingProps,S.expirationTime),T.return=D;T.sibling=null}return D.child}function pa(S){S.effectTag|=4}var Pc,Sl,ts,Hr;if(I)Pc=function(S,D){for(var T=D.child;T!==null;){if(T.tag===5||T.tag===6)H(S,T.stateNode);else if(T.tag!==4&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===D)break;for(;T.sibling===null;){if(T.return===null||T.return===D)return;T=T.return}T.sibling.return=T.return,T=T.sibling}},Sl=function(){},ts=function(S,D,T,q,W){if(S=S.memoizedProps,S!==q){var ce=D.stateNode,Se=ca(lo.current);T=Me(ce,T,S,q,W,Se),(D.updateQueue=T)&&pa(D)}},Hr=function(S,D,T,q){T!==q&&pa(D)};else if(P){Pc=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),H(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),H(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,Pc(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};var mp=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),jr(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),jr(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,mp(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};Sl=function(S){var D=S.stateNode;if(S.firstEffect!==null){var T=D.containerInfo,q=Br(T);mp(q,S,!1,!1),D.pendingChildren=q,pa(S),Hn(T,q)}},ts=function(S,D,T,q,W){var ce=S.stateNode,Se=S.memoizedProps;if((S=D.firstEffect===null)&&Se===q)D.stateNode=ce;else{var It=D.stateNode,Ct=ca(lo.current),xt=null;Se!==q&&(xt=Me(It,T,Se,q,W,Ct)),S&&xt===null?D.stateNode=ce:(ce=fr(ce,xt,T,Se,q,D,S,It),yt(ce,T,q,W,Ct)&&pa(D),D.stateNode=ce,S?pa(D):Pc(ce,D,!1,!1))}},Hr=function(S,D,T,q){T!==q&&(S=ca(Ec.current),T=ca(lo.current),D.stateNode=_e(q,S,T,D),pa(D))}}else Sl=function(){},ts=function(){},Hr=function(){};function xc(S,D){switch(S.tailMode){case"hidden":D=S.tail;for(var T=null;D!==null;)D.alternate!==null&&(T=D),D=D.sibling;T===null?S.tail=null:T.sibling=null;break;case"collapsed":T=S.tail;for(var q=null;T!==null;)T.alternate!==null&&(q=T),T=T.sibling;q===null?D||S.tail===null?S.tail=null:S.tail.sibling=null:q.sibling=null}}function AI(S){switch(S.tag){case 1:$n(S.type)&&Ma(S);var D=S.effectTag;return D&4096?(S.effectTag=D&-4097|64,S):null;case 3:if(Ic(S),$t(S),D=S.effectTag,(D&64)!==0)throw Error(n(285));return S.effectTag=D&-4097|64,S;case 5:return ng(S),null;case 13:return Ue(Vn,S),D=S.effectTag,D&4096?(S.effectTag=D&-4097|64,S):null;case 19:return Ue(Vn,S),null;case 4:return Ic(S),null;case 10:return Zi(S),null;default:return null}}function gg(S,D){return{value:S,source:D,stack:Cl(D)}}var dg=typeof WeakSet=="function"?WeakSet:Set;function Ka(S,D){var T=D.source,q=D.stack;q===null&&T!==null&&(q=Cl(T)),T!==null&&ge(T.type),D=D.value,S!==null&&S.tag===1&&ge(S.type);try{console.error(D)}catch(W){setTimeout(function(){throw W})}}function Nm(S,D){try{D.props=S.memoizedProps,D.state=S.memoizedState,D.componentWillUnmount()}catch(T){WA(S,T)}}function mg(S){var D=S.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(T){WA(S,T)}else D.current=null}function kt(S,D){switch(D.tag){case 0:case 11:case 15:N(2,0,D);break;case 1:if(D.effectTag&256&&S!==null){var T=S.memoizedProps,q=S.memoizedState;S=D.stateNode,D=S.getSnapshotBeforeUpdate(D.elementType===D.type?T:di(D.type,T),q),S.__reactInternalSnapshotBeforeUpdate=D}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}function N(S,D,T){if(T=T.updateQueue,T=T!==null?T.lastEffect:null,T!==null){var q=T=T.next;do{if((q.tag&S)!==0){var W=q.destroy;q.destroy=void 0,W!==void 0&&W()}(q.tag&D)!==0&&(W=q.create,q.destroy=W()),q=q.next}while(q!==T)}}function K(S,D,T){switch(typeof II=="function"&&II(D),D.tag){case 0:case 11:case 14:case 15:if(S=D.updateQueue,S!==null&&(S=S.lastEffect,S!==null)){var q=S.next;so(97<T?97:T,function(){var W=q;do{var ce=W.destroy;if(ce!==void 0){var Se=D;try{ce()}catch(It){WA(Se,It)}}W=W.next}while(W!==q)})}break;case 1:mg(D),T=D.stateNode,typeof T.componentWillUnmount=="function"&&Nm(D,T);break;case 5:mg(D);break;case 4:I?gr(S,D,T):P&&ze(D)}}function te(S,D,T){for(var q=D;;)if(K(S,q,T),q.child===null||I&&q.tag===4){if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return}q.sibling.return=q.return,q=q.sibling}else q.child.return=q,q=q.child}function Ae(S){var D=S.alternate;S.return=null,S.child=null,S.memoizedState=null,S.updateQueue=null,S.dependencies=null,S.alternate=null,S.firstEffect=null,S.lastEffect=null,S.pendingProps=null,S.memoizedProps=null,D!==null&&Ae(D)}function ze(S){if(P){S=S.stateNode.containerInfo;var D=Br(S);bs(S,D)}}function gt(S){return S.tag===5||S.tag===3||S.tag===4}function ur(S){if(I){e:{for(var D=S.return;D!==null;){if(gt(D)){var T=D;break e}D=D.return}throw Error(n(160))}switch(D=T.stateNode,T.tag){case 5:var q=!1;break;case 3:D=D.containerInfo,q=!0;break;case 4:D=D.containerInfo,q=!0;break;default:throw Error(n(161))}T.effectTag&16&&(Ut(D),T.effectTag&=-17);e:t:for(T=S;;){for(;T.sibling===null;){if(T.return===null||gt(T.return)){T=null;break e}T=T.return}for(T.sibling.return=T.return,T=T.sibling;T.tag!==5&&T.tag!==6&&T.tag!==18;){if(T.effectTag&2||T.child===null||T.tag===4)continue t;T.child.return=T,T=T.child}if(!(T.effectTag&2)){T=T.stateNode;break e}}for(var W=S;;){var ce=W.tag===5||W.tag===6;if(ce)ce=ce?W.stateNode:W.stateNode.instance,T?q?Ne(D,ce,T):ke(D,ce,T):q?J(D,ce):F(D,ce);else if(W.tag!==4&&W.child!==null){W.child.return=W,W=W.child;continue}if(W===S)break;for(;W.sibling===null;){if(W.return===null||W.return===S)return;W=W.return}W.sibling.return=W.return,W=W.sibling}}}function gr(S,D,T){for(var q=D,W=!1,ce,Se;;){if(!W){W=q.return;e:for(;;){if(W===null)throw Error(n(160));switch(ce=W.stateNode,W.tag){case 5:Se=!1;break e;case 3:ce=ce.containerInfo,Se=!0;break e;case 4:ce=ce.containerInfo,Se=!0;break e}W=W.return}W=!0}if(q.tag===5||q.tag===6)te(S,q,T),Se?ht(ce,q.stateNode):st(ce,q.stateNode);else if(q.tag===4){if(q.child!==null){ce=q.stateNode.containerInfo,Se=!0,q.child.return=q,q=q.child;continue}}else if(K(S,q,T),q.child!==null){q.child.return=q,q=q.child;continue}if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return,q.tag===4&&(W=!1)}q.sibling.return=q.return,q=q.sibling}}function hn(S,D){if(I)switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);break;case 1:break;case 5:var T=D.stateNode;if(T!=null){var q=D.memoizedProps;S=S!==null?S.memoizedProps:q;var W=D.type,ce=D.updateQueue;D.updateQueue=null,ce!==null&&ie(T,ce,W,S,q,D)}break;case 6:if(D.stateNode===null)throw Error(n(162));T=D.memoizedProps,X(D.stateNode,S!==null?S.memoizedProps:T,T);break;case 3:y&&(D=D.stateNode,D.hydrate&&(D.hydrate=!1,En(D.containerInfo)));break;case 12:break;case 13:ri(D),Ni(D);break;case 19:Ni(D);break;case 17:break;case 20:break;case 21:break;default:throw Error(n(163))}else{switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);return;case 12:return;case 13:ri(D),Ni(D);return;case 19:Ni(D);return;case 3:y&&(T=D.stateNode,T.hydrate&&(T.hydrate=!1,En(T.containerInfo)))}e:if(P)switch(D.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:D=D.stateNode,bs(D.containerInfo,D.pendingChildren);break e;default:throw Error(n(163))}}}function ri(S){var D=S;if(S.memoizedState===null)var T=!1;else T=!0,D=S.child,hI=Hi();if(I&&D!==null){e:if(S=D,I)for(D=S;;){if(D.tag===5){var q=D.stateNode;T?Xt(q):tn(D.stateNode,D.memoizedProps)}else if(D.tag===6)q=D.stateNode,T?Pt(q):Dr(q,D.memoizedProps);else if(D.tag===13&&D.memoizedState!==null&&D.memoizedState.dehydrated===null){q=D.child.sibling,q.return=D,D=q;continue}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break e;for(;D.sibling===null;){if(D.return===null||D.return===S)break e;D=D.return}D.sibling.return=D.return,D=D.sibling}}}function Ni(S){var D=S.updateQueue;if(D!==null){S.updateQueue=null;var T=S.stateNode;T===null&&(T=S.stateNode=new dg),D.forEach(function(q){var W=AF.bind(null,S,q);T.has(q)||(T.add(q),q.then(W,W))})}}var yg=typeof WeakMap=="function"?WeakMap:Map;function Qv(S,D,T){T=$i(T,null),T.tag=3,T.payload={element:null};var q=D.value;return T.callback=function(){xu||(xu=!0,_m=q),Ka(S,D)},T}function kv(S,D,T){T=$i(T,null),T.tag=3;var q=S.type.getDerivedStateFromError;if(typeof q=="function"){var W=D.value;T.payload=function(){return Ka(S,D),q(W)}}var ce=S.stateNode;return ce!==null&&typeof ce.componentDidCatch=="function"&&(T.callback=function(){typeof q!="function"&&(bu===null?bu=new Set([this]):bu.add(this),Ka(S,D));var Se=D.stack;this.componentDidCatch(D.value,{componentStack:Se!==null?Se:""})}),T}var fI=Math.ceil,yp=u.ReactCurrentDispatcher,pI=u.ReactCurrentOwner,gn=0,Lm=8,rs=16,Ms=32,Pu=0,Om=1,Ei=2,ha=3,Pl=4,bc=5,pr=gn,Ai=null,Fr=null,ns=0,Gi=Pu,Mm=null,Va=1073741823,MA=1073741823,Um=null,Cp=0,UA=!1,hI=0,gI=500,nr=null,xu=!1,_m=null,bu=null,Ep=!1,Cg=null,_A=90,HA=null,Eg=0,dI=null,Hm=0;function ga(){return(pr&(rs|Ms))!==gn?1073741821-(Hi()/10|0):Hm!==0?Hm:Hm=1073741821-(Hi()/10|0)}function qA(S,D,T){if(D=D.mode,(D&2)===0)return 1073741823;var q=Oo();if((D&4)===0)return q===99?1073741823:1073741822;if((pr&rs)!==gn)return ns;if(T!==null)S=Ua(S,T.timeoutMs|0||5e3,250);else switch(q){case 99:S=1073741823;break;case 98:S=Ua(S,150,100);break;case 97:case 96:S=Ua(S,5e3,250);break;case 95:S=2;break;default:throw Error(n(326))}return Ai!==null&&S===ns&&--S,S}function Qc(S,D){if(50<Eg)throw Eg=0,dI=null,Error(n(185));if(S=Ig(S,D),S!==null){var T=Oo();D===1073741823?(pr&Lm)!==gn&&(pr&(rs|Ms))===gn?mI(S):(uo(S),pr===gn&&qi()):uo(S),(pr&4)===gn||T!==98&&T!==99||(HA===null?HA=new Map([[S,D]]):(T=HA.get(S),(T===void 0||T>D)&&HA.set(S,D)))}}function Ig(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D);var q=S.return,W=null;if(q===null&&S.tag===3)W=S.stateNode;else for(;q!==null;){if(T=q.alternate,q.childExpirationTime<D&&(q.childExpirationTime=D),T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D),q.return===null&&q.tag===3){W=q.stateNode;break}q=q.return}return W!==null&&(Ai===W&&(jm(D),Gi===Pl&&KA(W,ns)),_v(W,D)),W}function qm(S){var D=S.lastExpiredTime;return D!==0||(D=S.firstPendingTime,!Uv(S,D))?D:(D=S.lastPingedTime,S=S.nextKnownPendingLevel,D>S?D:S)}function uo(S){if(S.lastExpiredTime!==0)S.callbackExpirationTime=1073741823,S.callbackPriority=99,S.callbackNode=Cu(mI.bind(null,S));else{var D=qm(S),T=S.callbackNode;if(D===0)T!==null&&(S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90);else{var q=ga();if(D===1073741823?q=99:D===1||D===2?q=95:(q=10*(1073741821-D)-10*(1073741821-q),q=0>=q?99:250>=q?98:5250>=q?97:95),T!==null){var W=S.callbackPriority;if(S.callbackExpirationTime===D&&W>=q)return;T!==bA&&Ee(T)}S.callbackExpirationTime=D,S.callbackPriority=q,D=D===1073741823?Cu(mI.bind(null,S)):Bl(q,Fv.bind(null,S),{timeout:10*(1073741821-D)-Hi()}),S.callbackNode=D}}}function Fv(S,D){if(Hm=0,D)return D=ga(),Wm(S,D),uo(S),null;var T=qm(S);if(T!==0){if(D=S.callbackNode,(pr&(rs|Ms))!==gn)throw Error(n(327));if(Ip(),S===Ai&&T===ns||Qu(S,T),Fr!==null){var q=pr;pr|=rs;var W=GA(S);do try{oF();break}catch(It){jA(S,It)}while(1);if(sa(),pr=q,yp.current=W,Gi===Om)throw D=Mm,Qu(S,T),KA(S,T),uo(S),D;if(Fr===null)switch(W=S.finishedWork=S.current.alternate,S.finishedExpirationTime=T,q=Gi,Ai=null,q){case Pu:case Om:throw Error(n(345));case Ei:Wm(S,2<T?2:T);break;case ha:if(KA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=CI(W)),Va===1073741823&&(W=hI+gI-Hi(),10<W)){if(UA){var ce=S.lastPingedTime;if(ce===0||ce>=T){S.lastPingedTime=T,Qu(S,T);break}}if(ce=qm(S),ce!==0&&ce!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}S.timeoutHandle=qe(ku.bind(null,S),W);break}ku(S);break;case Pl:if(KA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=CI(W)),UA&&(W=S.lastPingedTime,W===0||W>=T)){S.lastPingedTime=T,Qu(S,T);break}if(W=qm(S),W!==0&&W!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}if(MA!==1073741823?q=10*(1073741821-MA)-Hi():Va===1073741823?q=0:(q=10*(1073741821-Va)-5e3,W=Hi(),T=10*(1073741821-T)-W,q=W-q,0>q&&(q=0),q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*fI(q/1960))-q,T<q&&(q=T)),10<q){S.timeoutHandle=qe(ku.bind(null,S),q);break}ku(S);break;case bc:if(Va!==1073741823&&Um!==null){ce=Va;var Se=Um;if(q=Se.busyMinDurationMs|0,0>=q?q=0:(W=Se.busyDelayMs|0,ce=Hi()-(10*(1073741821-ce)-(Se.timeoutMs|0||5e3)),q=ce<=W?0:W+q-ce),10<q){KA(S,T),S.timeoutHandle=qe(ku.bind(null,S),q);break}}ku(S);break;default:throw Error(n(329))}if(uo(S),S.callbackNode===D)return Fv.bind(null,S)}}return null}function mI(S){var D=S.lastExpiredTime;if(D=D!==0?D:1073741823,S.finishedExpirationTime===D)ku(S);else{if((pr&(rs|Ms))!==gn)throw Error(n(327));if(Ip(),S===Ai&&D===ns||Qu(S,D),Fr!==null){var T=pr;pr|=rs;var q=GA(S);do try{sF();break}catch(W){jA(S,W)}while(1);if(sa(),pr=T,yp.current=q,Gi===Om)throw T=Mm,Qu(S,D),KA(S,D),uo(S),T;if(Fr!==null)throw Error(n(261));S.finishedWork=S.current.alternate,S.finishedExpirationTime=D,Ai=null,ku(S),uo(S)}}return null}function Rv(S,D){Wm(S,D),uo(S),(pr&(rs|Ms))===gn&&qi()}function iF(){if(HA!==null){var S=HA;HA=null,S.forEach(function(D,T){Wm(T,D),uo(T)}),qi()}}function Tv(S,D){if((pr&(rs|Ms))!==gn)throw Error(n(187));var T=pr;pr|=1;try{return so(99,S.bind(null,D))}finally{pr=T,qi()}}function Qu(S,D){S.finishedWork=null,S.finishedExpirationTime=0;var T=S.timeoutHandle;if(T!==Oe&&(S.timeoutHandle=Oe,At(T)),Fr!==null)for(T=Fr.return;T!==null;){var q=T;switch(q.tag){case 1:var W=q.type.childContextTypes;W!=null&&Ma(q);break;case 3:Ic(q),$t(q);break;case 5:ng(q);break;case 4:Ic(q);break;case 13:Ue(Vn,q);break;case 19:Ue(Vn,q);break;case 10:Zi(q)}T=T.return}Ai=S,Fr=YA(S.current,null,D),ns=D,Gi=Pu,Mm=null,MA=Va=1073741823,Um=null,Cp=0,UA=!1}function jA(S,D){do{try{if(sa(),cI(),Fr===null||Fr.return===null)return Gi=Om,Mm=D,null;e:{var T=S,q=Fr.return,W=Fr,ce=D;if(D=ns,W.effectTag|=2048,W.firstEffect=W.lastEffect=null,ce!==null&&typeof ce=="object"&&typeof ce.then=="function"){var Se=ce,It=(Vn.current&1)!==0,Ct=q;do{var xt;if(xt=Ct.tag===13){var Nr=Ct.memoizedState;if(Nr!==null)xt=Nr.dehydrated!==null;else{var is=Ct.memoizedProps;xt=is.fallback===void 0?!1:is.unstable_avoidThisFallback!==!0?!0:!It}}if(xt){var fi=Ct.updateQueue;if(fi===null){var Ao=new Set;Ao.add(Se),Ct.updateQueue=Ao}else fi.add(Se);if((Ct.mode&2)===0){if(Ct.effectTag|=64,W.effectTag&=-2981,W.tag===1)if(W.alternate===null)W.tag=17;else{var VA=$i(1073741823,null);VA.tag=2,mi(W,VA)}W.expirationTime=1073741823;break e}ce=void 0,W=D;var Ho=T.pingCache;if(Ho===null?(Ho=T.pingCache=new yg,ce=new Set,Ho.set(Se,ce)):(ce=Ho.get(Se),ce===void 0&&(ce=new Set,Ho.set(Se,ce))),!ce.has(W)){ce.add(W);var rt=uF.bind(null,T,Se,W);Se.then(rt,rt)}Ct.effectTag|=4096,Ct.expirationTime=D;break e}Ct=Ct.return}while(Ct!==null);ce=Error((ge(W.type)||"A React component")+` suspended while rendering, but no fallback UI was specified.
283 283
284Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+dl(W))}Gi!==Sc&&(Gi=Ci),ce=fg(ce,W),Et=q;do{switch(Et.tag){case 3:Se=ce,Et.effectTag|=4096,Et.expirationTime=D;var Ve=Bv(Et,Se,D);Ma(Et,Ve);break e;case 1:Se=ce;var ft=Et.type,jt=Et.stateNode;if((Et.effectTag&64)===0&&(typeof ft.getDerivedStateFromError=="function"||jt!==null&&typeof jt.componentDidCatch=="function"&&(xu===null||!xu.has(jt)))){Et.effectTag|=4096,Et.expirationTime=D;var Er=vv(Et,Se,D);Ma(Et,Er);break e}}Et=Et.return}while(Et!==null)}Fr=bv(Fr)}catch(In){D=In;continue}break}while(1)}function qA(){var S=mp.current;return mp.current=vu,S===null?vu:S}function hI(S,D){S<Ya&&2<S&&(Ya=S),D!==null&&S<LA&&2<S&&(LA=S,Tm=D)}function Mm(S){S>yp&&(yp=S)}function iF(){for(;Fr!==null;)Fr=xv(Fr)}function sF(){for(;Fr!==null&&!Rt();)Fr=xv(Fr)}function xv(S){var D=kv(S.alternate,S,ns);return S.memoizedProps=S.pendingProps,D===null&&(D=bv(S)),cI.current=null,D}function bv(S){Fr=S;do{var D=Fr.alternate;if(S=Fr.return,(Fr.effectTag&2048)===0){e:{var T=D;D=Fr;var q=ns,W=D.pendingProps;switch(D.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:Zn(D.type)&&La(D);break;case 3:yc(D),$t(D),W=D.stateNode,W.pendingContext&&(W.context=W.pendingContext,W.pendingContext=null),(T===null||T.child===null)&&ja(D)&&fa(D),Bl(D);break;case 5:eg(D);var ce=la(mc.current);if(q=D.type,T!==null&&D.stateNode!=null)ts(T,D,q,W,ce),T.ref!==D.ref&&(D.effectTag|=128);else if(W){if(T=la(lo.current),ja(D)){if(W=D,!y)throw Error(n(175));T=op(W.stateNode,W.type,W.memoizedProps,ce,T,W),W.updateQueue=T,T=T!==null,T&&fa(D)}else{var Se=ut(q,W,ce,T,D);vc(Se,D,!1,!1),D.stateNode=Se,yt(Se,q,W,ce,T)&&fa(D)}D.ref!==null&&(D.effectTag|=128)}else if(D.stateNode===null)throw Error(n(166));break;case 6:if(T&&D.stateNode!=null)Hr(T,D,T.memoizedProps,W);else{if(typeof W!="string"&&D.stateNode===null)throw Error(n(166));if(T=la(mc.current),ce=la(lo.current),ja(D)){if(T=D,!y)throw Error(n(176));(T=ap(T.stateNode,T.memoizedProps,T))&&fa(D)}else D.stateNode=Ue(W,T,ce,D)}break;case 11:break;case 13:if(_e(Kn,D),W=D.memoizedState,(D.effectTag&64)!==0){D.expirationTime=q;break e}W=W!==null,ce=!1,T===null?D.memoizedProps.fallback!==void 0&&ja(D):(q=T.memoizedState,ce=q!==null,W||q===null||(q=T.child.sibling,q!==null&&(Se=D.firstEffect,Se!==null?(D.firstEffect=q,q.nextEffect=Se):(D.firstEffect=D.lastEffect=q,q.nextEffect=null),q.effectTag=8))),W&&!ce&&(D.mode&2)!==0&&(T===null&&D.memoizedProps.unstable_avoidThisFallback!==!0||(Kn.current&1)!==0?Gi===Su&&(Gi=pa):((Gi===Su||Gi===pa)&&(Gi=vl),yp!==0&&Ai!==null&&(WA(Ai,ns),Rv(Ai,yp)))),P&&W&&(D.effectTag|=4),I&&(W||ce)&&(D.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:yc(D),Bl(D);break;case 10:Zi(D);break;case 9:break;case 14:break;case 17:Zn(D.type)&&La(D);break;case 19:if(_e(Kn,D),W=D.memoizedState,W===null)break;if(ce=(D.effectTag&64)!==0,Se=W.rendering,Se===null){if(ce)Dc(W,!1);else if(Gi!==Su||T!==null&&(T.effectTag&64)!==0)for(T=D.child;T!==null;){if(Se=cp(T),Se!==null){for(D.effectTag|=64,Dc(W,!1),T=Se.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),W.lastEffect===null&&(D.firstEffect=null),D.lastEffect=W.lastEffect,T=q,W=D.child;W!==null;)ce=W,q=T,ce.effectTag&=2,ce.nextEffect=null,ce.firstEffect=null,ce.lastEffect=null,Se=ce.alternate,Se===null?(ce.childExpirationTime=0,ce.expirationTime=q,ce.child=null,ce.memoizedProps=null,ce.memoizedState=null,ce.updateQueue=null,ce.dependencies=null):(ce.childExpirationTime=Se.childExpirationTime,ce.expirationTime=Se.expirationTime,ce.child=Se.child,ce.memoizedProps=Se.memoizedProps,ce.memoizedState=Se.memoizedState,ce.updateQueue=Se.updateQueue,q=Se.dependencies,ce.dependencies=q===null?null:{expirationTime:q.expirationTime,firstContext:q.firstContext,responders:q.responders}),W=W.sibling;Fn(Kn,Kn.current&1|2,D),D=D.child;break e}T=T.sibling}}else{if(!ce)if(T=cp(Se),T!==null){if(D.effectTag|=64,ce=!0,T=T.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),Dc(W,!0),W.tail===null&&W.tailMode==="hidden"&&!Se.alternate){D=D.lastEffect=W.lastEffect,D!==null&&(D.nextEffect=null);break}}else Hi()>W.tailExpiration&&1<q&&(D.effectTag|=64,ce=!0,Dc(W,!1),D.expirationTime=D.childExpirationTime=q-1);W.isBackwards?(Se.sibling=D.child,D.child=Se):(T=W.last,T!==null?T.sibling=Se:D.child=Se,W.last=Se)}if(W.tail!==null){W.tailExpiration===0&&(W.tailExpiration=Hi()+500),T=W.tail,W.rendering=T,W.tail=T.sibling,W.lastEffect=D.lastEffect,T.sibling=null,W=Kn.current,W=ce?W&1|2:W&1,Fn(Kn,W,D),D=T;break e}break;case 20:break;case 21:break;default:throw Error(n(156,D.tag))}D=null}if(T=Fr,ns===1||T.childExpirationTime!==1){for(W=0,ce=T.child;ce!==null;)q=ce.expirationTime,Se=ce.childExpirationTime,q>W&&(W=q),Se>W&&(W=Se),ce=ce.sibling;T.childExpirationTime=W}if(D!==null)return D;S!==null&&(S.effectTag&2048)===0&&(S.firstEffect===null&&(S.firstEffect=Fr.firstEffect),Fr.lastEffect!==null&&(S.lastEffect!==null&&(S.lastEffect.nextEffect=Fr.firstEffect),S.lastEffect=Fr.lastEffect),1<Fr.effectTag&&(S.lastEffect!==null?S.lastEffect.nextEffect=Fr:S.firstEffect=Fr,S.lastEffect=Fr))}else{if(D=aI(Fr,ns),D!==null)return D.effectTag&=2047,D;S!==null&&(S.firstEffect=S.lastEffect=null,S.effectTag|=2048)}if(D=Fr.sibling,D!==null)return D;Fr=S}while(Fr!==null);return Gi===Su&&(Gi=Sc),null}function gI(S){var D=S.expirationTime;return S=S.childExpirationTime,D>S?D:S}function Qu(S){var D=Lo();return so(99,oF.bind(null,S,D)),null}function oF(S,D){do Cp();while(dg!==null);if((pr&(rs|Ms))!==gn)throw Error(n(327));var T=S.finishedWork,q=S.finishedExpirationTime;if(T===null)return null;if(S.finishedWork=null,S.finishedExpirationTime=0,T===S.current)throw Error(n(177));S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90,S.nextKnownPendingLevel=0;var W=gI(T);if(S.firstPendingTime=W,q<=S.lastSuspendedTime?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:q<=S.firstSuspendedTime&&(S.firstSuspendedTime=q-1),q<=S.lastPingedTime&&(S.lastPingedTime=0),q<=S.lastExpiredTime&&(S.lastExpiredTime=0),S===Ai&&(Fr=Ai=null,ns=0),1<T.effectTag?T.lastEffect!==null?(T.lastEffect.nextEffect=T,W=T.firstEffect):W=T:W=T.firstEffect,W!==null){var ce=pr;pr|=Ms,cI.current=null,me(S.containerInfo),nr=W;do try{aF()}catch(fo){if(nr===null)throw Error(n(330));jA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=W;do try{for(var Se=S,It=D;nr!==null;){var Et=nr.effectTag;if(Et&16&&I&&Ut(nr.stateNode),Et&128){var xt=nr.alternate;if(xt!==null){var Nr=xt.ref;Nr!==null&&(typeof Nr=="function"?Nr(null):Nr.current=null)}}switch(Et&1038){case 2:ur(nr),nr.effectTag&=-3;break;case 6:ur(nr),nr.effectTag&=-3,hn(nr.alternate,nr);break;case 1024:nr.effectTag&=-1025;break;case 1028:nr.effectTag&=-1025,hn(nr.alternate,nr);break;case 4:hn(nr.alternate,nr);break;case 8:var is=Se,fi=nr,Ao=It;I?gr(is,fi,Ao):te(is,fi,Ao),ue(fi)}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));jA(nr,fo),nr=nr.nextEffect}while(nr!==null);be(S.containerInfo),S.current=T,nr=W;do try{for(Et=q;nr!==null;){var YA=nr.effectTag;if(YA&36){var _o=nr.alternate;switch(xt=nr,Nr=Et,xt.tag){case 0:case 11:case 15:N(16,32,xt);break;case 1:var rt=xt.stateNode;if(xt.effectTag&4)if(_o===null)rt.componentDidMount();else{var Ve=xt.elementType===xt.type?_o.memoizedProps:di(xt.type,_o.memoizedProps);rt.componentDidUpdate(Ve,_o.memoizedState,rt.__reactInternalSnapshotBeforeUpdate)}var ft=xt.updateQueue;ft!==null&&qe(xt,ft,rt,Nr);break;case 3:var jt=xt.updateQueue;if(jt!==null){if(Se=null,xt.child!==null)switch(xt.child.tag){case 5:Se=de(xt.child.stateNode);break;case 1:Se=xt.child.stateNode}qe(xt,jt,Se,Nr)}break;case 5:var Er=xt.stateNode;_o===null&&xt.effectTag&4&&$(Er,xt.type,xt.memoizedProps,xt);break;case 6:break;case 4:break;case 12:break;case 13:if(y&&xt.memoizedState===null){var In=xt.alternate;if(In!==null){var Sr=In.memoizedState;if(Sr!==null){var wn=Sr.dehydrated;wn!==null&&no(wn)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163))}}if(YA&128){xt=void 0;var ri=nr.ref;if(ri!==null){var Xr=nr.stateNode;switch(nr.tag){case 5:xt=de(Xr);break;default:xt=Xr}typeof ri=="function"?ri(xt):ri.current=xt}}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));jA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=null,Dn(),pr=ce}else S.current=T;if(Ep)Ep=!1,dg=S,MA=D;else for(nr=W;nr!==null;)D=nr.nextEffect,nr.nextEffect=null,nr=D;if(D=S.firstPendingTime,D===0&&(xu=null),D===1073741823?S===fI?mg++:(mg=0,fI=S):mg=0,typeof dI=="function"&&dI(T.stateNode,q),uo(S),Pu)throw Pu=!1,S=Nm,Nm=null,S;return(pr&km)!==gn||qi(),null}function aF(){for(;nr!==null;){var S=nr.effectTag;(S&256)!==0&&kt(nr.alternate,nr),(S&512)===0||Ep||(Ep=!0,Cl(97,function(){return Cp(),null})),nr=nr.nextEffect}}function Cp(){if(MA!==90){var S=97<MA?97:MA;return MA=90,so(S,lF)}}function lF(){if(dg===null)return!1;var S=dg;if(dg=null,(pr&(rs|Ms))!==gn)throw Error(n(331));var D=pr;for(pr|=Ms,S=S.current.firstEffect;S!==null;){try{var T=S;if((T.effectTag&512)!==0)switch(T.tag){case 0:case 11:case 15:N(128,0,T),N(0,64,T)}}catch(q){if(S===null)throw Error(n(330));jA(S,q)}T=S.nextEffect,S.nextEffect=null,S=T}return pr=D,qi(),!0}function Qv(S,D,T){D=fg(T,D),D=Bv(S,D,1073741823),mi(S,D),S=yg(S,1073741823),S!==null&&uo(S)}function jA(S,D){if(S.tag===3)Qv(S,S,D);else for(var T=S.return;T!==null;){if(T.tag===3){Qv(T,S,D);break}else if(T.tag===1){var q=T.stateNode;if(typeof T.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(xu===null||!xu.has(q))){S=fg(D,S),S=vv(T,S,1073741823),mi(T,S),T=yg(T,1073741823),T!==null&&uo(T);break}}T=T.return}}function cF(S,D,T){var q=S.pingCache;q!==null&&q.delete(D),Ai===S&&ns===T?Gi===vl||Gi===pa&&Ya===1073741823&&Hi()-uI<AI?bu(S,ns):OA=!0:Fv(S,T)&&(D=S.lastPingedTime,D!==0&&D<T||(S.lastPingedTime=T,S.finishedExpirationTime===T&&(S.finishedExpirationTime=0,S.finishedWork=null),uo(S)))}function uF(S,D){var T=S.stateNode;T!==null&&T.delete(D),D=0,D===0&&(D=ha(),D=_A(D,S,null)),S=yg(S,D),S!==null&&uo(S)}var kv;kv=function(S,D,T){var q=D.expirationTime;if(S!==null){var W=D.pendingProps;if(S.memoizedProps!==W||Ui.current)Mo=!0;else{if(q<T){switch(Mo=!1,D.tag){case 3:Ag(D),ug();break;case 5:if(vm(D),D.mode&4&&T!==1&&Qe(D.type,W))return D.expirationTime=D.childExpirationTime=1,null;break;case 1:Zn(D.type)&&fc(D);break;case 4:$h(D,D.stateNode.containerInfo);break;case 10:Oo(D,D.memoizedProps.value);break;case 13:if(D.memoizedState!==null)return q=D.child.childExpirationTime,q!==0&&q>=T?rn(S,D,T):(Fn(Kn,Kn.current&1,D),D=ei(S,D,T),D!==null?D.sibling:null);Fn(Kn,Kn.current&1,D);break;case 19:if(q=D.childExpirationTime>=T,(S.effectTag&64)!==0){if(q)return Ga(S,D,T);D.effectTag|=64}if(W=D.memoizedState,W!==null&&(W.rendering=null,W.tail=null),Fn(Kn,Kn.current,D),!q)return null}return ei(S,D,T)}Mo=!1}}else Mo=!1;switch(D.expirationTime=0,D.tag){case 2:if(q=D.type,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,W=Ri(D,Rn.current),Ns(D,T),W=rg(null,D,q,S,W,T),D.effectTag|=1,typeof W=="object"&&W!==null&&typeof W.render=="function"&&W.$$typeof===void 0){if(D.tag=1,sI(),Zn(q)){var ce=!0;fc(D)}else ce=!1;D.memoizedState=W.state!==null&&W.state!==void 0?W.state:null;var Se=q.getDerivedStateFromProps;typeof Se=="function"&&vt(D,q,Se,S),W.updater=tr,D.stateNode=W,W._reactInternalFiber=D,$n(D,q,S,T),D=gp(null,D,q,!0,ce,T)}else D.tag=0,Es(null,D,W,T),D=D.child;return D;case 16:if(W=D.elementType,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,ve(W),W._status!==1)throw W._result;switch(W=W._result,D.type=W,ce=D.tag=pF(W),S=di(W,S),ce){case 0:D=TA(null,D,W,S,T);break;case 1:D=hp(null,D,W,S,T);break;case 11:D=Ei(null,D,W,S,T);break;case 14:D=xm(null,D,W,di(W.type,S),q,T);break;default:throw Error(n(306,W,""))}return D;case 0:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),TA(S,D,q,W,T);case 1:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),hp(S,D,q,W,T);case 3:if(Ag(D),q=D.updateQueue,q===null)throw Error(n(282));if(W=D.memoizedState,W=W!==null?W.element:null,we(D,q,D.pendingProps,null,T),q=D.memoizedState.element,q===W)ug(),D=ei(S,D,T);else{if((W=D.stateNode.hydrate)&&(y?(Bc=hu(D.stateNode.containerInfo),ua=D,W=wl=!0):W=!1),W)for(T=aa(D,null,q,T),D.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else Es(S,D,q,T),ug();D=D.child}return D;case 5:return vm(D),S===null&&RA(D),q=D.type,W=D.pendingProps,ce=S!==null?S.memoizedProps:null,Se=W.children,Te(q,W)?Se=null:ce!==null&&Te(q,ce)&&(D.effectTag|=16),Uo(S,D),D.mode&4&&T!==1&&Qe(q,W)?(D.expirationTime=D.childExpirationTime=1,D=null):(Es(S,D,Se,T),D=D.child),D;case 6:return S===null&&RA(D),null;case 13:return rn(S,D,T);case 4:return $h(D,D.stateNode.containerInfo),q=D.pendingProps,S===null?D.child=yi(D,null,q,T):Es(S,D,q,T),D.child;case 11:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),Ei(S,D,q,W,T);case 7:return Es(S,D,D.pendingProps,T),D.child;case 8:return Es(S,D,D.pendingProps.children,T),D.child;case 12:return Es(S,D,D.pendingProps.children,T),D.child;case 10:e:{if(q=D.type._context,W=D.pendingProps,Se=D.memoizedProps,ce=W.value,Oo(D,ce),Se!==null){var It=Se.value;if(ce=ds(It,ce)?0:(typeof q._calculateChangedBits=="function"?q._calculateChangedBits(It,ce):1073741823)|0,ce===0){if(Se.children===W.children&&!Ui.current){D=ei(S,D,T);break e}}else for(It=D.child,It!==null&&(It.return=D);It!==null;){var Et=It.dependencies;if(Et!==null){Se=It.child;for(var xt=Et.firstContext;xt!==null;){if(xt.context===q&&(xt.observedBits&ce)!==0){It.tag===1&&(xt=$i(T,null),xt.tag=2,mi(It,xt)),It.expirationTime<T&&(It.expirationTime=T),xt=It.alternate,xt!==null&&xt.expirationTime<T&&(xt.expirationTime=T),Ts(It.return,T),Et.expirationTime<T&&(Et.expirationTime=T);break}xt=xt.next}}else Se=It.tag===10&&It.type===D.type?null:It.child;if(Se!==null)Se.return=It;else for(Se=It;Se!==null;){if(Se===D){Se=null;break}if(It=Se.sibling,It!==null){It.return=Se.return,Se=It;break}Se=Se.return}It=Se}}Es(S,D,W.children,T),D=D.child}return D;case 9:return W=D.type,ce=D.pendingProps,q=ce.children,Ns(D,T),W=Ls(W,ce.unstable_observedBits),q=q(W),D.effectTag|=1,Es(S,D,q,T),D.child;case 14:return W=D.type,ce=di(W,D.pendingProps),ce=di(W.type,ce),xm(S,D,W,ce,q,T);case 15:return bm(S,D,D.type,D.pendingProps,q,T);case 17:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),D.tag=1,Zn(q)?(S=!0,fc(D)):S=!1,Ns(D,T),Tn(D,q,W,T),$n(D,q,W,T),gp(null,D,q,!0,S,T);case 19:return Ga(S,D,T)}throw Error(n(156,D.tag))};var dI=null,mI=null;function AF(S){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(D.isDisabled||!D.supportsFiber)return!0;try{var T=D.inject(S);dI=function(q){try{D.onCommitFiberRoot(T,q,void 0,(q.current.effectTag&64)===64)}catch{}},mI=function(q){try{D.onCommitFiberUnmount(T,q)}catch{}}}catch{}return!0}function fF(S,D,T,q){this.tag=S,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=D,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Dl(S,D,T,q){return new fF(S,D,T,q)}function yI(S){return S=S.prototype,!(!S||!S.isReactComponent)}function pF(S){if(typeof S=="function")return yI(S)?1:0;if(S!=null){if(S=S.$$typeof,S===L)return 11;if(S===re)return 14}return 2}function GA(S,D){var T=S.alternate;return T===null?(T=Dl(S.tag,D,S.key,S.mode),T.elementType=S.elementType,T.type=S.type,T.stateNode=S.stateNode,T.alternate=S,S.alternate=T):(T.pendingProps=D,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=S.childExpirationTime,T.expirationTime=S.expirationTime,T.child=S.child,T.memoizedProps=S.memoizedProps,T.memoizedState=S.memoizedState,T.updateQueue=S.updateQueue,D=S.dependencies,T.dependencies=D===null?null:{expirationTime:D.expirationTime,firstContext:D.firstContext,responders:D.responders},T.sibling=S.sibling,T.index=S.index,T.ref=S.ref,T}function Um(S,D,T,q,W,ce){var Se=2;if(q=S,typeof S=="function")yI(S)&&(Se=1);else if(typeof S=="string")Se=5;else e:switch(S){case C:return ku(T.children,W,ce,D);case R:Se=8,W|=7;break;case w:Se=8,W|=1;break;case v:return S=Dl(12,T,D,W|8),S.elementType=v,S.type=v,S.expirationTime=ce,S;case _:return S=Dl(13,T,D,W),S.type=_,S.elementType=_,S.expirationTime=ce,S;case J:return S=Dl(19,T,D,W),S.elementType=J,S.expirationTime=ce,S;default:if(typeof S=="object"&&S!==null)switch(S.$$typeof){case b:Se=10;break e;case E:Se=9;break e;case L:Se=11;break e;case re:Se=14;break e;case oe:Se=16,q=null;break e}throw Error(n(130,S==null?S:typeof S,""))}return D=Dl(Se,T,D,W),D.elementType=S,D.type=q,D.expirationTime=ce,D}function ku(S,D,T,q){return S=Dl(7,S,q,D),S.expirationTime=T,S}function EI(S,D,T){return S=Dl(6,S,null,D),S.expirationTime=T,S}function CI(S,D,T){return D=Dl(4,S.children!==null?S.children:[],S.key,D),D.expirationTime=T,D.stateNode={containerInfo:S.containerInfo,pendingChildren:null,implementation:S.implementation},D}function hF(S,D,T){this.tag=D,this.current=null,this.containerInfo=S,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=Le,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Fv(S,D){var T=S.firstSuspendedTime;return S=S.lastSuspendedTime,T!==0&&T>=D&&S<=D}function WA(S,D){var T=S.firstSuspendedTime,q=S.lastSuspendedTime;T<D&&(S.firstSuspendedTime=D),(q>D||T===0)&&(S.lastSuspendedTime=D),D<=S.lastPingedTime&&(S.lastPingedTime=0),D<=S.lastExpiredTime&&(S.lastExpiredTime=0)}function Rv(S,D){D>S.firstPendingTime&&(S.firstPendingTime=D);var T=S.firstSuspendedTime;T!==0&&(D>=T?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:D>=S.lastSuspendedTime&&(S.lastSuspendedTime=D+1),D>S.nextKnownPendingLevel&&(S.nextKnownPendingLevel=D))}function _m(S,D){var T=S.lastExpiredTime;(T===0||T>D)&&(S.lastExpiredTime=D)}function Tv(S){var D=S._reactInternalFiber;if(D===void 0)throw typeof S.render=="function"?Error(n(188)):Error(n(268,Object.keys(S)));return S=De(D),S===null?null:S.stateNode}function Nv(S,D){S=S.memoizedState,S!==null&&S.dehydrated!==null&&S.retryTime<D&&(S.retryTime=D)}function Hm(S,D){Nv(S,D),(S=S.alternate)&&Nv(S,D)}var Lv={createContainer:function(S,D,T){return S=new hF(S,D,T),D=Dl(3,null,null,D===2?7:D===1?3:0),S.current=D,D.stateNode=S},updateContainer:function(S,D,T,q){var W=D.current,ce=ha(),Se=xe.suspense;ce=_A(ce,W,Se);e:if(T){T=T._reactInternalFiber;t:{if(le(T)!==T||T.tag!==1)throw Error(n(170));var It=T;do{switch(It.tag){case 3:It=It.stateNode.context;break t;case 1:if(Zn(It.type)){It=It.stateNode.__reactInternalMemoizedMergedChildContext;break t}}It=It.return}while(It!==null);throw Error(n(171))}if(T.tag===1){var Et=T.type;if(Zn(Et)){T=gu(T,Et,It);break e}}T=It}else T=Fi;return D.context===null?D.context=T:D.pendingContext=T,D=$i(ce,Se),D.payload={element:S},q=q===void 0?null:q,q!==null&&(D.callback=q),mi(W,D),Pc(W,ce),ce},batchedEventUpdates:function(S,D){var T=pr;pr|=2;try{return S(D)}finally{pr=T,pr===gn&&qi()}},batchedUpdates:function(S,D){var T=pr;pr|=1;try{return S(D)}finally{pr=T,pr===gn&&qi()}},unbatchedUpdates:function(S,D){var T=pr;pr&=-2,pr|=km;try{return S(D)}finally{pr=T,pr===gn&&qi()}},deferredUpdates:function(S){return so(97,S)},syncUpdates:function(S,D,T,q){return so(99,S.bind(null,D,T,q))},discreteUpdates:function(S,D,T,q){var W=pr;pr|=4;try{return so(98,S.bind(null,D,T,q))}finally{pr=W,pr===gn&&qi()}},flushDiscreteUpdates:function(){(pr&(1|rs|Ms))===gn&&(nF(),Cp())},flushControlled:function(S){var D=pr;pr|=1;try{so(99,S)}finally{pr=D,pr===gn&&qi()}},flushSync:Pv,flushPassiveEffects:Cp,IsThisRendererActing:{current:!1},getPublicRootInstance:function(S){if(S=S.current,!S.child)return null;switch(S.child.tag){case 5:return de(S.child.stateNode);default:return S.child.stateNode}},attemptSynchronousHydration:function(S){switch(S.tag){case 3:var D=S.stateNode;D.hydrate&&Sv(D,D.firstPendingTime);break;case 13:Pv(function(){return Pc(S,1073741823)}),D=Oa(ha(),150,100),Hm(S,D)}},attemptUserBlockingHydration:function(S){if(S.tag===13){var D=Oa(ha(),150,100);Pc(S,D),Hm(S,D)}},attemptContinuousHydration:function(S){if(S.tag===13){ha();var D=bA++;Pc(S,D),Hm(S,D)}},attemptHydrationAtCurrentPriority:function(S){if(S.tag===13){var D=ha();D=_A(D,S,null),Pc(S,D),Hm(S,D)}},findHostInstance:Tv,findHostInstanceWithWarning:function(S){return Tv(S)},findHostInstanceWithNoPortals:function(S){return S=Ee(S),S===null?null:S.tag===20?S.stateNode.instance:S.stateNode},shouldSuspend:function(){return!1},injectIntoDevTools:function(S){var D=S.findFiberByHostInstance;return AF(r({},S,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:function(T){return T=De(T),T===null?null:T.stateNode},findFiberByHostInstance:function(T){return D?D(T):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}};G2.exports=Lv.default||Lv;var gF=G2.exports;return G2.exports=t,gF}});var qEe=U((fYt,HEe)=>{"use strict";HEe.exports=_Ee()});var GEe=U((pYt,jEe)=>{"use strict";var Wmt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};jEe.exports=Wmt});var JEe=U((hYt,KEe)=>{"use strict";var Ymt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},kQ=function(){function t(e,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}}();function D6(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function S6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var nu=GEe(),Kmt=function(){function t(e,r,o,a,n,u){S6(this,t),this.left=e,this.right=r,this.top=o,this.bottom=a,this.width=n,this.height=u}return kQ(t,[{key:"fromJS",value:function(r){r(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:"toString",value:function(){return"<Layout#"+this.left+":"+this.right+";"+this.top+":"+this.bottom+";"+this.width+":"+this.height+">"}}]),t}(),WEe=function(){kQ(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){S6(this,t),this.width=e,this.height=r}return kQ(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return"<Size#"+this.width+"x"+this.height+">"}}]),t}(),YEe=function(){function t(e,r){S6(this,t),this.unit=e,this.value=r}return kQ(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case nu.UNIT_POINT:return String(this.value);case nu.UNIT_PERCENT:return this.value+"%";case nu.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();KEe.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var C=arguments.length,w=Array(C),v=0;v<C;v++)w[v]=arguments[v];return p.call.apply(p,[this,h].concat(w))}}for(var o=["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding"],a=function(){var A,p=o[n],h=(A={},D6(A,nu.UNIT_POINT,e.Node.prototype[p]),D6(A,nu.UNIT_PERCENT,e.Node.prototype[p+"Percent"]),D6(A,nu.UNIT_AUTO,e.Node.prototype[p+"Auto"]),A);r(e.Node.prototype,p,function(C){for(var w=arguments.length,v=Array(w>1?w-1:0),b=1;b<w;b++)v[b-1]=arguments[b];var E=v.pop(),R=void 0,L=void 0;if(E==="auto")R=nu.UNIT_AUTO,L=void 0;else if(E instanceof YEe)R=E.unit,L=E.valueOf();else if(R=typeof E=="string"&&E.endsWith("%")?nu.UNIT_PERCENT:nu.UNIT_POINT,L=parseFloat(E),!Number.isNaN(E)&&Number.isNaN(L))throw new Error("Invalid value "+E+" for "+p);if(!h[R])throw new Error('Failed to execute "'+p+`": Unsupported unit '`+E+"'");if(L!==void 0){var _;return(_=h[R]).call.apply(_,[this].concat(v,[L]))}else{var J;return(J=h[R]).call.apply(J,[this].concat(v))}})},n=0;n<o.length;n++)a();return r(e.Config.prototype,"free",function(){e.Config.destroy(this)}),r(e.Node,"create",function(u,A){return A?e.Node.createWithConfig(A):e.Node.createDefault()}),r(e.Node.prototype,"free",function(){e.Node.destroy(this)}),r(e.Node.prototype,"freeRecursive",function(){for(var u=0,A=this.getChildCount();u<A;++u)this.getChild(0).freeRecursive();this.free()}),r(e.Node.prototype,"setMeasureFunc",function(u,A){return A?u.call(this,function(){return WEe.fromJS(A.apply(void 0,arguments))}):this.unsetMeasureFunc()}),r(e.Node.prototype,"calculateLayout",function(u){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:nu.DIRECTION_LTR;return u.call(this,A,p,h)}),Ymt({Config:e.Config,Node:e.Node,Layout:t("Layout",Kmt),Size:t("Size",WEe),Value:t("Value",YEe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},nu)}});var VEe=U((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof Ie=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e<Runtime.functionPointers.length;e++)if(!Runtime.functionPointers[e])return Runtime.functionPointers[e]=t,2*(1+e);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(t){Runtime.functionPointers[(t-2)/2]=null},warnOnce:function(t){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[t]||(Runtime.warnOnce.shown[t]=1,Module.printErr(t))},funcWrappers:{},getFuncWrapper:function(t,e){if(!!t){assert(e),Runtime.funcWrappers[e]||(Runtime.funcWrappers[e]={});var r=Runtime.funcWrappers[e];return r[t]||(e.length===1?r[t]=function(){return Runtime.dynCall(e,t)}:e.length===2?r[t]=function(a){return Runtime.dynCall(e,t,[a])}:r[t]=function(){return Runtime.dynCall(e,t,Array.prototype.slice.call(arguments))}),r[t]}},getCompilerSetting:function(t){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(t){var e=STACKTOP;return STACKTOP=STACKTOP+t|0,STACKTOP=STACKTOP+15&-16,e},staticAlloc:function(t){var e=STATICTOP;return STATICTOP=STATICTOP+t|0,STATICTOP=STATICTOP+15&-16,e},dynamicAlloc:function(t){var e=HEAP32[DYNAMICTOP_PTR>>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h<a.length;h++){var C=toC[o[h]];C?(p===0&&(p=Runtime.stackSave()),A[h]=C(a[h])):A[h]=a[h]}var w=u.apply(null,A);if(r==="string"&&(w=Pointer_stringify(w)),p!==0){if(n&&n.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(p)});return}Runtime.stackRestore(p)}return w};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(t){var e=t.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var t in JSfuncs)JSfuncs.hasOwnProperty(t)&&(JSsource[t]=parseJSFunc(JSfuncs[t]))}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(t){return t==="number"}),numericRet=returnType!=="string";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(t,e){return"$"+e}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type!=="number"){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap;function setValue(t,e,r,o){switch(r=r||"i8",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":HEAP8[t>>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o<p;o+=4)HEAP32[o>>2]=0;for(p=A+n;o<p;)HEAP8[o++>>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,C,w,v;h<n;){var b=t[h];if(typeof b=="function"&&(b=Runtime.getFunctionIndex(b)),C=u||e[h],C===0){h++;continue}C=="i64"&&(C="i32"),setValue(A+h,b,C),v!==C&&(w=Runtime.getNativeTypeSize(C),v=C),h+=w}return A}Module.allocate=allocate;function getMemory(t){return staticSealed?runtimeInitialized?_malloc(t):Runtime.dynamicAlloc(t):Runtime.staticAlloc(t)}Module.getMemory=getMemory;function Pointer_stringify(t,e){if(e===0||!t)return"";for(var r=0,o,a=0;o=HEAPU8[t+a>>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var C=o-65536;h+=String.fromCharCode(55296|C>>10,56320|C&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u<t.length;++u){var A=t.charCodeAt(u);if(A>=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r<t.length;++r){var o=t.charCodeAt(r);o>=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` 284Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+Cl(W))}Gi!==bc&&(Gi=Ei),ce=gg(ce,W),Ct=q;do{switch(Ct.tag){case 3:Se=ce,Ct.effectTag|=4096,Ct.expirationTime=D;var Je=Qv(Ct,Se,D);Ha(Ct,Je);break e;case 1:Se=ce;var ft=Ct.type,jt=Ct.stateNode;if((Ct.effectTag&64)===0&&(typeof ft.getDerivedStateFromError=="function"||jt!==null&&typeof jt.componentDidCatch=="function"&&(bu===null||!bu.has(jt)))){Ct.effectTag|=4096,Ct.expirationTime=D;var Cr=kv(Ct,Se,D);Ha(Ct,Cr);break e}}Ct=Ct.return}while(Ct!==null)}Fr=Lv(Fr)}catch(In){D=In;continue}break}while(1)}function GA(){var S=yp.current;return yp.current=Du,S===null?Du:S}function yI(S,D){S<Va&&2<S&&(Va=S),D!==null&&S<MA&&2<S&&(MA=S,Um=D)}function jm(S){S>Cp&&(Cp=S)}function sF(){for(;Fr!==null;)Fr=Nv(Fr)}function oF(){for(;Fr!==null&&!Rt();)Fr=Nv(Fr)}function Nv(S){var D=Mv(S.alternate,S,ns);return S.memoizedProps=S.pendingProps,D===null&&(D=Lv(S)),pI.current=null,D}function Lv(S){Fr=S;do{var D=Fr.alternate;if(S=Fr.return,(Fr.effectTag&2048)===0){e:{var T=D;D=Fr;var q=ns,W=D.pendingProps;switch(D.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:$n(D.type)&&Ma(D);break;case 3:Ic(D),$t(D),W=D.stateNode,W.pendingContext&&(W.context=W.pendingContext,W.pendingContext=null),(T===null||T.child===null)&&Wa(D)&&pa(D),Sl(D);break;case 5:ng(D);var ce=ca(Ec.current);if(q=D.type,T!==null&&D.stateNode!=null)ts(T,D,q,W,ce),T.ref!==D.ref&&(D.effectTag|=128);else if(W){if(T=ca(lo.current),Wa(D)){if(W=D,!y)throw Error(n(175));T=ap(W.stateNode,W.type,W.memoizedProps,ce,T,W),W.updateQueue=T,T=T!==null,T&&pa(D)}else{var Se=ut(q,W,ce,T,D);Pc(Se,D,!1,!1),D.stateNode=Se,yt(Se,q,W,ce,T)&&pa(D)}D.ref!==null&&(D.effectTag|=128)}else if(D.stateNode===null)throw Error(n(166));break;case 6:if(T&&D.stateNode!=null)Hr(T,D,T.memoizedProps,W);else{if(typeof W!="string"&&D.stateNode===null)throw Error(n(166));if(T=ca(Ec.current),ce=ca(lo.current),Wa(D)){if(T=D,!y)throw Error(n(176));(T=lp(T.stateNode,T.memoizedProps,T))&&pa(D)}else D.stateNode=_e(W,T,ce,D)}break;case 11:break;case 13:if(Ue(Vn,D),W=D.memoizedState,(D.effectTag&64)!==0){D.expirationTime=q;break e}W=W!==null,ce=!1,T===null?D.memoizedProps.fallback!==void 0&&Wa(D):(q=T.memoizedState,ce=q!==null,W||q===null||(q=T.child.sibling,q!==null&&(Se=D.firstEffect,Se!==null?(D.firstEffect=q,q.nextEffect=Se):(D.firstEffect=D.lastEffect=q,q.nextEffect=null),q.effectTag=8))),W&&!ce&&(D.mode&2)!==0&&(T===null&&D.memoizedProps.unstable_avoidThisFallback!==!0||(Vn.current&1)!==0?Gi===Pu&&(Gi=ha):((Gi===Pu||Gi===ha)&&(Gi=Pl),Cp!==0&&Ai!==null&&(KA(Ai,ns),_v(Ai,Cp)))),P&&W&&(D.effectTag|=4),I&&(W||ce)&&(D.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Ic(D),Sl(D);break;case 10:Zi(D);break;case 9:break;case 14:break;case 17:$n(D.type)&&Ma(D);break;case 19:if(Ue(Vn,D),W=D.memoizedState,W===null)break;if(ce=(D.effectTag&64)!==0,Se=W.rendering,Se===null){if(ce)xc(W,!1);else if(Gi!==Pu||T!==null&&(T.effectTag&64)!==0)for(T=D.child;T!==null;){if(Se=up(T),Se!==null){for(D.effectTag|=64,xc(W,!1),T=Se.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),W.lastEffect===null&&(D.firstEffect=null),D.lastEffect=W.lastEffect,T=q,W=D.child;W!==null;)ce=W,q=T,ce.effectTag&=2,ce.nextEffect=null,ce.firstEffect=null,ce.lastEffect=null,Se=ce.alternate,Se===null?(ce.childExpirationTime=0,ce.expirationTime=q,ce.child=null,ce.memoizedProps=null,ce.memoizedState=null,ce.updateQueue=null,ce.dependencies=null):(ce.childExpirationTime=Se.childExpirationTime,ce.expirationTime=Se.expirationTime,ce.child=Se.child,ce.memoizedProps=Se.memoizedProps,ce.memoizedState=Se.memoizedState,ce.updateQueue=Se.updateQueue,q=Se.dependencies,ce.dependencies=q===null?null:{expirationTime:q.expirationTime,firstContext:q.firstContext,responders:q.responders}),W=W.sibling;Fn(Vn,Vn.current&1|2,D),D=D.child;break e}T=T.sibling}}else{if(!ce)if(T=up(Se),T!==null){if(D.effectTag|=64,ce=!0,T=T.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),xc(W,!0),W.tail===null&&W.tailMode==="hidden"&&!Se.alternate){D=D.lastEffect=W.lastEffect,D!==null&&(D.nextEffect=null);break}}else Hi()>W.tailExpiration&&1<q&&(D.effectTag|=64,ce=!0,xc(W,!1),D.expirationTime=D.childExpirationTime=q-1);W.isBackwards?(Se.sibling=D.child,D.child=Se):(T=W.last,T!==null?T.sibling=Se:D.child=Se,W.last=Se)}if(W.tail!==null){W.tailExpiration===0&&(W.tailExpiration=Hi()+500),T=W.tail,W.rendering=T,W.tail=T.sibling,W.lastEffect=D.lastEffect,T.sibling=null,W=Vn.current,W=ce?W&1|2:W&1,Fn(Vn,W,D),D=T;break e}break;case 20:break;case 21:break;default:throw Error(n(156,D.tag))}D=null}if(T=Fr,ns===1||T.childExpirationTime!==1){for(W=0,ce=T.child;ce!==null;)q=ce.expirationTime,Se=ce.childExpirationTime,q>W&&(W=q),Se>W&&(W=Se),ce=ce.sibling;T.childExpirationTime=W}if(D!==null)return D;S!==null&&(S.effectTag&2048)===0&&(S.firstEffect===null&&(S.firstEffect=Fr.firstEffect),Fr.lastEffect!==null&&(S.lastEffect!==null&&(S.lastEffect.nextEffect=Fr.firstEffect),S.lastEffect=Fr.lastEffect),1<Fr.effectTag&&(S.lastEffect!==null?S.lastEffect.nextEffect=Fr:S.firstEffect=Fr,S.lastEffect=Fr))}else{if(D=AI(Fr,ns),D!==null)return D.effectTag&=2047,D;S!==null&&(S.firstEffect=S.lastEffect=null,S.effectTag|=2048)}if(D=Fr.sibling,D!==null)return D;Fr=S}while(Fr!==null);return Gi===Pu&&(Gi=bc),null}function CI(S){var D=S.expirationTime;return S=S.childExpirationTime,D>S?D:S}function ku(S){var D=Oo();return so(99,aF.bind(null,S,D)),null}function aF(S,D){do Ip();while(Cg!==null);if((pr&(rs|Ms))!==gn)throw Error(n(327));var T=S.finishedWork,q=S.finishedExpirationTime;if(T===null)return null;if(S.finishedWork=null,S.finishedExpirationTime=0,T===S.current)throw Error(n(177));S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90,S.nextKnownPendingLevel=0;var W=CI(T);if(S.firstPendingTime=W,q<=S.lastSuspendedTime?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:q<=S.firstSuspendedTime&&(S.firstSuspendedTime=q-1),q<=S.lastPingedTime&&(S.lastPingedTime=0),q<=S.lastExpiredTime&&(S.lastExpiredTime=0),S===Ai&&(Fr=Ai=null,ns=0),1<T.effectTag?T.lastEffect!==null?(T.lastEffect.nextEffect=T,W=T.firstEffect):W=T:W=T.firstEffect,W!==null){var ce=pr;pr|=Ms,pI.current=null,me(S.containerInfo),nr=W;do try{lF()}catch(fo){if(nr===null)throw Error(n(330));WA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=W;do try{for(var Se=S,It=D;nr!==null;){var Ct=nr.effectTag;if(Ct&16&&I&&Ut(nr.stateNode),Ct&128){var xt=nr.alternate;if(xt!==null){var Nr=xt.ref;Nr!==null&&(typeof Nr=="function"?Nr(null):Nr.current=null)}}switch(Ct&1038){case 2:ur(nr),nr.effectTag&=-3;break;case 6:ur(nr),nr.effectTag&=-3,hn(nr.alternate,nr);break;case 1024:nr.effectTag&=-1025;break;case 1028:nr.effectTag&=-1025,hn(nr.alternate,nr);break;case 4:hn(nr.alternate,nr);break;case 8:var is=Se,fi=nr,Ao=It;I?gr(is,fi,Ao):te(is,fi,Ao),Ae(fi)}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));WA(nr,fo),nr=nr.nextEffect}while(nr!==null);be(S.containerInfo),S.current=T,nr=W;do try{for(Ct=q;nr!==null;){var VA=nr.effectTag;if(VA&36){var Ho=nr.alternate;switch(xt=nr,Nr=Ct,xt.tag){case 0:case 11:case 15:N(16,32,xt);break;case 1:var rt=xt.stateNode;if(xt.effectTag&4)if(Ho===null)rt.componentDidMount();else{var Je=xt.elementType===xt.type?Ho.memoizedProps:di(xt.type,Ho.memoizedProps);rt.componentDidUpdate(Je,Ho.memoizedState,rt.__reactInternalSnapshotBeforeUpdate)}var ft=xt.updateQueue;ft!==null&&je(xt,ft,rt,Nr);break;case 3:var jt=xt.updateQueue;if(jt!==null){if(Se=null,xt.child!==null)switch(xt.child.tag){case 5:Se=de(xt.child.stateNode);break;case 1:Se=xt.child.stateNode}je(xt,jt,Se,Nr)}break;case 5:var Cr=xt.stateNode;Ho===null&&xt.effectTag&4&&$(Cr,xt.type,xt.memoizedProps,xt);break;case 6:break;case 4:break;case 12:break;case 13:if(y&&xt.memoizedState===null){var In=xt.alternate;if(In!==null){var Sr=In.memoizedState;if(Sr!==null){var wn=Sr.dehydrated;wn!==null&&no(wn)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163))}}if(VA&128){xt=void 0;var ni=nr.ref;if(ni!==null){var Xr=nr.stateNode;switch(nr.tag){case 5:xt=de(Xr);break;default:xt=Xr}typeof ni=="function"?ni(xt):ni.current=xt}}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));WA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=null,Dn(),pr=ce}else S.current=T;if(Ep)Ep=!1,Cg=S,_A=D;else for(nr=W;nr!==null;)D=nr.nextEffect,nr.nextEffect=null,nr=D;if(D=S.firstPendingTime,D===0&&(bu=null),D===1073741823?S===dI?Eg++:(Eg=0,dI=S):Eg=0,typeof EI=="function"&&EI(T.stateNode,q),uo(S),xu)throw xu=!1,S=_m,_m=null,S;return(pr&Lm)!==gn||qi(),null}function lF(){for(;nr!==null;){var S=nr.effectTag;(S&256)!==0&&kt(nr.alternate,nr),(S&512)===0||Ep||(Ep=!0,Bl(97,function(){return Ip(),null})),nr=nr.nextEffect}}function Ip(){if(_A!==90){var S=97<_A?97:_A;return _A=90,so(S,cF)}}function cF(){if(Cg===null)return!1;var S=Cg;if(Cg=null,(pr&(rs|Ms))!==gn)throw Error(n(331));var D=pr;for(pr|=Ms,S=S.current.firstEffect;S!==null;){try{var T=S;if((T.effectTag&512)!==0)switch(T.tag){case 0:case 11:case 15:N(128,0,T),N(0,64,T)}}catch(q){if(S===null)throw Error(n(330));WA(S,q)}T=S.nextEffect,S.nextEffect=null,S=T}return pr=D,qi(),!0}function Ov(S,D,T){D=gg(T,D),D=Qv(S,D,1073741823),mi(S,D),S=Ig(S,1073741823),S!==null&&uo(S)}function WA(S,D){if(S.tag===3)Ov(S,S,D);else for(var T=S.return;T!==null;){if(T.tag===3){Ov(T,S,D);break}else if(T.tag===1){var q=T.stateNode;if(typeof T.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(bu===null||!bu.has(q))){S=gg(D,S),S=kv(T,S,1073741823),mi(T,S),T=Ig(T,1073741823),T!==null&&uo(T);break}}T=T.return}}function uF(S,D,T){var q=S.pingCache;q!==null&&q.delete(D),Ai===S&&ns===T?Gi===Pl||Gi===ha&&Va===1073741823&&Hi()-hI<gI?Qu(S,ns):UA=!0:Uv(S,T)&&(D=S.lastPingedTime,D!==0&&D<T||(S.lastPingedTime=T,S.finishedExpirationTime===T&&(S.finishedExpirationTime=0,S.finishedWork=null),uo(S)))}function AF(S,D){var T=S.stateNode;T!==null&&T.delete(D),D=0,D===0&&(D=ga(),D=qA(D,S,null)),S=Ig(S,D),S!==null&&uo(S)}var Mv;Mv=function(S,D,T){var q=D.expirationTime;if(S!==null){var W=D.pendingProps;if(S.memoizedProps!==W||Ui.current)Uo=!0;else{if(q<T){switch(Uo=!1,D.tag){case 3:hg(D),pg();break;case 5:if(bm(D),D.mode&4&&T!==1&&Qe(D.type,W))return D.expirationTime=D.childExpirationTime=1,null;break;case 1:$n(D.type)&&gc(D);break;case 4:rg(D,D.stateNode.containerInfo);break;case 10:Mo(D,D.memoizedProps.value);break;case 13:if(D.memoizedState!==null)return q=D.child.childExpirationTime,q!==0&&q>=T?rn(S,D,T):(Fn(Vn,Vn.current&1,D),D=ti(S,D,T),D!==null?D.sibling:null);Fn(Vn,Vn.current&1,D);break;case 19:if(q=D.childExpirationTime>=T,(S.effectTag&64)!==0){if(q)return Ya(S,D,T);D.effectTag|=64}if(W=D.memoizedState,W!==null&&(W.rendering=null,W.tail=null),Fn(Vn,Vn.current,D),!q)return null}return ti(S,D,T)}Uo=!1}}else Uo=!1;switch(D.expirationTime=0,D.tag){case 2:if(q=D.type,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,W=Ri(D,Rn.current),Ns(D,T),W=sg(null,D,q,S,W,T),D.effectTag|=1,typeof W=="object"&&W!==null&&typeof W.render=="function"&&W.$$typeof===void 0){if(D.tag=1,cI(),$n(q)){var ce=!0;gc(D)}else ce=!1;D.memoizedState=W.state!==null&&W.state!==void 0?W.state:null;var Se=q.getDerivedStateFromProps;typeof Se=="function"&&vt(D,q,Se,S),W.updater=tr,D.stateNode=W,W._reactInternalFiber=D,ei(D,q,S,T),D=dp(null,D,q,!0,ce,T)}else D.tag=0,Cs(null,D,W,T),D=D.child;return D;case 16:if(W=D.elementType,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,ve(W),W._status!==1)throw W._result;switch(W=W._result,D.type=W,ce=D.tag=hF(W),S=di(W,S),ce){case 0:D=LA(null,D,W,S,T);break;case 1:D=gp(null,D,W,S,T);break;case 11:D=Ci(null,D,W,S,T);break;case 14:D=Rm(null,D,W,di(W.type,S),q,T);break;default:throw Error(n(306,W,""))}return D;case 0:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),LA(S,D,q,W,T);case 1:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),gp(S,D,q,W,T);case 3:if(hg(D),q=D.updateQueue,q===null)throw Error(n(282));if(W=D.memoizedState,W=W!==null?W.element:null,we(D,q,D.pendingProps,null,T),q=D.memoizedState.element,q===W)pg(),D=ti(S,D,T);else{if((W=D.stateNode.hydrate)&&(y?(Sc=gu(D.stateNode.containerInfo),Aa=D,W=Dl=!0):W=!1),W)for(T=la(D,null,q,T),D.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else Cs(S,D,q,T),pg();D=D.child}return D;case 5:return bm(D),S===null&&NA(D),q=D.type,W=D.pendingProps,ce=S!==null?S.memoizedProps:null,Se=W.children,Te(q,W)?Se=null:ce!==null&&Te(q,ce)&&(D.effectTag|=16),_o(S,D),D.mode&4&&T!==1&&Qe(q,W)?(D.expirationTime=D.childExpirationTime=1,D=null):(Cs(S,D,Se,T),D=D.child),D;case 6:return S===null&&NA(D),null;case 13:return rn(S,D,T);case 4:return rg(D,D.stateNode.containerInfo),q=D.pendingProps,S===null?D.child=yi(D,null,q,T):Cs(S,D,q,T),D.child;case 11:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),Ci(S,D,q,W,T);case 7:return Cs(S,D,D.pendingProps,T),D.child;case 8:return Cs(S,D,D.pendingProps.children,T),D.child;case 12:return Cs(S,D,D.pendingProps.children,T),D.child;case 10:e:{if(q=D.type._context,W=D.pendingProps,Se=D.memoizedProps,ce=W.value,Mo(D,ce),Se!==null){var It=Se.value;if(ce=ds(It,ce)?0:(typeof q._calculateChangedBits=="function"?q._calculateChangedBits(It,ce):1073741823)|0,ce===0){if(Se.children===W.children&&!Ui.current){D=ti(S,D,T);break e}}else for(It=D.child,It!==null&&(It.return=D);It!==null;){var Ct=It.dependencies;if(Ct!==null){Se=It.child;for(var xt=Ct.firstContext;xt!==null;){if(xt.context===q&&(xt.observedBits&ce)!==0){It.tag===1&&(xt=$i(T,null),xt.tag=2,mi(It,xt)),It.expirationTime<T&&(It.expirationTime=T),xt=It.alternate,xt!==null&&xt.expirationTime<T&&(xt.expirationTime=T),Ts(It.return,T),Ct.expirationTime<T&&(Ct.expirationTime=T);break}xt=xt.next}}else Se=It.tag===10&&It.type===D.type?null:It.child;if(Se!==null)Se.return=It;else for(Se=It;Se!==null;){if(Se===D){Se=null;break}if(It=Se.sibling,It!==null){It.return=Se.return,Se=It;break}Se=Se.return}It=Se}}Cs(S,D,W.children,T),D=D.child}return D;case 9:return W=D.type,ce=D.pendingProps,q=ce.children,Ns(D,T),W=Ls(W,ce.unstable_observedBits),q=q(W),D.effectTag|=1,Cs(S,D,q,T),D.child;case 14:return W=D.type,ce=di(W,D.pendingProps),ce=di(W.type,ce),Rm(S,D,W,ce,q,T);case 15:return Tm(S,D,D.type,D.pendingProps,q,T);case 17:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),D.tag=1,$n(q)?(S=!0,gc(D)):S=!1,Ns(D,T),Tn(D,q,W,T),ei(D,q,W,T),dp(null,D,q,!0,S,T);case 19:return Ya(S,D,T)}throw Error(n(156,D.tag))};var EI=null,II=null;function fF(S){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(D.isDisabled||!D.supportsFiber)return!0;try{var T=D.inject(S);EI=function(q){try{D.onCommitFiberRoot(T,q,void 0,(q.current.effectTag&64)===64)}catch{}},II=function(q){try{D.onCommitFiberUnmount(T,q)}catch{}}}catch{}return!0}function pF(S,D,T,q){this.tag=S,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=D,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function xl(S,D,T,q){return new pF(S,D,T,q)}function wI(S){return S=S.prototype,!(!S||!S.isReactComponent)}function hF(S){if(typeof S=="function")return wI(S)?1:0;if(S!=null){if(S=S.$$typeof,S===L)return 11;if(S===re)return 14}return 2}function YA(S,D){var T=S.alternate;return T===null?(T=xl(S.tag,D,S.key,S.mode),T.elementType=S.elementType,T.type=S.type,T.stateNode=S.stateNode,T.alternate=S,S.alternate=T):(T.pendingProps=D,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=S.childExpirationTime,T.expirationTime=S.expirationTime,T.child=S.child,T.memoizedProps=S.memoizedProps,T.memoizedState=S.memoizedState,T.updateQueue=S.updateQueue,D=S.dependencies,T.dependencies=D===null?null:{expirationTime:D.expirationTime,firstContext:D.firstContext,responders:D.responders},T.sibling=S.sibling,T.index=S.index,T.ref=S.ref,T}function Gm(S,D,T,q,W,ce){var Se=2;if(q=S,typeof S=="function")wI(S)&&(Se=1);else if(typeof S=="string")Se=5;else e:switch(S){case E:return Fu(T.children,W,ce,D);case R:Se=8,W|=7;break;case w:Se=8,W|=1;break;case v:return S=xl(12,T,D,W|8),S.elementType=v,S.type=v,S.expirationTime=ce,S;case _:return S=xl(13,T,D,W),S.type=_,S.elementType=_,S.expirationTime=ce,S;case V:return S=xl(19,T,D,W),S.elementType=V,S.expirationTime=ce,S;default:if(typeof S=="object"&&S!==null)switch(S.$$typeof){case b:Se=10;break e;case C:Se=9;break e;case L:Se=11;break e;case re:Se=14;break e;case oe:Se=16,q=null;break e}throw Error(n(130,S==null?S:typeof S,""))}return D=xl(Se,T,D,W),D.elementType=S,D.type=q,D.expirationTime=ce,D}function Fu(S,D,T,q){return S=xl(7,S,q,D),S.expirationTime=T,S}function BI(S,D,T){return S=xl(6,S,null,D),S.expirationTime=T,S}function vI(S,D,T){return D=xl(4,S.children!==null?S.children:[],S.key,D),D.expirationTime=T,D.stateNode={containerInfo:S.containerInfo,pendingChildren:null,implementation:S.implementation},D}function gF(S,D,T){this.tag=D,this.current=null,this.containerInfo=S,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=Oe,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Uv(S,D){var T=S.firstSuspendedTime;return S=S.lastSuspendedTime,T!==0&&T>=D&&S<=D}function KA(S,D){var T=S.firstSuspendedTime,q=S.lastSuspendedTime;T<D&&(S.firstSuspendedTime=D),(q>D||T===0)&&(S.lastSuspendedTime=D),D<=S.lastPingedTime&&(S.lastPingedTime=0),D<=S.lastExpiredTime&&(S.lastExpiredTime=0)}function _v(S,D){D>S.firstPendingTime&&(S.firstPendingTime=D);var T=S.firstSuspendedTime;T!==0&&(D>=T?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:D>=S.lastSuspendedTime&&(S.lastSuspendedTime=D+1),D>S.nextKnownPendingLevel&&(S.nextKnownPendingLevel=D))}function Wm(S,D){var T=S.lastExpiredTime;(T===0||T>D)&&(S.lastExpiredTime=D)}function Hv(S){var D=S._reactInternalFiber;if(D===void 0)throw typeof S.render=="function"?Error(n(188)):Error(n(268,Object.keys(S)));return S=De(D),S===null?null:S.stateNode}function qv(S,D){S=S.memoizedState,S!==null&&S.dehydrated!==null&&S.retryTime<D&&(S.retryTime=D)}function Ym(S,D){qv(S,D),(S=S.alternate)&&qv(S,D)}var jv={createContainer:function(S,D,T){return S=new gF(S,D,T),D=xl(3,null,null,D===2?7:D===1?3:0),S.current=D,D.stateNode=S},updateContainer:function(S,D,T,q){var W=D.current,ce=ga(),Se=xe.suspense;ce=qA(ce,W,Se);e:if(T){T=T._reactInternalFiber;t:{if(le(T)!==T||T.tag!==1)throw Error(n(170));var It=T;do{switch(It.tag){case 3:It=It.stateNode.context;break t;case 1:if($n(It.type)){It=It.stateNode.__reactInternalMemoizedMergedChildContext;break t}}It=It.return}while(It!==null);throw Error(n(171))}if(T.tag===1){var Ct=T.type;if($n(Ct)){T=du(T,Ct,It);break e}}T=It}else T=Fi;return D.context===null?D.context=T:D.pendingContext=T,D=$i(ce,Se),D.payload={element:S},q=q===void 0?null:q,q!==null&&(D.callback=q),mi(W,D),Qc(W,ce),ce},batchedEventUpdates:function(S,D){var T=pr;pr|=2;try{return S(D)}finally{pr=T,pr===gn&&qi()}},batchedUpdates:function(S,D){var T=pr;pr|=1;try{return S(D)}finally{pr=T,pr===gn&&qi()}},unbatchedUpdates:function(S,D){var T=pr;pr&=-2,pr|=Lm;try{return S(D)}finally{pr=T,pr===gn&&qi()}},deferredUpdates:function(S){return so(97,S)},syncUpdates:function(S,D,T,q){return so(99,S.bind(null,D,T,q))},discreteUpdates:function(S,D,T,q){var W=pr;pr|=4;try{return so(98,S.bind(null,D,T,q))}finally{pr=W,pr===gn&&qi()}},flushDiscreteUpdates:function(){(pr&(1|rs|Ms))===gn&&(iF(),Ip())},flushControlled:function(S){var D=pr;pr|=1;try{so(99,S)}finally{pr=D,pr===gn&&qi()}},flushSync:Tv,flushPassiveEffects:Ip,IsThisRendererActing:{current:!1},getPublicRootInstance:function(S){if(S=S.current,!S.child)return null;switch(S.child.tag){case 5:return de(S.child.stateNode);default:return S.child.stateNode}},attemptSynchronousHydration:function(S){switch(S.tag){case 3:var D=S.stateNode;D.hydrate&&Rv(D,D.firstPendingTime);break;case 13:Tv(function(){return Qc(S,1073741823)}),D=Ua(ga(),150,100),Ym(S,D)}},attemptUserBlockingHydration:function(S){if(S.tag===13){var D=Ua(ga(),150,100);Qc(S,D),Ym(S,D)}},attemptContinuousHydration:function(S){if(S.tag===13){ga();var D=kA++;Qc(S,D),Ym(S,D)}},attemptHydrationAtCurrentPriority:function(S){if(S.tag===13){var D=ga();D=qA(D,S,null),Qc(S,D),Ym(S,D)}},findHostInstance:Hv,findHostInstanceWithWarning:function(S){return Hv(S)},findHostInstanceWithNoPortals:function(S){return S=Ce(S),S===null?null:S.tag===20?S.stateNode.instance:S.stateNode},shouldSuspend:function(){return!1},injectIntoDevTools:function(S){var D=S.findFiberByHostInstance;return fF(r({},S,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:function(T){return T=De(T),T===null?null:T.stateNode},findFiberByHostInstance:function(T){return D?D(T):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}};V2.exports=jv.default||jv;var dF=V2.exports;return V2.exports=t,dF}});var VCe=U((CYt,KCe)=>{"use strict";KCe.exports=YCe()});var zCe=U((EYt,JCe)=>{"use strict";var ryt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};JCe.exports=ryt});var eEe=U((IYt,$Ce)=>{"use strict";var nyt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},MQ=function(){function t(e,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}}();function S6(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function P6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var su=zCe(),iyt=function(){function t(e,r,o,a,n,u){P6(this,t),this.left=e,this.right=r,this.top=o,this.bottom=a,this.width=n,this.height=u}return MQ(t,[{key:"fromJS",value:function(r){r(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:"toString",value:function(){return"<Layout#"+this.left+":"+this.right+";"+this.top+":"+this.bottom+";"+this.width+":"+this.height+">"}}]),t}(),XCe=function(){MQ(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){P6(this,t),this.width=e,this.height=r}return MQ(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return"<Size#"+this.width+"x"+this.height+">"}}]),t}(),ZCe=function(){function t(e,r){P6(this,t),this.unit=e,this.value=r}return MQ(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case su.UNIT_POINT:return String(this.value);case su.UNIT_PERCENT:return this.value+"%";case su.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();$Ce.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var E=arguments.length,w=Array(E),v=0;v<E;v++)w[v]=arguments[v];return p.call.apply(p,[this,h].concat(w))}}for(var o=["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding"],a=function(){var A,p=o[n],h=(A={},S6(A,su.UNIT_POINT,e.Node.prototype[p]),S6(A,su.UNIT_PERCENT,e.Node.prototype[p+"Percent"]),S6(A,su.UNIT_AUTO,e.Node.prototype[p+"Auto"]),A);r(e.Node.prototype,p,function(E){for(var w=arguments.length,v=Array(w>1?w-1:0),b=1;b<w;b++)v[b-1]=arguments[b];var C=v.pop(),R=void 0,L=void 0;if(C==="auto")R=su.UNIT_AUTO,L=void 0;else if(C instanceof ZCe)R=C.unit,L=C.valueOf();else if(R=typeof C=="string"&&C.endsWith("%")?su.UNIT_PERCENT:su.UNIT_POINT,L=parseFloat(C),!Number.isNaN(C)&&Number.isNaN(L))throw new Error("Invalid value "+C+" for "+p);if(!h[R])throw new Error('Failed to execute "'+p+`": Unsupported unit '`+C+"'");if(L!==void 0){var _;return(_=h[R]).call.apply(_,[this].concat(v,[L]))}else{var V;return(V=h[R]).call.apply(V,[this].concat(v))}})},n=0;n<o.length;n++)a();return r(e.Config.prototype,"free",function(){e.Config.destroy(this)}),r(e.Node,"create",function(u,A){return A?e.Node.createWithConfig(A):e.Node.createDefault()}),r(e.Node.prototype,"free",function(){e.Node.destroy(this)}),r(e.Node.prototype,"freeRecursive",function(){for(var u=0,A=this.getChildCount();u<A;++u)this.getChild(0).freeRecursive();this.free()}),r(e.Node.prototype,"setMeasureFunc",function(u,A){return A?u.call(this,function(){return XCe.fromJS(A.apply(void 0,arguments))}):this.unsetMeasureFunc()}),r(e.Node.prototype,"calculateLayout",function(u){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:su.DIRECTION_LTR;return u.call(this,A,p,h)}),nyt({Config:e.Config,Node:e.Node,Layout:t("Layout",iyt),Size:t("Size",XCe),Value:t("Value",ZCe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},su)}});var tEe=U((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof Ie=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e<Runtime.functionPointers.length;e++)if(!Runtime.functionPointers[e])return Runtime.functionPointers[e]=t,2*(1+e);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(t){Runtime.functionPointers[(t-2)/2]=null},warnOnce:function(t){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[t]||(Runtime.warnOnce.shown[t]=1,Module.printErr(t))},funcWrappers:{},getFuncWrapper:function(t,e){if(!!t){assert(e),Runtime.funcWrappers[e]||(Runtime.funcWrappers[e]={});var r=Runtime.funcWrappers[e];return r[t]||(e.length===1?r[t]=function(){return Runtime.dynCall(e,t)}:e.length===2?r[t]=function(a){return Runtime.dynCall(e,t,[a])}:r[t]=function(){return Runtime.dynCall(e,t,Array.prototype.slice.call(arguments))}),r[t]}},getCompilerSetting:function(t){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(t){var e=STACKTOP;return STACKTOP=STACKTOP+t|0,STACKTOP=STACKTOP+15&-16,e},staticAlloc:function(t){var e=STATICTOP;return STATICTOP=STATICTOP+t|0,STATICTOP=STATICTOP+15&-16,e},dynamicAlloc:function(t){var e=HEAP32[DYNAMICTOP_PTR>>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h<a.length;h++){var E=toC[o[h]];E?(p===0&&(p=Runtime.stackSave()),A[h]=E(a[h])):A[h]=a[h]}var w=u.apply(null,A);if(r==="string"&&(w=Pointer_stringify(w)),p!==0){if(n&&n.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(p)});return}Runtime.stackRestore(p)}return w};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(t){var e=t.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var t in JSfuncs)JSfuncs.hasOwnProperty(t)&&(JSsource[t]=parseJSFunc(JSfuncs[t]))}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(t){return t==="number"}),numericRet=returnType!=="string";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(t,e){return"$"+e}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type!=="number"){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap;function setValue(t,e,r,o){switch(r=r||"i8",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":HEAP8[t>>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o<p;o+=4)HEAP32[o>>2]=0;for(p=A+n;o<p;)HEAP8[o++>>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,E,w,v;h<n;){var b=t[h];if(typeof b=="function"&&(b=Runtime.getFunctionIndex(b)),E=u||e[h],E===0){h++;continue}E=="i64"&&(E="i32"),setValue(A+h,b,E),v!==E&&(w=Runtime.getNativeTypeSize(E),v=E),h+=w}return A}Module.allocate=allocate;function getMemory(t){return staticSealed?runtimeInitialized?_malloc(t):Runtime.dynamicAlloc(t):Runtime.staticAlloc(t)}Module.getMemory=getMemory;function Pointer_stringify(t,e){if(e===0||!t)return"";for(var r=0,o,a=0;o=HEAPU8[t+a>>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var E=o-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u<t.length;++u){var A=t.charCodeAt(u);if(A>=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r<t.length;++r){var o=t.charCodeAt(r);o>=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=`
285`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r<t.length;r++){var o=t[r];o>255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o<t.length;++o)HEAP8[e++>>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var C=Browser.mainLoop.remainingBlockers,w=C%1==0?C-1:Math.floor(C);h.counted?Browser.mainLoop.remainingBlockers=w:(w=w+.5,Browser.mainLoop.remainingBlockers=(8*C+w)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(!(u<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u<Browser.mainLoop.currentlyRunningMainloop)&&(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},a||(e&&e>0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e<r?Module.setStatus(t+" ("+(r-e)+"/"+r+")"):Module.setStatus(t):Module.setStatus("")}},runIter:function(t){if(!ABORT){if(Module.preMainLoop){var e=Module.preMainLoop();if(e===!1)return}try{t()}catch(r){if(r instanceof ExitStatus)return;throw r&&typeof r=="object"&&r.stack&&Module.printErr("exception thrown: "+[r,r.stack]),r}Module.postMainLoop&&Module.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),Browser.initted)return;Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch{Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder<"u"?MozBlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject=typeof window<"u"?window.URL?window.URL:window.webkitURL:void 0,!Module.noImageDecoding&&typeof Browser.URLObject>"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(b){Runtime.warnOnce("Blob constructor present but fails: "+b+"; falling back to blob builder")}if(!h){var C=new Browser.BlobBuilder;C.append(new Uint8Array(n).buffer),h=C.getBlob()}var w=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var E=document.createElement("canvas");E.width=v.width,E.height=v.height;var R=E.getContext("2d");R.drawImage(v,0,0),Module.preloadedImages[u]=E,Browser.URLObject.revokeObjectURL(w),A&&A(n)},v.onerror=function(E){console.log("Image "+w+" could not be decoded"),p&&p()},v.src=w},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function C(R){h||(h=!0,Module.preloadedAudios[u]=R,A&&A(n))}function w(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return w()}var b=Browser.URLObject.createObjectURL(v),E=new Audio;E.addEventListener("canplaythrough",function(){C(E)},!1),E.onerror=function(L){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function _(J){for(var re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",oe="=",pe="",he=0,ve=0,ge=0;ge<J.length;ge++)for(he=he<<8|J[ge],ve+=8;ve>=6;){var le=he>>ve-6&63;ve-=6,pe+=re[le]}return ve==2?(pe+=re[(he&3)<<4],pe+=oe+oe):ve==4&&(pe+=re[(he&15)<<2],pe+=oe),pe}E.src="data:audio/x-"+u.substr(-3)+";base64,"+_(n),C(E)},E.src=b,Browser.safeSetTimeout(function(){C(E)},1e4)}else return w()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var C=Browser.touches[u.identifier];C||(C=h),Browser.lastTouches[u.identifier]=C,Browser.touches[u.identifier]=h}return}var w=t.pageX-(a+e.left),v=t.pageY-(n+e.top);w=w*(r/e.width),v=v*(o/e.height),Browser.mouseMovementX=w-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=w,Browser.mouseY=v}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a<Module.forcedAspectRatio?o=Math.round(a*Module.forcedAspectRatio):a=Math.round(o/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===t.parentNode&&typeof screen<"u"){var n=Math.min(screen.width/o,screen.height/a);o=Math.round(o*n),a=Math.round(a*n)}Browser.resizeCanvas?(t.width!=o&&(t.width=o),t.height!=a&&(t.height=a),typeof t.style<"u"&&(t.style.removeProperty("width"),t.style.removeProperty("height"))):(t.width!=e&&(t.width=e),t.height!=r&&(t.height=r),typeof t.style<"u"&&(o!=e||a!=r?(t.style.setProperty("width",o+"px","important"),t.style.setProperty("height",a+"px","important")):(t.style.removeProperty("width"),t.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var t=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,t}},SYSCALLS={varargs:0,get:function(t){SYSCALLS.varargs+=4;var e=HEAP32[SYSCALLS.varargs-4>>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr<X>"],[640,1,"std::unique_ptr<X>"],[5120,1,"std::vector<X>"],[6144,2,"std::array<X, Y>"],[9216,-1,"std::function<X (Y)>"]];function r(p,h,C,w,v,b){if(h==1){var E=w&896;(E==128||E==256||E==384)&&(p="X const")}var R;return b?R=C.replace("X",p).replace("Y",v):R=p.replace("X",C).replace("Y",v),R.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,C,w,v){throw new Error(p+" type "+C.replace("X",h+"?")+(w?" with flag "+w:"")+" in "+v)}function a(p,h,C,w,v,b,E,R){b===void 0&&(b="X"),R===void 0&&(R=1);var L=C(p);if(L)return L;var _=w(p),J=_.placeholderFlag,re=e[J];E&&re&&(b=r(E[2],E[0],b,re[0],"?",!0));var oe;J==0&&(oe="Unbound"),J>=10&&(oe="Corrupt"),R>20&&(oe="Deeply nested"),oe&&o(oe,p,b,J,v||"?");var pe=_.paramList[0],he=a(pe,h,C,w,v,b,re,R+1),ve,ge={flags:re[0],id:p,name:"",paramList:[he]},le=[],Pe="?";switch(_.placeholderFlag){case 1:ve=he.spec;break;case 2:if((he.flags&15360)==1024&&he.spec.ptrSize==1){ge.flags=7168;break}case 3:case 6:case 5:ve=he.spec,he.flags&15360;break;case 8:Pe=""+_.paramList[1],ge.paramList.push(_.paramList[1]);break;case 9:for(var g=0,De=_.paramList[1];g<De.length;g++){var Ee=De[g],de=a(Ee,h,C,w,v,b,re,R+1);le.push(de.name),ge.paramList.push(de)}Pe=le.join(", ");break;default:break}if(ge.name=r(re[2],re[0],he.name,he.flags,Pe),ve){for(var ne=0,Z=Object.keys(ve);ne<Z.length;ne++){var me=Z[ne];ge[me]=ge[me]||ve[me]}ge.flags|=ve.flags}return n(h,ge)}function n(p,h){var C=h.flags,w=C&896,v=C&15360;return!h.name&&v==1024&&(h.ptrSize==1?h.name=(C&16?"":(C&8?"un":"")+"signed ")+"char":h.name=(C&8?"u":"")+(C&32?"float":"int")+(h.ptrSize*8+"_t")),h.ptrSize==8&&!(C&32)&&(v=64),v==2048&&(w==512||w==640?v=4096:w&&(v=3072)),p(v,h)}var u=function(){function p(h){this.id=h.id,this.name=h.name,this.flags=h.flags,this.spec=h}return p.prototype.toString=function(){return this.name},p}(),A={Type:u,getComplexType:a,makeType:n,structureList:e};return t.output=A,t.output||A}function __nbind_register_type(t,e){var r=_nbind.readAsciiString(e),o={flags:10240,id:t,name:r};_nbind.makeType(_nbind.constructType,o)}function __nbind_register_callback_signature(t,e){var r=_nbind.readTypeIdList(t,e),o=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[o]=_nbind.makeJSCaller(r),o}function __extends(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o}function __nbind_register_class(t,e,r,o,a,n,u){var A=_nbind.readAsciiString(u),p=_nbind.readPolicyList(e),h=HEAPU32.subarray(t/4,t/4+2),C={flags:2048|(p.Value?2:0),id:h[0],name:A},w=_nbind.makeType(_nbind.constructType,C);w.ptrType=_nbind.getComplexType(h[1],_nbind.constructType,_nbind.getType,_nbind.queryType),w.destroy=_nbind.makeMethodCaller(w.ptrType,{boundID:C.id,flags:0,name:"destroy",num:0,ptr:n,title:w.name+".free",typeList:["void","uint32_t","uint32_t"]}),a&&(w.superIdList=Array.prototype.slice.call(HEAPU32.subarray(r/4,r/4+a)),w.upcastList=Array.prototype.slice.call(HEAPU32.subarray(o/4,o/4+a))),Module[w.name]=w.makeBound(p),_nbind.BindClass.list.push(w)}function _removeAccessorPrefix(t){var e=/^[Gg]et_?([A-Z]?([A-Z]?))/;return t.replace(e,function(r,o,a){return a?o:o.toLowerCase()})}function __nbind_register_function(t,e,r,o,a,n,u,A,p,h){var C=_nbind.getType(t),w=_nbind.readPolicyList(e),v=_nbind.readTypeIdList(r,o),b;if(u==5)b=[{direct:a,name:"__nbindConstructor",ptr:0,title:C.name+" constructor",typeList:["uint32_t"].concat(v.slice(1))},{direct:n,name:"__nbindValueConstructor",ptr:0,title:C.name+" value constructor",typeList:["void","uint32_t"].concat(v.slice(1))}];else{var E=_nbind.readAsciiString(A),R=(C.name&&C.name+".")+E;(u==3||u==4)&&(E=_removeAccessorPrefix(E)),b=[{boundID:t,direct:n,name:E,ptr:a,title:R,typeList:v}]}for(var L=0,_=b;L<_.length;L++){var J=_[L];J.signatureType=u,J.policyTbl=w,J.num=p,J.flags=h,C.addMethod(J)}}function _nbind_value(t,e){_nbind.typeNameTbl[t]||_nbind.throwError("Unknown value type "+t),Module.NBind.bind_value(t,e),_defineHidden(_nbind.typeNameTbl[t].proto.prototype.__nbindValueConstructor)(e.prototype,"__nbindValueConstructor")}Module._nbind_value=_nbind_value;function __nbind_get_value_object(t,e){var r=_nbind.popValue(t);if(!r.fromJS)throw new Error("Object "+r+" has no fromJS function");r.fromJS(function(){r.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([e],arguments))})}function _emscripten_memcpy_big(t,e,r){return HEAPU8.set(HEAPU8.subarray(e,e+r),t),t}function __nbind_register_primitive(t,e,r){var o={flags:1024|r,id:t,ptrSize:e};_nbind.makeType(_nbind.constructType,o)}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___setErrNo(t){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(C,w){var v=___syscall146.buffers[C];assert(v),w===0||w===10?((C===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(w)});for(var u=0;u<a;u++){for(var A=HEAP32[o+u*8>>2],p=HEAP32[o+(u*8+4)>>2],h=0;h<p;h++)___syscall146.printChar(r,HEAPU8[A+h]);n+=p}return n}catch(C){return(typeof FS>"u"||!(C instanceof FS.ErrnoError))&&abort(C),-C.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;t<e.length;t++){var r=e[t];r.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16,function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=function(){function t(){}return t.lalloc=function(e){e=e+7&-8;var r=HEAPU32[t.usedPtr];if(e>t.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var C=u,w=A,v=p;if(n!==_nbind.ptrMarker){var b=h.__nbindConstructor.apply(h,arguments);C=4608,v=HEAPU32[b/4],w=HEAPU32[b/4+1]}var E={configurable:!0,enumerable:!1,value:null,writable:!1},R={__nbindFlags:C,__nbindPtr:w};v&&(R.__nbindShared=v,_nbind.mark(h));for(var L=0,_=Object.keys(R);L<_.length;L++){var J=_[L];E.value=R[J],Object.defineProperty(h,J,E)}return _defineHidden(0)(h,"__nbindState"),h}return a.prototype.free=function(){e.destroy.call(this,this.__nbindShared,this.__nbindFlags),this.__nbindState|=2,disableMember(this,"__nbindShared"),disableMember(this,"__nbindPtr")},a}(Wrapper);return __decorate([_defineHidden()],r.prototype,"__nbindConstructor",void 0),__decorate([_defineHidden()],r.prototype,"__nbindValueConstructor",void 0),__decorate([_defineHidden(t)],r.prototype,"__nbindPolicies",void 0),r}_nbind.makeBound=makeBound;function disableMember(t,e){function r(){throw new Error("Accessing deleted object")}Object.defineProperty(t,e,{configurable:!1,enumerable:!1,get:r,set:r})}_nbind.ptrMarker={};var BindClass=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return _nbind.popValue(a,o.ptrType)},o.wireWrite=function(a){return pushPointer(a,o.ptrType,!0)},o.pendingSuperCount=0,o.ready=!1,o.methodTbl={},r.paramList?(o.classType=r.paramList[0].classType,o.proto=o.classType.proto):o.classType=o,o}return e.prototype.makeBound=function(r){var o=_nbind.makeBound(r,this);return this.proto=o,this.ptrType.proto=o,o},e.prototype.addMethod=function(r){var o=this.methodTbl[r.name]||[];o.push(r),this.methodTbl[r.name]=o},e.prototype.registerMethods=function(r,o){for(var a,n=0,u=Object.keys(r.methodTbl);n<u.length;n++)for(var A=u[n],p=r.methodTbl[A],h=0,C=p;h<C.length;h++){var w=C[h],v=void 0,b=void 0;if(v=this.proto.prototype,!(o&&w.signatureType!=1))switch(w.signatureType){case 1:v=this.proto;case 5:b=_nbind.makeCaller(w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;case 4:a=_nbind.makeMethodCaller(r.ptrType,w);break;case 3:Object.defineProperty(v,w.name,{configurable:!0,enumerable:!1,get:_nbind.makeMethodCaller(r.ptrType,w),set:a});break;case 2:b=_nbind.makeMethodCaller(r.ptrType,w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;default:break}}},e.prototype.registerSuperMethods=function(r,o,a){if(!a[r.name]){a[r.name]=!0;for(var n=0,u,A=0,p=r.superIdList||[];A<p.length;A++){var h=p[A],C=_nbind.getType(h);n++<o||o<0?u=-1:u=0,this.registerSuperMethods(C,u,a)}this.registerMethods(r,o<0)}},e.prototype.finish=function(){if(this.ready)return this;this.ready=!0,this.superList=(this.superIdList||[]).map(function(a){return _nbind.getType(a).finish()});var r=this.proto;if(this.superList.length){var o=function(){this.constructor=r};o.prototype=this.superList[0].proto.prototype,r.prototype=new o}return r!=Module&&(r.prototype.__nbindType=this),this.registerSuperMethods(this,1,{}),this},e.prototype.upcastStep=function(r,o){if(r==this)return o;for(var a=0;a<this.superList.length;++a){var n=this.superList[a].upcastStep(r,_nbind.callUpcast(this.upcastList[a],o));if(n)return n}return 0},e}(_nbind.BindType);BindClass.list=[],_nbind.BindClass=BindClass;function popPointer(t,e){return t?new e.proto(_nbind.ptrMarker,e.flags,t):null}_nbind.popPointer=popPointer;function pushPointer(t,e,r){if(!(t instanceof _nbind.Wrapper)){if(r)return _nbind.pushValue(t);throw new Error("Type mismatch")}var o=t.__nbindPtr,a=t.__nbindType.classType,n=e.classType;if(t instanceof e.proto)for(;a!=n;)o=_nbind.callUpcast(a.upcastList[0],o),a=a.superList[0];else if(o=a.upcastStep(n,o),!o)throw new Error("Type mismatch");return o}_nbind.pushPointer=pushPointer;function pushMutablePointer(t,e){var r=pushPointer(t,e);if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return r}var BindClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=(o.flags&896)==256&&r.flags&2,u=a?pushPointer:pushMutablePointer,A=n?_nbind.popValue:popPointer;return o.makeWireWrite=function(p,h){return h.Nullable?function(C){return C?u(C,o):0}:function(C){return u(C,o)}},o.wireRead=function(p){return A(p,o)},o.wireWrite=function(p){return u(p,o)},o}return e}(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(t,e){var r=HEAPU32[t/4],o=HEAPU32[t/4+1];return o?new e.proto(_nbind.ptrMarker,e.flags,o,r):null}_nbind.popShared=popShared;function pushShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");return t.__nbindShared}function pushMutableShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return t.__nbindShared}var SharedClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.readResources=[_nbind.resources.pool],o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=a?pushShared:pushMutableShared;return o.wireRead=function(u){return popShared(u,o)},o.wireWrite=function(u){return n(u,o)},o}return e}(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr,_nbind.externalList=[0];var firstFreeExternal=0,External=function(){function t(e){this.refCount=1,this.data=e}return t.prototype.register=function(){var e=firstFreeExternal;return e?firstFreeExternal=_nbind.externalList[e]:e=_nbind.externalList.length,_nbind.externalList[e]=this,e},t.prototype.reference=function(){++this.refCount},t.prototype.dereference=function(e){--this.refCount==0&&(this.free&&this.free(),_nbind.externalList[e]=firstFreeExternal,firstFreeExternal=e)},t}();_nbind.External=External;function popExternal(t){var e=_nbind.externalList[t];return e.dereference(t),e.data}function pushExternal(t){var e=new External(t);return e.reference(),e.register()}var ExternalType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popExternal,r.wireWrite=pushExternal,r}return e}(_nbind.BindType);_nbind.ExternalType=ExternalType,_nbind.callbackSignatureList=[];var CallbackType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=function(o){return typeof o!="function"&&_nbind.throwError("Type mismatch"),new _nbind.External(o).register()},r}return e}(_nbind.BindType);_nbind.CallbackType=CallbackType,_nbind.valueList=[0];var firstFreeValue=0;function pushValue(t){var e=firstFreeValue;return e?firstFreeValue=_nbind.valueList[e]:e=_nbind.valueList.length,_nbind.valueList[e]=t,e*2+1}_nbind.pushValue=pushValue;function popValue(t,e){if(t||_nbind.throwError("Value type JavaScript class is missing or not registered"),t&1){t>>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t<valueBase?t:popValue((t-valueBase)/4096)}var CreateValueType=function(t){__extends(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.makeWireWrite=function(r){return"(_nbind.pushValue(new "+r+"))"},e}(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=push64,r.wireRead=pop64,r}return e}(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(t,e){if(!t)return 0;var r=t.length;if((e.size||e.size===0)&&r<e.size)throw new Error("Type mismatch");var o=e.memberType.ptrSize,a=_nbind.Pool.lalloc(4+r*o);HEAPU32[a/4]=r;var n=e.memberType.heap,u=(a+4)/o,A=e.memberType.wireWrite,p=0;if(A)for(;p<r;)n[u++]=A(t[p++]);else for(;p<r;)n[u++]=t[p++];return a}_nbind.pushArray=pushArray;function popArray(t,e){if(t===0)return null;var r=HEAPU32[t/4],o=new Array(r),a=e.memberType.heap;t=(t+4)/e.memberType.ptrSize;var n=e.memberType.wireRead,u=0;if(n)for(;u<r;)o[u++]=n(a[t++]);else for(;u<r;)o[u++]=a[t++];return o}_nbind.popArray=popArray;var ArrayType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return popArray(a,o)},o.wireWrite=function(a){return pushArray(a,o)},o.readResources=[_nbind.resources.pool],o.writeResources=[_nbind.resources.pool],o.memberType=r.paramList[0],r.paramList[1]&&(o.size=r.paramList[1]),o}return e}(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(t,e){if(t==null)if(e&&e.Nullable)t="";else throw new Error("Type mismatch");if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t),o=_nbind.Pool.lalloc(4+r+1);return HEAPU32[o/4]=r,Module.stringToUTF8Array(t,HEAPU8,o+4,r+1),o}_nbind.pushString=pushString;function popString(t){if(t===0)return null;var e=HEAPU32[t/4];return Module.Pointer_stringify(t+4,e)}_nbind.popString=popString;var StringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popString,r.wireWrite=pushString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushString(a,o)}},e}(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(t){return Array.apply(null,Array(t)).map(function(e,r){return"a"+(r+1)})}function anyNeedsWireWrite(t,e){return t.reduce(function(r,o){return r||o.needsWireWrite(e)},!1)}function anyNeedsWireRead(t,e){return t.reduce(function(r,o){return r||!!o.needsWireRead(e)},!1)}function makeWireRead(t,e,r,o){var a=t.length;return r.makeWireRead?r.makeWireRead(o,t,a):r.wireRead?(t[a]=r.wireRead,"(convertParamList["+a+"]("+o+"))"):o}function makeWireWrite(t,e,r,o){var a,n=t.length;return r.makeWireWrite?a=r.makeWireWrite(o,e,t,n):a=r.wireWrite,a?typeof a=="string"?a:(t[n]=a,"(convertParamList["+n+"]("+o+"))"):o}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireRead(convertParamList,policyTbl,returnType,"dynCall("+[prefix].concat(argList.map(function(t,e){return makeWireWrite(convertParamList,policyTbl,argTypeList[e],t)})).join(",")+")"),resourceSet=_nbind.listResources([returnType],argTypeList),sourceCode="function("+argList.join(",")+"){"+(mask?"this.__nbindFlags&mask&&err();":"")+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireWrite(convertParamList,null,returnType,"_nbind.externalList[num].data("+argList.map(function(t,e){return makeWireRead(convertParamList,null,argTypeList[e],t)}).join(",")+")"),resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode="function("+["dummy","num"].concat(argList).join(",")+"){"+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(t){var e=t.length-1,r=_nbind.getTypes(t,"callback"),o=r[0],a=r.slice(1),n=anyNeedsWireRead(a,null),u=o.needsWireWrite(null);if(!u&&!n)switch(e){case 0:return function(A,p){return _nbind.externalList[p].data()};case 1:return function(A,p,h){return _nbind.externalList[p].data(h)};case 2:return function(A,p,h,C){return _nbind.externalList[p].data(h,C)};case 3:return function(A,p,h,C,w){return _nbind.externalList[p].data(h,C,w)};default:break}return buildJSCallerFunction(o,a)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(t,e){var r=e.typeList.length-1,o=e.typeList.slice(0);o.splice(1,0,"uint32_t",e.boundID);var a=_nbind.getTypes(o,e.title),n=a[0],u=a.slice(3),A=n.needsWireRead(e.policyTbl),p=anyNeedsWireWrite(u,e.policyTbl),h=e.ptr,C=e.num,w=_nbind.getDynCall(a,e.title),v=~e.flags&1;function b(){throw new Error("Calling a non-const method on a const object")}if(!A&&!p)switch(r){case 0:return function(){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t))};case 1:return function(E){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t),E)};case 2:return function(E,R){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t),E,R)};case 3:return function(E,R,L){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t),E,R,L)};default:break}return buildCallerFunction(w,t,h,C,e.policyTbl,p,"ptr,num,pushPointer(this,ptrType)",n,u,v,b)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(t){var e=t.typeList.length-1,r=_nbind.getTypes(t.typeList,t.title),o=r[0],a=r.slice(1),n=o.needsWireRead(t.policyTbl),u=anyNeedsWireWrite(a,t.policyTbl),A=t.direct,p=t.ptr;if(t.direct&&!n&&!u){var h=_nbind.getDynCall(r,t.title);switch(e){case 0:return function(){return h(A)};case 1:return function(b){return h(A,b)};case 2:return function(b,E){return h(A,b,E)};case 3:return function(b,E,R){return h(A,b,E,R)};default:break}p=0}var C;if(p){var w=t.typeList.slice(0);w.splice(1,0,"uint32_t"),r=_nbind.getTypes(w,t.title),C="ptr,num"}else p=A,C="ptr";var v=_nbind.getDynCall(r,t.title);return buildCallerFunction(v,null,p,t.num,t.policyTbl,u,C,o,a)}_nbind.makeCaller=makeCaller;function makeOverloader(t,e){var r=[];function o(){return r[arguments.length].apply(this,arguments)}return o.addMethod=function(a,n){r[n]=a},o.addMethod(t,e),o}_nbind.makeOverloader=makeOverloader;var Resource=function(){function t(e,r){var o=this;this.makeOpen=function(){return Object.keys(o.openTbl).join("")},this.makeClose=function(){return Object.keys(o.closeTbl).join("")},this.openTbl={},this.closeTbl={},e&&(this.openTbl[e]=!0),r&&(this.closeTbl[r]=!0)}return t.prototype.add=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];this.openTbl[a]=!0}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];this.closeTbl[a]=!0}},t.prototype.remove=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];delete this.openTbl[a]}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];delete this.closeTbl[a]}},t}();_nbind.Resource=Resource;function listResources(t,e){for(var r=new Resource,o=0,a=t;o<a.length;o++)for(var n=a[o],u=0,A=n.readResources||[];u<A.length;u++){var p=A[u];r.add(p)}for(var h=0,C=e;h<C.length;h++)for(var n=C[h],w=0,v=n.writeResources||[];w<v.length;w++){var p=v[w];r.add(p)}return r}_nbind.listResources=listResources,_nbind.resources={pool:new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];","_nbind.Pool.lreset(used,page);")};var ExternalBuffer=function(t){__extends(e,t);function e(r,o){var a=t.call(this,r)||this;return a.ptr=o,a}return e.prototype.free=function(){_free(this.ptr)},e}(_nbind.External);function getBuffer(t){return t instanceof ArrayBuffer?new Uint8Array(t):t instanceof DataView?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function pushBuffer(t,e){if(t==null&&e&&e.Nullable&&(t=[]),typeof t!="object")throw new Error("Type mismatch");var r=t,o=r.byteLength||r.length;if(!o&&o!==0&&r.byteLength!==0)throw new Error("Type mismatch");var a=_nbind.Pool.lalloc(8),n=_malloc(o),u=a/4;return HEAPU32[u++]=o,HEAPU32[u++]=n,HEAPU32[u++]=new ExternalBuffer(t,n).register(),HEAPU8.set(getBuffer(t),n),a}var BufferType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=pushBuffer,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushBuffer(a,o)}},e}(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(t,e,r){var o=_nbind.externalList[t].data,a=Buffer;if(typeof Buffer!="function"&&(a=function(){}),!(o instanceof Array)){var n=HEAPU8.subarray(e,e+r);if(o instanceof a){var u=void 0;typeof Buffer.from=="function"&&Buffer.from.length>=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t<e.length;t++){var r=e[t];r.__nbindState&3||r.free()}dirtyList=[],gcTimer=0}_nbind.mark=function(t){};function toggleLightGC(t){t?_nbind.mark=function(e){dirtyList.push(e),gcTimer||(gcTimer=setTimeout(sweep,0))}:_nbind.mark=function(e){}}_nbind.toggleLightGC=toggleLightGC}(_nbind),Module.requestFullScreen=function t(e,r,o){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(e,r,o)},Module.requestFullscreen=function t(e,r,o){Browser.requestFullscreen(e,r,o)},Module.requestAnimationFrame=function t(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function t(e,r,o){Browser.setCanvasSize(e,r,o)},Module.pauseMainLoop=function t(){Browser.mainLoop.pause()},Module.resumeMainLoop=function t(){Browser.mainLoop.resume()},Module.getUserMedia=function t(){Browser.getUserMedia()},Module.createContext=function t(e,r,o,a){return Browser.createContext(e,r,o,a)},ENVIRONMENT_IS_NODE?_emscripten_get_now=function(){var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:typeof dateNow<"u"?_emscripten_get_now=dateNow:typeof self=="object"&&self.performance&&typeof self.performance.now=="function"?_emscripten_get_now=function(){return self.performance.now()}:typeof performance=="object"&&typeof performance.now=="function"?_emscripten_get_now=function(){return performance.now()}:_emscripten_get_now=Date.now,__ATEXIT__.push(function(){var t=Module._fflush;t&&t(0);var e=___syscall146.printChar;if(!!e){var r=___syscall146.buffers;r[1].length&&e(1,10),r[2].length&&e(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),C=new t.Float64Array(r),w=e.DYNAMICTOP_PTR|0,v=e.tempDoublePtr|0,b=e.ABORT|0,E=e.STACKTOP|0,R=e.STACK_MAX|0,L=e.cttz_i8|0,_=e.___dso_handle|0,J=0,re=0,oe=0,pe=0,he=t.NaN,ve=t.Infinity,ge=0,le=0,Pe=0,g=0,De=0,Ee=0,de=t.Math.floor,ne=t.Math.abs,Z=t.Math.sqrt,me=t.Math.pow,be=t.Math.cos,ut=t.Math.sin,H=t.Math.tan,yt=t.Math.acos,Me=t.Math.asin,Te=t.Math.atan,Qe=t.Math.atan2,Ue=t.Math.exp,je=t.Math.log,At=t.Math.ceil,Le=t.Math.imul,x=t.Math.min,I=t.Math.max,P=t.Math.clz32,y=t.Math.fround,F=e.abort,z=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,ie=e.abortOnCannotGrowMemory,ke=e.invoke_viiiii,Ne=e.invoke_vif,st=e.invoke_vid,ht=e.invoke_fiff,Ut=e.invoke_vi,Xt=e.invoke_vii,Pt=e.invoke_ii,tn=e.invoke_viddi,Dr=e.invoke_vidd,fr=e.invoke_iiii,Br=e.invoke_diii,jr=e.invoke_di,Hn=e.invoke_iid,bs=e.invoke_iii,ki=e.invoke_viiddi,gs=e.invoke_viiiiii,to=e.invoke_dii,Di=e.invoke_i,Qs=e.invoke_iiiiii,ro=e.invoke_viiid,uc=e.invoke_viififi,hu=e.invoke_viii,op=e.invoke_v,ap=e.invoke_viid,ks=e.invoke_idd,Cn=e.invoke_viiii,no=e._emscripten_asm_const_iiiii,Fs=e._emscripten_asm_const_iiidddddd,dl=e._emscripten_asm_const_iiiid,ml=e.__nbind_reference_external,io=e._emscripten_asm_const_iiiiiiii,_e=e._removeAccessorPrefix,Fn=e._typeModule,Fi=e.__nbind_register_pool,Rn=e.__decorate,Ui=e._llvm_stackrestore,Zt=e.___cxa_atexit,Ri=e.__extends,Zn=e.__nbind_get_value_object,La=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,$t=e._emscripten_set_main_loop_timing,Ac=e.__nbind_register_primitive,gu=e.__nbind_register_type,fc=e._emscripten_memcpy_big,yl=e.__nbind_register_function,DA=e.___setErrNo,du=e.__nbind_register_class,Ce=e.__nbind_finish,Rt=e._abort,pc=e._nbind_value,_i=e._llvm_stacksave,mu=e.___syscall54,qt=e._defineHidden,El=e._emscripten_set_main_loop,SA=e._emscripten_get_now,lp=e.__nbind_register_callback_signature,hc=e._emscripten_asm_const_iiiiii,PA=e.__nbind_free_external,Dn=e._emscripten_asm_const_iiii,ui=e._emscripten_asm_const_iiididi,gc=e.___syscall6,xA=e._atexit,ta=e.___syscall140,Hi=e.___syscall146,Lo=y(0);let $e=y(0);function so(s){s=s|0;var l=0;return l=E,E=E+s|0,E=E+15&-16,l|0}function Cl(){return E|0}function yu(s){s=s|0,E=s}function qi(s,l){s=s|0,l=l|0,E=s,R=l}function Eu(s,l){s=s|0,l=l|0,J||(J=s,re=l)}function bA(s){s=s|0,Ee=s}function Oa(){return Ee|0}function dc(){var s=0,l=0;Cr(8104,8,400)|0,Cr(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,Zt(17,8104,_|0)|0}function ds(s){s=s|0,Be(s+948|0)}function Ot(s){return s=y(s),((xu(s)|0)&2147483647)>>>0>2139095040|0}function Sn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function di(s){s=s|0;var l=0;return l=Yv(1e3)|0,ra(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Cr(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function ra(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=E,E=E+16|0,f=d,l||(n[f>>2]=c,fg(s,5,3197,f)),E=d}function oo(){return di(956)|0}function Rs(s){s=s|0;var l=0;return l=Gt(1e3)|0,na(l,s),ra(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function na(s,l){s=s|0,l=l|0;var c=0;Cr(s|0,l|0,948)|0,Qm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function ia(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Oo(c+948|0,s)|0,n[l>>2]=0),c=Zi(s)|0,c|0){l=0;do n[(Ts(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),Ns(c),Kv(s),n[2276]=(n[2276]|0)+-1}function Oo(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0;f=n[s>>2]|0,Q=s+4|0,c=n[Q>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(DI(d|0,f|0,s|0)|0,c=n[Q>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[Q>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function Zi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function Ts(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function Ns(s){s=s|0;var l=0,c=0,f=0,d=0;f=E,E=E+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Ep(l,d,d,s+8|0),dg(s,l),MA(l)),E=f}function Ls(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;M=Zi(s)|0;do if(M|0){if((n[(Ts(s,0)|0)+944>>2]|0)==(s|0)){if(!(Oo(s+948|0,l)|0))break;Cr(l+400|0,8504,540)|0,n[l+944>>2]=0,qe(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,Q=s+948|0,k=(B|0)==0,c=0,m=0;do f=n[(n[Q>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?qe(s):(d=Rs(f)|0,n[(n[Q>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,k||SR[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0<M>>>0){k=s+948|0,Q=s+952|0,B=c,c=n[Q>>2]|0;do m=(n[k>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(DI(m|0,f|0,d|0)|0,c=n[Q>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[Q>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function ao(s){s=s|0;var l=0,c=0,f=0,d=0;Wn(s,(Zi(s)|0)==0,2491),Wn(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),Ns(l),l=s+976|0,c=n[l>>2]|0,Cr(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Wn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=E,E=E+16|0,f=d,l||(n[f>>2]=c,co(s,5,3197,f)),E=d}function qn(){return n[2276]|0}function $i(){var s=0;return s=Yv(20)|0,es((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function es(s,l){s=s|0,l=l|0;var c=0,f=0;f=E,E=E+16|0,c=f,s||(n[c>>2]=l,co(0,5,3197,c)),E=f}function mi(s){s=s|0,Kv(s),n[2277]=(n[2277]|0)+-1}function Ma(s,l){s=s|0,l=l|0;var c=0;l?(Wn(s,(Zi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function sa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Wn(s,(n[l+944>>2]|0)==0,2709),Wn(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],we(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,qe(s),E=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;if(c=Zi(s)|0,c|0&&(n[(Ts(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,Q=Rs(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=Q,n[Q+944>>2]=s,m||SR[f&15](B,Q,s,l),l=l+1|0;while((l|0)!=(c|0))}}function we(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0;et=E,E=E+64|0,j=et+52|0,Q=et+48|0,se=et+28|0,We=et+24|0,Oe=et+20|0,Re=et,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}UA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=N(s)|0,d>>>0<f>>>0&&Jr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Ep(Re,M>>2>>>0<d>>>1>>>0?m>>>0<f>>>0?f:m:d,l-O>>2,s+8|0),O=Re+8|0,f=n[O>>2]|0,m=Re+12|0,M=n[m>>2]|0,B=M,k=f;do if((f|0)==(M|0)){if(M=Re+4|0,f=n[M>>2]|0,Ze=n[Re>>2]|0,d=Ze,f>>>0<=Ze>>>0){f=B-d>>1,f=(f|0)==0?1:f,Ep(se,f,f>>>2,n[Re+16>>2]|0),n[We>>2]=n[M>>2],n[Oe>>2]=n[O>>2],n[Q>>2]=n[We>>2],n[j>>2]=n[Oe>>2],fI(se,Q,j),f=n[Re>>2]|0,n[Re>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Ze=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Ze,f=se+8|0,Ze=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Ze,f=se+12|0,Ze=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Ze,MA(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,Q=f+(B<<2)|0,d=k-m|0,m=d>>2,m&&(DI(Q|0,f|0,d|0)|0,f=n[M>>2]|0),Ze=Q+(m<<2)|0,n[O>>2]=Ze,n[M>>2]=f+(B<<2),f=Ze}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=mg(s,Re,l)|0,MA(Re)}while(0);return E=et,l|0}function qe(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(he),s=n[s+944>>2]|0}while((s|0)!=0)}function Be(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function xe(s){return s=s|0,n[s+944>>2]|0}function Je(s){s=s|0,Wn(s,(n[s+964>>2]|0)!=0,2832),qe(s)}function vt(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function tr(s,l){s=s|0,l=l|0,HUe(s,l,400)|0&&(Cr(s|0,l|0,400)|0,qe(s))}function Zr(s){s=s|0;var l=$e;return l=y(h[s+44>>2]),s=Ot(l)|0,y(s?y(0):l)}function Tn(s){s=s|0;var l=$e;return l=y(h[s+48>>2]),Ot(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function _r(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function $n(s){return s=s|0,n[s+980>>2]|0}function Ti(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function Yn(s){return s=s|0,n[s+4>>2]|0}function Ua(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function oa(s){return s=s|0,n[s+8>>2]|0}function yi(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function aa(s){return s=s|0,n[s+12>>2]|0}function Ha(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function lo(s){return s=s|0,n[s+16>>2]|0}function QA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function mc(s){return s=s|0,n[s+20>>2]|0}function la(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function $h(s){return s=s|0,n[s+24>>2]|0}function yc(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function vm(s){return s=s|0,n[s+28>>2]|0}function eg(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function Kn(s){return s=s|0,n[s+32>>2]|0}function cp(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function tg(s){return s=s|0,n[s+36>>2]|0}function kA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function Os(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function Cu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function qa(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function ji(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,qe(s))}function ca(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Iu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function ms(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function Ec(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Cc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function G(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function Dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Il(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(he),n[c>>2]=3,qe(s))}function Si(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function Ic(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function lt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function rg(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function sI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function FA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,qe(s))}function up(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(he),n[l>>2]=3,qe(s))}function yr(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function ys(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function ng(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,qe(s))}function ig(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(he),n[l>>2]=3,qe(s))}function sg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Ap(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function wc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function mt(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Dm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function og(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function ag(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Bu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function Sm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function lg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function vu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function oI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function Pm(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function ua(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function Bc(s){return s=s|0,y(h[s+396>>2])}function wl(s){return s=s|0,y(h[s+400>>2])}function Du(s){return s=s|0,y(h[s+404>>2])}function cg(s){return s=s|0,y(h[s+408>>2])}function RA(s){return s=s|0,y(h[s+412>>2])}function fp(s){return s=s|0,y(h[s+416>>2])}function ja(s){return s=s|0,y(h[s+420>>2])}function ug(s,l){switch(s=s|0,l=l|0,Wn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function pp(s,l){switch(s=s|0,l=l|0,Wn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function Mo(s,l){switch(s=s|0,l=l|0,Wn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function Es(s,l){s=s|0,l=l|0;var c=0,f=$e;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))<y(999999974e-13)):s=1:s=0,s|0}function Ei(s,l){s=y(s),l=y(l);var c=0;return Ot(s)|0?c=Ot(l)|0:c=y(ne(y(s-l)))<y(999999974e-13),c|0}function xm(s,l){s=s|0,l=l|0,bm(s,l)}function bm(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c+4|0,n[f>>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,La(f|0,s|0,l|0,0),co(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),u3e(f),E=c}function Uo(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=$e;s=y(s*l),d=y(CR(s,y(1)));do if(Ei(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ei(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ei(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function TA(s,l,c,f,d,m,B,Q,k,M,O,j,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,Q=y(Q),k=y(k),M=y(M),O=y(O),j=y(j),se=se|0;var We=0,Oe=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e;return k<y(0)|M<y(0)?se=0:((se|0)!=0&&(Oe=y(h[se+4>>2]),Oe!=y(0))?(et=y(Uo(l,Oe,0,0)),Ze=y(Uo(f,Oe,0,0)),Re=y(Uo(m,Oe,0,0)),Oe=y(Uo(Q,Oe,0,0))):(Re=m,et=l,Oe=Q,Ze=f),(d|0)==(s|0)?We=Ei(Re,et)|0:We=0,(B|0)==(c|0)?se=Ei(Oe,Ze)|0:se=0,!We&&(at=y(l-O),!(hp(s,at,k)|0))&&!(gp(s,at,d,k)|0)?We=Ag(s,at,d,m,k)|0:We=1,!se&&(He=y(f-j),!(hp(c,He,M)|0))&&!(gp(c,He,B,M)|0)?se=Ag(c,He,B,Q,M)|0:se=1,se=We&se),se|0}function hp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ei(l,c)|0:s=0,s|0}function gp(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ei(l,f)|0:s=0,s|0}function Ag(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ei(l,d)|0:s=0,s|0}function Aa(s,l,c,f,d,m,B,Q,k,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0,O=O|0;var j=0,se=0,We=0,Oe=0,Re=$e,et=$e,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=$e,po=$e,ho=$e,go=0,ma=0;rr=E,E=E+160|0,Vt=rr+152|0,ir=rr+120|0,Rr=rr+104|0,He=rr+72|0,Oe=rr+56|0,Tt=rr+8|0,at=rr,Ge=(n[2279]|0)+1|0,n[2279]=Ge,Ir=s+984|0,(o[Ir>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Ze=4:(n[s+516>>2]|0)==(f|0)?Qr=0:Ze=4,(Ze|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Qr=1);e:do if(n[s+964>>2]|0)if(Re=y(rn(s,2,B)),et=y(rn(s,0,B)),j=s+916|0,ho=y(h[j>>2]),po=y(h[s+920>>2]),Bn=y(h[s+932>>2]),TA(d,l,m,c,n[s+924>>2]|0,ho,n[s+928>>2]|0,po,Bn,y(h[s+936>>2]),Re,et,O)|0)Ze=22;else if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Bn=y(h[j>>2]),po=y(h[s+524+(se*24|0)+4>>2]),ho=y(h[s+524+(se*24|0)+16>>2]),TA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,Bn,n[s+524+(se*24|0)+12>>2]|0,po,ho,y(h[s+524+(se*24|0)+20>>2]),Re,et,O)|0){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}else{if(k){if(j=s+916|0,!(Ei(y(h[j>>2]),l)|0)){Ze=21;break}if(!(Ei(y(h[s+920>>2]),c)|0)){Ze=21;break}if((n[s+924>>2]|0)!=(d|0)){Ze=21;break}j=(n[s+928>>2]|0)==(m|0)?j:0,Ze=22;break}if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Ei(y(h[j>>2]),l)|0&&Ei(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}}while(0);do if((Ze|0)==21)o[11697]|0?(j=0,Ze=28):(j=0,Ze=31);else if((Ze|0)==22){if(se=(o[11697]|0)!=0,!((j|0)!=0&(Qr^1)))if(se){Ze=28;break}else{Ze=31;break}Oe=j+16|0,n[s+908>>2]=n[Oe>>2],We=j+20|0,n[s+912>>2]=n[We>>2],(o[11698]|0)==0|se^1||(n[at>>2]=NA(Ge)|0,n[at+4>>2]=Ge,co(s,4,2972,at),se=n[s+972>>2]|0,se|0&&$A[se&127](s),d=Ga(d,k)|0,m=Ga(m,k)|0,ma=+y(h[Oe>>2]),go=+y(h[We>>2]),n[Tt>>2]=d,n[Tt+4>>2]=m,C[Tt+8>>3]=+l,C[Tt+16>>3]=+c,C[Tt+24>>3]=ma,C[Tt+32>>3]=go,n[Tt+40>>2]=M,co(s,4,2989,Tt))}while(0);return(Ze|0)==28&&(se=NA(Ge)|0,n[Oe>>2]=se,n[Oe+4>>2]=Ge,n[Oe+8>>2]=Qr?3047:11699,co(s,4,3038,Oe),se=n[s+972>>2]|0,se|0&&$A[se&127](s),Tt=Ga(d,k)|0,Ze=Ga(m,k)|0,n[He>>2]=Tt,n[He+4>>2]=Ze,C[He+8>>3]=+l,C[He+16>>3]=+c,n[He+24>>2]=M,co(s,4,3049,He),Ze=31),(Ze|0)==31&&(ei(s,l,c,f,d,m,B,Q,k,O),o[11697]|0&&(se=n[2279]|0,Tt=NA(se)|0,n[Rr>>2]=Tt,n[Rr+4>>2]=se,n[Rr+8>>2]=Qr?3047:11699,co(s,4,3083,Rr),se=n[s+972>>2]|0,se|0&&$A[se&127](s),Tt=Ga(d,k)|0,Rr=Ga(m,k)|0,go=+y(h[s+908>>2]),ma=+y(h[s+912>>2]),n[ir>>2]=Tt,n[ir+4>>2]=Rr,C[ir+8>>3]=go,C[ir+16>>3]=ma,n[ir+24>>2]=M,co(s,4,3092,ir)),n[s+516>>2]=f,j||(se=s+520|0,j=n[se>>2]|0,(j|0)==16&&(o[11697]|0&&co(s,4,3124,Vt),n[se>>2]=0,j=0),k?j=s+916|0:(n[se>>2]=j+1,j=s+524+(j*24|0)|0),h[j>>2]=l,h[j+4>>2]=c,n[j+8>>2]=d,n[j+12>>2]=m,n[j+16>>2]=n[s+908>>2],n[j+20>>2]=n[s+912>>2],j=0)),k&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Ir>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],E=rr,Qr|(j|0)==0|0}function rn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(K(s,l,c)),y(f+y(te(s,l,c)))}function co(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=E,E=E+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,pg(f,s,l,c,d),E=m}function NA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function Ga(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,E=d,s|0}function ei(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0;var O=0,j=0,se=0,We=0,Oe=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e,Ge=$e,Tt=0,Rr=0,ir=0,Vt=$e,Ir=$e,Qr=0,rr=$e,Bn=0,po=0,ho=0,go=0,ma=0,bp=0,Qp=0,xl=0,kp=0,Nu=0,Lu=0,Fp=0,Rp=0,Tp=0,Vr=0,bl=0,Np=0,bc=0,Lp=$e,Op=$e,Ou=$e,Mu=$e,Qc=$e,Us=0,Xa=0,Ho=0,Ql=0,tf=0,rf=$e,Uu=$e,nf=$e,sf=$e,_s=$e,ws=$e,kl=0,Pn=$e,of=$e,mo=$e,kc=$e,yo=$e,Fc=$e,af=0,lf=0,Rc=$e,Hs=$e,Fl=0,cf=0,uf=0,Af=0,vr=$e,jn=0,Bs=0,Eo=0,qs=0,Pr=0,lr=0,Rl=0,Wt=$e,ff=0,ni=0;Rl=E,E=E+16|0,Us=Rl+12|0,Xa=Rl+8|0,Ho=Rl+4|0,Ql=Rl,Wn(s,(d|0)==0|(Ot(l)|0)^1,3326),Wn(s,(m|0)==0|(Ot(c)|0)^1,3406),Bs=gt(s,f)|0,n[s+496>>2]=Bs,Pr=ur(2,Bs)|0,lr=ur(0,Bs)|0,h[s+440>>2]=y(K(s,Pr,B)),h[s+444>>2]=y(te(s,Pr,B)),h[s+428>>2]=y(K(s,lr,B)),h[s+436>>2]=y(te(s,lr,B)),h[s+464>>2]=y(gr(s,Pr)),h[s+468>>2]=y(hn(s,Pr)),h[s+452>>2]=y(gr(s,lr)),h[s+460>>2]=y(hn(s,lr)),h[s+488>>2]=y(ti(s,Pr,B)),h[s+492>>2]=y(Ni(s,Pr,B)),h[s+476>>2]=y(ti(s,lr,B)),h[s+484>>2]=y(Ni(s,lr,B));do if(n[s+964>>2]|0)gg(s,l,c,d,m,B,Q);else{if(Eo=s+948|0,qs=(n[s+952>>2]|0)-(n[Eo>>2]|0)>>2,!qs){Bv(s,l,c,d,m,B,Q);break}if(!k&&vv(s,l,c,d,m,B,Q)|0)break;ee(s),bl=s+508|0,o[bl>>0]=0,Pr=ur(n[s+4>>2]|0,Bs)|0,lr=lI(Pr,Bs)|0,jn=ue(Pr)|0,Np=n[s+8>>2]|0,cf=s+28|0,bc=(n[cf>>2]|0)!=0,yo=jn?B:Q,Rc=jn?Q:B,Lp=y(mp(s,Pr,B)),Op=y(cI(s,Pr,B)),Oe=y(mp(s,lr,B)),Fc=y(gn(s,Pr,B)),Hs=y(gn(s,lr,B)),ir=jn?d:m,Fl=jn?m:d,vr=jn?Fc:Hs,at=jn?Hs:Fc,kc=y(rn(s,2,B)),Ze=y(rn(s,0,B)),Re=y(y(Hr(s+364|0,B))-vr),et=y(y(Hr(s+380|0,B))-vr),He=y(y(Hr(s+372|0,Q))-at),Ge=y(y(Hr(s+388|0,Q))-at),Ou=jn?Re:He,Mu=jn?et:Ge,kc=y(l-kc),l=y(kc-vr),Ot(l)|0?vr=l:vr=y(Nn(y(Pg(l,et)),Re)),of=y(c-Ze),l=y(of-at),Ot(l)|0?mo=l:mo=y(Nn(y(Pg(l,Ge)),He)),Re=jn?vr:mo,Pn=jn?mo:vr;e:do if((ir|0)==1)for(f=0,j=0;;){if(O=Ts(s,j)|0,!f)y(rs(O))>y(0)&&y(Ms(O))>y(0)?f=O:f=0;else if(km(O)|0){We=0;break e}if(j=j+1|0,j>>>0>=qs>>>0){We=f;break}}else We=0;while(0);Tt=We+500|0,Rr=We+504|0,f=0,O=0,l=y(0),se=0;do{if(j=n[(n[Eo>>2]|0)+(se<<2)>>2]|0,(n[j+36>>2]|0)==1)Su(j),o[j+985>>0]=1,o[j+984>>0]=0;else{Bl(j),k&&dp(j,gt(j,Bs)|0,Re,Pn,vr);do if((n[j+24>>2]|0)!=1)if((j|0)==(We|0)){n[Tt>>2]=n[2278],h[Rr>>2]=y(0);break}else{Fm(s,j,vr,d,mo,vr,mo,m,Bs,M);break}else O|0&&(n[O+960>>2]=j),n[j+960>>2]=0,O=j,f=(f|0)==0?j:f;while(0);ws=y(h[j+504>>2]),l=y(l+y(ws+y(rn(j,Pr,vr))))}se=se+1|0}while((se|0)!=(qs|0));for(ho=l>Re,kl=bc&((ir|0)==2&ho)?1:ir,Bn=(Fl|0)==1,ma=Bn&(k^1),bp=(kl|0)==1,Qp=(kl|0)==2,xl=976+(Pr<<2)|0,kp=(Fl|2|0)==2,Tp=Bn&(bc^1),Nu=1040+(lr<<2)|0,Lu=1040+(Pr<<2)|0,Fp=976+(lr<<2)|0,Rp=(Fl|0)!=1,ho=bc&((ir|0)!=0&ho),po=s+976|0,Bn=Bn^1,l=Re,Qr=0,go=0,ws=y(0),Qc=y(0);;){e:do if(Qr>>>0<qs>>>0)for(Rr=n[Eo>>2]|0,se=0,Ge=y(0),He=y(0),et=y(0),Re=y(0),j=0,O=0,We=Qr;;){if(Tt=n[Rr+(We<<2)>>2]|0,(n[Tt+36>>2]|0)!=1&&(n[Tt+940>>2]=go,(n[Tt+24>>2]|0)!=1)){if(Ze=y(rn(Tt,Pr,vr)),Vr=n[xl>>2]|0,c=y(Hr(Tt+380+(Vr<<3)|0,yo)),at=y(h[Tt+504>>2]),c=y(Pg(c,at)),c=y(Nn(y(Hr(Tt+364+(Vr<<3)|0,yo)),c)),bc&(se|0)!=0&y(Ze+y(He+c))>l){m=se,Ze=Ge,ir=We;break e}Ze=y(Ze+c),c=y(He+Ze),Ze=y(Ge+Ze),km(Tt)|0&&(et=y(et+y(rs(Tt))),Re=y(Re-y(at*y(Ms(Tt))))),O|0&&(n[O+960>>2]=Tt),n[Tt+960>>2]=0,se=se+1|0,O=Tt,j=(j|0)==0?Tt:j}else Ze=Ge,c=He;if(We=We+1|0,We>>>0<qs>>>0)Ge=Ze,He=c;else{m=se,ir=We;break}}else m=0,Ze=y(0),et=y(0),Re=y(0),j=0,ir=Qr;while(0);Vr=et>y(0)&et<y(1),Vt=Vr?y(1):et,Vr=Re>y(0)&Re<y(1),Ge=Vr?y(1):Re;do if(bp)Vr=51;else if(Ze<Ou&((Ot(Ou)|0)^1))l=Ou,Vr=51;else if(Ze>Mu&((Ot(Mu)|0)^1))l=Mu,Vr=51;else if(o[(n[po>>2]|0)+3>>0]|0)Vr=51;else{if(Vt!=y(0)&&y(rs(s))!=y(0)){Vr=53;break}l=Ze,Vr=53}while(0);if((Vr|0)==51&&(Vr=0,Ot(l)|0?Vr=53:(Ir=y(l-Ze),rr=l)),(Vr|0)==53&&(Vr=0,Ze<y(0)?(Ir=y(-Ze),rr=l):(Ir=y(0),rr=l)),!ma&&(tf=(j|0)==0,!tf)){se=n[xl>>2]|0,We=Ir<y(0),at=y(Ir/Ge),Tt=Ir>y(0),He=y(Ir/Vt),et=y(0),Ze=y(0),l=y(0),O=j;do c=y(Hr(O+380+(se<<3)|0,yo)),Re=y(Hr(O+364+(se<<3)|0,yo)),Re=y(Pg(c,y(Nn(Re,y(h[O+504>>2]))))),We?(c=y(Re*y(Ms(O))),c!=y(-0)&&(Wt=y(Re-y(at*c)),rf=y(Ci(O,Pr,Wt,rr,vr)),Wt!=rf)&&(et=y(et-y(rf-Re)),l=y(l+c))):Tt&&(Uu=y(rs(O)),Uu!=y(0))&&(Wt=y(Re+y(He*Uu)),nf=y(Ci(O,Pr,Wt,rr,vr)),Wt!=nf)&&(et=y(et-y(nf-Re)),Ze=y(Ze-Uu)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(Ge+l),Re=y(Ir+et),tf)l=y(0);else{at=y(Vt+Ze),We=n[xl>>2]|0,Tt=Re<y(0),Rr=l==y(0),He=y(Re/l),se=Re>y(0),at=y(Re/at),l=y(0);do{Wt=y(Hr(j+380+(We<<3)|0,yo)),et=y(Hr(j+364+(We<<3)|0,yo)),et=y(Pg(Wt,y(Nn(et,y(h[j+504>>2]))))),Tt?(Wt=y(et*y(Ms(j))),Re=y(-Wt),Wt!=y(-0)?(Wt=y(He*Re),Re=y(Ci(j,Pr,y(et+(Rr?Re:Wt)),rr,vr))):Re=et):se&&(sf=y(rs(j)),sf!=y(0))?Re=y(Ci(j,Pr,y(et+y(at*sf)),rr,vr)):Re=et,l=y(l-y(Re-et)),Ze=y(rn(j,Pr,vr)),c=y(rn(j,lr,vr)),Re=y(Re+Ze),h[Xa>>2]=Re,n[Ql>>2]=1,et=y(h[j+396>>2]);e:do if(Ot(et)|0){O=Ot(Pn)|0;do if(!O){if(ho|(ts(j,lr,Pn)|0|Bn)||(pa(s,j)|0)!=4||(n[(vl(j,lr)|0)+4>>2]|0)==3||(n[(Sc(j,lr)|0)+4>>2]|0)==3)break;h[Us>>2]=Pn,n[Ho>>2]=1;break e}while(0);if(ts(j,lr,Pn)|0){O=n[j+992+(n[Fp>>2]<<2)>>2]|0,Wt=y(c+y(Hr(O,Pn))),h[Us>>2]=Wt,O=Rp&(n[O+4>>2]|0)==2,n[Ho>>2]=((Ot(Wt)|0|O)^1)&1;break}else{h[Us>>2]=Pn,n[Ho>>2]=O?0:2;break}}else Wt=y(Re-Ze),Vt=y(Wt/et),Wt=y(et*Wt),n[Ho>>2]=1,h[Us>>2]=y(c+(jn?Vt:Wt));while(0);pr(j,Pr,rr,vr,Ql,Xa),pr(j,lr,Pn,vr,Ho,Us);do if(!(ts(j,lr,Pn)|0)&&(pa(s,j)|0)==4){if((n[(vl(j,lr)|0)+4>>2]|0)==3){O=0;break}O=(n[(Sc(j,lr)|0)+4>>2]|0)!=3}else O=0;while(0);Wt=y(h[Xa>>2]),Vt=y(h[Us>>2]),ff=n[Ql>>2]|0,ni=n[Ho>>2]|0,Aa(j,jn?Wt:Vt,jn?Vt:Wt,Bs,jn?ff:ni,jn?ni:ff,vr,mo,k&(O^1),3488,M)|0,o[bl>>0]=o[bl>>0]|o[j+508>>0],j=n[j+960>>2]|0}while((j|0)!=0)}}else l=y(0);if(l=y(Ir+l),ni=l<y(0)&1,o[bl>>0]=ni|u[bl>>0],Qp&l>y(0)?(O=n[xl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(_s=y(Hr(s+364+(O<<3)|0,yo)),_s>=y(0))?Re=y(Nn(y(0),y(_s-y(rr-l)))):Re=y(0)):Re=l,Tt=Qr>>>0<ir>>>0,Tt){We=n[Eo>>2]|0,se=Qr,O=0;do j=n[We+(se<<2)>>2]|0,n[j+24>>2]|0||(O=((n[(vl(j,Pr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(Sc(j,Pr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(ir|0));O?(Ze=y(0),c=y(0)):Vr=101}else Vr=101;e:do if((Vr|0)==101)switch(Vr=0,Np|0){case 1:{O=0,Ze=y(Re*y(.5)),c=y(0);break e}case 2:{O=0,Ze=Re,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Ze=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Ze=y(0),c=y(y(Nn(Re,y(0)))/c);break e}case 5:{c=y(Re/y((m+1|0)>>>0)),O=0,Ze=c;break e}case 4:{c=y(Re/y(m>>>0)),O=0,Ze=y(c*y(.5));break e}default:{O=0,Ze=y(0),c=y(0);break e}}while(0);if(l=y(Lp+Ze),Tt){et=y(Re/y(O|0)),se=n[Eo>>2]|0,j=Qr,Re=y(0);do{O=n[se+(j<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(Ai(O,Pr)|0){if(!k)break e;Wt=y(Fr(O,Pr,rr)),Wt=y(Wt+y(gr(s,Pr))),Wt=y(Wt+y(K(O,Pr,vr))),h[O+400+(n[Lu>>2]<<2)>>2]=Wt;break e}break}case 0:if(ni=(n[(vl(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ni?Wt:l,k&&(ni=O+400+(n[Lu>>2]<<2)|0,h[ni>>2]=y(l+y(h[ni>>2]))),ni=(n[(Sc(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ni?Wt:l,ma){Wt=y(c+y(rn(O,Pr,vr))),Re=Pn,l=y(l+y(Wt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(ns(O,Pr,vr)))),Re=y(Nn(Re,y(ns(O,lr,vr))));break e}default:}k&&(Wt=y(Ze+y(gr(s,Pr))),ni=O+400+(n[Lu>>2]<<2)|0,h[ni>>2]=y(Wt+y(h[ni>>2])))}while(0);j=j+1|0}while((j|0)!=(ir|0))}else Re=y(0);if(c=y(Op+l),kp?Ze=y(y(Ci(s,lr,y(Hs+Re),Rc,B))-Hs):Ze=Pn,et=y(y(Ci(s,lr,y(Hs+(Tp?Pn:Re)),Rc,B))-Hs),Tt&k){j=Qr;do{se=n[(n[Eo>>2]|0)+(j<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(Ai(se,lr)|0){if(Wt=y(Fr(se,lr,Pn)),Wt=y(Wt+y(gr(s,lr))),Wt=y(Wt+y(K(se,lr,vr))),O=n[Nu>>2]|0,h[se+400+(O<<2)>>2]=Wt,!(Ot(Wt)|0))break}else O=n[Nu>>2]|0;Wt=y(gr(s,lr)),h[se+400+(O<<2)>>2]=y(Wt+y(K(se,lr,vr)));break}O=pa(s,se)|0;do if((O|0)==4){if((n[(vl(se,lr)|0)+4>>2]|0)==3){Vr=139;break}if((n[(Sc(se,lr)|0)+4>>2]|0)==3){Vr=139;break}if(ts(se,lr,Pn)|0){l=Oe;break}ff=n[se+908+(n[xl>>2]<<2)>>2]|0,n[Us>>2]=ff,l=y(h[se+396>>2]),ni=Ot(l)|0,Re=(n[v>>2]=ff,y(h[v>>2])),ni?l=et:(Ir=y(rn(se,lr,vr)),Wt=y(Re/l),l=y(l*Re),l=y(Ir+(jn?Wt:l))),h[Xa>>2]=l,h[Us>>2]=y(y(rn(se,Pr,vr))+Re),n[Ho>>2]=1,n[Ql>>2]=1,pr(se,Pr,rr,vr,Ho,Us),pr(se,lr,Pn,vr,Ql,Xa),l=y(h[Us>>2]),Ir=y(h[Xa>>2]),Wt=jn?l:Ir,l=jn?Ir:l,ni=((Ot(Wt)|0)^1)&1,Aa(se,Wt,l,Bs,ni,((Ot(l)|0)^1)&1,vr,mo,1,3493,M)|0,l=Oe}else Vr=139;while(0);e:do if((Vr|0)==139){Vr=0,l=y(Ze-y(ns(se,lr,vr)));do if((n[(vl(se,lr)|0)+4>>2]|0)==3){if((n[(Sc(se,lr)|0)+4>>2]|0)!=3)break;l=y(Oe+y(Nn(y(0),y(l*y(.5)))));break e}while(0);if((n[(Sc(se,lr)|0)+4>>2]|0)==3){l=Oe;break}if((n[(vl(se,lr)|0)+4>>2]|0)==3){l=y(Oe+y(Nn(y(0),l)));break}switch(O|0){case 1:{l=Oe;break e}case 2:{l=y(Oe+y(l*y(.5)));break e}default:{l=y(Oe+l);break e}}}while(0);Wt=y(ws+l),ni=se+400+(n[Nu>>2]<<2)|0,h[ni>>2]=y(Wt+y(h[ni>>2]))}while(0);j=j+1|0}while((j|0)!=(ir|0))}if(ws=y(ws+et),Qc=y(Nn(Qc,c)),m=go+1|0,ir>>>0>=qs>>>0)break;l=rr,Qr=ir,go=m}do if(k){if(O=m>>>0>1,!O&&!(Gi(s)|0))break;if(!(Ot(Pn)|0)){l=y(Pn-ws);e:do switch(n[s+12>>2]|0){case 3:{Oe=y(Oe+l),He=y(0);break}case 2:{Oe=y(Oe+y(l*y(.5))),He=y(0);break}case 4:{Pn>ws?He=y(l/y(m>>>0)):He=y(0);break}case 7:if(Pn>ws){Oe=y(Oe+y(l/y(m<<1>>>0))),He=y(l/y(m>>>0)),He=O?He:y(0);break e}else{Oe=y(Oe+y(l*y(.5))),He=y(0);break e}case 6:{He=y(l/y(go>>>0)),He=Pn>ws&O?He:y(0);break}default:He=y(0)}while(0);if(m|0)for(Tt=1040+(lr<<2)|0,Rr=976+(lr<<2)|0,We=0,j=0;;){e:do if(j>>>0<qs>>>0)for(Re=y(0),et=y(0),l=y(0),se=j;;){O=n[(n[Eo>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(We|0))break e;if(Rm(O,lr)|0&&(Wt=y(h[O+908+(n[Rr>>2]<<2)>>2]),l=y(Nn(l,y(Wt+y(rn(O,lr,vr)))))),(pa(s,O)|0)!=5)break;_s=y(Ya(O)),_s=y(_s+y(K(O,0,vr))),Wt=y(h[O+912>>2]),Wt=y(y(Wt+y(rn(O,0,vr)))-_s),_s=y(Nn(et,_s)),Wt=y(Nn(Re,Wt)),Re=Wt,et=_s,l=y(Nn(l,y(_s+Wt)))}while(0);if(O=se+1|0,O>>>0<qs>>>0)se=O;else{se=O;break}}else et=y(0),l=y(0),se=j;while(0);if(at=y(He+l),c=Oe,Oe=y(Oe+at),j>>>0<se>>>0){Ze=y(c+et),O=j;do{j=n[(n[Eo>>2]|0)+(O<<2)>>2]|0;e:do if((n[j+36>>2]|0)!=1&&(n[j+24>>2]|0)==0)switch(pa(s,j)|0){case 1:{Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 3:{Wt=y(y(Oe-y(te(j,lr,vr)))-y(h[j+908+(n[Rr>>2]<<2)>>2])),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 2:{Wt=y(c+y(y(at-y(h[j+908+(n[Rr>>2]<<2)>>2]))*y(.5))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 4:{if(Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt,ts(j,lr,Pn)|0||(jn?(Re=y(h[j+908>>2]),l=y(Re+y(rn(j,Pr,vr))),et=at):(et=y(h[j+912>>2]),et=y(et+y(rn(j,lr,vr))),l=at,Re=y(h[j+908>>2])),Ei(l,Re)|0&&Ei(et,y(h[j+912>>2]))|0))break e;Aa(j,l,et,Bs,1,1,vr,mo,1,3501,M)|0;break e}case 5:{h[j+404>>2]=y(y(Ze-y(Ya(j)))+y(Fr(j,0,Pn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(We=We+1|0,(We|0)==(m|0))break;j=se}}}while(0);if(h[s+908>>2]=y(Ci(s,2,kc,B,B)),h[s+912>>2]=y(Ci(s,0,of,Q,B)),(kl|0)!=0&&(af=n[s+32>>2]|0,lf=(kl|0)==2,!(lf&(af|0)!=2))?lf&(af|0)==2&&(l=y(Fc+rr),l=y(Nn(y(Pg(l,y(LA(s,Pr,Qc,yo)))),Fc)),Vr=198):(l=y(Ci(s,Pr,Qc,yo,B)),Vr=198),(Vr|0)==198&&(h[s+908+(n[976+(Pr<<2)>>2]<<2)>>2]=l),(Fl|0)!=0&&(uf=n[s+32>>2]|0,Af=(Fl|0)==2,!(Af&(uf|0)!=2))?Af&(uf|0)==2&&(l=y(Hs+Pn),l=y(Nn(y(Pg(l,y(LA(s,lr,y(Hs+ws),Rc)))),Hs)),Vr=204):(l=y(Ci(s,lr,y(Hs+ws),Rc,B)),Vr=204),(Vr|0)==204&&(h[s+908+(n[976+(lr<<2)>>2]<<2)>>2]=l),k){if((n[cf>>2]|0)==2){j=976+(lr<<2)|0,se=1040+(lr<<2)|0,O=0;do We=Ts(s,O)|0,n[We+24>>2]|0||(ff=n[j>>2]|0,Wt=y(h[s+908+(ff<<2)>>2]),ni=We+400+(n[se>>2]<<2)|0,Wt=y(Wt-y(h[ni>>2])),h[ni>>2]=y(Wt-y(h[We+908+(ff<<2)>>2]))),O=O+1|0;while((O|0)!=(qs|0))}if(f|0){O=jn?kl:d;do Tm(s,f,vr,O,mo,Bs,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Pr|2|0)==3,j=(lr|2|0)==3,O|j){f=0;do se=n[(n[Eo>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&yp(s,se,Pr),j&&yp(s,se,lr)),f=f+1|0;while((f|0)!=(qs|0))}}}while(0);E=Rl}function fa(s,l){s=s|0,l=y(l);var c=0;ra(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function vc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=$e,m=$e,B=0,Q=0,k=0;n[2278]=(n[2278]|0)+1,Bl(s),ts(s,2,l)|0?(d=y(Hr(n[s+992>>2]|0,l)),k=1,d=y(d+y(rn(s,2,l)))):(d=y(Hr(s+380|0,l)),d>=y(0)?k=2:(k=((Ot(l)|0)^1)&1,d=l)),ts(s,0,c)|0?(m=y(Hr(n[s+996>>2]|0,c)),Q=1,m=y(m+y(rn(s,0,l)))):(m=y(Hr(s+388|0,c)),m>=y(0)?Q=2:(Q=((Ot(c)|0)^1)&1,m=c)),B=s+976|0,Aa(s,d,m,f,k,Q,l,c,1,3189,n[B>>2]|0)|0&&(dp(s,n[s+496>>2]|0,l,c,l),Dc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&xm(s,7)}function Bl(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;Q=E,E=E+32|0,B=Q+24|0,m=Q+16|0,f=Q+8|0,d=Q,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(k=l,M=n[k+4>>2]|0,O=f,n[O>>2]=n[k>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,k=d,n[k>>2]=n[O>>2],n[k+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],Es(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);E=Q}function ts(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])<y(0)?s=0:f=5;break}case 2:{y(h[s>>2])<y(0)?s=0:s=(Ot(c)|0)^1;break}default:f=5}return(f|0)==5&&(s=1),s|0}function Hr(s,l){switch(s=s|0,l=y(l),n[s+4>>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(he)}return y(l)}function dp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=$e;l=n[s+944>>2]|0?l:1,m=ur(n[s+4>>2]|0,l)|0,l=lI(m,l)|0,c=y(Nm(s,m,c)),f=y(Nm(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(te(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(te(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function Dc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=$e,Q=$e,k=0,M=0,O=$e,j=0,se=$e,We=$e,Oe=$e,Re=$e;if(l!=y(0)&&(d=s+400|0,Re=y(h[d>>2]),m=s+404|0,Oe=y(h[m>>2]),j=s+416|0,We=y(h[j>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Re+c),O=y(Oe+f),f=y(se+We),Q=y(O+B),k=(n[s+988>>2]|0)==1,h[d>>2]=y(Uo(Re,l,0,k)),h[m>>2]=y(Uo(Oe,l,0,k)),c=y(CR(y(We*l),y(1))),Ei(c,y(0))|0?m=0:m=(Ei(c,y(1))|0)^1,c=y(CR(y(B*l),y(1))),Ei(c,y(0))|0?d=0:d=(Ei(c,y(1))|0)^1,Re=y(Uo(f,l,k&m,k&(m^1))),h[j>>2]=y(Re-y(Uo(se,l,0,k))),Re=y(Uo(Q,l,k&d,k&(d^1))),h[M>>2]=y(Re-y(Uo(O,l,0,k))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do Dc(Ts(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function aI(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=JG(n[489]|0,f,d)|0;break}default:s=o3e(f,d)|0}return s|0}function fg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=E,E=E+16|0,m=d,n[m>>2]=f,pg(s,0,l,c,m),E=d}function pg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,g7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Rt();else return}function Wa(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Qm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(hg(s,f),kt(s,n[l>>2]|0,n[c>>2]|0,f))}function hg(s,l){s=s|0,l=l|0;var c=0;if((N(s)|0)>>>0<l>>>0&&Jr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function kt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Cr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function N(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),ue(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=Sn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function te(s,l,c){return s=s|0,l=l|0,c=y(c),ue(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=Sn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function ue(s){return s=s|0,(s|1|0)==3|0}function ze(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Hr(s,l)),y(l)}function gt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function ur(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function gr(s,l){s=s|0,l=l|0;var c=$e;return ue(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function hn(s,l){s=s|0,l=l|0;var c=$e;return ue(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function ti(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return ue(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(Hr(s+236|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Ni(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return ue(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(Hr(s+244|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function gg(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e,j=$e,se=$e,We=0,Oe=0,Re=0;Re=E,E=E+16|0,We=Re,Oe=s+964|0,Wn(s,(n[Oe>>2]|0)!=0,3519),Q=y(gn(s,2,l)),k=y(gn(s,0,l)),M=y(rn(s,2,l)),O=y(rn(s,0,l)),Ot(l)|0?j=l:j=y(Nn(y(0),y(y(l-M)-Q))),Ot(c)|0?se=c:se=y(Nn(y(0),y(y(c-O)-k))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Ci(s,2,y(l-M),m,m)),l=y(Ci(s,0,y(c-O),B,m))):(d7[n[Oe>>2]&1](We,s,j,f,se,d),j=y(Q+y(h[We>>2])),se=y(l-M),h[s+908>>2]=y(Ci(s,2,(f|2|0)==2?j:se,m,m)),se=y(k+y(h[We+4>>2])),l=y(c-O),l=y(Ci(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,E=Re}function Bv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e;M=y(gn(s,2,m)),Q=y(gn(s,0,m)),O=y(rn(s,2,m)),k=y(rn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Ci(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-k),h[s+912>>2]=y(Ci(s,0,(d|2|0)==2?Q:c,B,m))}function vv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=0,k=$e,M=$e;return Q=(f|0)==2,!(l<=y(0)&Q)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(k=y(rn(s,0,m)),M=y(rn(s,2,m)),Q=l<y(0)&Q|(Ot(l)|0),l=y(l-M),h[s+908>>2]=y(Ci(s,2,Q?y(0):l,m,m)),l=y(c-k),Q=c<y(0)&(d|0)==2|(Ot(c)|0),h[s+912>>2]=y(Ci(s,0,Q?y(0):l,B,m)),s=1),s|0}function lI(s,l){return s=s|0,l=l|0,OA(s)|0?s=ur(2,l)|0:s=0,s|0}function mp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ti(s,l,c)),y(c+y(gr(s,l)))}function cI(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Ni(s,l,c)),y(c+y(hn(s,l)))}function gn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(mp(s,l,c)),y(f+y(cI(s,l,c)))}function km(s){return s=s|0,n[s+24>>2]|0?s=0:y(rs(s))!=y(0)?s=1:s=y(Ms(s))!=y(0),s|0}function rs(s){s=s|0;var l=$e;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ot(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ot(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function Ms(s){s=s|0;var l=$e,c=0,f=$e;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ot(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f<y(0)&((Ot(f)|0)^1))){l=y(-f);break}l=c<<24>>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function Su(s){s=s|0;var l=0,c=0;if(Jm(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=Zi(s)|0,c|0){l=s+948|0,s=0;do Su(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Fm(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),Q=Q|0,k=k|0,M=M|0;var O=0,j=$e,se=0,We=0,Oe=$e,Re=$e,et=0,Ze=$e,at=0,He=$e,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0;Bn=E,E=E+16|0,Rr=Bn+12|0,ir=Bn+8|0,Vt=Bn+4|0,Ir=Bn,rr=ur(n[s+4>>2]|0,k)|0,Ge=ue(rr)|0,j=y(Hr(uI(l)|0,Ge?m:B)),Tt=ts(l,2,m)|0,Qr=ts(l,0,B)|0;do if(!(Ot(j)|0)&&!(Ot(Ge?c:d)|0)){if(O=l+504|0,!(Ot(y(h[O>>2]))|0)&&(!(AI(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(Nn(j,y(gn(l,rr,m))))}else se=7;while(0);do if((se|0)==7){if(at=Ge^1,!(at|Tt^1)){B=y(Hr(n[l+992>>2]|0,m)),h[l+504>>2]=y(Nn(B,y(gn(l,2,m))));break}if(!(Ge|Qr^1)){B=y(Hr(n[l+996>>2]|0,B)),h[l+504>>2]=y(Nn(B,y(gn(l,0,m))));break}h[Rr>>2]=y(he),h[ir>>2]=y(he),n[Vt>>2]=0,n[Ir>>2]=0,Ze=y(rn(l,2,m)),He=y(rn(l,0,m)),Tt?(Oe=y(Ze+y(Hr(n[l+992>>2]|0,m))),h[Rr>>2]=Oe,n[Vt>>2]=1,We=1):(We=0,Oe=y(he)),Qr?(j=y(He+y(Hr(n[l+996>>2]|0,B))),h[ir>>2]=j,n[Ir>>2]=1,O=1):(O=0,j=y(he)),se=n[s+32>>2]|0,Ge&(se|0)==2?se=2:Ot(Oe)|0&&!(Ot(c)|0)&&(h[Rr>>2]=c,n[Vt>>2]=2,We=2,Oe=c),!((se|0)==2&at)&&Ot(j)|0&&!(Ot(d)|0)&&(h[ir>>2]=d,n[Ir>>2]=2,O=2,j=d),Re=y(h[l+396>>2]),et=Ot(Re)|0;do if(et)se=We;else{if((We|0)==1&at){h[ir>>2]=y(y(Oe-Ze)/Re),n[Ir>>2]=1,O=1,se=1;break}Ge&(O|0)==1?(h[Rr>>2]=y(Re*y(j-He)),n[Vt>>2]=1,O=1,se=1):se=We}while(0);po=Ot(c)|0,We=(pa(s,l)|0)!=4,!(Ge|Tt|((f|0)!=1|po)|(We|(se|0)==1))&&(h[Rr>>2]=c,n[Vt>>2]=1,!et)&&(h[ir>>2]=y(y(c-Ze)/Re),n[Ir>>2]=1,O=1),!(Qr|at|((Q|0)!=1|(Ot(d)|0))|(We|(O|0)==1))&&(h[ir>>2]=d,n[Ir>>2]=1,!et)&&(h[Rr>>2]=y(Re*y(d-He)),n[Vt>>2]=1),pr(l,2,m,m,Vt,Rr),pr(l,0,B,m,Ir,ir),c=y(h[Rr>>2]),d=y(h[ir>>2]),Aa(l,c,d,k,n[Vt>>2]|0,n[Ir>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(rr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(Nn(B,y(gn(l,rr,m))))}while(0);n[l+500>>2]=n[2278],E=Bn}function Ci(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(LA(s,l,c,f)),y(Nn(f,y(gn(s,l,d))))}function pa(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&OA(n[s+4>>2]|0)|0&&(l=1),l|0}function vl(s,l){return s=s|0,l=l|0,ue(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function Sc(s,l){return s=s|0,l=l|0,ue(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function pr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Hr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(rn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ot(c)|0,f=y(h[m>>2]),h[m>>2]=d|f<c?f:c;break}case 0:{Ot(c)|0||(n[d>>2]=2,h[m>>2]=c);break}default:}}function Ai(s,l){return s=s|0,l=l|0,s=s+132|0,ue(l)|0&&(n[(Sn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Fr(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,ue(l)|0&&(f=Sn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function ns(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(te(s,l,c)))}function Gi(s){s=s|0;var l=0,c=0,f=0;e:do if(OA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=Zi(s)|0,!c)l=0;else for(l=0;;){if(f=Ts(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Rm(s,l){s=s|0,l=l|0;var c=$e;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ot(c)|0)^1)|0}function Ya(s){s=s|0;var l=$e,c=0,f=0,d=0,m=0,B=0,Q=0,k=$e;if(c=n[s+968>>2]|0,c)k=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(A7[c&0](s,k,l)),Wn(s,(Ot(l)|0)^1,3573);else{m=Zi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=Ts(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(Q=(pa(s,f)|0)==5,Q){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Ya(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function LA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=$e,m=0;return OA(l)|0?(l=1,m=3):ue(l)|0?(l=0,m=3):(f=y(he),d=y(he)),(m|0)==3&&(d=y(Hr(s+364+(l<<3)|0,f)),f=y(Hr(s+380+(l<<3)|0,f))),m=f<c&(f>=y(0)&((Ot(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ot(d)|0)^1)&c<d,y(m?d:c)}function Tm(s,l,c,f,d,m,B){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,B=B|0;var Q=$e,k=$e,M=0,O=0,j=$e,se=$e,We=$e,Oe=0,Re=0,et=0,Ze=0,at=$e,He=0;et=ur(n[s+4>>2]|0,m)|0,Oe=lI(et,m)|0,Re=ue(et)|0,j=y(rn(l,2,c)),se=y(rn(l,0,c)),ts(l,2,c)|0?Q=y(j+y(Hr(n[l+992>>2]|0,c))):Ai(l,2)|0&&nr(l,2)|0?(Q=y(h[s+908>>2]),k=y(gr(s,2)),k=y(Q-y(k+y(hn(s,2)))),Q=y(Fr(l,2,c)),Q=y(Ci(l,2,y(k-y(Q+y(Pu(l,2,c)))),c,c))):Q=y(he),ts(l,0,d)|0?k=y(se+y(Hr(n[l+996>>2]|0,d))):Ai(l,0)|0&&nr(l,0)|0?(k=y(h[s+912>>2]),at=y(gr(s,0)),at=y(k-y(at+y(hn(s,0)))),k=y(Fr(l,0,d)),k=y(Ci(l,0,y(at-y(k+y(Pu(l,0,d)))),d,c))):k=y(he),M=Ot(Q)|0,O=Ot(k)|0;do if(M^O&&(We=y(h[l+396>>2]),!(Ot(We)|0)))if(M){Q=y(j+y(y(k-se)*We));break}else{at=y(se+y(y(Q-j)/We)),k=O?at:k;break}while(0);O=Ot(Q)|0,M=Ot(k)|0,O|M&&(He=(O^1)&1,f=c>y(0)&((f|0)!=0&O),Q=Re?Q:f?c:Q,Aa(l,Q,k,m,Re?He:f?2:He,O&(M^1)&1,Q,k,0,3623,B)|0,Q=y(h[l+908>>2]),Q=y(Q+y(rn(l,2,c))),k=y(h[l+912>>2]),k=y(k+y(rn(l,0,c)))),Aa(l,Q,k,m,1,1,Q,k,1,3635,B)|0,nr(l,et)|0&&!(Ai(l,et)|0)?(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,et))),at=y(at-y(te(l,et,c))),at=y(at-y(Pu(l,et,Re?c:d))),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at):Ze=21;do if((Ze|0)==21){if(!(Ai(l,et)|0)&&(n[s+8>>2]|0)==1){He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at;break}!(Ai(l,et)|0)&&(n[s+8>>2]|0)==2&&(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at)}while(0);nr(l,Oe)|0&&!(Ai(l,Oe)|0)?(He=n[976+(Oe<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,Oe))),at=y(at-y(te(l,Oe,c))),at=y(at-y(Pu(l,Oe,Re?d:c))),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=at):Ze=30;do if((Ze|0)==30&&!(Ai(l,Oe)|0)){if((pa(s,l)|0)==2){He=n[976+(Oe<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=at;break}He=(pa(s,l)|0)==3,He^(n[s+28>>2]|0)==2&&(He=n[976+(Oe<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=at)}while(0)}function yp(s,l,c){s=s|0,l=l|0,c=c|0;var f=$e,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function OA(s){return s=s|0,(s|1|0)==1|0}function uI(s){s=s|0;var l=$e;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ot(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function AI(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function nr(s,l){return s=s|0,l=l|0,s=s+132|0,ue(l)|0&&(n[(Sn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Pu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,ue(l)|0&&(f=Sn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function Nm(s,l,c){return s=s|0,l=l|0,c=y(c),Ai(s,l)|0?c=y(Fr(s,l,c)):c=y(-y(Pu(s,l,c))),y(c)}function xu(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Ep(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function dg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function MA(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function UA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;if(B=s+4|0,Q=n[B>>2]|0,d=Q-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0<c>>>0){f=Q;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0<c>>>0)}m|0&&DI(Q+(0-m<<2)|0,l|0,d|0)|0}function mg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return Q=l+4|0,k=n[Q>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=k+(0-(m>>2)<<2)|0,n[Q>>2]=f,(m|0)>0&&Cr(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(Cr(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[Q>>2],n[Q>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[Q>>2],k|0}function fI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Lm(){dc()}function ha(){var s=0;return s=Gt(4)|0,_A(s),s|0}function _A(s){s=s|0,n[s>>2]=$i()|0}function Pc(s){s=s|0,s|0&&(yg(s),pt(s))}function yg(s){s=s|0,mi(n[s>>2]|0)}function Om(s,l,c){s=s|0,l=l|0,c=c|0,Wa(n[s>>2]|0,l,c)}function uo(s,l){s=s|0,l=y(l),fa(n[s>>2]|0,l)}function Dv(s,l){return s=s|0,l=l|0,AI(n[s>>2]|0,l)|0}function pI(){var s=0;return s=Gt(8)|0,Sv(s,0),s|0}function Sv(s,l){s=s|0,l=l|0,l?l=di(n[l>>2]|0)|0:l=oo()|0,n[s>>2]=l,n[s+4>>2]=0,_r(l,s)}function nF(s){s=s|0;var l=0;return l=Gt(8)|0,Sv(l,s),l|0}function Pv(s){s=s|0,s|0&&(bu(s),pt(s))}function bu(s){s=s|0;var l=0;ia(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(HA(s),pt(s))}function HA(s){s=s|0,qA(s)}function qA(s){s=s|0,s=n[s>>2]|0,s|0&&PA(s|0)}function hI(s){return s=s|0,$n(s)|0}function Mm(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(HA(l),pt(l)),ao(n[s>>2]|0)}function iF(s,l){s=s|0,l=l|0,tr(n[s>>2]|0,n[l>>2]|0)}function sF(s,l){s=s|0,l=l|0,la(n[s>>2]|0,l)}function xv(s,l,c){s=s|0,l=l|0,c=+c,Iu(n[s>>2]|0,l,y(c))}function bv(s,l,c){s=s|0,l=l|0,c=+c,ms(n[s>>2]|0,l,y(c))}function gI(s,l){s=s|0,l=l|0,yi(n[s>>2]|0,l)}function Qu(s,l){s=s|0,l=l|0,Ha(n[s>>2]|0,l)}function oF(s,l){s=s|0,l=l|0,QA(n[s>>2]|0,l)}function aF(s,l){s=s|0,l=l|0,Ti(n[s>>2]|0,l)}function Cp(s,l){s=s|0,l=l|0,yc(n[s>>2]|0,l)}function lF(s,l){s=s|0,l=l|0,Ua(n[s>>2]|0,l)}function Qv(s,l,c){s=s|0,l=l|0,c=+c,Cc(n[s>>2]|0,l,y(c))}function jA(s,l,c){s=s|0,l=l|0,c=+c,G(n[s>>2]|0,l,y(c))}function cF(s,l){s=s|0,l=l|0,Il(n[s>>2]|0,l)}function uF(s,l){s=s|0,l=l|0,eg(n[s>>2]|0,l)}function kv(s,l){s=s|0,l=l|0,cp(n[s>>2]|0,l)}function dI(s,l){s=s|0,l=+l,kA(n[s>>2]|0,y(l))}function mI(s,l){s=s|0,l=+l,qa(n[s>>2]|0,y(l))}function AF(s,l){s=s|0,l=+l,ji(n[s>>2]|0,y(l))}function fF(s,l){s=s|0,l=+l,Os(n[s>>2]|0,y(l))}function Dl(s,l){s=s|0,l=+l,Cu(n[s>>2]|0,y(l))}function yI(s,l){s=s|0,l=+l,sI(n[s>>2]|0,y(l))}function pF(s,l){s=s|0,l=+l,FA(n[s>>2]|0,y(l))}function GA(s){s=s|0,up(n[s>>2]|0)}function Um(s,l){s=s|0,l=+l,ys(n[s>>2]|0,y(l))}function ku(s,l){s=s|0,l=+l,ng(n[s>>2]|0,y(l))}function EI(s){s=s|0,ig(n[s>>2]|0)}function CI(s,l){s=s|0,l=+l,Ap(n[s>>2]|0,y(l))}function hF(s,l){s=s|0,l=+l,wc(n[s>>2]|0,y(l))}function Fv(s,l){s=s|0,l=+l,Dm(n[s>>2]|0,y(l))}function WA(s,l){s=s|0,l=+l,og(n[s>>2]|0,y(l))}function Rv(s,l){s=s|0,l=+l,Bu(n[s>>2]|0,y(l))}function _m(s,l){s=s|0,l=+l,Sm(n[s>>2]|0,y(l))}function Tv(s,l){s=s|0,l=+l,vu(n[s>>2]|0,y(l))}function Nv(s,l){s=s|0,l=+l,oI(n[s>>2]|0,y(l))}function Hm(s,l){s=s|0,l=+l,ua(n[s>>2]|0,y(l))}function Lv(s,l,c){s=s|0,l=l|0,c=+c,wu(n[s>>2]|0,l,y(c))}function gF(s,l,c){s=s|0,l=l|0,c=+c,Si(n[s>>2]|0,l,y(c))}function S(s,l,c){s=s|0,l=l|0,c=+c,Ic(n[s>>2]|0,l,y(c))}function D(s){return s=s|0,$h(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Ec(d,n[l>>2]|0,c),q(s,d),E=f}function q(s,l){s=s|0,l=l|0,W(s,n[l+4>>2]|0,+y(h[l>>2]))}function W(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,C[s+8>>3]=c}function ce(s){return s=s|0,aa(n[s>>2]|0)|0}function Se(s){return s=s|0,lo(n[s>>2]|0)|0}function It(s){return s=s|0,mc(n[s>>2]|0)|0}function Et(s){return s=s|0,Yn(n[s>>2]|0)|0}function xt(s){return s=s|0,vm(n[s>>2]|0)|0}function Nr(s){return s=s|0,oa(n[s>>2]|0)|0}function is(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Dt(d,n[l>>2]|0,c),q(s,d),E=f}function fi(s){return s=s|0,Kn(n[s>>2]|0)|0}function Ao(s){return s=s|0,tg(n[s>>2]|0)|0}function YA(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,ca(f,n[l>>2]|0),q(s,f),E=c}function _o(s){return s=s|0,+ +y(Zr(n[s>>2]|0))}function rt(s){return s=s|0,+ +y(Tn(n[s>>2]|0))}function Ve(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,yr(f,n[l>>2]|0),q(s,f),E=c}function ft(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,sg(f,n[l>>2]|0),q(s,f),E=c}function jt(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,mt(f,n[l>>2]|0),q(s,f),E=c}function Er(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,ag(f,n[l>>2]|0),q(s,f),E=c}function In(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,lg(f,n[l>>2]|0),q(s,f),E=c}function Sr(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,Pm(f,n[l>>2]|0),q(s,f),E=c}function wn(s){return s=s|0,+ +y(Bc(n[s>>2]|0))}function ri(s,l){return s=s|0,l=l|0,+ +y(rg(n[s>>2]|0,l))}function Xr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,lt(d,n[l>>2]|0,c),q(s,d),E=f}function fo(s,l,c){s=s|0,l=l|0,c=c|0,sa(n[s>>2]|0,n[l>>2]|0,c)}function dF(s,l){s=s|0,l=l|0,Ls(n[s>>2]|0,n[l>>2]|0)}function uve(s){return s=s|0,Zi(n[s>>2]|0)|0}function Ave(s){return s=s|0,s=xe(n[s>>2]|0)|0,s?s=hI(s)|0:s=0,s|0}function fve(s,l){return s=s|0,l=l|0,s=Ts(n[s>>2]|0,l)|0,s?s=hI(s)|0:s=0,s|0}function pve(s,l){s=s|0,l=l|0;var c=0,f=0;f=Gt(4)|0,_9(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(HA(l),pt(l)),Ma(n[s>>2]|0,1)}function _9(s,l){s=s|0,l=l|0,Dve(s,l)}function hve(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,Q=0;B=E,E=E+16|0,Q=B,gve(Q,$n(l)|0,+c,f,+d,m),h[s>>2]=y(+C[Q>>3]),h[s+4>>2]=y(+C[Q+8>>3]),E=B}function gve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,Q=0,k=0,M=0,O=0;B=E,E=E+32|0,O=B+8|0,M=B+20|0,k=B,Q=B+16|0,C[O>>3]=c,n[M>>2]=f,C[k>>3]=d,n[Q>>2]=m,dve(s,n[l+4>>2]|0,O,M,k,Q),E=B}function dve(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0;B=E,E=E+16|0,Q=B,Ja(Q),l=ga(l)|0,mve(s,l,+C[c>>3],n[f>>2]|0,+C[d>>3],n[m>>2]|0),Va(Q),E=B}function ga(s){return s=s|0,n[s>>2]|0}function mve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=Sl(yve()|0)|0,c=+KA(c),f=mF(f)|0,d=+KA(d),Eve(s,ui(0,B|0,l|0,+c,f|0,+d,mF(m)|0)|0)}function yve(){var s=0;return o[7608]|0||(Bve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function Sl(s){return s=s|0,n[s+8>>2]|0}function KA(s){return s=+s,+ +yF(s)}function mF(s){return s=s|0,q9(s)|0}function Eve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+32|0,c=d,f=l,f&1?(Cve(c,0),Zn(f|0,c|0)|0,Ive(s,c),wve(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),E=d}function Cve(s,l){s=s|0,l=l|0,H9(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function Ive(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function wve(s){s=s|0,o[s+24>>0]=0}function H9(s,l){s=s|0,l=l|0,n[s>>2]=l}function q9(s){return s=s|0,s|0}function yF(s){return s=+s,+s}function Bve(s){s=s|0,Pl(s,vve()|0,4)}function vve(){return 1064}function Pl(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=lp(l|0,c+1|0)|0}function Dve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,ml(l|0)}function Sve(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(HA(l),pt(l)),Ma(n[s>>2]|0,0)}function Pve(s){s=s|0,Je(n[s>>2]|0)}function xve(s){return s=s|0,vt(n[s>>2]|0)|0}function bve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,vc(n[s>>2]|0,y(l),y(c),f)}function Qve(s){return s=s|0,+ +y(wl(n[s>>2]|0))}function kve(s){return s=s|0,+ +y(cg(n[s>>2]|0))}function Fve(s){return s=s|0,+ +y(Du(n[s>>2]|0))}function Rve(s){return s=s|0,+ +y(RA(n[s>>2]|0))}function Tve(s){return s=s|0,+ +y(fp(n[s>>2]|0))}function Nve(s){return s=s|0,+ +y(ja(n[s>>2]|0))}function Lve(s,l){s=s|0,l=l|0,C[s>>3]=+y(wl(n[l>>2]|0)),C[s+8>>3]=+y(cg(n[l>>2]|0)),C[s+16>>3]=+y(Du(n[l>>2]|0)),C[s+24>>3]=+y(RA(n[l>>2]|0)),C[s+32>>3]=+y(fp(n[l>>2]|0)),C[s+40>>3]=+y(ja(n[l>>2]|0))}function Ove(s,l){return s=s|0,l=l|0,+ +y(ug(n[s>>2]|0,l))}function Mve(s,l){return s=s|0,l=l|0,+ +y(pp(n[s>>2]|0,l))}function Uve(s,l){return s=s|0,l=l|0,+ +y(Mo(n[s>>2]|0,l))}function _ve(){return qn()|0}function Hve(){qve(),jve(),Gve(),Wve(),Yve(),Kve()}function qve(){YNe(11713,4938,1)}function jve(){ANe(10448)}function Gve(){YTe(10408)}function Wve(){gTe(10324)}function Yve(){BFe(10096)}function Kve(){Jve(9132)}function Jve(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0,ho=0,go=0,ma=0,bp=0,Qp=0,xl=0,kp=0,Nu=0,Lu=0,Fp=0,Rp=0,Tp=0,Vr=0,bl=0,Np=0,bc=0,Lp=0,Op=0,Ou=0,Mu=0,Qc=0,Us=0,Xa=0,Ho=0,Ql=0,tf=0,rf=0,Uu=0,nf=0,sf=0,_s=0,ws=0,kl=0,Pn=0,of=0,mo=0,kc=0,yo=0,Fc=0,af=0,lf=0,Rc=0,Hs=0,Fl=0,cf=0,uf=0,Af=0,vr=0,jn=0,Bs=0,Eo=0,qs=0,Pr=0,lr=0,Rl=0;l=E,E=E+672|0,c=l+656|0,Rl=l+648|0,lr=l+640|0,Pr=l+632|0,qs=l+624|0,Eo=l+616|0,Bs=l+608|0,jn=l+600|0,vr=l+592|0,Af=l+584|0,uf=l+576|0,cf=l+568|0,Fl=l+560|0,Hs=l+552|0,Rc=l+544|0,lf=l+536|0,af=l+528|0,Fc=l+520|0,yo=l+512|0,kc=l+504|0,mo=l+496|0,of=l+488|0,Pn=l+480|0,kl=l+472|0,ws=l+464|0,_s=l+456|0,sf=l+448|0,nf=l+440|0,Uu=l+432|0,rf=l+424|0,tf=l+416|0,Ql=l+408|0,Ho=l+400|0,Xa=l+392|0,Us=l+384|0,Qc=l+376|0,Mu=l+368|0,Ou=l+360|0,Op=l+352|0,Lp=l+344|0,bc=l+336|0,Np=l+328|0,bl=l+320|0,Vr=l+312|0,Tp=l+304|0,Rp=l+296|0,Fp=l+288|0,Lu=l+280|0,Nu=l+272|0,kp=l+264|0,xl=l+256|0,Qp=l+248|0,bp=l+240|0,ma=l+232|0,go=l+224|0,ho=l+216|0,po=l+208|0,Bn=l+200|0,rr=l+192|0,Qr=l+184|0,Ir=l+176|0,Vt=l+168|0,ir=l+160|0,Rr=l+152|0,Tt=l+144|0,Ge=l+136|0,He=l+128|0,at=l+120|0,Ze=l+112|0,et=l+104|0,Re=l+96|0,Oe=l+88|0,We=l+80|0,se=l+72|0,j=l+64|0,O=l+56|0,M=l+48|0,k=l+40|0,Q=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,Vve(s,3646),zve(s,3651,2)|0,Xve(s,3665,2)|0,Zve(s,3682,18)|0,n[Rl>>2]=19,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],II(s,3690,c)|0,n[lr>>2]=1,n[lr+4>>2]=0,n[c>>2]=n[lr>>2],n[c+4>>2]=n[lr+4>>2],$ve(s,3696,c)|0,n[Pr>>2]=2,n[Pr+4>>2]=0,n[c>>2]=n[Pr>>2],n[c+4>>2]=n[Pr+4>>2],Fu(s,3706,c)|0,n[qs>>2]=1,n[qs+4>>2]=0,n[c>>2]=n[qs>>2],n[c+4>>2]=n[qs+4>>2],Eg(s,3722,c)|0,n[Eo>>2]=2,n[Eo+4>>2]=0,n[c>>2]=n[Eo>>2],n[c+4>>2]=n[Eo+4>>2],Eg(s,3734,c)|0,n[Bs>>2]=3,n[Bs+4>>2]=0,n[c>>2]=n[Bs>>2],n[c+4>>2]=n[Bs+4>>2],Fu(s,3753,c)|0,n[jn>>2]=4,n[jn+4>>2]=0,n[c>>2]=n[jn>>2],n[c+4>>2]=n[jn+4>>2],Fu(s,3769,c)|0,n[vr>>2]=5,n[vr+4>>2]=0,n[c>>2]=n[vr>>2],n[c+4>>2]=n[vr+4>>2],Fu(s,3783,c)|0,n[Af>>2]=6,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],Fu(s,3796,c)|0,n[uf>>2]=7,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],Fu(s,3813,c)|0,n[cf>>2]=8,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],Fu(s,3825,c)|0,n[Fl>>2]=3,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],Eg(s,3843,c)|0,n[Hs>>2]=4,n[Hs+4>>2]=0,n[c>>2]=n[Hs>>2],n[c+4>>2]=n[Hs+4>>2],Eg(s,3853,c)|0,n[Rc>>2]=9,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],Fu(s,3870,c)|0,n[lf>>2]=10,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Fu(s,3884,c)|0,n[af>>2]=11,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],Fu(s,3896,c)|0,n[Fc>>2]=1,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],Cs(s,3907,c)|0,n[yo>>2]=2,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],Cs(s,3915,c)|0,n[kc>>2]=3,n[kc+4>>2]=0,n[c>>2]=n[kc>>2],n[c+4>>2]=n[kc+4>>2],Cs(s,3928,c)|0,n[mo>>2]=4,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],Cs(s,3948,c)|0,n[of>>2]=5,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],Cs(s,3960,c)|0,n[Pn>>2]=6,n[Pn+4>>2]=0,n[c>>2]=n[Pn>>2],n[c+4>>2]=n[Pn+4>>2],Cs(s,3974,c)|0,n[kl>>2]=7,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],Cs(s,3983,c)|0,n[ws>>2]=20,n[ws+4>>2]=0,n[c>>2]=n[ws>>2],n[c+4>>2]=n[ws+4>>2],II(s,3999,c)|0,n[_s>>2]=8,n[_s+4>>2]=0,n[c>>2]=n[_s>>2],n[c+4>>2]=n[_s+4>>2],Cs(s,4012,c)|0,n[sf>>2]=9,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],Cs(s,4022,c)|0,n[nf>>2]=21,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],II(s,4039,c)|0,n[Uu>>2]=10,n[Uu+4>>2]=0,n[c>>2]=n[Uu>>2],n[c+4>>2]=n[Uu+4>>2],Cs(s,4053,c)|0,n[rf>>2]=11,n[rf+4>>2]=0,n[c>>2]=n[rf>>2],n[c+4>>2]=n[rf+4>>2],Cs(s,4065,c)|0,n[tf>>2]=12,n[tf+4>>2]=0,n[c>>2]=n[tf>>2],n[c+4>>2]=n[tf+4>>2],Cs(s,4084,c)|0,n[Ql>>2]=13,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],Cs(s,4097,c)|0,n[Ho>>2]=14,n[Ho+4>>2]=0,n[c>>2]=n[Ho>>2],n[c+4>>2]=n[Ho+4>>2],Cs(s,4117,c)|0,n[Xa>>2]=15,n[Xa+4>>2]=0,n[c>>2]=n[Xa>>2],n[c+4>>2]=n[Xa+4>>2],Cs(s,4129,c)|0,n[Us>>2]=16,n[Us+4>>2]=0,n[c>>2]=n[Us>>2],n[c+4>>2]=n[Us+4>>2],Cs(s,4148,c)|0,n[Qc>>2]=17,n[Qc+4>>2]=0,n[c>>2]=n[Qc>>2],n[c+4>>2]=n[Qc+4>>2],Cs(s,4161,c)|0,n[Mu>>2]=18,n[Mu+4>>2]=0,n[c>>2]=n[Mu>>2],n[c+4>>2]=n[Mu+4>>2],Cs(s,4181,c)|0,n[Ou>>2]=5,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],Eg(s,4196,c)|0,n[Op>>2]=6,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],Eg(s,4206,c)|0,n[Lp>>2]=7,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],Eg(s,4217,c)|0,n[bc>>2]=3,n[bc+4>>2]=0,n[c>>2]=n[bc>>2],n[c+4>>2]=n[bc+4>>2],JA(s,4235,c)|0,n[Np>>2]=1,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],EF(s,4251,c)|0,n[bl>>2]=4,n[bl+4>>2]=0,n[c>>2]=n[bl>>2],n[c+4>>2]=n[bl+4>>2],JA(s,4263,c)|0,n[Vr>>2]=5,n[Vr+4>>2]=0,n[c>>2]=n[Vr>>2],n[c+4>>2]=n[Vr+4>>2],JA(s,4279,c)|0,n[Tp>>2]=6,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],JA(s,4293,c)|0,n[Rp>>2]=7,n[Rp+4>>2]=0,n[c>>2]=n[Rp>>2],n[c+4>>2]=n[Rp+4>>2],JA(s,4306,c)|0,n[Fp>>2]=8,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],JA(s,4323,c)|0,n[Lu>>2]=9,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],JA(s,4335,c)|0,n[Nu>>2]=2,n[Nu+4>>2]=0,n[c>>2]=n[Nu>>2],n[c+4>>2]=n[Nu+4>>2],EF(s,4353,c)|0,n[kp>>2]=12,n[kp+4>>2]=0,n[c>>2]=n[kp>>2],n[c+4>>2]=n[kp+4>>2],Cg(s,4363,c)|0,n[xl>>2]=1,n[xl+4>>2]=0,n[c>>2]=n[xl>>2],n[c+4>>2]=n[xl+4>>2],VA(s,4376,c)|0,n[Qp>>2]=2,n[Qp+4>>2]=0,n[c>>2]=n[Qp>>2],n[c+4>>2]=n[Qp+4>>2],VA(s,4388,c)|0,n[bp>>2]=13,n[bp+4>>2]=0,n[c>>2]=n[bp>>2],n[c+4>>2]=n[bp+4>>2],Cg(s,4402,c)|0,n[ma>>2]=14,n[ma+4>>2]=0,n[c>>2]=n[ma>>2],n[c+4>>2]=n[ma+4>>2],Cg(s,4411,c)|0,n[go>>2]=15,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],Cg(s,4421,c)|0,n[ho>>2]=16,n[ho+4>>2]=0,n[c>>2]=n[ho>>2],n[c+4>>2]=n[ho+4>>2],Cg(s,4433,c)|0,n[po>>2]=17,n[po+4>>2]=0,n[c>>2]=n[po>>2],n[c+4>>2]=n[po+4>>2],Cg(s,4446,c)|0,n[Bn>>2]=18,n[Bn+4>>2]=0,n[c>>2]=n[Bn>>2],n[c+4>>2]=n[Bn+4>>2],Cg(s,4458,c)|0,n[rr>>2]=3,n[rr+4>>2]=0,n[c>>2]=n[rr>>2],n[c+4>>2]=n[rr+4>>2],VA(s,4471,c)|0,n[Qr>>2]=1,n[Qr+4>>2]=0,n[c>>2]=n[Qr>>2],n[c+4>>2]=n[Qr+4>>2],Ov(s,4486,c)|0,n[Ir>>2]=10,n[Ir+4>>2]=0,n[c>>2]=n[Ir>>2],n[c+4>>2]=n[Ir+4>>2],JA(s,4496,c)|0,n[Vt>>2]=11,n[Vt+4>>2]=0,n[c>>2]=n[Vt>>2],n[c+4>>2]=n[Vt+4>>2],JA(s,4508,c)|0,n[ir>>2]=3,n[ir+4>>2]=0,n[c>>2]=n[ir>>2],n[c+4>>2]=n[ir+4>>2],EF(s,4519,c)|0,n[Rr>>2]=4,n[Rr+4>>2]=0,n[c>>2]=n[Rr>>2],n[c+4>>2]=n[Rr+4>>2],eDe(s,4530,c)|0,n[Tt>>2]=19,n[Tt+4>>2]=0,n[c>>2]=n[Tt>>2],n[c+4>>2]=n[Tt+4>>2],tDe(s,4542,c)|0,n[Ge>>2]=12,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],rDe(s,4554,c)|0,n[He>>2]=13,n[He+4>>2]=0,n[c>>2]=n[He>>2],n[c+4>>2]=n[He+4>>2],nDe(s,4568,c)|0,n[at>>2]=2,n[at+4>>2]=0,n[c>>2]=n[at>>2],n[c+4>>2]=n[at+4>>2],iDe(s,4578,c)|0,n[Ze>>2]=20,n[Ze+4>>2]=0,n[c>>2]=n[Ze>>2],n[c+4>>2]=n[Ze+4>>2],sDe(s,4587,c)|0,n[et>>2]=22,n[et+4>>2]=0,n[c>>2]=n[et>>2],n[c+4>>2]=n[et+4>>2],II(s,4602,c)|0,n[Re>>2]=23,n[Re+4>>2]=0,n[c>>2]=n[Re>>2],n[c+4>>2]=n[Re+4>>2],II(s,4619,c)|0,n[Oe>>2]=14,n[Oe+4>>2]=0,n[c>>2]=n[Oe>>2],n[c+4>>2]=n[Oe+4>>2],oDe(s,4629,c)|0,n[We>>2]=1,n[We+4>>2]=0,n[c>>2]=n[We>>2],n[c+4>>2]=n[We+4>>2],aDe(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],VA(s,4653,c)|0,n[j>>2]=5,n[j+4>>2]=0,n[c>>2]=n[j>>2],n[c+4>>2]=n[j+4>>2],VA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],VA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],VA(s,4701,c)|0,n[k>>2]=8,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],VA(s,4719,c)|0,n[Q>>2]=9,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],VA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],lDe(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],Ov(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],Ov(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],Ov(s,4808,c)|0,E=l}function Vve(s,l){s=s|0,l=l|0;var c=0;c=hFe()|0,n[s>>2]=c,gFe(c,l),Sp(n[s>>2]|0)}function zve(s,l,c){return s=s|0,l=l|0,c=c|0,eFe(s,cn(l)|0,c,0),s|0}function Xve(s,l,c){return s=s|0,l=l|0,c=c|0,Mke(s,cn(l)|0,c,0),s|0}function Zve(s,l,c){return s=s|0,l=l|0,c=c|0,vke(s,cn(l)|0,c,0),s|0}function II(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lke(s,l,d),E=f,s|0}function $ve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jQe(s,l,d),E=f,s|0}function Fu(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PQe(s,l,d),E=f,s|0}function Eg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],AQe(s,l,d),E=f,s|0}function Cs(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Vbe(s,l,d),E=f,s|0}function JA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Rbe(s,l,d),E=f,s|0}function EF(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mbe(s,l,d),E=f,s|0}function Cg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jxe(s,l,d),E=f,s|0}function VA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Pxe(s,l,d),E=f,s|0}function Ov(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Axe(s,l,d),E=f,s|0}function eDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],VPe(s,l,d),E=f,s|0}function tDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RPe(s,l,d),E=f,s|0}function rDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yPe(s,l,d),E=f,s|0}function nDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nPe(s,l,d),E=f,s|0}function iDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_Se(s,l,d),E=f,s|0}function sDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BSe(s,l,d),E=f,s|0}function oDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aSe(s,l,d),E=f,s|0}function aDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jDe(s,l,d),E=f,s|0}function lDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cDe(s,l,d),E=f,s|0}function cDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uDe(s,c,d,1),E=f}function cn(s){return s=s|0,s|0}function uDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=CF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ADe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,fDe(m,f)|0,f),E=d}function CF(){var s=0,l=0;if(o[7616]|0||(W9(9136),Zt(24,9136,_|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(br(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(9136)}return 9136}function ADe(s){return s=s|0,0}function fDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=CF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],G9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gDe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function un(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;B=E,E=E+32|0,se=B+24|0,j=B+20|0,k=B+16|0,O=B+12|0,M=B+8|0,Q=B+4|0,We=B,n[j>>2]=l,n[k>>2]=c,n[O>>2]=f,n[M>>2]=d,n[Q>>2]=m,m=s+28|0,n[We>>2]=n[m>>2],n[se>>2]=n[We>>2],pDe(s+24|0,se,j,O,M,k,Q)|0,n[m>>2]=n[n[m>>2]>>2],E=B}function pDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=hDe(l)|0,l=Gt(24)|0,j9(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function hDe(s){return s=s|0,n[s>>2]|0}function j9(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function Ar(s,l){return s=s|0,l=l|0,l|s|0}function G9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dDe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mDe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],G9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yDe(s,Q),EDe(Q),E=M;return}}function dDe(s){return s=s|0,357913941}function mDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function EDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function W9(s){s=s|0,wDe(s)}function CDe(s){s=s|0,IDe(s+24|0)}function br(s){return s=s|0,n[s>>2]|0}function IDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wDe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,BDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Gr(){return 9228}function BDe(){return 1140}function vDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=DDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=SDe(l,f)|0,E=c,l|0}function Wr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function DDe(s){return s=s|0,(n[(CF()|0)+24>>2]|0)+(s*12|0)|0}function SDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),ef[c&31](f,s),f=PDe(f)|0,E=d,f|0}function PDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=IF(Y9()|0)|0,f?(wF(l,f),BF(c,l),xDe(s,c),s=vF(l)|0):s=bDe(s)|0,E=d,s|0}function Y9(){var s=0;return o[7632]|0||(UDe(9184),Zt(25,9184,_|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function IF(s){return s=s|0,n[s+36>>2]|0}function wF(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function BF(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function xDe(s,l){s=s|0,l=l|0,RDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function vF(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function bDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;k=E,E=E+16|0,c=k+4|0,f=k,d=Ka(8)|0,m=d,B=Gt(48)|0,Q=B,l=Q+48|0;do n[Q>>2]=n[s>>2],Q=Q+4|0,s=s+4|0;while((Q|0)<(l|0));return l=m+4|0,n[l>>2]=B,Q=Gt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],K9(Q,B,c),n[d>>2]=Q,E=k,m|0}function K9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function QDe(s){s=s|0,Km(s),pt(s)}function kDe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function FDe(s){s=s|0,pt(s)}function RDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=TDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function TDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var Q=0,k=0;return Q=E,E=E+16|0,k=Q,Ja(k),s=ga(s)|0,B=NDe(s,+C[l>>3],+C[c>>3],+C[f>>3],+C[d>>3],+C[m>>3],+C[B>>3])|0,Va(k),E=Q,B|0}function NDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var Q=0;return Q=Sl(LDe()|0)|0,l=+KA(l),c=+KA(c),f=+KA(f),d=+KA(d),m=+KA(m),Fs(0,Q|0,s|0,+l,+c,+f,+d,+m,+ +KA(B))|0}function LDe(){var s=0;return o[7624]|0||(ODe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function ODe(s){s=s|0,Pl(s,MDe()|0,6)}function MDe(){return 1112}function UDe(s){s=s|0,Ip(s)}function _De(s){s=s|0,J9(s+24|0),V9(s+16|0)}function J9(s){s=s|0,qDe(s)}function V9(s){s=s|0,HDe(s)}function HDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function qDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function Ip(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function jDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GDe(s,c,d,0),E=f}function GDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=DF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=WDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,YDe(m,f)|0,f),E=d}function DF(){var s=0,l=0;if(o[7640]|0||(X9(9232),Zt(26,9232,_|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(br(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X9(9232)}return 9232}function WDe(s){return s=s|0,0}function YDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=DF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],z9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(KDe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function z9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function KDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=JDe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,VDe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],z9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,zDe(s,Q),XDe(Q),E=M;return}}function JDe(s){return s=s|0,357913941}function VDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function zDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function XDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function X9(s){s=s|0,eSe(s)}function ZDe(s){s=s|0,$De(s+24|0)}function $De(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function eSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,tSe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tSe(){return 1144}function rSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+16|0,B=m+8|0,Q=m,k=nSe(s)|0,s=n[k+4>>2]|0,n[Q>>2]=n[k>>2],n[Q+4>>2]=s,n[B>>2]=n[Q>>2],n[B+4>>2]=n[Q+4>>2],iSe(l,B,c,f,d),E=m}function nSe(s){return s=s|0,(n[(DF()|0)+24>>2]|0)+(s*12|0)|0}function iSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0,M=0;M=E,E=E+16|0,B=M+2|0,Q=M+1|0,k=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Ru(B,c),c=+Tu(B,c),Ru(Q,f),f=+Tu(Q,f),zA(k,d),k=XA(k,d)|0,f7[m&1](s,c,f,k),E=M}function Ru(s,l){s=s|0,l=+l}function Tu(s,l){return s=s|0,l=+l,+ +oSe(l)}function zA(s,l){s=s|0,l=l|0}function XA(s,l){return s=s|0,l=l|0,sSe(l)|0}function sSe(s){return s=s|0,s|0}function oSe(s){return s=+s,+s}function aSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lSe(s,c,d,1),E=f}function lSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=SF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=cSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,uSe(m,f)|0,f),E=d}function SF(){var s=0,l=0;if(o[7648]|0||($9(9268),Zt(27,9268,_|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(br(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));$9(9268)}return 9268}function cSe(s){return s=s|0,0}function uSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=SF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Z9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ASe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Z9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ASe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=fSe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,pSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Z9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,hSe(s,Q),gSe(Q),E=M;return}}function fSe(s){return s=s|0,357913941}function pSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function hSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function gSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function $9(s){s=s|0,ySe(s)}function dSe(s){s=s|0,mSe(s+24|0)}function mSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ySe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,ESe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ESe(){return 1160}function CSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=ISe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=wSe(l,f)|0,E=c,l|0}function ISe(s){return s=s|0,(n[(SF()|0)+24>>2]|0)+(s*12|0)|0}function wSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),e5(bg[c&31](s)|0)|0}function e5(s){return s=s|0,s&1|0}function BSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vSe(s,c,d,0),E=f}function vSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=PF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=DSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,SSe(m,f)|0,f),E=d}function PF(){var s=0,l=0;if(o[7656]|0||(r5(9304),Zt(28,9304,_|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(br(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));r5(9304)}return 9304}function DSe(s){return s=s|0,0}function SSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=PF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],t5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(PSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function t5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function PSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xSe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,bSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],t5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,QSe(s,Q),kSe(Q),E=M;return}}function xSe(s){return s=s|0,357913941}function bSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function QSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function r5(s){s=s|0,TSe(s)}function FSe(s){s=s|0,RSe(s+24|0)}function RSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function TSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,NSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function NSe(){return 1164}function LSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=OSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MSe(l,d,c),E=f}function OSe(s){return s=s|0,(n[(PF()|0)+24>>2]|0)+(s*12|0)|0}function MSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),wp(d,c),c=Bp(d,c)|0,ef[f&31](s,c),vp(d),E=m}function wp(s,l){s=s|0,l=l|0,USe(s,l)}function Bp(s,l){return s=s|0,l=l|0,s|0}function vp(s){s=s|0,HA(s)}function USe(s,l){s=s|0,l=l|0,xF(s,l)}function xF(s,l){s=s|0,l=l|0,n[s>>2]=l}function _Se(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HSe(s,c,d,0),E=f}function HSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=bF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=qSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,jSe(m,f)|0,f),E=d}function bF(){var s=0,l=0;if(o[7664]|0||(i5(9340),Zt(29,9340,_|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(br(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));i5(9340)}return 9340}function qSe(s){return s=s|0,0}function jSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=bF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],n5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(GSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function n5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function GSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=WSe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,YSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],n5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,KSe(s,Q),JSe(Q),E=M;return}}function WSe(s){return s=s|0,357913941}function YSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function KSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function JSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function i5(s){s=s|0,XSe(s)}function VSe(s){s=s|0,zSe(s+24|0)}function zSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function XSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,ZSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZSe(){return 1180}function $Se(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=ePe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=tPe(l,d,c)|0,E=f,c|0}function ePe(s){return s=s|0,(n[(bF()|0)+24>>2]|0)+(s*12|0)|0}function tPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Ig(d,c),d=wg(d,c)|0,d=Mv(DR[f&15](s,d)|0)|0,E=m,d|0}function Ig(s,l){s=s|0,l=l|0}function wg(s,l){return s=s|0,l=l|0,rPe(l)|0}function Mv(s){return s=s|0,s|0}function rPe(s){return s=s|0,s|0}function nPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],iPe(s,c,d,0),E=f}function iPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=QF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=sPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,oPe(m,f)|0,f),E=d}function QF(){var s=0,l=0;if(o[7672]|0||(o5(9376),Zt(30,9376,_|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(br(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o5(9376)}return 9376}function sPe(s){return s=s|0,0}function oPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=QF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],s5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(aPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function s5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function aPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=lPe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,cPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],s5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,uPe(s,Q),APe(Q),E=M;return}}function lPe(s){return s=s|0,357913941}function cPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function uPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function APe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function o5(s){s=s|0,hPe(s)}function fPe(s){s=s|0,pPe(s+24|0)}function pPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function hPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,a5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function a5(){return 1196}function gPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=dPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=mPe(l,f)|0,E=c,l|0}function dPe(s){return s=s|0,(n[(QF()|0)+24>>2]|0)+(s*12|0)|0}function mPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Mv(bg[c&31](s)|0)|0}function yPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EPe(s,c,d,1),E=f}function EPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=kF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=CPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,IPe(m,f)|0,f),E=d}function kF(){var s=0,l=0;if(o[7680]|0||(c5(9412),Zt(31,9412,_|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(br(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c5(9412)}return 9412}function CPe(s){return s=s|0,0}function IPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=kF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],l5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function l5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=BPe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,vPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],l5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,DPe(s,Q),SPe(Q),E=M;return}}function BPe(s){return s=s|0,357913941}function vPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function DPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function SPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function c5(s){s=s|0,bPe(s)}function PPe(s){s=s|0,xPe(s+24|0)}function xPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function bPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,u5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function u5(){return 1200}function QPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=kPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=FPe(l,f)|0,E=c,l|0}function kPe(s){return s=s|0,(n[(kF()|0)+24>>2]|0)+(s*12|0)|0}function FPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Uv(bg[c&31](s)|0)|0}function Uv(s){return s=s|0,s|0}function RPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],TPe(s,c,d,0),E=f}function TPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=FF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=NPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,LPe(m,f)|0,f),E=d}function FF(){var s=0,l=0;if(o[7688]|0||(f5(9448),Zt(32,9448,_|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(br(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));f5(9448)}return 9448}function NPe(s){return s=s|0,0}function LPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=FF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],A5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(OPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function A5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function OPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=MPe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,UPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],A5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,_Pe(s,Q),HPe(Q),E=M;return}}function MPe(s){return s=s|0,357913941}function UPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function _Pe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function HPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function f5(s){s=s|0,GPe(s)}function qPe(s){s=s|0,jPe(s+24|0)}function jPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function GPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,p5()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function p5(){return 1204}function WPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=YPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KPe(l,d,c),E=f}function YPe(s){return s=s|0,(n[(FF()|0)+24>>2]|0)+(s*12|0)|0}function KPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),RF(d,c),d=TF(d,c)|0,ef[f&31](s,d),E=m}function RF(s,l){s=s|0,l=l|0}function TF(s,l){return s=s|0,l=l|0,JPe(l)|0}function JPe(s){return s=s|0,s|0}function VPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zPe(s,c,d,0),E=f}function zPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=NF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=XPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,ZPe(m,f)|0,f),E=d}function NF(){var s=0,l=0;if(o[7696]|0||(g5(9484),Zt(33,9484,_|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(br(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));g5(9484)}return 9484}function XPe(s){return s=s|0,0}function ZPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=NF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],h5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):($Pe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function h5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function $Pe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=exe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,txe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],h5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,rxe(s,Q),nxe(Q),E=M;return}}function exe(s){return s=s|0,357913941}function txe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function rxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function nxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function g5(s){s=s|0,oxe(s)}function ixe(s){s=s|0,sxe(s+24|0)}function sxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function oxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,axe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function axe(){return 1212}function lxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=cxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],uxe(l,m,c,f),E=d}function cxe(s){return s=s|0,(n[(NF()|0)+24>>2]|0)+(s*12|0)|0}function uxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),RF(m,c),m=TF(m,c)|0,Ig(B,f),B=wg(B,f)|0,xI[d&15](s,m,B),E=Q}function Axe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fxe(s,c,d,1),E=f}function fxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=LF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=pxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,hxe(m,f)|0,f),E=d}function LF(){var s=0,l=0;if(o[7704]|0||(m5(9520),Zt(34,9520,_|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(br(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));m5(9520)}return 9520}function pxe(s){return s=s|0,0}function hxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=LF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],d5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function d5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dxe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],d5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yxe(s,Q),Exe(Q),E=M;return}}function dxe(s){return s=s|0,357913941}function mxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Exe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function m5(s){s=s|0,wxe(s)}function Cxe(s){s=s|0,Ixe(s+24|0)}function Ixe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,Bxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Bxe(){return 1224}function vxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;return d=E,E=E+16|0,m=d+8|0,B=d,Q=Dxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+Sxe(l,m,c),E=d,+f}function Dxe(s){return s=s|0,(n[(LF()|0)+24>>2]|0)+(s*12|0)|0}function Sxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(d,c),d=XA(d,c)|0,B=+yF(+h7[f&7](s,d)),E=m,+B}function Pxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xxe(s,c,d,1),E=f}function xxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=OF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=bxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Qxe(m,f)|0,f),E=d}function OF(){var s=0,l=0;if(o[7712]|0||(E5(9556),Zt(35,9556,_|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(br(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));E5(9556)}return 9556}function bxe(s){return s=s|0,0}function Qxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=OF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],y5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(kxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function y5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function kxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Fxe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Rxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],y5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Txe(s,Q),Nxe(Q),E=M;return}}function Fxe(s){return s=s|0,357913941}function Rxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Txe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Nxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function E5(s){s=s|0,Mxe(s)}function Lxe(s){s=s|0,Oxe(s+24|0)}function Oxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Mxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,Uxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Uxe(){return 1232}function _xe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=Hxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+qxe(l,d),E=f,+c}function Hxe(s){return s=s|0,(n[(OF()|0)+24>>2]|0)+(s*12|0)|0}function qxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +yF(+p7[c&15](s))}function jxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Gxe(s,c,d,1),E=f}function Gxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=MF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Wxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Yxe(m,f)|0,f),E=d}function MF(){var s=0,l=0;if(o[7720]|0||(I5(9592),Zt(36,9592,_|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(br(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I5(9592)}return 9592}function Wxe(s){return s=s|0,0}function Yxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=MF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],C5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Kxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function C5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Kxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Jxe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Vxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],C5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,zxe(s,Q),Xxe(Q),E=M;return}}function Jxe(s){return s=s|0,357913941}function Vxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function zxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Xxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function I5(s){s=s|0,ebe(s)}function Zxe(s){s=s|0,$xe(s+24|0)}function $xe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ebe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,tbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tbe(){return 1276}function rbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=nbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=ibe(l,f)|0,E=c,l|0}function nbe(s){return s=s|0,(n[(MF()|0)+24>>2]|0)+(s*12|0)|0}function ibe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),ef[c&31](f,s),f=w5(f)|0,E=d,f|0}function w5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=IF(B5()|0)|0,f?(wF(l,f),BF(c,l),sbe(s,c),s=vF(l)|0):s=obe(s)|0,E=d,s|0}function B5(){var s=0;return o[7736]|0||(dbe(9640),Zt(25,9640,_|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function sbe(s,l){s=s|0,l=l|0,ube(l,s,s+8|0)|0}function obe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,Q=Gt(16)|0,n[Q>>2]=n[s>>2],n[Q+4>>2]=n[s+4>>2],n[Q+8>>2]=n[s+8>>2],n[Q+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],UF(s,m,d),n[f>>2]=s,E=c,l|0}function UF(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function abe(s){s=s|0,Km(s),pt(s)}function lbe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function cbe(s){s=s|0,pt(s)}function ube(s,l,c){return s=s|0,l=l|0,c=c|0,l=Abe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function Abe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=E,E=E+16|0,d=f,Ja(d),s=ga(s)|0,c=fbe(s,n[l>>2]|0,+C[c>>3])|0,Va(d),E=f,c|0}function fbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=Sl(pbe()|0)|0,l=mF(l)|0,dl(0,f|0,s|0,l|0,+ +KA(c))|0}function pbe(){var s=0;return o[7728]|0||(hbe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function hbe(s){s=s|0,Pl(s,gbe()|0,2)}function gbe(){return 1264}function dbe(s){s=s|0,Ip(s)}function mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ybe(s,c,d,1),E=f}function ybe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=_F()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Ebe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Cbe(m,f)|0,f),E=d}function _F(){var s=0,l=0;if(o[7744]|0||(D5(9684),Zt(37,9684,_|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(br(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));D5(9684)}return 9684}function Ebe(s){return s=s|0,0}function Cbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=_F()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Ibe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=wbe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Bbe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,vbe(s,Q),Dbe(Q),E=M;return}}function wbe(s){return s=s|0,357913941}function Bbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function vbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function D5(s){s=s|0,xbe(s)}function Sbe(s){s=s|0,Pbe(s+24|0)}function Pbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function xbe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,bbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function bbe(){return 1280}function Qbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=kbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=Fbe(l,d,c)|0,E=f,c|0}function kbe(s){return s=s|0,(n[(_F()|0)+24>>2]|0)+(s*12|0)|0}function Fbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=E,E=E+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(m,c),m=XA(m,c)|0,xI[f&15](d,s,m),m=w5(d)|0,E=B,m|0}function Rbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tbe(s,c,d,1),E=f}function Tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=HF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Lbe(m,f)|0,f),E=d}function HF(){var s=0,l=0;if(o[7752]|0||(P5(9720),Zt(38,9720,_|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(br(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P5(9720)}return 9720}function Nbe(s){return s=s|0,0}function Lbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=HF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],S5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Obe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function S5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Obe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Mbe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Ube(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],S5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,_be(s,Q),Hbe(Q),E=M;return}}function Mbe(s){return s=s|0,357913941}function Ube(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function _be(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Hbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function P5(s){s=s|0,Gbe(s)}function qbe(s){s=s|0,jbe(s+24|0)}function jbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Gbe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,Wbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Wbe(){return 1288}function Ybe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=Kbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Jbe(l,f)|0,E=c,l|0}function Kbe(s){return s=s|0,(n[(HF()|0)+24>>2]|0)+(s*12|0)|0}function Jbe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),q9(bg[c&31](s)|0)|0}function Vbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zbe(s,c,d,0),E=f}function zbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=qF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Xbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Zbe(m,f)|0,f),E=d}function qF(){var s=0,l=0;if(o[7760]|0||(b5(9756),Zt(39,9756,_|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(br(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));b5(9756)}return 9756}function Xbe(s){return s=s|0,0}function Zbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=qF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],x5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):($be(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function x5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function $be(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=eQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,tQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],x5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,rQe(s,Q),nQe(Q),E=M;return}}function eQe(s){return s=s|0,357913941}function tQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function rQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function nQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function b5(s){s=s|0,oQe(s)}function iQe(s){s=s|0,sQe(s+24|0)}function sQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function oQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,aQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function aQe(){return 1292}function lQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=cQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uQe(l,d,c),E=f}function cQe(s){return s=s|0,(n[(qF()|0)+24>>2]|0)+(s*12|0)|0}function uQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Ru(d,c),c=+Tu(d,c),u7[f&31](s,c),E=m}function AQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fQe(s,c,d,0),E=f}function fQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=jF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=pQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,hQe(m,f)|0,f),E=d}function jF(){var s=0,l=0;if(o[7768]|0||(k5(9792),Zt(40,9792,_|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(br(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));k5(9792)}return 9792}function pQe(s){return s=s|0,0}function hQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=jF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Q5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Q5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Q5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yQe(s,Q),EQe(Q),E=M;return}}function dQe(s){return s=s|0,357913941}function mQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function EQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function k5(s){s=s|0,wQe(s)}function CQe(s){s=s|0,IQe(s+24|0)}function IQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,BQe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BQe(){return 1300}function vQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=DQe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],SQe(l,m,c,f),E=d}function DQe(s){return s=s|0,(n[(jF()|0)+24>>2]|0)+(s*12|0)|0}function SQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),zA(m,c),m=XA(m,c)|0,Ru(B,f),f=+Tu(B,f),y7[d&15](s,m,f),E=Q}function PQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xQe(s,c,d,0),E=f}function xQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=GF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=bQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,QQe(m,f)|0,f),E=d}function GF(){var s=0,l=0;if(o[7776]|0||(R5(9828),Zt(41,9828,_|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(br(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));R5(9828)}return 9828}function bQe(s){return s=s|0,0}function QQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=GF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],F5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(kQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function F5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function kQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=FQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,RQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],F5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,TQe(s,Q),NQe(Q),E=M;return}}function FQe(s){return s=s|0,357913941}function RQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function TQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function R5(s){s=s|0,MQe(s)}function LQe(s){s=s|0,OQe(s+24|0)}function OQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function MQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,UQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function UQe(){return 1312}function _Qe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=HQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qQe(l,d,c),E=f}function HQe(s){return s=s|0,(n[(GF()|0)+24>>2]|0)+(s*12|0)|0}function qQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(d,c),d=XA(d,c)|0,ef[f&31](s,d),E=m}function jQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GQe(s,c,d,0),E=f}function GQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=WF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=WQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,YQe(m,f)|0,f),E=d}function WF(){var s=0,l=0;if(o[7784]|0||(N5(9864),Zt(42,9864,_|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(br(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));N5(9864)}return 9864}function WQe(s){return s=s|0,0}function YQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=WF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],T5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(KQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function T5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function KQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=JQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,VQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],T5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,zQe(s,Q),XQe(Q),E=M;return}}function JQe(s){return s=s|0,357913941}function VQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function zQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function XQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function N5(s){s=s|0,eke(s)}function ZQe(s){s=s|0,$Qe(s+24|0)}function $Qe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function eke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,tke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tke(){return 1320}function rke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=nke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ike(l,d,c),E=f}function nke(s){return s=s|0,(n[(WF()|0)+24>>2]|0)+(s*12|0)|0}function ike(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ske(d,c),d=oke(d,c)|0,ef[f&31](s,d),E=m}function ske(s,l){s=s|0,l=l|0}function oke(s,l){return s=s|0,l=l|0,ake(l)|0}function ake(s){return s=s|0,s|0}function lke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cke(s,c,d,0),E=f}function cke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=YF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=uke(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Ake(m,f)|0,f),E=d}function YF(){var s=0,l=0;if(o[7792]|0||(O5(9900),Zt(43,9900,_|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(br(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O5(9900)}return 9900}function uke(s){return s=s|0,0}function Ake(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=YF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],L5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(fke(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function L5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function fke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=pke(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,hke(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],L5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,gke(s,Q),dke(Q),E=M;return}}function pke(s){return s=s|0,357913941}function hke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function gke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function O5(s){s=s|0,Eke(s)}function mke(s){s=s|0,yke(s+24|0)}function yke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Eke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,22,l,Cke()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Cke(){return 1344}function Ike(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=E,E=E+16|0,f=c+8|0,d=c,m=wke(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],Bke(l,f),E=c}function wke(s){return s=s|0,(n[(YF()|0)+24>>2]|0)+(s*12|0)|0}function Bke(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),$A[c&127](s)}function vke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=KF()|0,s=Dke(c)|0,un(m,l,d,s,Ske(c,f)|0,f)}function KF(){var s=0,l=0;if(o[7800]|0||(U5(9936),Zt(44,9936,_|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(br(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U5(9936)}return 9936}function Dke(s){return s=s|0,s|0}function Ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=KF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(M5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Pke(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function M5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Pke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=xke(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,bke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,M5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Qke(s,d),kke(d),E=Q;return}}function xke(s){return s=s|0,536870911}function bke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Qke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function U5(s){s=s|0,Tke(s)}function Fke(s){s=s|0,Rke(s+24|0)}function Rke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function Tke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,23,l,p5()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Nke(s,l){s=s|0,l=l|0,Oke(n[(Lke(s)|0)>>2]|0,l)}function Lke(s){return s=s|0,(n[(KF()|0)+24>>2]|0)+(s<<3)|0}function Oke(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,RF(f,l),l=TF(f,l)|0,$A[s&127](l),E=c}function Mke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=JF()|0,s=Uke(c)|0,un(m,l,d,s,_ke(c,f)|0,f)}function JF(){var s=0,l=0;if(o[7808]|0||(H5(9972),Zt(45,9972,_|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(br(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H5(9972)}return 9972}function Uke(s){return s=s|0,s|0}function _ke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=JF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(_5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Hke(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function _5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Hke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=qke(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,jke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,_5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Gke(s,d),Wke(d),E=Q;return}}function qke(s){return s=s|0,536870911}function jke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Gke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Wke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function H5(s){s=s|0,Jke(s)}function Yke(s){s=s|0,Kke(s+24|0)}function Kke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function Jke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,9,l,Vke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Vke(){return 1348}function zke(s,l){return s=s|0,l=l|0,Zke(n[(Xke(s)|0)>>2]|0,l)|0}function Xke(s){return s=s|0,(n[(JF()|0)+24>>2]|0)+(s<<3)|0}function Zke(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,q5(f,l),l=j5(f,l)|0,l=Mv(bg[s&31](l)|0)|0,E=c,l|0}function q5(s,l){s=s|0,l=l|0}function j5(s,l){return s=s|0,l=l|0,$ke(l)|0}function $ke(s){return s=s|0,s|0}function eFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=VF()|0,s=tFe(c)|0,un(m,l,d,s,rFe(c,f)|0,f)}function VF(){var s=0,l=0;if(o[7816]|0||(W5(10008),Zt(46,10008,_|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(br(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W5(10008)}return 10008}function tFe(s){return s=s|0,s|0}function rFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=VF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(G5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(nFe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function G5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function nFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=iFe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,sFe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,G5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,oFe(s,d),aFe(d),E=Q;return}}function iFe(s){return s=s|0,536870911}function sFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function oFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function aFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function W5(s){s=s|0,uFe(s)}function lFe(s){s=s|0,cFe(s+24|0)}function cFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function uFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,15,l,a5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function AFe(s){return s=s|0,pFe(n[(fFe(s)|0)>>2]|0)|0}function fFe(s){return s=s|0,(n[(VF()|0)+24>>2]|0)+(s<<3)|0}function pFe(s){return s=s|0,Mv($v[s&7]()|0)|0}function hFe(){var s=0;return o[7832]|0||(wFe(10052),Zt(25,10052,_|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function gFe(s,l){s=s|0,l=l|0,n[s>>2]=dFe()|0,n[s+4>>2]=mFe()|0,n[s+12>>2]=l,n[s+8>>2]=yFe()|0,n[s+32>>2]=2}function dFe(){return 11709}function mFe(){return 1188}function yFe(){return _v()|0}function EFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(CFe(c),pt(c)):l|0&&(bu(l),pt(l))}function Dp(s,l){return s=s|0,l=l|0,l&s|0}function CFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function _v(){var s=0;return o[7824]|0||(n[2511]=IFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function IFe(){return 0}function wFe(s){s=s|0,Ip(s)}function BFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=E,E=E+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,vFe(s,4827),DFe(s,4834,3)|0,SFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],PFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],xFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],bFe(s,4891,c)|0,E=l}function vFe(s,l){s=s|0,l=l|0;var c=0;c=aTe()|0,n[s>>2]=c,lTe(c,l),Sp(n[s>>2]|0)}function DFe(s,l,c){return s=s|0,l=l|0,c=c|0,WRe(s,cn(l)|0,c,0),s|0}function SFe(s,l,c){return s=s|0,l=l|0,c=c|0,QRe(s,cn(l)|0,c,0),s|0}function PFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ARe(s,l,d),E=f,s|0}function xFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],YFe(s,l,d),E=f,s|0}function bFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QFe(s,l,d),E=f,s|0}function QFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],kFe(s,c,d,1),E=f}function kFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=zF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=FFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,RFe(m,f)|0,f),E=d}function zF(){var s=0,l=0;if(o[7840]|0||(K5(10100),Zt(48,10100,_|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(br(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K5(10100)}return 10100}function FFe(s){return s=s|0,0}function RFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=zF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Y5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(TFe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Y5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function TFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=NFe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,LFe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Y5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,OFe(s,Q),MFe(Q),E=M;return}}function NFe(s){return s=s|0,357913941}function LFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function OFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function MFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function K5(s){s=s|0,HFe(s)}function UFe(s){s=s|0,_Fe(s+24|0)}function _Fe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function HFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,qFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qFe(){return 1364}function jFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=GFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=WFe(l,d,c)|0,E=f,c|0}function GFe(s){return s=s|0,(n[(zF()|0)+24>>2]|0)+(s*12|0)|0}function WFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(d,c),d=XA(d,c)|0,d=e5(DR[f&15](s,d)|0)|0,E=m,d|0}function YFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KFe(s,c,d,0),E=f}function KFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=XF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=JFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,VFe(m,f)|0,f),E=d}function XF(){var s=0,l=0;if(o[7848]|0||(V5(10136),Zt(49,10136,_|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(br(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(10136)}return 10136}function JFe(s){return s=s|0,0}function VFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=XF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],J5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zFe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function J5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=XFe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,ZFe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],J5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,$Fe(s,Q),eRe(Q),E=M;return}}function XFe(s){return s=s|0,357913941}function ZFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function $Fe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function eRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function V5(s){s=s|0,nRe(s)}function tRe(s){s=s|0,rRe(s+24|0)}function rRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function nRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,9,l,iRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function iRe(){return 1372}function sRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=oRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aRe(l,d,c),E=f}function oRe(s){return s=s|0,(n[(XF()|0)+24>>2]|0)+(s*12|0)|0}function aRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=$e;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),lRe(d,c),B=y(cRe(d,c)),c7[f&1](s,B),E=m}function lRe(s,l){s=s|0,l=+l}function cRe(s,l){return s=s|0,l=+l,y(uRe(l))}function uRe(s){return s=+s,y(s)}function ARe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fRe(s,c,d,0),E=f}function fRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=ZF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=pRe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,hRe(m,f)|0,f),E=d}function ZF(){var s=0,l=0;if(o[7856]|0||(X5(10172),Zt(50,10172,_|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(br(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X5(10172)}return 10172}function pRe(s){return s=s|0,0}function hRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=ZF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],z5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gRe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function z5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dRe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mRe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],z5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yRe(s,Q),ERe(Q),E=M;return}}function dRe(s){return s=s|0,357913941}function mRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ERe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function X5(s){s=s|0,wRe(s)}function CRe(s){s=s|0,IRe(s+24|0)}function IRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,BRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BRe(){return 1380}function vRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=DRe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],SRe(l,m,c,f),E=d}function DRe(s){return s=s|0,(n[(ZF()|0)+24>>2]|0)+(s*12|0)|0}function SRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),zA(m,c),m=XA(m,c)|0,PRe(B,f),B=xRe(B,f)|0,xI[d&15](s,m,B),E=Q}function PRe(s,l){s=s|0,l=l|0}function xRe(s,l){return s=s|0,l=l|0,bRe(l)|0}function bRe(s){return s=s|0,(s|0)!=0|0}function QRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=$F()|0,s=kRe(c)|0,un(m,l,d,s,FRe(c,f)|0,f)}function $F(){var s=0,l=0;if(o[7864]|0||($5(10208),Zt(51,10208,_|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(br(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));$5(10208)}return 10208}function kRe(s){return s=s|0,s|0}function FRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=$F()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(Z5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(RRe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function Z5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function RRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=TRe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,NRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,Z5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,LRe(s,d),ORe(d),E=Q;return}}function TRe(s){return s=s|0,536870911}function NRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function LRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ORe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function $5(s){s=s|0,_Re(s)}function MRe(s){s=s|0,URe(s+24|0)}function URe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function _Re(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,24,l,HRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function HRe(){return 1392}function qRe(s,l){s=s|0,l=l|0,GRe(n[(jRe(s)|0)>>2]|0,l)}function jRe(s){return s=s|0,(n[($F()|0)+24>>2]|0)+(s<<3)|0}function GRe(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,q5(f,l),l=j5(f,l)|0,$A[s&127](l),E=c}function WRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=eR()|0,s=YRe(c)|0,un(m,l,d,s,KRe(c,f)|0,f)}function eR(){var s=0,l=0;if(o[7872]|0||(tG(10244),Zt(52,10244,_|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(br(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));tG(10244)}return 10244}function YRe(s){return s=s|0,s|0}function KRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=eR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(eG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(JRe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function eG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function JRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=VRe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,zRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,eG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,XRe(s,d),ZRe(d),E=Q;return}}function VRe(s){return s=s|0,536870911}function zRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function XRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ZRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function tG(s){s=s|0,tTe(s)}function $Re(s){s=s|0,eTe(s+24|0)}function eTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function tTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,16,l,rTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rTe(){return 1400}function nTe(s){return s=s|0,sTe(n[(iTe(s)|0)>>2]|0)|0}function iTe(s){return s=s|0,(n[(eR()|0)+24>>2]|0)+(s<<3)|0}function sTe(s){return s=s|0,oTe($v[s&7]()|0)|0}function oTe(s){return s=s|0,s|0}function aTe(){var s=0;return o[7880]|0||(hTe(10280),Zt(25,10280,_|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function lTe(s,l){s=s|0,l=l|0,n[s>>2]=cTe()|0,n[s+4>>2]=uTe()|0,n[s+12>>2]=l,n[s+8>>2]=ATe()|0,n[s+32>>2]=4}function cTe(){return 11711}function uTe(){return 1356}function ATe(){return _v()|0}function fTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(pTe(c),pt(c)):l|0&&(yg(l),pt(l))}function pTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function hTe(s){s=s|0,Ip(s)}function gTe(s){s=s|0,dTe(s,4920),mTe(s)|0,yTe(s)|0}function dTe(s,l){s=s|0,l=l|0;var c=0;c=B5()|0,n[s>>2]=c,UTe(c,l),Sp(n[s>>2]|0)}function mTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,bTe()|0),s|0}function yTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,ETe()|0),s|0}function ETe(){var s=0;return o[7888]|0||(rG(10328),Zt(53,10328,_|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),br(10328)|0||rG(10328),10328}function Bg(s,l){s=s|0,l=l|0,un(s,0,l,0,0,0)}function rG(s){s=s|0,wTe(s),vg(s,10)}function CTe(s){s=s|0,ITe(s+24|0)}function ITe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function wTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,STe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BTe(s,l,c){s=s|0,l=l|0,c=+c,vTe(s,l,c)}function vg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function vTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,m=f+8|0,Q=f+13|0,d=f,B=f+12|0,zA(Q,l),n[m>>2]=XA(Q,l)|0,Ru(B,c),C[d>>3]=+Tu(B,c),DTe(s,m,d),E=f}function DTe(s,l,c){s=s|0,l=l|0,c=c|0,W(s+8|0,n[l>>2]|0,+C[c>>3]),o[s+24>>0]=1}function STe(){return 1404}function PTe(s,l){return s=s|0,l=+l,xTe(s,l)|0}function xTe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+16|0,m=f+4|0,B=f+8|0,Q=f,d=Ka(8)|0,c=d,k=Gt(16)|0,zA(m,s),s=XA(m,s)|0,Ru(B,l),W(k,s,+Tu(B,l)),B=c+4|0,n[B>>2]=k,s=Gt(8)|0,B=n[B>>2]|0,n[Q>>2]=0,n[m>>2]=n[Q>>2],UF(s,B,m),n[d>>2]=s,E=f,c|0}function bTe(){var s=0;return o[7896]|0||(nG(10364),Zt(54,10364,_|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),br(10364)|0||nG(10364),10364}function nG(s){s=s|0,FTe(s),vg(s,55)}function QTe(s){s=s|0,kTe(s+24|0)}function kTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function FTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,4,l,LTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RTe(s){s=s|0,TTe(s)}function TTe(s){s=s|0,NTe(s)}function NTe(s){s=s|0,iG(s+8|0),o[s+24>>0]=1}function iG(s){s=s|0,n[s>>2]=0,C[s+8>>3]=0}function LTe(){return 1424}function OTe(){return MTe()|0}function MTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Gt(16)|0,iG(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],UF(f,m,d),n[c>>2]=f,E=l,s|0}function UTe(s,l){s=s|0,l=l|0,n[s>>2]=_Te()|0,n[s+4>>2]=HTe()|0,n[s+12>>2]=l,n[s+8>>2]=qTe()|0,n[s+32>>2]=5}function _Te(){return 11710}function HTe(){return 1416}function qTe(){return Hv()|0}function jTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(GTe(c),pt(c)):l|0&&pt(l)}function GTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function Hv(){var s=0;return o[7904]|0||(n[2600]=WTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function WTe(){return n[357]|0}function YTe(s){s=s|0,KTe(s,4926),JTe(s)|0}function KTe(s,l){s=s|0,l=l|0;var c=0;c=Y9()|0,n[s>>2]=c,sNe(c,l),Sp(n[s>>2]|0)}function JTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,VTe()|0),s|0}function VTe(){var s=0;return o[7912]|0||(sG(10412),Zt(56,10412,_|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),br(10412)|0||sG(10412),10412}function sG(s){s=s|0,ZTe(s),vg(s,57)}function zTe(s){s=s|0,XTe(s+24|0)}function XTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function ZTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,5,l,rNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function $Te(s){s=s|0,eNe(s)}function eNe(s){s=s|0,tNe(s)}function tNe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function rNe(){return 1432}function nNe(){return iNe()|0}function iNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0;B=E,E=E+16|0,s=B+4|0,l=B,c=Ka(8)|0,f=c,d=Gt(48)|0,m=d,Q=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(Q|0));return m=f+4|0,n[m>>2]=d,Q=Gt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],K9(Q,m,s),n[c>>2]=Q,E=B,f|0}function sNe(s,l){s=s|0,l=l|0,n[s>>2]=oNe()|0,n[s+4>>2]=aNe()|0,n[s+12>>2]=l,n[s+8>>2]=lNe()|0,n[s+32>>2]=6}function oNe(){return 11704}function aNe(){return 1436}function lNe(){return Hv()|0}function cNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(uNe(c),pt(c)):l|0&&pt(l)}function uNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function ANe(s){s=s|0,fNe(s,4933),pNe(s)|0,hNe(s)|0}function fNe(s,l){s=s|0,l=l|0;var c=0;c=MNe()|0,n[s>>2]=c,UNe(c,l),Sp(n[s>>2]|0)}function pNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,xNe()|0),s|0}function hNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,gNe()|0),s|0}function gNe(){var s=0;return o[7920]|0||(oG(10452),Zt(58,10452,_|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),br(10452)|0||oG(10452),10452}function oG(s){s=s|0,yNe(s),vg(s,1)}function dNe(s){s=s|0,mNe(s+24|0)}function mNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function yNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,wNe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ENe(s,l,c){s=s|0,l=+l,c=+c,CNe(s,l,c)}function CNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,m=f+8|0,Q=f+17|0,d=f,B=f+16|0,Ru(Q,l),C[m>>3]=+Tu(Q,l),Ru(B,c),C[d>>3]=+Tu(B,c),INe(s,m,d),E=f}function INe(s,l,c){s=s|0,l=l|0,c=c|0,aG(s+8|0,+C[l>>3],+C[c>>3]),o[s+24>>0]=1}function aG(s,l,c){s=s|0,l=+l,c=+c,C[s>>3]=l,C[s+8>>3]=c}function wNe(){return 1472}function BNe(s,l){return s=+s,l=+l,vNe(s,l)|0}function vNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+16|0,B=f+4|0,Q=f+8|0,k=f,d=Ka(8)|0,c=d,m=Gt(16)|0,Ru(B,s),s=+Tu(B,s),Ru(Q,l),aG(m,s,+Tu(Q,l)),Q=c+4|0,n[Q>>2]=m,m=Gt(8)|0,Q=n[Q>>2]|0,n[k>>2]=0,n[B>>2]=n[k>>2],lG(m,Q,B),n[d>>2]=m,E=f,c|0}function lG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function DNe(s){s=s|0,Km(s),pt(s)}function SNe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function PNe(s){s=s|0,pt(s)}function xNe(){var s=0;return o[7928]|0||(cG(10488),Zt(59,10488,_|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),br(10488)|0||cG(10488),10488}function cG(s){s=s|0,kNe(s),vg(s,60)}function bNe(s){s=s|0,QNe(s+24|0)}function QNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function kNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,6,l,NNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function FNe(s){s=s|0,RNe(s)}function RNe(s){s=s|0,TNe(s)}function TNe(s){s=s|0,uG(s+8|0),o[s+24>>0]=1}function uG(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function NNe(){return 1492}function LNe(){return ONe()|0}function ONe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Gt(16)|0,uG(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],lG(f,m,d),n[c>>2]=f,E=l,s|0}function MNe(){var s=0;return o[7936]|0||(WNe(10524),Zt(25,10524,_|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function UNe(s,l){s=s|0,l=l|0,n[s>>2]=_Ne()|0,n[s+4>>2]=HNe()|0,n[s+12>>2]=l,n[s+8>>2]=qNe()|0,n[s+32>>2]=7}function _Ne(){return 11700}function HNe(){return 1484}function qNe(){return Hv()|0}function jNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(GNe(c),pt(c)):l|0&&pt(l)}function GNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function WNe(s){s=s|0,Ip(s)}function YNe(s,l,c){s=s|0,l=l|0,c=c|0,s=cn(l)|0,l=KNe(c)|0,c=JNe(c,0)|0,vLe(s,l,c,tR()|0,0)}function KNe(s){return s=s|0,s|0}function JNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=tR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(fG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(tLe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function tR(){var s=0,l=0;if(o[7944]|0||(AG(10568),Zt(61,10568,_|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(br(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));AG(10568)}return 10568}function AG(s){s=s|0,XNe(s)}function VNe(s){s=s|0,zNe(s+24|0)}function zNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function XNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,17,l,u5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZNe(s){return s=s|0,eLe(n[($Ne(s)|0)>>2]|0)|0}function $Ne(s){return s=s|0,(n[(tR()|0)+24>>2]|0)+(s<<3)|0}function eLe(s){return s=s|0,Uv($v[s&7]()|0)|0}function fG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function tLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=rLe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,nLe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,fG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,iLe(s,d),sLe(d),E=Q;return}}function rLe(s){return s=s|0,536870911}function nLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function iLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function sLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function oLe(){aLe()}function aLe(){lLe(10604)}function lLe(s){s=s|0,cLe(s,4955)}function cLe(s,l){s=s|0,l=l|0;var c=0;c=uLe()|0,n[s>>2]=c,ALe(c,l),Sp(n[s>>2]|0)}function uLe(){var s=0;return o[7952]|0||(CLe(10612),Zt(25,10612,_|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function ALe(s,l){s=s|0,l=l|0,n[s>>2]=gLe()|0,n[s+4>>2]=dLe()|0,n[s+12>>2]=l,n[s+8>>2]=mLe()|0,n[s+32>>2]=8}function Sp(s){s=s|0;var l=0,c=0;l=E,E=E+16|0,c=l,qm()|0,n[c>>2]=s,fLe(10608,c),E=l}function qm(){return o[11714]|0||(n[2652]=0,Zt(62,10608,_|0)|0,o[11714]=1),10608}function fLe(s,l){s=s|0,l=l|0;var c=0;c=Gt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function pLe(s){s=s|0,hLe(s)}function hLe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function gLe(){return 11715}function dLe(){return 1496}function mLe(){return _v()|0}function yLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(ELe(c),pt(c)):l|0&&pt(l)}function ELe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function CLe(s){s=s|0,Ip(s)}function ILe(s,l){s=s|0,l=l|0;var c=0,f=0;qm()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&(KG(rR(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;wLe(f,l)}while(0)}function rR(s){return s=s|0,n[s+12>>2]|0}function wLe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(HA(c),pt(c)),c=Gt(4)|0,_9(c,l),n[s>>2]=c}function nR(){return o[11716]|0||(n[2664]=0,Zt(63,10656,_|0)|0,o[11716]=1),10656}function pG(){var s=0;return o[11717]|0?s=n[2665]|0:(BLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function BLe(){o[11740]|0||(o[11718]=Ar(Ar(8,0)|0,0)|0,o[11719]=Ar(Ar(0,0)|0,0)|0,o[11720]=Ar(Ar(0,16)|0,0)|0,o[11721]=Ar(Ar(8,0)|0,0)|0,o[11722]=Ar(Ar(0,0)|0,0)|0,o[11723]=Ar(Ar(8,0)|0,0)|0,o[11724]=Ar(Ar(0,0)|0,0)|0,o[11725]=Ar(Ar(8,0)|0,0)|0,o[11726]=Ar(Ar(0,0)|0,0)|0,o[11727]=Ar(Ar(8,0)|0,0)|0,o[11728]=Ar(Ar(0,0)|0,0)|0,o[11729]=Ar(Ar(0,0)|0,32)|0,o[11730]=Ar(Ar(0,0)|0,32)|0,o[11740]=1)}function hG(){return 1572}function vLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0;m=E,E=E+32|0,O=m+16|0,M=m+12|0,k=m+8|0,Q=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[k>>2]=c,n[Q>>2]=f,n[B>>2]=d,nR()|0,DLe(10656,O,M,k,Q,B),E=m}function DLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Gt(24)|0,j9(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function gG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0;if(at=E,E=E+32|0,Oe=at+20|0,Re=at+8|0,et=at+4|0,Ze=at,l=n[l>>2]|0,l|0){We=Oe+4|0,k=Oe+8|0,M=Re+4|0,O=Re+8|0,j=Re+8|0,se=Oe+8|0;do{if(B=l+4|0,Q=iR(B)|0,Q|0){if(d=wI(Q)|0,n[Oe>>2]=0,n[We>>2]=0,n[k>>2]=0,f=(BI(Q)|0)+1|0,SLe(Oe,f),f|0)for(;f=f+-1|0,xc(Re,n[d>>2]|0),m=n[We>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Re>>2],n[We>>2]=(n[We>>2]|0)+4):sR(Oe,Re),f;)d=d+4|0;f=vI(Q)|0,n[Re>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?PLe(Re,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[j>>2]|0}while(0);n[et>>2]=qv(B)|0,n[Ze>>2]=br(Q)|0,xLe(c,s,et,Ze,Oe,Re),oR(Re),ZA(Oe)}l=n[l>>2]|0}while((l|0)!=0)}E=at}function iR(s){return s=s|0,n[s+12>>2]|0}function wI(s){return s=s|0,n[s+12>>2]|0}function BI(s){return s=s|0,n[s+16>>2]|0}function SLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0<l>>>0&&(BG(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),vG(s,c),DG(c)),E=d}function sR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=E,E=E+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=wG(s)|0,m>>>0<d>>>0)Jr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,BG(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,vG(s,c),DG(c),E=B;return}}function vI(s){return s=s|0,n[s+8>>2]|0}function PLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=E,E=E+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=IG(s)|0,m>>>0<d>>>0)Jr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,KLe(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,JLe(s,c),VLe(c),E=B;return}}function qv(s){return s=s|0,n[s>>2]|0}function xLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,bLe(s,l,c,f,d,m)}function oR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function ZA(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function bLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=E,E=E+48|0,O=B+40|0,Q=B+32|0,j=B+24|0,k=B+12|0,M=B,Ja(Q),s=ga(s)|0,n[j>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,aR(k,d),QLe(M,m),n[O>>2]=n[j>>2],kLe(s,O,c,f,k,M),oR(M),ZA(k),Va(Q),E=B}function aR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(WLe(s,f),YLe(s,n[l>>2]|0,n[c>>2]|0,f))}function QLe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(jLe(s,f),GLe(s,n[l>>2]|0,n[c>>2]|0,f))}function kLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=E,E=E+32|0,O=B+28|0,j=B+24|0,Q=B+12|0,k=B,M=Sl(FLe()|0)|0,n[j>>2]=n[l>>2],n[O>>2]=n[j>>2],l=Dg(O)|0,c=dG(c)|0,f=lR(f)|0,n[Q>>2]=n[d>>2],O=d+4|0,n[Q+4>>2]=n[O>>2],j=d+8|0,n[Q+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[d>>2]=0,d=cR(Q)|0,n[k>>2]=n[m>>2],O=m+4|0,n[k+4>>2]=n[O>>2],j=m+8|0,n[k+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[m>>2]=0,io(0,M|0,s|0,l|0,c|0,f|0,d|0,RLe(k)|0)|0,oR(k),ZA(Q),E=B}function FLe(){var s=0;return o[7968]|0||(HLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function Dg(s){return s=s|0,yG(s)|0}function dG(s){return s=s|0,mG(s)|0}function lR(s){return s=s|0,Uv(s)|0}function cR(s){return s=s|0,NLe(s)|0}function RLe(s){return s=s|0,TLe(s)|0}function TLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=mG(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function mG(s){return s=s|0,s|0}function NLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=yG((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function yG(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=IF(EG()|0)|0,f?(wF(l,f),BF(c,l),mUe(s,c),s=vF(l)|0):s=LLe(s)|0,E=d,s|0}function EG(){var s=0;return o[7960]|0||(_Le(10664),Zt(25,10664,_|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function LLe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,Q=Gt(4)|0,n[Q>>2]=n[s>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],CG(s,m,d),n[f>>2]=s,E=c,l|0}function CG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function OLe(s){s=s|0,Km(s),pt(s)}function MLe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function ULe(s){s=s|0,pt(s)}function _Le(s){s=s|0,Ip(s)}function HLe(s){s=s|0,Pl(s,qLe()|0,5)}function qLe(){return 1676}function jLe(s,l){s=s|0,l=l|0;var c=0;if((IG(s)|0)>>>0<l>>>0&&Jr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function GLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Cr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function IG(s){return s=s|0,1073741823}function WLe(s,l){s=s|0,l=l|0;var c=0;if((wG(s)|0)>>>0<l>>>0&&Jr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function YLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Cr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function wG(s){return s=s|0,1073741823}function KLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function JLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function VLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function BG(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function vG(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function DG(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function zLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0;if(Re=E,E=E+32|0,O=Re+20|0,j=Re+12|0,M=Re+16|0,se=Re+4|0,We=Re,Oe=Re+8|0,Q=pG()|0,m=n[Q>>2]|0,B=n[m>>2]|0,B|0)for(k=n[Q+8>>2]|0,Q=n[Q+4>>2]|0;xc(O,B),XLe(s,O,Q,k),m=m+4|0,B=n[m>>2]|0,B;)k=k+1|0,Q=Q+1|0;if(m=hG()|0,B=n[m>>2]|0,B|0)do xc(O,B),n[j>>2]=n[m+4>>2],ZLe(l,O,j),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(qm()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,xc(O,n[(jm(l)|0)>>2]|0),n[j>>2]=rR(l)|0,$Le(c,O,j),m=n[m>>2]|0;while((m|0)!=0);if(xc(M,0),m=nR()|0,n[O>>2]=n[M>>2],gG(O,m,d),m=n[(qm()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(k=n[m+4>>2]|0,xc(j,n[(jm(k)|0)>>2]|0),eOe(se,SG(k)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do xc(We,n[(jm(n[B+4>>2]|0)|0)>>2]|0),Q=n[s>>2]|0,Q>>>0<(n[c>>2]|0)>>>0?(n[Q>>2]=n[We>>2],n[s>>2]=(n[s>>2]|0)+4):sR(O,We),B=n[B>>2]|0;while((B|0)!=0);tOe(f,j,O),ZA(O)}n[Oe>>2]=n[j>>2],M=PG(k)|0,n[O>>2]=n[Oe>>2],gG(O,M,d),V9(se),m=n[m>>2]|0}while((m|0)!=0)}E=Re}function XLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,pOe(s,l,c,f)}function ZLe(s,l,c){s=s|0,l=l|0,c=c|0,fOe(s,l,c)}function jm(s){return s=s|0,s|0}function $Le(s,l,c){s=s|0,l=l|0,c=c|0,lOe(s,l,c)}function SG(s){return s=s|0,s+16|0}function eOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(m=E,E=E+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=aOe(c)|0,f|0){if(f=Gt(12)|0,B=(xG(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Gt(12)|0,k=(xG(d)|0)+4|0,Q=n[k+4>>2]|0,B=s+4|0,n[B>>2]=n[k>>2],n[B+4>>2]=Q,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}E=m}function tOe(s,l,c){s=s|0,l=l|0,c=c|0,rOe(s,l,c)}function PG(s){return s=s|0,s+24|0}function rOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,B=f+24|0,d=f+16|0,Q=f+12|0,m=f,Ja(d),s=ga(s)|0,n[Q>>2]=n[l>>2],aR(m,c),n[B>>2]=n[Q>>2],nOe(s,B,m),ZA(m),Va(d),E=f}function nOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,B=f+16|0,Q=f+12|0,d=f,m=Sl(iOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=Dg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],Q=c+8|0,n[d+8>>2]=n[Q>>2],n[Q>>2]=0,n[B>>2]=0,n[c>>2]=0,no(0,m|0,s|0,l|0,cR(d)|0)|0,ZA(d),E=f}function iOe(){var s=0;return o[7976]|0||(sOe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function sOe(s){s=s|0,Pl(s,oOe()|0,2)}function oOe(){return 1732}function aOe(s){return s=s|0,n[s>>2]|0}function xG(s){return s=s|0,n[s>>2]|0}function lOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+32|0,m=f+16|0,d=f+8|0,B=f,Ja(d),s=ga(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],bG(s,m,c),Va(d),E=f}function bG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,m=f+4|0,B=f,d=Sl(cOe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=Dg(m)|0,no(0,d|0,s|0,l|0,dG(c)|0)|0,E=f}function cOe(){var s=0;return o[7984]|0||(uOe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function uOe(s){s=s|0,Pl(s,AOe()|0,2)}function AOe(){return 1744}function fOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+32|0,m=f+16|0,d=f+8|0,B=f,Ja(d),s=ga(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],bG(s,m,c),Va(d),E=f}function pOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+32|0,B=d+16|0,m=d+8|0,Q=d,Ja(m),s=ga(s)|0,n[Q>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[Q>>2],hOe(s,B,c,f),Va(m),E=d}function hOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,B=d+4|0,Q=d,m=Sl(gOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=Dg(B)|0,c=Gm(c)|0,hc(0,m|0,s|0,l|0,c|0,Gm(f)|0)|0,E=d}function gOe(){var s=0;return o[7992]|0||(mOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Gm(s){return s=s|0,dOe(s)|0}function dOe(s){return s=s|0,s&255|0}function mOe(s){s=s|0,Pl(s,yOe()|0,3)}function yOe(){return 1756}function EOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;switch(se=E,E=E+32|0,Q=se+8|0,k=se+4|0,M=se+20|0,O=se,xF(s,0),f=dUe(l)|0,n[Q>>2]=0,j=Q+4|0,n[j>>2]=0,n[Q+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,COe(k,c,M),jv(s,k)|0,qA(k);break}case 8:{j=gR(l)|0,o[M>>0]=8,xc(O,n[j+4>>2]|0),IOe(k,c,M,O,j+8|0),jv(s,k)|0,qA(k);break}case 9:{if(m=gR(l)|0,l=n[m+4>>2]|0,l|0)for(B=Q+8|0,d=m+12|0;l=l+-1|0,xc(k,n[d>>2]|0),f=n[j>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[k>>2],n[j>>2]=(n[j>>2]|0)+4):sR(Q,k),l;)d=d+4|0;o[M>>0]=9,xc(O,n[m+8>>2]|0),wOe(k,c,M,O,Q),jv(s,k)|0,qA(k);break}default:j=gR(l)|0,o[M>>0]=f,xc(O,n[j+4>>2]|0),BOe(k,c,M,O),jv(s,k)|0,qA(k)}ZA(Q),E=se}function COe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Ja(d),l=ga(l)|0,LOe(s,l,o[c>>0]|0),Va(d),E=f}function jv(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&PA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function IOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+32|0,Q=m+16|0,B=m+8|0,k=m,Ja(B),l=ga(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],d=n[d>>2]|0,n[Q>>2]=n[k>>2],FOe(s,l,c,Q,d),Va(B),E=m}function wOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=E,E=E+32|0,k=m+24|0,B=m+16|0,M=m+12|0,Q=m,Ja(B),l=ga(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],aR(Q,d),n[k>>2]=n[M>>2],xOe(s,l,c,k,Q),ZA(Q),Va(B),E=m}function BOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+32|0,B=d+16|0,m=d+8|0,Q=d,Ja(m),l=ga(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],n[B>>2]=n[Q>>2],vOe(s,l,c,B),Va(m),E=d}function vOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+4|0,Q=d,B=Sl(DOe()|0)|0,c=Gm(c)|0,n[Q>>2]=n[f>>2],n[m>>2]=n[Q>>2],Gv(s,no(0,B|0,l|0,c|0,Dg(m)|0)|0),E=d}function DOe(){var s=0;return o[8e3]|0||(SOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function Gv(s,l){s=s|0,l=l|0,xF(s,l)}function SOe(s){s=s|0,Pl(s,POe()|0,2)}function POe(){return 1772}function xOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=E,E=E+32|0,k=m+16|0,M=m+12|0,B=m,Q=Sl(bOe()|0)|0,c=Gm(c)|0,n[M>>2]=n[f>>2],n[k>>2]=n[M>>2],f=Dg(k)|0,n[B>>2]=n[d>>2],k=d+4|0,n[B+4>>2]=n[k>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[k>>2]=0,n[d>>2]=0,Gv(s,hc(0,Q|0,l|0,c|0,f|0,cR(B)|0)|0),ZA(B),E=m}function bOe(){var s=0;return o[8008]|0||(QOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function QOe(s){s=s|0,Pl(s,kOe()|0,3)}function kOe(){return 1784}function FOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+16|0,Q=m+4|0,k=m,B=Sl(ROe()|0)|0,c=Gm(c)|0,n[k>>2]=n[f>>2],n[Q>>2]=n[k>>2],f=Dg(Q)|0,Gv(s,hc(0,B|0,l|0,c|0,f|0,lR(d)|0)|0),E=m}function ROe(){var s=0;return o[8016]|0||(TOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function TOe(s){s=s|0,Pl(s,NOe()|0,3)}function NOe(){return 1800}function LOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=Sl(OOe()|0)|0,Gv(s,Dn(0,f|0,l|0,Gm(c)|0)|0)}function OOe(){var s=0;return o[8024]|0||(MOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function MOe(s){s=s|0,Pl(s,UOe()|0,1)}function UOe(){return 1816}function _Oe(){HOe(),qOe(),jOe()}function HOe(){n[2702]=n7(65536)|0}function qOe(){cMe(10856)}function jOe(){GOe(10816)}function GOe(s){s=s|0,WOe(s,5044),YOe(s)|0}function WOe(s,l){s=s|0,l=l|0;var c=0;c=EG()|0,n[s>>2]=c,nMe(c,l),Sp(n[s>>2]|0)}function YOe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,KOe()|0),s|0}function KOe(){var s=0;return o[8032]|0||(QG(10820),Zt(64,10820,_|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),br(10820)|0||QG(10820),10820}function QG(s){s=s|0,zOe(s),vg(s,25)}function JOe(s){s=s|0,VOe(s+24|0)}function VOe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function zOe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,18,l,eMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function XOe(s,l){s=s|0,l=l|0,ZOe(s,l)}function ZOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=E,E=E+16|0,f=c,d=c+4|0,Ig(d,l),n[f>>2]=wg(d,l)|0,$Oe(s,f),E=c}function $Oe(s,l){s=s|0,l=l|0,kG(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function kG(s,l){s=s|0,l=l|0,n[s>>2]=l}function eMe(){return 1824}function tMe(s){return s=s|0,rMe(s)|0}function rMe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,Q=Gt(4)|0,Ig(d,s),kG(Q,wg(d,s)|0),m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],CG(s,m,d),n[f>>2]=s,E=c,l|0}function Ka(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=n7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function nMe(s,l){s=s|0,l=l|0,n[s>>2]=iMe()|0,n[s+4>>2]=sMe()|0,n[s+12>>2]=l,n[s+8>>2]=oMe()|0,n[s+32>>2]=9}function iMe(){return 11744}function sMe(){return 1832}function oMe(){return Hv()|0}function aMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(lMe(c),pt(c)):l|0&&pt(l)}function lMe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function cMe(s){s=s|0,uMe(s,5052),AMe(s)|0,fMe(s,5058,26)|0,pMe(s,5069,1)|0,hMe(s,5077,10)|0,gMe(s,5087,19)|0,dMe(s,5094,27)|0}function uMe(s,l){s=s|0,l=l|0;var c=0;c=lUe()|0,n[s>>2]=c,cUe(c,l),Sp(n[s>>2]|0)}function AMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,J4e()|0),s|0}function fMe(s,l,c){return s=s|0,l=l|0,c=c|0,Q4e(s,cn(l)|0,c,0),s|0}function pMe(s,l,c){return s=s|0,l=l|0,c=c|0,g4e(s,cn(l)|0,c,0),s|0}function hMe(s,l,c){return s=s|0,l=l|0,c=c|0,KMe(s,cn(l)|0,c,0),s|0}function gMe(s,l,c){return s=s|0,l=l|0,c=c|0,FMe(s,cn(l)|0,c,0),s|0}function FG(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}pt(c)}n[2701]=s}function dMe(s,l,c){return s=s|0,l=l|0,c=c|0,mMe(s,cn(l)|0,c,0),s|0}function mMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=uR()|0,s=yMe(c)|0,un(m,l,d,s,EMe(c,f)|0,f)}function uR(){var s=0,l=0;if(o[8040]|0||(TG(10860),Zt(65,10860,_|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(br(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));TG(10860)}return 10860}function yMe(s){return s=s|0,s|0}function EMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=uR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(RG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(CMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function RG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function CMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=IMe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,wMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,RG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,BMe(s,d),vMe(d),E=Q;return}}function IMe(s){return s=s|0,536870911}function wMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function BMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function vMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function TG(s){s=s|0,PMe(s)}function DMe(s){s=s|0,SMe(s+24|0)}function SMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function PMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,xMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function xMe(){return 1840}function bMe(s,l,c){s=s|0,l=l|0,c=c|0,kMe(n[(QMe(s)|0)>>2]|0,l,c)}function QMe(s){return s=s|0,(n[(uR()|0)+24>>2]|0)+(s<<3)|0}function kMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=E,E=E+16|0,m=f+1|0,d=f,Ig(m,l),l=wg(m,l)|0,Ig(d,c),c=wg(d,c)|0,ef[s&31](l,c),E=f}function FMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=AR()|0,s=RMe(c)|0,un(m,l,d,s,TMe(c,f)|0,f)}function AR(){var s=0,l=0;if(o[8048]|0||(LG(10896),Zt(66,10896,_|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(br(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));LG(10896)}return 10896}function RMe(s){return s=s|0,s|0}function TMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=AR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(NG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(NMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function NG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function NMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=LMe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,OMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,NG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,MMe(s,d),UMe(d),E=Q;return}}function LMe(s){return s=s|0,536870911}function OMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function MMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function UMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function LG(s){s=s|0,qMe(s)}function _Me(s){s=s|0,HMe(s+24|0)}function HMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function qMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,jMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jMe(){return 1852}function GMe(s,l){return s=s|0,l=l|0,YMe(n[(WMe(s)|0)>>2]|0,l)|0}function WMe(s){return s=s|0,(n[(AR()|0)+24>>2]|0)+(s<<3)|0}function YMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,Ig(f,l),l=wg(f,l)|0,l=Uv(bg[s&31](l)|0)|0,E=c,l|0}function KMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=fR()|0,s=JMe(c)|0,un(m,l,d,s,VMe(c,f)|0,f)}function fR(){var s=0,l=0;if(o[8056]|0||(MG(10932),Zt(67,10932,_|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(br(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));MG(10932)}return 10932}function JMe(s){return s=s|0,s|0}function VMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=fR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(OG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(zMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function OG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function zMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=XMe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,ZMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,OG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,$Me(s,d),e4e(d),E=Q;return}}function XMe(s){return s=s|0,536870911}function ZMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function $Me(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function e4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function MG(s){s=s|0,n4e(s)}function t4e(s){s=s|0,r4e(s+24|0)}function r4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function n4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,7,l,i4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function i4e(){return 1860}function s4e(s,l,c){return s=s|0,l=l|0,c=c|0,a4e(n[(o4e(s)|0)>>2]|0,l,c)|0}function o4e(s){return s=s|0,(n[(fR()|0)+24>>2]|0)+(s<<3)|0}function a4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+32|0,B=f+12|0,m=f+8|0,Q=f,k=f+16|0,d=f+4|0,l4e(k,l),c4e(Q,k,l),wp(d,c),c=Bp(d,c)|0,n[B>>2]=n[Q>>2],xI[s&15](m,B,c),c=u4e(m)|0,qA(m),vp(d),E=f,c|0}function l4e(s,l){s=s|0,l=l|0}function c4e(s,l,c){s=s|0,l=l|0,c=c|0,A4e(s,c)}function u4e(s){return s=s|0,ga(s)|0}function A4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+16|0,c=d,f=l,f&1?(f4e(c,0),Zn(f|0,c|0)|0,p4e(s,c),h4e(c)):n[s>>2]=n[l>>2],E=d}function f4e(s,l){s=s|0,l=l|0,H9(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function p4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function h4e(s){s=s|0,o[s+8>>0]=0}function g4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=pR()|0,s=d4e(c)|0,un(m,l,d,s,m4e(c,f)|0,f)}function pR(){var s=0,l=0;if(o[8064]|0||(_G(10968),Zt(68,10968,_|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(br(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));_G(10968)}return 10968}function d4e(s){return s=s|0,s|0}function m4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=pR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(UG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(y4e(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function UG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function y4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=E4e(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,C4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,UG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,I4e(s,d),w4e(d),E=Q;return}}function E4e(s){return s=s|0,536870911}function C4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function I4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function w4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function _G(s){s=s|0,D4e(s)}function B4e(s){s=s|0,v4e(s+24|0)}function v4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function D4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,1,l,S4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function S4e(){return 1872}function P4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,b4e(n[(x4e(s)|0)>>2]|0,l,c,f,d,m)}function x4e(s){return s=s|0,(n[(pR()|0)+24>>2]|0)+(s<<3)|0}function b4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=E,E=E+32|0,Q=B+16|0,k=B+12|0,M=B+8|0,O=B+4|0,j=B,wp(Q,l),l=Bp(Q,l)|0,wp(k,c),c=Bp(k,c)|0,wp(M,f),f=Bp(M,f)|0,wp(O,d),d=Bp(O,d)|0,wp(j,m),m=Bp(j,m)|0,l7[s&1](l,c,f,d,m),vp(j),vp(O),vp(M),vp(k),vp(Q),E=B}function Q4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=hR()|0,s=k4e(c)|0,un(m,l,d,s,F4e(c,f)|0,f)}function hR(){var s=0,l=0;if(o[8072]|0||(qG(11004),Zt(69,11004,_|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(br(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));qG(11004)}return 11004}function k4e(s){return s=s|0,s|0}function F4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=hR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(HG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(R4e(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function HG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function R4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=T4e(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,N4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,HG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,L4e(s,d),O4e(d),E=Q;return}}function T4e(s){return s=s|0,536870911}function N4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function L4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function O4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function qG(s){s=s|0,_4e(s)}function M4e(s){s=s|0,U4e(s+24|0)}function U4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function _4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,12,l,H4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function H4e(){return 1896}function q4e(s,l,c){s=s|0,l=l|0,c=c|0,G4e(n[(j4e(s)|0)>>2]|0,l,c)}function j4e(s){return s=s|0,(n[(hR()|0)+24>>2]|0)+(s<<3)|0}function G4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=E,E=E+16|0,m=f+4|0,d=f,W4e(m,l),l=Y4e(m,l)|0,wp(d,c),c=Bp(d,c)|0,ef[s&31](l,c),vp(d),E=f}function W4e(s,l){s=s|0,l=l|0}function Y4e(s,l){return s=s|0,l=l|0,K4e(l)|0}function K4e(s){return s=s|0,s|0}function J4e(){var s=0;return o[8080]|0||(jG(11040),Zt(70,11040,_|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),br(11040)|0||jG(11040),11040}function jG(s){s=s|0,X4e(s),vg(s,71)}function V4e(s){s=s|0,z4e(s+24|0)}function z4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function X4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,7,l,tUe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Z4e(s){s=s|0,$4e(s)}function $4e(s){s=s|0,eUe(s)}function eUe(s){s=s|0,o[s+8>>0]=1}function tUe(){return 1936}function rUe(){return nUe()|0}function nUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,m=s+4|0,n[m>>2]=Gt(1)|0,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],iUe(f,m,d),n[c>>2]=f,E=l,s|0}function iUe(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function sUe(s){s=s|0,Km(s),pt(s)}function oUe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function aUe(s){s=s|0,pt(s)}function lUe(){var s=0;return o[8088]|0||(gUe(11076),Zt(25,11076,_|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function cUe(s,l){s=s|0,l=l|0,n[s>>2]=uUe()|0,n[s+4>>2]=AUe()|0,n[s+12>>2]=l,n[s+8>>2]=fUe()|0,n[s+32>>2]=10}function uUe(){return 11745}function AUe(){return 1940}function fUe(){return _v()|0}function pUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(hUe(c),pt(c)):l|0&&pt(l)}function hUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function gUe(s){s=s|0,Ip(s)}function xc(s,l){s=s|0,l=l|0,n[s>>2]=l}function gR(s){return s=s|0,n[s>>2]|0}function dUe(s){return s=s|0,o[n[s>>2]>>0]|0}function mUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,n[f>>2]=n[s>>2],yUe(l,f)|0,E=c}function yUe(s,l){s=s|0,l=l|0;var c=0;return c=EUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function EUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,Ja(f),s=ga(s)|0,l=CUe(s,n[l>>2]|0)|0,Va(f),E=c,l|0}function Ja(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function CUe(s,l){s=s|0,l=l|0;var c=0;return c=Sl(IUe()|0)|0,Dn(0,c|0,s|0,lR(l)|0)|0}function Va(s){s=s|0,FG(n[s>>2]|0,n[s+4>>2]|0)}function IUe(){var s=0;return o[8096]|0||(wUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function wUe(s){s=s|0,Pl(s,BUe()|0,1)}function BUe(){return 1948}function vUe(){DUe()}function DUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0;if(Oe=E,E=E+16|0,O=Oe+4|0,j=Oe,Fi(65536,10804,n[2702]|0,10812),c=pG()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;Ac(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=hG()|0,l=n[s>>2]|0,l|0)do gu(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);gu(SUe()|0,5167),M=qm()|0,s=n[M>>2]|0;e:do if(s|0){do PUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){k=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(xUe(d)|0);)if(n[j>>2]=k,n[O>>2]=n[j>>2],bUe(M,O)|0,!s)break e;if(QUe(d),k=n[k>>2]|0,l=GG(d)|0,m=_i()|0,B=E,E=E+((1*(l<<2)|0)+15&-16)|0,Q=E,E=E+((1*(l<<2)|0)+15&-16)|0,l=n[(SG(d)|0)>>2]|0,l|0)for(c=B,f=Q;n[c>>2]=n[(jm(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Re=jm(d)|0,l=kUe(d)|0,c=GG(d)|0,f=FUe(d)|0,du(Re|0,l|0,B|0,Q|0,c|0,f|0,rR(d)|0),Ui(m|0)}while((s|0)!=0)}}while(0);if(s=n[(nR()|0)>>2]|0,s|0)do Re=s+4|0,M=iR(Re)|0,d=vI(M)|0,m=wI(M)|0,B=(BI(M)|0)+1|0,Q=Wv(M)|0,k=WG(Re)|0,M=br(M)|0,O=qv(Re)|0,j=dR(Re)|0,yl(0,d|0,m|0,B|0,Q|0,k|0,M|0,O|0,j|0,mR(Re)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(qm()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(jm(l)|0)>>2]|0,We=n[(PG(l)|0)>>2]|0,We|0)){c=We;do{l=c+4|0,f=iR(l)|0;r:do if(f|0)switch(br(f)|0){case 0:break t;case 4:case 3:case 2:{Q=vI(f)|0,k=wI(f)|0,M=(BI(f)|0)+1|0,O=Wv(f)|0,j=br(f)|0,Re=qv(l)|0,yl(se|0,Q|0,k|0,M|0,O|0,0,j|0,Re|0,dR(l)|0,mR(l)|0);break r}case 1:{B=vI(f)|0,Q=wI(f)|0,k=(BI(f)|0)+1|0,M=Wv(f)|0,O=WG(l)|0,j=br(f)|0,Re=qv(l)|0,yl(se|0,B|0,Q|0,k|0,M|0,O|0,j|0,Re|0,dR(l)|0,mR(l)|0);break r}case 5:{M=vI(f)|0,O=wI(f)|0,j=(BI(f)|0)+1|0,Re=Wv(f)|0,yl(se|0,M|0,O|0,j|0,Re|0,RUe(f)|0,br(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Rt()}while(0);Ce(),E=Oe}function SUe(){return 11703}function PUe(s){s=s|0,o[s+40>>0]=0}function xUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function bUe(s,l){return s=s|0,l=l|0,l=TUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],pt(s),n[l>>2]|0}function QUe(s){s=s|0,o[s+40>>0]=1}function GG(s){return s=s|0,n[s+20>>2]|0}function kUe(s){return s=s|0,n[s+8>>2]|0}function FUe(s){return s=s|0,n[s+32>>2]|0}function Wv(s){return s=s|0,n[s+4>>2]|0}function WG(s){return s=s|0,n[s+4>>2]|0}function dR(s){return s=s|0,n[s+8>>2]|0}function mR(s){return s=s|0,n[s+16>>2]|0}function RUe(s){return s=s|0,n[s+20>>2]|0}function TUe(s){return s=s|0,n[s>>2]|0}function Yv(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0;Tt=E,E=E+16|0,se=Tt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,j=n[2783]|0,c=j>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=j&~(1<<l):(n[m+12>>2]=s,n[c>>2]=m),Ge=l<<3,n[f+4>>2]=Ge|3,Ge=f+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1,Ge=d,E=Tt,Ge|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<<s,l=c<<s&(l|0-l),l=(l&0-l)+-1|0,B=l>>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=j&~(1<<f),n[2783]=s):(n[c+12>>2]=l,n[s>>2]=c,s=j),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,Ge=B,E=Tt,Ge|0;if(Q=n[2784]|0,Q){if(c=(Q&0-Q)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,k=c>>>2&4,c=c>>>k,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|k|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)k=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,k=B>>>0<c>>>0,c=k?B:c,s=k?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);k=s,m=c}if(B=k+M|0,k>>>0<B>>>0){d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[k+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[k+28>>2]|0,s=11436+(l<<2)|0,(k|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=Q&~(1<<l);break}}else if(n[d+16+(((n[d+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[k+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[k+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(Ge=m+M|0,n[k+4>>2]=Ge|3,Ge=k+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1):(n[k+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,j&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=j|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),Ge=k+8|0,E=Tt,Ge|0}else j=M}else j=M}else j=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,k=n[2784]|0,k){f=0-M|0,s=s>>>8,s?M>>>0>16777215?Q=31:(j=(s+1048320|0)>>>16&8,He=s<<j,O=(He+520192|0)>>>16&4,He=He<<O,Q=(He+245760|0)>>>16&2,Q=14-(O|j|Q)+(He<<Q>>>15)|0,Q=M>>>(Q+7|0)&1|Q<<1):Q=0,c=n[11436+(Q<<2)>>2]|0;e:do if(!c)c=0,s=0,He=57;else for(s=0,B=M<<((Q|0)==31?0:25-(Q>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0<f>>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,He=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,He=57;break}else B=B<<((d^1)&1)}while(0);if((He|0)==57){if((c|0)==0&(s|0)==0){if(s=2<<Q,s=k&(s|0-s),!s){j=M;break}j=(s&0-s)+-1|0,B=j>>>12&16,j=j>>>B,m=j>>>5&8,j=j>>>m,Q=j>>>2&4,j=j>>>Q,O=j>>>1&2,j=j>>>O,c=j>>>1&1,s=0,c=n[11436+((m|B|Q|O|c)+(j>>>c)<<2)>>2]|0}c?(d=c,He=61):(Q=s,B=f)}if((He|0)==61)for(;;)if(He=0,c=(n[d+4>>2]&-8)-M|0,j=c>>>0<f>>>0,c=j?c:f,s=j?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,He=61;else{Q=s,B=c;break}if((Q|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=Q+M|0,Q>>>0>=m>>>0)return Ge=0,E=Tt,Ge|0;d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else Ge=n[Q+8>>2]|0,n[Ge+12>>2]=l,n[l+8>>2]=Ge;while(0);do if(d){if(s=n[Q+28>>2]|0,c=11436+(s<<2)|0,(Q|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=k&~(1<<s),n[2784]=f;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(Q|0)&1)<<2)>>2]=l,!l){f=k;break}n[l+24>>2]=d,s=n[Q+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[Q+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=k}else f=k;while(0);do if(B>>>0>=16){if(n[Q+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<<l,!(f&s)){n[2784]=f|s,n[c>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){He=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=96;break}}if((He|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((He|0)==97){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=m,n[He>>2]=m,n[m+8>>2]=Ge,n[m+12>>2]=c,n[m+24>>2]=0;break}}else Ge=B+M|0,n[Q+4>>2]=Ge|3,Ge=Q+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1;while(0);return Ge=Q+8|0,E=Tt,Ge|0}else j=M}else j=M;else j=-1;while(0);if(c=n[2785]|0,c>>>0>=j>>>0)return l=c-j|0,s=n[2788]|0,l>>>0>15?(Ge=s+j|0,n[2788]=Ge,n[2785]=l,n[Ge+4>>2]=l|1,n[Ge+l>>2]=l,n[s+4>>2]=j|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,Ge=s+c+4|0,n[Ge>>2]=n[Ge>>2]|1),Ge=s+8|0,E=Tt,Ge|0;if(B=n[2786]|0,B>>>0>j>>>0)return at=B-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,E=Tt,Ge|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),Q=j+48|0,k=j+47|0,m=s+k|0,d=0-s|0,M=m&d,M>>>0<=j>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return Ge=0,E=Tt,Ge|0;e:do if(n[2894]&4)l=0,He=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Re=f+4|0,(s+(n[Re>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{He=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=xp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Re>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,He=135;break e}}else f=s,He=126;else l=0}else He=118;while(0);do if((He|0)==118)if(c=xp(0)|0,(c|0)!=-1&&(l=c,We=n[2902]|0,Oe=We+-1|0,l=((Oe&l|0)==0?0:(Oe+l&0-We)-l|0)+M|0,We=n[2891]|0,Oe=l+We|0,l>>>0>j>>>0&l>>>0<2147483647)){if(Re=n[2893]|0,Re|0&&Oe>>>0<=We>>>0|Oe>>>0>Re>>>0){l=0;break}if(s=xp(l|0)|0,(s|0)==(c|0)){B=l,m=c,He=135;break e}else f=s,He=126}else l=0;while(0);do if((He|0)==126){if(c=0-l|0,!(Q>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,He=135;break e}if(s=n[2903]|0,s=k-l+s&0-s,s>>>0>=2147483647){B=l,m=f,He=135;break e}if((xp(s|0)|0)==-1){xp(c|0)|0,l=0;break}else{B=s+l|0,m=f,He=135;break e}}while(0);n[2894]=n[2894]|4,He=133}while(0);if((He|0)==133&&M>>>0<2147483647&&(at=xp(M|0)|0,Re=xp(0)|0,et=Re-at|0,Ze=et>>>0>(j+40|0)>>>0,!((at|0)==-1|Ze^1|at>>>0<Re>>>0&((at|0)!=-1&(Re|0)!=-1)^1))&&(B=Ze?et:l,m=at,He=135),(He|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),k=n[2789]|0;do if(k){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){He=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((He|0)==145&&(n[l+12>>2]&8|0)==0&&k>>>0<m>>>0&k>>>0>=s>>>0){n[c>>2]=f+B,Ge=k+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=k+Ge|0,Ge=(n[2786]|0)+(B-Ge)|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){He=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((He|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+j|0,Q=l-O-j|0,n[O+4>>2]=j|3;do if((l|0)!=(k|0)){if((l|0)==(n[2788]|0)){Ge=(n[2785]|0)+Q|0,n[2785]=Ge,n[2788]=M,n[M+4>>2]=Ge|1,n[M+Ge>>2]=Ge;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<<f);break}else{n[s+12>>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else Ge=n[l+8>>2]|0,n[Ge+12>>2]=s,n[s+8>>2]=Ge;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<<c);break e}while(0);if(n[s+24>>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+Q|0}else d=Q;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<<l,!(s&c)){n[2784]=s|c,n[f>>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){He=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=193;break}}if((He|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((He|0)==194){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=M,n[He>>2]=M,n[M+8>>2]=Ge,n[M+12>>2]=c,n[M+24>>2]=0;break}}else Ge=(n[2786]|0)+Q|0,n[2786]=Ge,n[2789]=M,n[M+4>>2]=Ge|1;while(0);return Ge=O+8|0,E=Tt,Ge|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=k>>>0&&(Ge=s+(n[l+4>>2]|0)|0,Ge>>>0>k>>>0));)l=n[l+8>>2]|0;d=Ge+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=k+16|0,s=s>>>0<d>>>0?k:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,He=m+c|0,c=B+-40-c|0,n[2789]=He,n[2786]=c,n[He+4>>2]=c|1,n[He+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do He=l,l=l+4|0,n[l>>2]=7;while((He+8|0)>>>0<Ge>>>0);if((s|0)!=(k|0)){if(m=s-k|0,n[c>>2]=n[c>>2]&-2,n[k+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=k,n[l+12>>2]=k,n[k+8>>2]=l,n[k+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,c=(Ge+245760|0)>>>16&2,c=14-(at|He|c)+(Ge<<c>>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[k+28>>2]=c,n[k+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<<c,!(l&s)){n[2784]=l|s,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){He=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=215;break}}if((He|0)==215){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((He|0)==216){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=k,n[He>>2]=k,n[k+8>>2]=Ge,n[k+12>>2]=c,n[k+24>>2]=0;break}}}else{Ge=n[2787]|0,(Ge|0)==0|m>>>0<Ge>>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ge=11172+(l<<1<<2)|0,n[Ge+12>>2]=Ge,n[Ge+8>>2]=Ge,l=l+1|0;while((l|0)!=32);Ge=m+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=m+Ge|0,Ge=B+-40-Ge|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>j>>>0)return at=l-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,E=Tt,Ge|0}return n[(Wm()|0)>>2]=12,Ge=0,E=Tt,Ge|0}function Kv(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,k=c+l|0;do if(s&1)Q=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0<d>>>0))return;if((B|0)==(n[2788]|0)){if(s=k+4|0,l=n[s>>2]|0,(l&3|0)!=3){Q=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<<c),Q=B,l=m;break}else{n[s+12>>2]=l,n[l+8>>2]=s,Q=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else Q=n[B+8>>2]|0,n[Q+12>>2]=s,n[s+8>>2]=Q;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<<l),Q=B,l=m;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){Q=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,Q=B,l=m):(Q=B,l=m)}else Q=B,l=m}while(0);if(!(B>>>0>=k>>>0)&&(s=k+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[Q+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(k|0)==(n[2789]|0)){if(k=(n[2786]|0)+l|0,n[2786]=k,n[2789]=Q,n[Q+4>>2]=k|1,(Q|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((k|0)==(s|0)){k=(n[2785]|0)+l|0,n[2785]=k,n[2788]=B,n[Q+4>>2]=k|1,n[B+k>>2]=k;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[k+8>>2]|0,s=n[k+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<<c);break}else{n[l+12>>2]=s,n[s+8>>2]=l;break}else{m=n[k+24>>2]|0,s=n[k+12>>2]|0;do if((s|0)==(k|0)){if(c=k+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[k+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[k+28>>2]|0,l=11436+(s<<2)|0,(k|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<<s);break}}else if(n[m+16+(((n[m+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=k+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[Q+4>>2]=d|1,n[B+d>>2]=d,(Q|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<<s,l&s?(l=c+8|0,s=n[l>>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=Q,n[s+12>>2]=Q,n[Q+8>>2]=s,n[Q+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,k=s<<B,m=(k+520192|0)>>>16&4,k=k<<m,s=(k+245760|0)>>>16&2,s=14-(m|B|s)+(k<<s>>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[Q+28>>2]=s,n[Q+20>>2]=0,n[Q+16>>2]=0,l=n[2784]|0,c=1<<s;do if(l&c){for(l=d<<((s|0)==31?0:25-(s>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((s|0)==73){B=c+8|0,k=n[B>>2]|0,n[k+12>>2]=Q,n[B>>2]=Q,n[Q+8>>2]=k,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;while(0);if(k=(n[2791]|0)+-1|0,n[2791]=k,!k)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function NUe(){return 11628}function LUe(s){s=s|0;var l=0,c=0;return l=E,E=E+16|0,c=l,n[c>>2]=UUe(n[s+60>>2]|0)|0,s=Jv(gc(6,c|0)|0)|0,E=l,s|0}function YG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;j=E,E=E+48|0,M=j+16|0,m=j,d=j+32|0,Q=s+28|0,f=n[Q>>2]|0,n[d>>2]=f,k=s+20|0,f=(n[k>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=Jv(Hi(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,We=n[d+4>>2]|0,se=m>>>0>We>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,We=m-(se?We:0)|0,n[d>>2]=(n[d>>2]|0)+We,se=d+4|0,n[se>>2]=(n[se>>2]|0)-We,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=Jv(Hi(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[Q>>2]=0,n[k>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(We=n[s+44>>2]|0,n[s+16>>2]=We+(n[s+48>>2]|0),n[Q>>2]=We,n[k>>2]=We),E=j,c|0}function OUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=E,E=E+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(Jv(ta(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,E=d,s|0}function Jv(s){return s=s|0,s>>>0>4294963200&&(n[(Wm()|0)>>2]=0-s,s=-1),s|0}function Wm(){return(MUe()|0)+64|0}function MUe(){return yR()|0}function yR(){return 2084}function UUe(s){return s=s|0,s|0}function _Ue(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=E,E=E+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,mu(54,f|0)|0)&&(o[s+75>>0]=-1),f=YG(s,l,c)|0,E=d,f|0}function KG(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function HUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function JG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0;Re=E,E=E+224|0,O=Re+120|0,j=Re+80|0,We=Re,Oe=Re+136|0,f=j,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(ER(0,l,O,We,j)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=qUe(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=ER(s,l,O,We,j)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Oe,B=s+28|0,n[B>>2]=Oe,Q=s+20|0,n[Q>>2]=Oe,n[f>>2]=80,k=s+16|0,n[k>>2]=Oe+80,c=ER(s,l,O,We,j)|0,m&&(Zv[n[s+36>>2]&7](s,0,0)|0,c=(n[Q>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[k>>2]=0,n[B>>2]=0,n[Q>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&jUe(s),c=(f&32|0)==0?c:-1),E=Re,c|0}function ER(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0;rr=E,E=E+64|0,ir=rr+16|0,Vt=rr,Tt=rr+24|0,Ir=rr+8|0,Qr=rr+20|0,n[ir>>2]=l,at=(s|0)!=0,He=Tt+40|0,Ge=He,Tt=Tt+39|0,Rr=Ir+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(Wm()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)Q=l;else{Ze=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=Q,Ze=9;break t}case 0:{B=Q;break t}default:}et=Q+1|0,n[ir>>2]=et,B=o[et>>0]|0,Q=et}t:do if((Ze|0)==9)for(;;){if(Ze=0,(o[Q+1>>0]|0)!=37)break t;if(B=B+1|0,Q=Q+2|0,n[ir>>2]=Q,(o[Q>>0]|0)==37)Ze=9;else break}while(0);if(B=B-l|0,at&&ss(s,l,B),B|0){l=Q;continue}k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10?(et=(o[Q+2>>0]|0)==36,Re=et?B:-1,O=et?1:O,k=et?Q+3|0:k):Re=-1,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0;t:do if(Q>>>0<32)for(M=0,j=B;;){if(B=1<<Q,!(B&75913)){B=j;break t}if(M=B|M,k=k+1|0,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0,Q>>>0>=32)break;j=B}else M=0;while(0);if(B<<24>>24==42){if(Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10&&(o[k+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[Q>>0]|0)+-48<<3)>>2]|0,O=1,k=k+3|0;else{if(O|0){m=-1;break}at?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,k=Q):(B=0,O=0,k=Q)}n[ir>>2]=k,et=(B|0)<0,B=et?0-B|0:B,M=et?M|8192:M}else{if(B=VG(ir)|0,(B|0)<0){m=-1;break}k=n[ir>>2]|0}do if((o[k>>0]|0)==46){if((o[k+1>>0]|0)!=42){n[ir>>2]=k+1,Q=VG(ir)|0,k=n[ir>>2]|0;break}if(j=k+2|0,Q=(o[j>>0]|0)+-48|0,Q>>>0<10&&(o[k+3>>0]|0)==36){n[d+(Q<<2)>>2]=10,Q=n[f+((o[j>>0]|0)+-48<<3)>>2]|0,k=k+4|0,n[ir>>2]=k;break}if(O|0){m=-1;break e}at?(et=(n[c>>2]|0)+(4-1)&~(4-1),Q=n[et>>2]|0,n[c>>2]=et+4):Q=0,n[ir>>2]=j,k=j}else Q=-1;while(0);for(Oe=0;;){if(((o[k>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(et=k+1|0,n[ir>>2]=et,j=o[(o[k>>0]|0)+-65+(5178+(Oe*58|0))>>0]|0,se=j&255,(se+-1|0)>>>0<8)Oe=se,k=et;else break}if(!(j<<24>>24)){m=-1;break}We=(Re|0)>-1;do if(j<<24>>24==19)if(We){m=-1;break e}else Ze=49;else{if(We){n[d+(Re<<2)>>2]=se,We=f+(Re<<3)|0,Re=n[We+4>>2]|0,Ze=Vt,n[Ze>>2]=n[We>>2],n[Ze+4>>2]=Re,Ze=49;break}if(!at){m=0;break e}zG(Vt,se,c)}while(0);if((Ze|0)==49&&(Ze=0,!at)){B=0,l=et;continue}k=o[k>>0]|0,k=(Oe|0)!=0&(k&15|0)==3?k&-33:k,We=M&-65537,Re=(M&8192|0)==0?M:We;t:do switch(k|0){case 110:switch((Oe&255)<<24>>24){case 0:{n[n[Vt>>2]>>2]=m,B=0,l=et;continue e}case 1:{n[n[Vt>>2]>>2]=m,B=0,l=et;continue e}case 2:{B=n[Vt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}case 3:{a[n[Vt>>2]>>1]=m,B=0,l=et;continue e}case 4:{o[n[Vt>>2]>>0]=m,B=0,l=et;continue e}case 6:{n[n[Vt>>2]>>2]=m,B=0,l=et;continue e}case 7:{B=n[Vt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}default:{B=0,l=et;continue e}}case 112:{k=120,Q=Q>>>0>8?Q:8,l=Re|8,Ze=61;break}case 88:case 120:{l=Re,Ze=61;break}case 111:{k=Vt,l=n[k>>2]|0,k=n[k+4>>2]|0,se=WUe(l,k,He)|0,We=Ge-se|0,M=0,j=5642,Q=(Re&8|0)==0|(Q|0)>(We|0)?Q:We+1|0,We=Re,Ze=67;break}case 105:case 100:if(k=Vt,l=n[k>>2]|0,k=n[k+4>>2]|0,(k|0)<0){l=Vv(0,0,l|0,k|0)|0,k=Ee,M=Vt,n[M>>2]=l,n[M+4>>2]=k,M=1,j=5642,Ze=66;break t}else{M=(Re&2049|0)!=0&1,j=(Re&2048|0)==0?(Re&1|0)==0?5642:5644:5643,Ze=66;break t}case 117:{k=Vt,M=0,j=5642,l=n[k>>2]|0,k=n[k+4>>2]|0,Ze=66;break}case 99:{o[Tt>>0]=n[Vt>>2],l=Tt,M=0,j=5642,se=He,k=1,Q=We;break}case 109:{k=YUe(n[(Wm()|0)>>2]|0)|0,Ze=71;break}case 115:{k=n[Vt>>2]|0,k=k|0?k:5652,Ze=71;break}case 67:{n[Ir>>2]=n[Vt>>2],n[Rr>>2]=0,n[Vt>>2]=Ir,se=-1,k=Ir,Ze=75;break}case 83:{l=n[Vt>>2]|0,Q?(se=Q,k=l,Ze=75):(Is(s,32,B,0,Re),l=0,Ze=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=JUe(s,+C[Vt>>3],B,Q,Re,k)|0,l=et;continue e}default:M=0,j=5642,se=He,k=Q,Q=Re}while(0);t:do if((Ze|0)==61)Re=Vt,Oe=n[Re>>2]|0,Re=n[Re+4>>2]|0,se=GUe(Oe,Re,He,k&32)|0,j=(l&8|0)==0|(Oe|0)==0&(Re|0)==0,M=j?0:2,j=j?5642:5642+(k>>4)|0,We=l,l=Oe,k=Re,Ze=67;else if((Ze|0)==66)se=Ym(l,k,He)|0,We=Re,Ze=67;else if((Ze|0)==71)Ze=0,Re=KUe(k,0,Q)|0,Oe=(Re|0)==0,l=k,M=0,j=5642,se=Oe?k+Q|0:Re,k=Oe?Q:Re-k|0,Q=We;else if((Ze|0)==75){for(Ze=0,j=k,l=0,Q=0;M=n[j>>2]|0,!(!M||(Q=XG(Qr,M)|0,(Q|0)<0|Q>>>0>(se-l|0)>>>0));)if(l=Q+l|0,se>>>0>l>>>0)j=j+4|0;else break;if((Q|0)<0){m=-1;break e}if(Is(s,32,B,l,Re),!l)l=0,Ze=84;else for(M=0;;){if(Q=n[k>>2]|0,!Q){Ze=84;break t}if(Q=XG(Qr,Q)|0,M=Q+M|0,(M|0)>(l|0)){Ze=84;break t}if(ss(s,Qr,Q),M>>>0>=l>>>0){Ze=84;break}else k=k+4|0}}while(0);if((Ze|0)==67)Ze=0,k=(l|0)!=0|(k|0)!=0,Re=(Q|0)!=0|k,k=((k^1)&1)+(Ge-se)|0,l=Re?se:He,se=He,k=Re?(Q|0)>(k|0)?Q:k:Q,Q=(Q|0)>-1?We&-65537:We;else if((Ze|0)==84){Ze=0,Is(s,32,B,l,Re^8192),B=(B|0)>(l|0)?B:l,l=et;continue}Oe=se-l|0,We=(k|0)<(Oe|0)?Oe:k,Re=We+M|0,B=(B|0)<(Re|0)?Re:B,Is(s,32,B,Re,Q),ss(s,j,M),Is(s,48,B,Re,Q^65536),Is(s,48,We,Oe,0),ss(s,l,Oe),Is(s,32,B,Re,Q^8192),l=et}e:do if((Ze|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(zG(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return E=rr,m|0}function qUe(s){return s=s|0,0}function jUe(s){s=s|0}function ss(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||n3e(l,c,s)|0}function VG(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function zG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+C[d>>3],n[c>>2]=d+8,C[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+C[d>>3],n[c>>2]=d+8,C[s>>3]=m;break e}default:break e}while(0);while(0)}function GUe(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=zv(s|0,l|0,4)|0,l=Ee;while(!((s|0)==0&(l|0)==0));return c|0}function WUe(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=zv(s|0,l|0,3)|0,l=Ee;while(!((s|0)==0&(l|0)==0));return c|0}function Ym(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=BR(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=wR(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Ee;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function YUe(s){return s=s|0,$Ue(s,n[(ZUe()|0)+188>>2]|0)|0}function KUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=Le(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function Is(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=E,E=E+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,Jm(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do ss(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}ss(s,m,d)}E=B}function XG(s,l){return s=s|0,l=l|0,s?s=zUe(s,l,0)|0:s=0,s|0}function JUe(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=0;Bn=E,E=E+560|0,k=Bn+8|0,et=Bn,rr=Bn+524|0,Qr=rr,M=Bn+512|0,n[et>>2]=0,Ir=M+12|0,ZG(l)|0,(Ee|0)<0?(l=-l,ir=1,Rr=5659):(ir=(d&2049|0)!=0&1,Rr=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),ZG(l)|0,Vt=Ee&2146435072;do if(Vt>>>0<2146435072|(Vt|0)==2146435072&0<0){if(We=+VUe(l,et)*2,B=We!=0,B&&(n[et>>2]=(n[et>>2]|0)+-1),at=m|32,(at|0)==97){Oe=m&32,se=(Oe|0)==0?Rr:Rr+9|0,j=ir|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=We;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-We-l));break}else{l=We+l-l;break}}while(0);Q=n[et>>2]|0,B=(Q|0)<0?0-Q|0:Q,B=Ym(B,((B|0)<0)<<31>>31,Ir)|0,(B|0)==(Ir|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(Q>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,k=(d&8|0)==0,B=rr;do Vt=~~l,Q=B+1|0,o[B>>0]=u[5694+Vt>>0]|Oe,l=(l-+(Vt|0))*16,(Q-Qr|0)==1&&!(k&(M&l==0))?(o[Q>>0]=46,B=B+2|0):B=Q;while(l!=0);Vt=B-Qr|0,Qr=Ir-O|0,Ir=(f|0)!=0&(Vt+-2|0)<(f|0)?f+2|0:Vt,B=Qr+j+Ir|0,Is(s,32,c,B,d),ss(s,se,j),Is(s,48,c,B,d^65536),ss(s,rr,Vt),Is(s,48,Ir-Vt|0,0,0),ss(s,O,Qr),Is(s,32,c,B,d^8192);break}Q=(f|0)<0?6:f,B?(B=(n[et>>2]|0)+-28|0,n[et>>2]=B,l=We*268435456):(l=We,B=n[et>>2]|0),Vt=(B|0)<0?k:k+288|0,k=Vt;do Ge=~~l>>>0,n[k>>2]=Ge,k=k+4|0,l=(l-+(Ge>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Vt,j=k;;){if(O=(B|0)<29?B:29,B=j+-4|0,B>>>0>=M>>>0){k=0;do He=i7(n[B>>2]|0,0,O|0)|0,He=IR(He|0,Ee|0,k|0,0)|0,Ge=Ee,Ze=BR(He|0,Ge|0,1e9,0)|0,n[B>>2]=Ze,k=wR(He|0,Ge|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);k&&(M=M+-4|0,n[M>>2]=k)}for(k=j;!(k>>>0<=M>>>0);)if(B=k+-4|0,!(n[B>>2]|0))k=B;else break;if(B=(n[et>>2]|0)-O|0,n[et>>2]=B,(B|0)>0)j=k;else break}else M=Vt;if((B|0)<0){f=((Q+25|0)/9|0)+1|0,Re=(at|0)==102;do{if(Oe=0-B|0,Oe=(Oe|0)<9?Oe:9,M>>>0<k>>>0){O=(1<<Oe)+-1|0,j=1e9>>>Oe,se=0,B=M;do Ge=n[B>>2]|0,n[B>>2]=(Ge>>>Oe)+se,se=Le(Ge&O,j)|0,B=B+4|0;while(B>>>0<k>>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[k>>2]=se,M=B,B=k+4|0):(M=B,B=k)}else M=(n[M>>2]|0)==0?M+4|0:M,B=k;k=Re?Vt:M,k=(B-k>>2|0)>(f|0)?k+(f<<2)|0:B,B=(n[et>>2]|0)+Oe|0,n[et>>2]=B}while((B|0)<0);B=M,f=k}else B=M,f=k;if(Ge=Vt,B>>>0<f>>>0){if(k=(Ge-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,k=k+1|0;while(O>>>0>=M>>>0)}}else k=0;if(Re=(at|0)==103,Ze=(Q|0)!=0,M=Q-((at|0)!=102?k:0)+((Ze&Re)<<31>>31)|0,(M|0)<(((f-Ge>>2)*9|0)+-9|0)){if(M=M+9216|0,Oe=Vt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(j=n[Oe>>2]|0,se=(j>>>0)%(O>>>0)|0,M=(Oe+4|0)==(f|0),M&(se|0)==0)M=Oe;else if(We=(((j>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,He=(O|0)/2|0,l=se>>>0<He>>>0?.5:M&(se|0)==(He|0)?1:1.5,ir&&(He=(o[Rr>>0]|0)==45,l=He?-l:l,We=He?-We:We),M=j-se|0,n[Oe>>2]=M,We+l!=We){if(He=M+O|0,n[Oe>>2]=He,He>>>0>999999999)for(k=Oe;M=k+-4|0,n[k>>2]=0,M>>>0<B>>>0&&(B=B+-4|0,n[B>>2]=0),He=(n[M>>2]|0)+1|0,n[M>>2]=He,He>>>0>999999999;)k=M;else M=Oe;if(k=(Ge-B>>2)*9|0,j=n[B>>2]|0,j>>>0>=10){O=10;do O=O*10|0,k=k+1|0;while(j>>>0>=O>>>0)}}else M=Oe;M=M+4|0,M=f>>>0>M>>>0?M:f,He=B}else M=f,He=B;for(at=M;;){if(at>>>0<=He>>>0){et=0;break}if(B=at+-4|0,!(n[B>>2]|0))at=B;else{et=1;break}}f=0-k|0;do if(Re)if(B=((Ze^1)&1)+Q|0,(B|0)>(k|0)&(k|0)>-5?(O=m+-1|0,Q=B+-1-k|0):(O=m+-2|0,Q=B+-1|0),B=d&8,B)Oe=B;else{if(et&&(Tt=n[at+-4>>2]|0,(Tt|0)!=0))if((Tt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Tt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((at-Ge>>2)*9|0)+-9|0,(O|32|0)==102){Oe=B-M|0,Oe=(Oe|0)>0?Oe:0,Q=(Q|0)<(Oe|0)?Q:Oe,Oe=0;break}else{Oe=B+k-M|0,Oe=(Oe|0)>0?Oe:0,Q=(Q|0)<(Oe|0)?Q:Oe,Oe=0;break}}else O=m,Oe=d&8;while(0);if(Re=Q|Oe,j=(Re|0)!=0&1,se=(O|32|0)==102,se)Ze=0,B=(k|0)>0?k:0;else{if(B=(k|0)<0?f:k,B=Ym(B,((B|0)<0)<<31>>31,Ir)|0,M=Ir,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(k>>31&2)+43,B=B+-2|0,o[B>>0]=O,Ze=B,B=M-B|0}if(B=ir+1+Q+j+B|0,Is(s,32,c,B,d),ss(s,Rr,ir),Is(s,48,c,B,d^65536),se){O=He>>>0>Vt>>>0?Vt:He,Oe=rr+9|0,j=Oe,se=rr+8|0,M=O;do{if(k=Ym(n[M>>2]|0,0,Oe)|0,(M|0)==(O|0))(k|0)==(Oe|0)&&(o[se>>0]=48,k=se);else if(k>>>0>rr>>>0){Jm(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}ss(s,k,j-k|0),M=M+4|0}while(M>>>0<=Vt>>>0);if(Re|0&&ss(s,5710,1),M>>>0<at>>>0&(Q|0)>0)for(;;){if(k=Ym(n[M>>2]|0,0,Oe)|0,k>>>0>rr>>>0){Jm(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}if(ss(s,k,(Q|0)<9?Q:9),M=M+4|0,k=Q+-9|0,M>>>0<at>>>0&(Q|0)>9)Q=k;else{Q=k;break}}Is(s,48,Q+9|0,9,0)}else{if(Re=et?at:He+4|0,(Q|0)>-1){et=rr+9|0,Oe=(Oe|0)==0,f=et,j=0-Qr|0,se=rr+8|0,O=He;do{k=Ym(n[O>>2]|0,0,et)|0,(k|0)==(et|0)&&(o[se>>0]=48,k=se);do if((O|0)==(He|0)){if(M=k+1|0,ss(s,k,1),Oe&(Q|0)<1){k=M;break}ss(s,5710,1),k=M}else{if(k>>>0<=rr>>>0)break;Jm(rr|0,48,k+j|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}while(0);Qr=f-k|0,ss(s,k,(Q|0)>(Qr|0)?Qr:Q),Q=Q-Qr|0,O=O+4|0}while(O>>>0<Re>>>0&(Q|0)>-1)}Is(s,48,Q+18|0,18,0),ss(s,Ze,Ir-Ze|0)}Is(s,32,c,B,d^8192)}else rr=(m&32|0)!=0,B=ir+3|0,Is(s,32,c,B,d&-65537),ss(s,Rr,ir),ss(s,l!=l|!1?rr?5686:5690:rr?5678:5682,3),Is(s,32,c,B,d^8192);while(0);return E=Bn,((B|0)<(c|0)?c:B)|0}function ZG(s){s=+s;var l=0;return C[v>>3]=s,l=n[v>>2]|0,Ee=n[v+4>>2]|0,l|0}function VUe(s,l){return s=+s,l=l|0,+ +$G(s,l)}function $G(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(C[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=zv(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+$G(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+C[v>>3]}return+s}function zUe(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(XUe()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(Wm()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(Wm()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function XUe(){return yR()|0}function ZUe(){return yR()|0}function $Ue(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return e3e(c,n[l+20>>2]|0)|0}function e3e(s,l){return s=s|0,l=l|0,t3e(s,l)|0}function t3e(s,l){return s=s|0,l=l|0,l?l=r3e(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function r3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=Sg(n[s+8>>2]|0,se)|0,f=Sg(n[s+12>>2]|0,se)|0,d=Sg(n[s+16>>2]|0,se)|0;e:do if(m>>>0<l>>>2>>>0&&(j=l-(m<<2)|0,f>>>0<j>>>0&d>>>0<j>>>0)&&((d|f)&3|0)==0){for(j=f>>>2,O=d>>>2,M=0;;){if(Q=m>>>1,k=M+Q|0,B=k<<1,d=B+j|0,f=Sg(n[s+(d<<2)>>2]|0,se)|0,d=Sg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0<l>>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=KG(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:k,m=f?Q:m-Q|0}f=B+O|0,d=Sg(n[s+(f<<2)>>2]|0,se)|0,f=Sg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0<l>>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function Sg(s,l){s=s|0,l=l|0;var c=0;return c=a7(s|0)|0,((l|0)==0?s:c)|0}function n3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=c+16|0,d=n[f>>2]|0,d?m=5:i3e(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(Q=c+20|0,B=n[Q>>2]|0,f=B,(d-B|0)>>>0<l>>>0){f=Zv[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=Zv[n[c+36>>2]&7](c,s,B)|0,f>>>0<B>>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[Q>>2]|0}else m=0,d=s;while(0);Cr(f|0,d|0,l|0)|0,n[Q>>2]=(n[Q>>2]|0)+l,f=m+l|0}while(0);return f|0}function i3e(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function Nn(s,l){s=y(s),l=y(l);var c=0,f=0;c=e7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=e7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s<l?l:s;break}}else s=l;while(0);return y(s)}function e7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Pg(s,l){s=y(s),l=y(l);var c=0,f=0;c=t7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=t7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s<l?s:l;break}}else s=l;while(0);return y(s)}function t7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function CR(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),Q=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=Q>>>23&255,k=m&-2147483648,d=Q<<1;e:do if((d|0)!=0&&!((c|0)==255|((s3e(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)Q=Q&8388607|8388608;else{if(m=Q<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,Q=Q<<1-d}d=f-Q|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-Q|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|k,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function s3e(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function o3e(s,l){return s=s|0,l=l|0,JG(n[582]|0,s,l)|0}function Jr(s){s=s|0,Rt()}function Km(s){s=s|0}function a3e(s,l){return s=s|0,l=l|0,0}function l3e(s){return s=s|0,(r7(s+4|0)|0)==-1?($A[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function r7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function Pp(s){s=s|0,l3e(s)|0&&c3e(s)}function c3e(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(r7(l)|0)!=-1||$A[n[(n[s>>2]|0)+16>>2]&127](s)}function Gt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=Yv(l)|0,!(s|0);){if(s=A3e()|0,!s){s=0;break}m7[s&0]()}return s|0}function n7(s){return s=s|0,Gt(s)|0}function pt(s){s=s|0,Kv(s)}function u3e(s){s=s|0,(o[s+11>>0]|0)<0&&pt(n[s>>2]|0)}function A3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function f3e(){}function Vv(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Ee=f,s-c>>>0|0|0}function IR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Ee=l+f+(c>>>0<s>>>0|0)>>>0,c|0|0}function Jm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function i7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ee=l<<c|(s&(1<<c)-1<<32-c)>>>32-c,s<<c):(Ee=s<<c-32,0)}function zv(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ee=l>>>c,s>>>c|(l&(1<<c)-1)<<32-c):(Ee=0,l>>>c-32|0)}function Cr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return fc(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function s7(s){s=s|0;var l=0;return l=o[L+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[L+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[L+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[L+(s>>>24)>>0]|0)+24|0))}function o7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0;if(O=s,k=l,M=k,B=c,se=f,Q=se,!M)return m=(d|0)!=0,Q?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Ee=se,d|0):(se=0,d=0,Ee=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Ee=se,d|0);m=(Q|0)==0;do if(B){if(!m){if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=31){j=m+1|0,Q=31-m|0,l=m-31>>31,B=j,s=O>>>(j>>>0)&l|M<<Q,l=M>>>(j>>>0)&l,m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,se=0,d=0,Ee=se,d|0):(se=0,d=0,Ee=se,d|0)}if(m=B-1|0,m&B|0){Q=(P(B|0)|0)+33-(P(M|0)|0)|0,Oe=64-Q|0,j=32-Q|0,k=j>>31,We=Q-32|0,l=We>>31,B=Q,s=j-1>>31&M>>>(We>>>0)|(M<<j|O>>>(Q>>>0))&l,l=l&M>>>(Q>>>0),m=O<<Oe&k,Q=(M<<Oe|O>>>(We>>>0))&k|O<<j&Q-33>>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(We=k|l&0,Oe=s|0|0,Ee=We,Oe|0):(Oe=s7(B|0)|0,We=M>>>(Oe>>>0)|0,Oe=M<<32-Oe|O>>>(Oe>>>0)|0,Ee=We,Oe|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),We=0,Oe=(M>>>0)/(B>>>0)>>>0,Ee=We,Oe|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(Q>>>0)),We=0,Oe=(M>>>0)/(Q>>>0)>>>0,Ee=We,Oe|0;if(m=Q-1|0,!(m&Q))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),We=0,Oe=M>>>((s7(Q|0)|0)>>>0),Ee=We,Oe|0;if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=30){l=m+1|0,Q=31-m|0,B=l,s=M<<Q|O>>>(l>>>0),l=M>>>(l>>>0),m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,We=0,Oe=0,Ee=We,Oe|0):(We=0,Oe=0,Ee=We,Oe|0)}while(0);if(!B)M=Q,k=0,Q=0;else{j=c|0|0,O=se|f&0,M=IR(j|0,O|0,-1,-1)|0,c=Ee,k=Q,Q=0;do f=k,k=m>>>31|k<<1,m=Q|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,Vv(M|0,c|0,f|0,se|0)|0,Oe=Ee,We=Oe>>31|((Oe|0)<0?-1:0)<<1,Q=We&1,s=Vv(f|0,se|0,We&j|0,(((Oe|0)<0?-1:0)>>31|((Oe|0)<0?-1:0)<<1)&O|0)|0,l=Ee,B=B-1|0;while((B|0)!=0);M=k,k=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),We=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|k,Oe=(m<<1|0>>>31)&-2|Q,Ee=We,Oe|0}function wR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,o7(s,l,c,f,0)|0}function xp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[w>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,DA(12),-1):(n[w>>2]=s,(s|0)>($()|0)&&(X()|0)==0?(n[w>>2]=l,DA(12),-1):l|0)}function DI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else Cr(s,l,c)|0;return s|0}function BR(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=E,E=E+16|0,d=m|0,o7(s,l,c,f,d)|0,E=m,Ee=n[d+4>>2]|0,n[d>>2]|0|0}function a7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function p3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,l7[s&1](l|0,c|0,f|0,d|0,m|0)}function h3e(s,l,c){s=s|0,l=l|0,c=y(c),c7[s&1](l|0,y(c))}function g3e(s,l,c){s=s|0,l=l|0,c=+c,u7[s&31](l|0,+c)}function d3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(A7[s&0](l|0,y(c),y(f)))}function m3e(s,l){s=s|0,l=l|0,$A[s&127](l|0)}function y3e(s,l,c){s=s|0,l=l|0,c=c|0,ef[s&31](l|0,c|0)}function E3e(s,l){return s=s|0,l=l|0,bg[s&31](l|0)|0}function C3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,f7[s&1](l|0,+c,+f,d|0)}function I3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,t_e[s&1](l|0,+c,+f)}function w3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,Zv[s&7](l|0,c|0,f|0)|0}function B3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+r_e[s&1](l|0,c|0,f|0)}function v3e(s,l){return s=s|0,l=l|0,+p7[s&15](l|0)}function D3e(s,l,c){return s=s|0,l=l|0,c=+c,n_e[s&1](l|0,+c)|0}function S3e(s,l,c){return s=s|0,l=l|0,c=c|0,DR[s&15](l|0,c|0)|0}function P3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,i_e[s&1](l|0,c|0,+f,+d,m|0)}function x3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s_e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function b3e(s,l,c){return s=s|0,l=l|0,c=c|0,+h7[s&7](l|0,c|0)}function Q3e(s){return s=s|0,$v[s&7]()|0}function k3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,g7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function F3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,o_e[s&1](l|0,c|0,f|0,+d)}function R3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,d7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function T3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,xI[s&15](l|0,c|0,f|0)}function N3e(s){s=s|0,m7[s&0]()}function L3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,y7[s&15](l|0,c|0,+f)}function O3e(s,l,c){return s=s|0,l=+l,c=+c,a_e[s&1](+l,+c)|0}function M3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,SR[s&15](l|0,c|0,f|0,d|0)}function U3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(0)}function _3e(s,l){s=s|0,l=y(l),F(1)}function da(s,l){s=s|0,l=+l,F(2)}function H3e(s,l,c){return s=s|0,l=y(l),c=y(c),F(3),$e}function hr(s){s=s|0,F(4)}function SI(s,l){s=s|0,l=l|0,F(5)}function za(s){return s=s|0,F(6),0}function q3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,F(7)}function j3e(s,l,c){s=s|0,l=+l,c=+c,F(8)}function G3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(9),0}function W3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(10),0}function xg(s){return s=s|0,F(11),0}function Y3e(s,l){return s=s|0,l=+l,F(12),0}function PI(s,l){return s=s|0,l=l|0,F(13),0}function K3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,F(14)}function J3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,F(15)}function vR(s,l){return s=s|0,l=l|0,F(16),0}function V3e(){return F(17),0}function z3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(18),0}function X3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,F(19)}function Z3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,F(20)}function Xv(s,l,c){s=s|0,l=l|0,c=c|0,F(21)}function $3e(){F(22)}function Vm(s,l,c){s=s|0,l=l|0,c=+c,F(23)}function e_e(s,l){return s=+s,l=+l,F(24),0}function zm(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,F(25)}var l7=[U3e,zLe],c7=[_3e,uo],u7=[da,dI,mI,AF,fF,Dl,yI,pF,Um,ku,CI,hF,Fv,WA,Rv,_m,Tv,Nv,Hm,da,da,da,da,da,da,da,da,da,da,da,da,da],A7=[H3e],$A=[hr,Km,QDe,kDe,FDe,abe,lbe,cbe,DNe,SNe,PNe,OLe,MLe,ULe,sUe,oUe,aUe,ds,Pv,Mm,GA,EI,Sve,Pve,CDe,_De,ZDe,dSe,FSe,VSe,fPe,PPe,qPe,ixe,Cxe,Lxe,Zxe,Sbe,qbe,iQe,CQe,LQe,ZQe,mke,Fke,Yke,lFe,Pc,UFe,tRe,CRe,MRe,$Re,CTe,QTe,RTe,zTe,$Te,dNe,bNe,FNe,VNe,pLe,J9,JOe,DMe,_Me,t4e,B4e,M4e,V4e,Z4e,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr],ef=[SI,iF,sF,gI,Qu,oF,aF,Cp,lF,cF,uF,kv,YA,Ve,ft,jt,Er,In,Sr,dF,pve,Lve,Ike,Nke,qRe,XOe,ILe,FG,SI,SI,SI,SI],bg=[za,LUe,nF,D,ce,Se,It,Et,xt,Nr,fi,Ao,uve,Ave,xve,AFe,nTe,ZNe,tMe,Ka,za,za,za,za,za,za,za,za,za,za,za,za],f7=[q3e,bve],t_e=[j3e,ENe],Zv=[G3e,YG,OUe,_Ue,$Se,Qbe,jFe,s4e],r_e=[W3e,vxe],p7=[xg,_o,rt,wn,Qve,kve,Fve,Rve,Tve,Nve,xg,xg,xg,xg,xg,xg],n_e=[Y3e,PTe],DR=[PI,a3e,fve,vDe,CSe,gPe,QPe,rbe,Ybe,zke,Dv,GMe,PI,PI,PI,PI],i_e=[K3e,rSe],s_e=[J3e,P4e],h7=[vR,ri,Ove,Mve,Uve,_xe,vR,vR],$v=[V3e,_ve,pI,ha,OTe,nNe,LNe,rUe],g7=[z3e,aI],o_e=[X3e,vQe],d7=[Z3e,hve],xI=[Xv,T,is,Xr,fo,LSe,WPe,_Qe,rke,Om,EOe,bMe,q4e,Xv,Xv,Xv],m7=[$3e],y7=[Vm,xv,bv,Qv,jA,Lv,gF,S,lQe,sRe,BTe,Vm,Vm,Vm,Vm,Vm],a_e=[e_e,BNe],SR=[zm,lxe,EFe,vRe,fTe,jTe,cNe,jNe,yLe,aMe,pUe,zm,zm,zm,zm,zm];return{_llvm_bswap_i32:a7,dynCall_idd:O3e,dynCall_i:Q3e,_i64Subtract:Vv,___udivdi3:wR,dynCall_vif:h3e,setThrew:Eu,dynCall_viii:T3e,_bitshift64Lshr:zv,_bitshift64Shl:i7,dynCall_vi:m3e,dynCall_viiddi:P3e,dynCall_diii:B3e,dynCall_iii:S3e,_memset:Jm,_sbrk:xp,_memcpy:Cr,__GLOBAL__sub_I_Yoga_cpp:Lm,dynCall_vii:y3e,___uremdi3:BR,dynCall_vid:g3e,stackAlloc:so,_nbind_init:vUe,getTempRet0:Oa,dynCall_di:v3e,dynCall_iid:D3e,setTempRet0:bA,_i64Add:IR,dynCall_fiff:d3e,dynCall_iiii:w3e,_emscripten_get_global_libc:NUe,dynCall_viid:L3e,dynCall_viiid:F3e,dynCall_viififi:R3e,dynCall_ii:E3e,__GLOBAL__sub_I_Binding_cc:_Oe,dynCall_viiii:M3e,dynCall_iiiiii:k3e,stackSave:Cl,dynCall_viiiii:p3e,__GLOBAL__sub_I_nbind_cc:Hve,dynCall_vidd:I3e,_free:Kv,runPostSets:f3e,dynCall_viiiiii:x3e,establishStackSpace:qi,_memmove:DI,stackRestore:yu,_malloc:Yv,__GLOBAL__sub_I_common_cc:oLe,dynCall_viddi:C3e,dynCall_dii:b3e,dynCall_v:N3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n<r-1;n=n+1)a.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),o();a.push(0),a=allocate(a,"i32",ALLOC_NORMAL);try{var u=Module._main(r,a,0);exit(u,!0)}catch(p){if(p instanceof ExitStatus)return;if(p=="SimulateInfiniteLoop"){Module.noExitRuntime=!0;return}else{var A=p;p&&typeof p=="object"&&p.stack&&(A=[p,p.stack]),Module.printErr("exception thrown: "+A),Module.quit(1,p)}}finally{calledMain=!0}};function run(t){if(t=t||Module.arguments,preloadStartTime===null&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` 285`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r<t.length;r++){var o=t[r];o>255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o<t.length;++o)HEAP8[e++>>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,w=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=w:(w=w+.5,Browser.mainLoop.remainingBlockers=(8*E+w)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(!(u<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u<Browser.mainLoop.currentlyRunningMainloop)&&(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},a||(e&&e>0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e<r?Module.setStatus(t+" ("+(r-e)+"/"+r+")"):Module.setStatus(t):Module.setStatus("")}},runIter:function(t){if(!ABORT){if(Module.preMainLoop){var e=Module.preMainLoop();if(e===!1)return}try{t()}catch(r){if(r instanceof ExitStatus)return;throw r&&typeof r=="object"&&r.stack&&Module.printErr("exception thrown: "+[r,r.stack]),r}Module.postMainLoop&&Module.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),Browser.initted)return;Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch{Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder<"u"?MozBlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject=typeof window<"u"?window.URL?window.URL:window.webkitURL:void 0,!Module.noImageDecoding&&typeof Browser.URLObject>"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(b){Runtime.warnOnce("Blob constructor present but fails: "+b+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var w=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var C=document.createElement("canvas");C.width=v.width,C.height=v.height;var R=C.getContext("2d");R.drawImage(v,0,0),Module.preloadedImages[u]=C,Browser.URLObject.revokeObjectURL(w),A&&A(n)},v.onerror=function(C){console.log("Image "+w+" could not be decoded"),p&&p()},v.src=w},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function E(R){h||(h=!0,Module.preloadedAudios[u]=R,A&&A(n))}function w(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return w()}var b=Browser.URLObject.createObjectURL(v),C=new Audio;C.addEventListener("canplaythrough",function(){E(C)},!1),C.onerror=function(L){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function _(V){for(var re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",oe="=",pe="",he=0,ve=0,ge=0;ge<V.length;ge++)for(he=he<<8|V[ge],ve+=8;ve>=6;){var le=he>>ve-6&63;ve-=6,pe+=re[le]}return ve==2?(pe+=re[(he&3)<<4],pe+=oe+oe):ve==4&&(pe+=re[(he&15)<<2],pe+=oe),pe}C.src="data:audio/x-"+u.substr(-3)+";base64,"+_(n),E(C)},C.src=b,Browser.safeSetTimeout(function(){E(C)},1e4)}else return w()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[u.identifier];E||(E=h),Browser.lastTouches[u.identifier]=E,Browser.touches[u.identifier]=h}return}var w=t.pageX-(a+e.left),v=t.pageY-(n+e.top);w=w*(r/e.width),v=v*(o/e.height),Browser.mouseMovementX=w-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=w,Browser.mouseY=v}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a<Module.forcedAspectRatio?o=Math.round(a*Module.forcedAspectRatio):a=Math.round(o/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===t.parentNode&&typeof screen<"u"){var n=Math.min(screen.width/o,screen.height/a);o=Math.round(o*n),a=Math.round(a*n)}Browser.resizeCanvas?(t.width!=o&&(t.width=o),t.height!=a&&(t.height=a),typeof t.style<"u"&&(t.style.removeProperty("width"),t.style.removeProperty("height"))):(t.width!=e&&(t.width=e),t.height!=r&&(t.height=r),typeof t.style<"u"&&(o!=e||a!=r?(t.style.setProperty("width",o+"px","important"),t.style.setProperty("height",a+"px","important")):(t.style.removeProperty("width"),t.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var t=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,t}},SYSCALLS={varargs:0,get:function(t){SYSCALLS.varargs+=4;var e=HEAP32[SYSCALLS.varargs-4>>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr<X>"],[640,1,"std::unique_ptr<X>"],[5120,1,"std::vector<X>"],[6144,2,"std::array<X, Y>"],[9216,-1,"std::function<X (Y)>"]];function r(p,h,E,w,v,b){if(h==1){var C=w&896;(C==128||C==256||C==384)&&(p="X const")}var R;return b?R=E.replace("X",p).replace("Y",v):R=p.replace("X",E).replace("Y",v),R.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,E,w,v){throw new Error(p+" type "+E.replace("X",h+"?")+(w?" with flag "+w:"")+" in "+v)}function a(p,h,E,w,v,b,C,R){b===void 0&&(b="X"),R===void 0&&(R=1);var L=E(p);if(L)return L;var _=w(p),V=_.placeholderFlag,re=e[V];C&&re&&(b=r(C[2],C[0],b,re[0],"?",!0));var oe;V==0&&(oe="Unbound"),V>=10&&(oe="Corrupt"),R>20&&(oe="Deeply nested"),oe&&o(oe,p,b,V,v||"?");var pe=_.paramList[0],he=a(pe,h,E,w,v,b,re,R+1),ve,ge={flags:re[0],id:p,name:"",paramList:[he]},le=[],Pe="?";switch(_.placeholderFlag){case 1:ve=he.spec;break;case 2:if((he.flags&15360)==1024&&he.spec.ptrSize==1){ge.flags=7168;break}case 3:case 6:case 5:ve=he.spec,he.flags&15360;break;case 8:Pe=""+_.paramList[1],ge.paramList.push(_.paramList[1]);break;case 9:for(var g=0,De=_.paramList[1];g<De.length;g++){var Ce=De[g],de=a(Ce,h,E,w,v,b,re,R+1);le.push(de.name),ge.paramList.push(de)}Pe=le.join(", ");break;default:break}if(ge.name=r(re[2],re[0],he.name,he.flags,Pe),ve){for(var ne=0,Z=Object.keys(ve);ne<Z.length;ne++){var me=Z[ne];ge[me]=ge[me]||ve[me]}ge.flags|=ve.flags}return n(h,ge)}function n(p,h){var E=h.flags,w=E&896,v=E&15360;return!h.name&&v==1024&&(h.ptrSize==1?h.name=(E&16?"":(E&8?"un":"")+"signed ")+"char":h.name=(E&8?"u":"")+(E&32?"float":"int")+(h.ptrSize*8+"_t")),h.ptrSize==8&&!(E&32)&&(v=64),v==2048&&(w==512||w==640?v=4096:w&&(v=3072)),p(v,h)}var u=function(){function p(h){this.id=h.id,this.name=h.name,this.flags=h.flags,this.spec=h}return p.prototype.toString=function(){return this.name},p}(),A={Type:u,getComplexType:a,makeType:n,structureList:e};return t.output=A,t.output||A}function __nbind_register_type(t,e){var r=_nbind.readAsciiString(e),o={flags:10240,id:t,name:r};_nbind.makeType(_nbind.constructType,o)}function __nbind_register_callback_signature(t,e){var r=_nbind.readTypeIdList(t,e),o=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[o]=_nbind.makeJSCaller(r),o}function __extends(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o}function __nbind_register_class(t,e,r,o,a,n,u){var A=_nbind.readAsciiString(u),p=_nbind.readPolicyList(e),h=HEAPU32.subarray(t/4,t/4+2),E={flags:2048|(p.Value?2:0),id:h[0],name:A},w=_nbind.makeType(_nbind.constructType,E);w.ptrType=_nbind.getComplexType(h[1],_nbind.constructType,_nbind.getType,_nbind.queryType),w.destroy=_nbind.makeMethodCaller(w.ptrType,{boundID:E.id,flags:0,name:"destroy",num:0,ptr:n,title:w.name+".free",typeList:["void","uint32_t","uint32_t"]}),a&&(w.superIdList=Array.prototype.slice.call(HEAPU32.subarray(r/4,r/4+a)),w.upcastList=Array.prototype.slice.call(HEAPU32.subarray(o/4,o/4+a))),Module[w.name]=w.makeBound(p),_nbind.BindClass.list.push(w)}function _removeAccessorPrefix(t){var e=/^[Gg]et_?([A-Z]?([A-Z]?))/;return t.replace(e,function(r,o,a){return a?o:o.toLowerCase()})}function __nbind_register_function(t,e,r,o,a,n,u,A,p,h){var E=_nbind.getType(t),w=_nbind.readPolicyList(e),v=_nbind.readTypeIdList(r,o),b;if(u==5)b=[{direct:a,name:"__nbindConstructor",ptr:0,title:E.name+" constructor",typeList:["uint32_t"].concat(v.slice(1))},{direct:n,name:"__nbindValueConstructor",ptr:0,title:E.name+" value constructor",typeList:["void","uint32_t"].concat(v.slice(1))}];else{var C=_nbind.readAsciiString(A),R=(E.name&&E.name+".")+C;(u==3||u==4)&&(C=_removeAccessorPrefix(C)),b=[{boundID:t,direct:n,name:C,ptr:a,title:R,typeList:v}]}for(var L=0,_=b;L<_.length;L++){var V=_[L];V.signatureType=u,V.policyTbl=w,V.num=p,V.flags=h,E.addMethod(V)}}function _nbind_value(t,e){_nbind.typeNameTbl[t]||_nbind.throwError("Unknown value type "+t),Module.NBind.bind_value(t,e),_defineHidden(_nbind.typeNameTbl[t].proto.prototype.__nbindValueConstructor)(e.prototype,"__nbindValueConstructor")}Module._nbind_value=_nbind_value;function __nbind_get_value_object(t,e){var r=_nbind.popValue(t);if(!r.fromJS)throw new Error("Object "+r+" has no fromJS function");r.fromJS(function(){r.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([e],arguments))})}function _emscripten_memcpy_big(t,e,r){return HEAPU8.set(HEAPU8.subarray(e,e+r),t),t}function __nbind_register_primitive(t,e,r){var o={flags:1024|r,id:t,ptrSize:e};_nbind.makeType(_nbind.constructType,o)}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___setErrNo(t){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,w){var v=___syscall146.buffers[E];assert(v),w===0||w===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(w)});for(var u=0;u<a;u++){for(var A=HEAP32[o+u*8>>2],p=HEAP32[o+(u*8+4)>>2],h=0;h<p;h++)___syscall146.printChar(r,HEAPU8[A+h]);n+=p}return n}catch(E){return(typeof FS>"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;t<e.length;t++){var r=e[t];r.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16,function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=function(){function t(){}return t.lalloc=function(e){e=e+7&-8;var r=HEAPU32[t.usedPtr];if(e>t.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=u,w=A,v=p;if(n!==_nbind.ptrMarker){var b=h.__nbindConstructor.apply(h,arguments);E=4608,v=HEAPU32[b/4],w=HEAPU32[b/4+1]}var C={configurable:!0,enumerable:!1,value:null,writable:!1},R={__nbindFlags:E,__nbindPtr:w};v&&(R.__nbindShared=v,_nbind.mark(h));for(var L=0,_=Object.keys(R);L<_.length;L++){var V=_[L];C.value=R[V],Object.defineProperty(h,V,C)}return _defineHidden(0)(h,"__nbindState"),h}return a.prototype.free=function(){e.destroy.call(this,this.__nbindShared,this.__nbindFlags),this.__nbindState|=2,disableMember(this,"__nbindShared"),disableMember(this,"__nbindPtr")},a}(Wrapper);return __decorate([_defineHidden()],r.prototype,"__nbindConstructor",void 0),__decorate([_defineHidden()],r.prototype,"__nbindValueConstructor",void 0),__decorate([_defineHidden(t)],r.prototype,"__nbindPolicies",void 0),r}_nbind.makeBound=makeBound;function disableMember(t,e){function r(){throw new Error("Accessing deleted object")}Object.defineProperty(t,e,{configurable:!1,enumerable:!1,get:r,set:r})}_nbind.ptrMarker={};var BindClass=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return _nbind.popValue(a,o.ptrType)},o.wireWrite=function(a){return pushPointer(a,o.ptrType,!0)},o.pendingSuperCount=0,o.ready=!1,o.methodTbl={},r.paramList?(o.classType=r.paramList[0].classType,o.proto=o.classType.proto):o.classType=o,o}return e.prototype.makeBound=function(r){var o=_nbind.makeBound(r,this);return this.proto=o,this.ptrType.proto=o,o},e.prototype.addMethod=function(r){var o=this.methodTbl[r.name]||[];o.push(r),this.methodTbl[r.name]=o},e.prototype.registerMethods=function(r,o){for(var a,n=0,u=Object.keys(r.methodTbl);n<u.length;n++)for(var A=u[n],p=r.methodTbl[A],h=0,E=p;h<E.length;h++){var w=E[h],v=void 0,b=void 0;if(v=this.proto.prototype,!(o&&w.signatureType!=1))switch(w.signatureType){case 1:v=this.proto;case 5:b=_nbind.makeCaller(w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;case 4:a=_nbind.makeMethodCaller(r.ptrType,w);break;case 3:Object.defineProperty(v,w.name,{configurable:!0,enumerable:!1,get:_nbind.makeMethodCaller(r.ptrType,w),set:a});break;case 2:b=_nbind.makeMethodCaller(r.ptrType,w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;default:break}}},e.prototype.registerSuperMethods=function(r,o,a){if(!a[r.name]){a[r.name]=!0;for(var n=0,u,A=0,p=r.superIdList||[];A<p.length;A++){var h=p[A],E=_nbind.getType(h);n++<o||o<0?u=-1:u=0,this.registerSuperMethods(E,u,a)}this.registerMethods(r,o<0)}},e.prototype.finish=function(){if(this.ready)return this;this.ready=!0,this.superList=(this.superIdList||[]).map(function(a){return _nbind.getType(a).finish()});var r=this.proto;if(this.superList.length){var o=function(){this.constructor=r};o.prototype=this.superList[0].proto.prototype,r.prototype=new o}return r!=Module&&(r.prototype.__nbindType=this),this.registerSuperMethods(this,1,{}),this},e.prototype.upcastStep=function(r,o){if(r==this)return o;for(var a=0;a<this.superList.length;++a){var n=this.superList[a].upcastStep(r,_nbind.callUpcast(this.upcastList[a],o));if(n)return n}return 0},e}(_nbind.BindType);BindClass.list=[],_nbind.BindClass=BindClass;function popPointer(t,e){return t?new e.proto(_nbind.ptrMarker,e.flags,t):null}_nbind.popPointer=popPointer;function pushPointer(t,e,r){if(!(t instanceof _nbind.Wrapper)){if(r)return _nbind.pushValue(t);throw new Error("Type mismatch")}var o=t.__nbindPtr,a=t.__nbindType.classType,n=e.classType;if(t instanceof e.proto)for(;a!=n;)o=_nbind.callUpcast(a.upcastList[0],o),a=a.superList[0];else if(o=a.upcastStep(n,o),!o)throw new Error("Type mismatch");return o}_nbind.pushPointer=pushPointer;function pushMutablePointer(t,e){var r=pushPointer(t,e);if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return r}var BindClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=(o.flags&896)==256&&r.flags&2,u=a?pushPointer:pushMutablePointer,A=n?_nbind.popValue:popPointer;return o.makeWireWrite=function(p,h){return h.Nullable?function(E){return E?u(E,o):0}:function(E){return u(E,o)}},o.wireRead=function(p){return A(p,o)},o.wireWrite=function(p){return u(p,o)},o}return e}(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(t,e){var r=HEAPU32[t/4],o=HEAPU32[t/4+1];return o?new e.proto(_nbind.ptrMarker,e.flags,o,r):null}_nbind.popShared=popShared;function pushShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");return t.__nbindShared}function pushMutableShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return t.__nbindShared}var SharedClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.readResources=[_nbind.resources.pool],o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=a?pushShared:pushMutableShared;return o.wireRead=function(u){return popShared(u,o)},o.wireWrite=function(u){return n(u,o)},o}return e}(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr,_nbind.externalList=[0];var firstFreeExternal=0,External=function(){function t(e){this.refCount=1,this.data=e}return t.prototype.register=function(){var e=firstFreeExternal;return e?firstFreeExternal=_nbind.externalList[e]:e=_nbind.externalList.length,_nbind.externalList[e]=this,e},t.prototype.reference=function(){++this.refCount},t.prototype.dereference=function(e){--this.refCount==0&&(this.free&&this.free(),_nbind.externalList[e]=firstFreeExternal,firstFreeExternal=e)},t}();_nbind.External=External;function popExternal(t){var e=_nbind.externalList[t];return e.dereference(t),e.data}function pushExternal(t){var e=new External(t);return e.reference(),e.register()}var ExternalType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popExternal,r.wireWrite=pushExternal,r}return e}(_nbind.BindType);_nbind.ExternalType=ExternalType,_nbind.callbackSignatureList=[];var CallbackType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=function(o){return typeof o!="function"&&_nbind.throwError("Type mismatch"),new _nbind.External(o).register()},r}return e}(_nbind.BindType);_nbind.CallbackType=CallbackType,_nbind.valueList=[0];var firstFreeValue=0;function pushValue(t){var e=firstFreeValue;return e?firstFreeValue=_nbind.valueList[e]:e=_nbind.valueList.length,_nbind.valueList[e]=t,e*2+1}_nbind.pushValue=pushValue;function popValue(t,e){if(t||_nbind.throwError("Value type JavaScript class is missing or not registered"),t&1){t>>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t<valueBase?t:popValue((t-valueBase)/4096)}var CreateValueType=function(t){__extends(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.makeWireWrite=function(r){return"(_nbind.pushValue(new "+r+"))"},e}(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=push64,r.wireRead=pop64,r}return e}(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(t,e){if(!t)return 0;var r=t.length;if((e.size||e.size===0)&&r<e.size)throw new Error("Type mismatch");var o=e.memberType.ptrSize,a=_nbind.Pool.lalloc(4+r*o);HEAPU32[a/4]=r;var n=e.memberType.heap,u=(a+4)/o,A=e.memberType.wireWrite,p=0;if(A)for(;p<r;)n[u++]=A(t[p++]);else for(;p<r;)n[u++]=t[p++];return a}_nbind.pushArray=pushArray;function popArray(t,e){if(t===0)return null;var r=HEAPU32[t/4],o=new Array(r),a=e.memberType.heap;t=(t+4)/e.memberType.ptrSize;var n=e.memberType.wireRead,u=0;if(n)for(;u<r;)o[u++]=n(a[t++]);else for(;u<r;)o[u++]=a[t++];return o}_nbind.popArray=popArray;var ArrayType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return popArray(a,o)},o.wireWrite=function(a){return pushArray(a,o)},o.readResources=[_nbind.resources.pool],o.writeResources=[_nbind.resources.pool],o.memberType=r.paramList[0],r.paramList[1]&&(o.size=r.paramList[1]),o}return e}(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(t,e){if(t==null)if(e&&e.Nullable)t="";else throw new Error("Type mismatch");if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t),o=_nbind.Pool.lalloc(4+r+1);return HEAPU32[o/4]=r,Module.stringToUTF8Array(t,HEAPU8,o+4,r+1),o}_nbind.pushString=pushString;function popString(t){if(t===0)return null;var e=HEAPU32[t/4];return Module.Pointer_stringify(t+4,e)}_nbind.popString=popString;var StringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popString,r.wireWrite=pushString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushString(a,o)}},e}(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(t){return Array.apply(null,Array(t)).map(function(e,r){return"a"+(r+1)})}function anyNeedsWireWrite(t,e){return t.reduce(function(r,o){return r||o.needsWireWrite(e)},!1)}function anyNeedsWireRead(t,e){return t.reduce(function(r,o){return r||!!o.needsWireRead(e)},!1)}function makeWireRead(t,e,r,o){var a=t.length;return r.makeWireRead?r.makeWireRead(o,t,a):r.wireRead?(t[a]=r.wireRead,"(convertParamList["+a+"]("+o+"))"):o}function makeWireWrite(t,e,r,o){var a,n=t.length;return r.makeWireWrite?a=r.makeWireWrite(o,e,t,n):a=r.wireWrite,a?typeof a=="string"?a:(t[n]=a,"(convertParamList["+n+"]("+o+"))"):o}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireRead(convertParamList,policyTbl,returnType,"dynCall("+[prefix].concat(argList.map(function(t,e){return makeWireWrite(convertParamList,policyTbl,argTypeList[e],t)})).join(",")+")"),resourceSet=_nbind.listResources([returnType],argTypeList),sourceCode="function("+argList.join(",")+"){"+(mask?"this.__nbindFlags&mask&&err();":"")+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireWrite(convertParamList,null,returnType,"_nbind.externalList[num].data("+argList.map(function(t,e){return makeWireRead(convertParamList,null,argTypeList[e],t)}).join(",")+")"),resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode="function("+["dummy","num"].concat(argList).join(",")+"){"+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(t){var e=t.length-1,r=_nbind.getTypes(t,"callback"),o=r[0],a=r.slice(1),n=anyNeedsWireRead(a,null),u=o.needsWireWrite(null);if(!u&&!n)switch(e){case 0:return function(A,p){return _nbind.externalList[p].data()};case 1:return function(A,p,h){return _nbind.externalList[p].data(h)};case 2:return function(A,p,h,E){return _nbind.externalList[p].data(h,E)};case 3:return function(A,p,h,E,w){return _nbind.externalList[p].data(h,E,w)};default:break}return buildJSCallerFunction(o,a)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(t,e){var r=e.typeList.length-1,o=e.typeList.slice(0);o.splice(1,0,"uint32_t",e.boundID);var a=_nbind.getTypes(o,e.title),n=a[0],u=a.slice(3),A=n.needsWireRead(e.policyTbl),p=anyNeedsWireWrite(u,e.policyTbl),h=e.ptr,E=e.num,w=_nbind.getDynCall(a,e.title),v=~e.flags&1;function b(){throw new Error("Calling a non-const method on a const object")}if(!A&&!p)switch(r){case 0:return function(){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t))};case 1:return function(C){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t),C)};case 2:return function(C,R){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t),C,R)};case 3:return function(C,R,L){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t),C,R,L)};default:break}return buildCallerFunction(w,t,h,E,e.policyTbl,p,"ptr,num,pushPointer(this,ptrType)",n,u,v,b)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(t){var e=t.typeList.length-1,r=_nbind.getTypes(t.typeList,t.title),o=r[0],a=r.slice(1),n=o.needsWireRead(t.policyTbl),u=anyNeedsWireWrite(a,t.policyTbl),A=t.direct,p=t.ptr;if(t.direct&&!n&&!u){var h=_nbind.getDynCall(r,t.title);switch(e){case 0:return function(){return h(A)};case 1:return function(b){return h(A,b)};case 2:return function(b,C){return h(A,b,C)};case 3:return function(b,C,R){return h(A,b,C,R)};default:break}p=0}var E;if(p){var w=t.typeList.slice(0);w.splice(1,0,"uint32_t"),r=_nbind.getTypes(w,t.title),E="ptr,num"}else p=A,E="ptr";var v=_nbind.getDynCall(r,t.title);return buildCallerFunction(v,null,p,t.num,t.policyTbl,u,E,o,a)}_nbind.makeCaller=makeCaller;function makeOverloader(t,e){var r=[];function o(){return r[arguments.length].apply(this,arguments)}return o.addMethod=function(a,n){r[n]=a},o.addMethod(t,e),o}_nbind.makeOverloader=makeOverloader;var Resource=function(){function t(e,r){var o=this;this.makeOpen=function(){return Object.keys(o.openTbl).join("")},this.makeClose=function(){return Object.keys(o.closeTbl).join("")},this.openTbl={},this.closeTbl={},e&&(this.openTbl[e]=!0),r&&(this.closeTbl[r]=!0)}return t.prototype.add=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];this.openTbl[a]=!0}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];this.closeTbl[a]=!0}},t.prototype.remove=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];delete this.openTbl[a]}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];delete this.closeTbl[a]}},t}();_nbind.Resource=Resource;function listResources(t,e){for(var r=new Resource,o=0,a=t;o<a.length;o++)for(var n=a[o],u=0,A=n.readResources||[];u<A.length;u++){var p=A[u];r.add(p)}for(var h=0,E=e;h<E.length;h++)for(var n=E[h],w=0,v=n.writeResources||[];w<v.length;w++){var p=v[w];r.add(p)}return r}_nbind.listResources=listResources,_nbind.resources={pool:new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];","_nbind.Pool.lreset(used,page);")};var ExternalBuffer=function(t){__extends(e,t);function e(r,o){var a=t.call(this,r)||this;return a.ptr=o,a}return e.prototype.free=function(){_free(this.ptr)},e}(_nbind.External);function getBuffer(t){return t instanceof ArrayBuffer?new Uint8Array(t):t instanceof DataView?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function pushBuffer(t,e){if(t==null&&e&&e.Nullable&&(t=[]),typeof t!="object")throw new Error("Type mismatch");var r=t,o=r.byteLength||r.length;if(!o&&o!==0&&r.byteLength!==0)throw new Error("Type mismatch");var a=_nbind.Pool.lalloc(8),n=_malloc(o),u=a/4;return HEAPU32[u++]=o,HEAPU32[u++]=n,HEAPU32[u++]=new ExternalBuffer(t,n).register(),HEAPU8.set(getBuffer(t),n),a}var BufferType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=pushBuffer,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushBuffer(a,o)}},e}(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(t,e,r){var o=_nbind.externalList[t].data,a=Buffer;if(typeof Buffer!="function"&&(a=function(){}),!(o instanceof Array)){var n=HEAPU8.subarray(e,e+r);if(o instanceof a){var u=void 0;typeof Buffer.from=="function"&&Buffer.from.length>=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t<e.length;t++){var r=e[t];r.__nbindState&3||r.free()}dirtyList=[],gcTimer=0}_nbind.mark=function(t){};function toggleLightGC(t){t?_nbind.mark=function(e){dirtyList.push(e),gcTimer||(gcTimer=setTimeout(sweep,0))}:_nbind.mark=function(e){}}_nbind.toggleLightGC=toggleLightGC}(_nbind),Module.requestFullScreen=function t(e,r,o){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(e,r,o)},Module.requestFullscreen=function t(e,r,o){Browser.requestFullscreen(e,r,o)},Module.requestAnimationFrame=function t(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function t(e,r,o){Browser.setCanvasSize(e,r,o)},Module.pauseMainLoop=function t(){Browser.mainLoop.pause()},Module.resumeMainLoop=function t(){Browser.mainLoop.resume()},Module.getUserMedia=function t(){Browser.getUserMedia()},Module.createContext=function t(e,r,o,a){return Browser.createContext(e,r,o,a)},ENVIRONMENT_IS_NODE?_emscripten_get_now=function(){var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:typeof dateNow<"u"?_emscripten_get_now=dateNow:typeof self=="object"&&self.performance&&typeof self.performance.now=="function"?_emscripten_get_now=function(){return self.performance.now()}:typeof performance=="object"&&typeof performance.now=="function"?_emscripten_get_now=function(){return performance.now()}:_emscripten_get_now=Date.now,__ATEXIT__.push(function(){var t=Module._fflush;t&&t(0);var e=___syscall146.printChar;if(!!e){var r=___syscall146.buffers;r[1].length&&e(1,10),r[2].length&&e(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),w=e.DYNAMICTOP_PTR|0,v=e.tempDoublePtr|0,b=e.ABORT|0,C=e.STACKTOP|0,R=e.STACK_MAX|0,L=e.cttz_i8|0,_=e.___dso_handle|0,V=0,re=0,oe=0,pe=0,he=t.NaN,ve=t.Infinity,ge=0,le=0,Pe=0,g=0,De=0,Ce=0,de=t.Math.floor,ne=t.Math.abs,Z=t.Math.sqrt,me=t.Math.pow,be=t.Math.cos,ut=t.Math.sin,H=t.Math.tan,yt=t.Math.acos,Me=t.Math.asin,Te=t.Math.atan,Qe=t.Math.atan2,_e=t.Math.exp,qe=t.Math.log,At=t.Math.ceil,Oe=t.Math.imul,x=t.Math.min,I=t.Math.max,P=t.Math.clz32,y=t.Math.fround,F=e.abort,J=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,ie=e.abortOnCannotGrowMemory,ke=e.invoke_viiiii,Ne=e.invoke_vif,st=e.invoke_vid,ht=e.invoke_fiff,Ut=e.invoke_vi,Xt=e.invoke_vii,Pt=e.invoke_ii,tn=e.invoke_viddi,Dr=e.invoke_vidd,fr=e.invoke_iiii,Br=e.invoke_diii,jr=e.invoke_di,Hn=e.invoke_iid,bs=e.invoke_iii,ki=e.invoke_viiddi,gs=e.invoke_viiiiii,to=e.invoke_dii,Di=e.invoke_i,Qs=e.invoke_iiiiii,ro=e.invoke_viiid,pc=e.invoke_viififi,gu=e.invoke_viii,ap=e.invoke_v,lp=e.invoke_viid,ks=e.invoke_idd,En=e.invoke_viiii,no=e._emscripten_asm_const_iiiii,Fs=e._emscripten_asm_const_iiidddddd,Cl=e._emscripten_asm_const_iiiid,El=e.__nbind_reference_external,io=e._emscripten_asm_const_iiiiiiii,Ue=e._removeAccessorPrefix,Fn=e._typeModule,Fi=e.__nbind_register_pool,Rn=e.__decorate,Ui=e._llvm_stackrestore,Zt=e.___cxa_atexit,Ri=e.__extends,$n=e.__nbind_get_value_object,Ma=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,$t=e._emscripten_set_main_loop_timing,hc=e.__nbind_register_primitive,du=e.__nbind_register_type,gc=e._emscripten_memcpy_big,Il=e.__nbind_register_function,PA=e.___setErrNo,mu=e.__nbind_register_class,Ee=e.__nbind_finish,Rt=e._abort,dc=e._nbind_value,_i=e._llvm_stacksave,yu=e.___syscall54,qt=e._defineHidden,wl=e._emscripten_set_main_loop,xA=e._emscripten_get_now,cp=e.__nbind_register_callback_signature,mc=e._emscripten_asm_const_iiiiii,bA=e.__nbind_free_external,Dn=e._emscripten_asm_const_iiii,ui=e._emscripten_asm_const_iiididi,yc=e.___syscall6,QA=e._atexit,ra=e.___syscall140,Hi=e.___syscall146,Oo=y(0);let $e=y(0);function so(s){s=s|0;var l=0;return l=C,C=C+s|0,C=C+15&-16,l|0}function Bl(){return C|0}function Cu(s){s=s|0,C=s}function qi(s,l){s=s|0,l=l|0,C=s,R=l}function Eu(s,l){s=s|0,l=l|0,V||(V=s,re=l)}function kA(s){s=s|0,Ce=s}function Ua(){return Ce|0}function Cc(){var s=0,l=0;Er(8104,8,400)|0,Er(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,Zt(17,8104,_|0)|0}function ds(s){s=s|0,Be(s+948|0)}function Ot(s){return s=y(s),((bu(s)|0)&2147483647)>>>0>2139095040|0}function Sn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function di(s){s=s|0;var l=0;return l=$v(1e3)|0,na(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Er(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function na(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,gg(s,5,3197,f)),C=d}function oo(){return di(956)|0}function Rs(s){s=s|0;var l=0;return l=Gt(1e3)|0,ia(l,s),na(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function ia(s,l){s=s|0,l=l|0;var c=0;Er(s|0,l|0,948)|0,Nm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function sa(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Mo(c+948|0,s)|0,n[l>>2]=0),c=Zi(s)|0,c|0){l=0;do n[(Ts(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),Ns(c),eD(s),n[2276]=(n[2276]|0)+-1}function Mo(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0;f=n[s>>2]|0,Q=s+4|0,c=n[Q>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(bI(d|0,f|0,s|0)|0,c=n[Q>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[Q>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function Zi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function Ts(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function Ns(s){s=s|0;var l=0,c=0,f=0,d=0;f=C,C=C+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Ep(l,d,d,s+8|0),Cg(s,l),_A(l)),C=f}function Ls(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;M=Zi(s)|0;do if(M|0){if((n[(Ts(s,0)|0)+944>>2]|0)==(s|0)){if(!(Mo(s+948|0,l)|0))break;Er(l+400|0,8504,540)|0,n[l+944>>2]=0,je(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,Q=s+948|0,k=(B|0)==0,c=0,m=0;do f=n[(n[Q>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?je(s):(d=Rs(f)|0,n[(n[Q>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,k||PR[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0<M>>>0){k=s+948|0,Q=s+952|0,B=c,c=n[Q>>2]|0;do m=(n[k>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(bI(m|0,f|0,d|0)|0,c=n[Q>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[Q>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function ao(s){s=s|0;var l=0,c=0,f=0,d=0;Yn(s,(Zi(s)|0)==0,2491),Yn(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),Ns(l),l=s+976|0,c=n[l>>2]|0,Er(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Yn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,co(s,5,3197,f)),C=d}function qn(){return n[2276]|0}function $i(){var s=0;return s=$v(20)|0,es((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function es(s,l){s=s|0,l=l|0;var c=0,f=0;f=C,C=C+16|0,c=f,s||(n[c>>2]=l,co(0,5,3197,c)),C=f}function mi(s){s=s|0,eD(s),n[2277]=(n[2277]|0)+-1}function Ha(s,l){s=s|0,l=l|0;var c=0;l?(Yn(s,(Zi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function oa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Yn(s,(n[l+944>>2]|0)==0,2709),Yn(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],we(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,je(s),C=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;if(c=Zi(s)|0,c|0&&(n[(Ts(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,Q=Rs(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=Q,n[Q+944>>2]=s,m||PR[f&15](B,Q,s,l),l=l+1|0;while((l|0)!=(c|0))}}function we(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0;et=C,C=C+64|0,j=et+52|0,Q=et+48|0,se=et+28|0,We=et+24|0,Le=et+20|0,Re=et,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}HA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=N(s)|0,d>>>0<f>>>0&&Vr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Ep(Re,M>>2>>>0<d>>>1>>>0?m>>>0<f>>>0?f:m:d,l-O>>2,s+8|0),O=Re+8|0,f=n[O>>2]|0,m=Re+12|0,M=n[m>>2]|0,B=M,k=f;do if((f|0)==(M|0)){if(M=Re+4|0,f=n[M>>2]|0,Ze=n[Re>>2]|0,d=Ze,f>>>0<=Ze>>>0){f=B-d>>1,f=(f|0)==0?1:f,Ep(se,f,f>>>2,n[Re+16>>2]|0),n[We>>2]=n[M>>2],n[Le>>2]=n[O>>2],n[Q>>2]=n[We>>2],n[j>>2]=n[Le>>2],dI(se,Q,j),f=n[Re>>2]|0,n[Re>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Ze=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Ze,f=se+8|0,Ze=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Ze,f=se+12|0,Ze=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Ze,_A(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,Q=f+(B<<2)|0,d=k-m|0,m=d>>2,m&&(bI(Q|0,f|0,d|0)|0,f=n[M>>2]|0),Ze=Q+(m<<2)|0,n[O>>2]=Ze,n[M>>2]=f+(B<<2),f=Ze}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=Eg(s,Re,l)|0,_A(Re)}while(0);return C=et,l|0}function je(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(he),s=n[s+944>>2]|0}while((s|0)!=0)}function Be(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function xe(s){return s=s|0,n[s+944>>2]|0}function Ve(s){s=s|0,Yn(s,(n[s+964>>2]|0)!=0,2832),je(s)}function vt(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function tr(s,l){s=s|0,l=l|0,ZUe(s,l,400)|0&&(Er(s|0,l|0,400)|0,je(s))}function Zr(s){s=s|0;var l=$e;return l=y(h[s+44>>2]),s=Ot(l)|0,y(s?y(0):l)}function Tn(s){s=s|0;var l=$e;return l=y(h[s+48>>2]),Ot(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function _r(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function ei(s){return s=s|0,n[s+980>>2]|0}function Ti(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function Kn(s){return s=s|0,n[s+4>>2]|0}function qa(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function aa(s){return s=s|0,n[s+8>>2]|0}function yi(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function la(s){return s=s|0,n[s+12>>2]|0}function ja(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function lo(s){return s=s|0,n[s+16>>2]|0}function FA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function Ec(s){return s=s|0,n[s+20>>2]|0}function ca(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function rg(s){return s=s|0,n[s+24>>2]|0}function Ic(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function bm(s){return s=s|0,n[s+28>>2]|0}function ng(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function Vn(s){return s=s|0,n[s+32>>2]|0}function up(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function ig(s){return s=s|0,n[s+36>>2]|0}function RA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Os(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Iu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Ga(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function ji(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,je(s))}function ua(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function wu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function ms(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function wc(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Bc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function G(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function Dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function vl(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(he),n[c>>2]=3,je(s))}function Si(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function vc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function lt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Bu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function sg(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function cI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function TA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,je(s))}function Ap(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(he),n[l>>2]=3,je(s))}function yr(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function ys(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function og(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,je(s))}function ag(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(he),n[l>>2]=3,je(s))}function lg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function fp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function Dc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function mt(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Qm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function cg(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function ug(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function vu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function km(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function Ag(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Du(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function uI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function Fm(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Aa(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Sc(s){return s=s|0,y(h[s+396>>2])}function Dl(s){return s=s|0,y(h[s+400>>2])}function Su(s){return s=s|0,y(h[s+404>>2])}function fg(s){return s=s|0,y(h[s+408>>2])}function NA(s){return s=s|0,y(h[s+412>>2])}function pp(s){return s=s|0,y(h[s+416>>2])}function Wa(s){return s=s|0,y(h[s+420>>2])}function pg(s,l){switch(s=s|0,l=l|0,Yn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function hp(s,l){switch(s=s|0,l=l|0,Yn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function Uo(s,l){switch(s=s|0,l=l|0,Yn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function Cs(s,l){s=s|0,l=l|0;var c=0,f=$e;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))<y(999999974e-13)):s=1:s=0,s|0}function Ci(s,l){s=y(s),l=y(l);var c=0;return Ot(s)|0?c=Ot(l)|0:c=y(ne(y(s-l)))<y(999999974e-13),c|0}function Rm(s,l){s=s|0,l=l|0,Tm(s,l)}function Tm(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c+4|0,n[f>>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,Ma(f|0,s|0,l|0,0),co(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),I3e(f),C=c}function _o(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=$e;s=y(s*l),d=y(IR(s,y(1)));do if(Ci(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ci(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ci(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function LA(s,l,c,f,d,m,B,Q,k,M,O,j,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,Q=y(Q),k=y(k),M=y(M),O=y(O),j=y(j),se=se|0;var We=0,Le=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e;return k<y(0)|M<y(0)?se=0:((se|0)!=0&&(Le=y(h[se+4>>2]),Le!=y(0))?(et=y(_o(l,Le,0,0)),Ze=y(_o(f,Le,0,0)),Re=y(_o(m,Le,0,0)),Le=y(_o(Q,Le,0,0))):(Re=m,et=l,Le=Q,Ze=f),(d|0)==(s|0)?We=Ci(Re,et)|0:We=0,(B|0)==(c|0)?se=Ci(Le,Ze)|0:se=0,!We&&(at=y(l-O),!(gp(s,at,k)|0))&&!(dp(s,at,d,k)|0)?We=hg(s,at,d,m,k)|0:We=1,!se&&(He=y(f-j),!(gp(c,He,M)|0))&&!(dp(c,He,B,M)|0)?se=hg(c,He,B,Q,M)|0:se=1,se=We&se),se|0}function gp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ci(l,c)|0:s=0,s|0}function dp(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ci(l,f)|0:s=0,s|0}function hg(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ci(l,d)|0:s=0,s|0}function fa(s,l,c,f,d,m,B,Q,k,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0,O=O|0;var j=0,se=0,We=0,Le=0,Re=$e,et=$e,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=$e,po=$e,ho=$e,go=0,ya=0;rr=C,C=C+160|0,Jt=rr+152|0,ir=rr+120|0,Rr=rr+104|0,He=rr+72|0,Le=rr+56|0,Tt=rr+8|0,at=rr,Ge=(n[2279]|0)+1|0,n[2279]=Ge,Ir=s+984|0,(o[Ir>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Ze=4:(n[s+516>>2]|0)==(f|0)?Qr=0:Ze=4,(Ze|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Qr=1);e:do if(n[s+964>>2]|0)if(Re=y(rn(s,2,B)),et=y(rn(s,0,B)),j=s+916|0,ho=y(h[j>>2]),po=y(h[s+920>>2]),Bn=y(h[s+932>>2]),LA(d,l,m,c,n[s+924>>2]|0,ho,n[s+928>>2]|0,po,Bn,y(h[s+936>>2]),Re,et,O)|0)Ze=22;else if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Bn=y(h[j>>2]),po=y(h[s+524+(se*24|0)+4>>2]),ho=y(h[s+524+(se*24|0)+16>>2]),LA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,Bn,n[s+524+(se*24|0)+12>>2]|0,po,ho,y(h[s+524+(se*24|0)+20>>2]),Re,et,O)|0){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}else{if(k){if(j=s+916|0,!(Ci(y(h[j>>2]),l)|0)){Ze=21;break}if(!(Ci(y(h[s+920>>2]),c)|0)){Ze=21;break}if((n[s+924>>2]|0)!=(d|0)){Ze=21;break}j=(n[s+928>>2]|0)==(m|0)?j:0,Ze=22;break}if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Ci(y(h[j>>2]),l)|0&&Ci(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}}while(0);do if((Ze|0)==21)o[11697]|0?(j=0,Ze=28):(j=0,Ze=31);else if((Ze|0)==22){if(se=(o[11697]|0)!=0,!((j|0)!=0&(Qr^1)))if(se){Ze=28;break}else{Ze=31;break}Le=j+16|0,n[s+908>>2]=n[Le>>2],We=j+20|0,n[s+912>>2]=n[We>>2],(o[11698]|0)==0|se^1||(n[at>>2]=OA(Ge)|0,n[at+4>>2]=Ge,co(s,4,2972,at),se=n[s+972>>2]|0,se|0&&tf[se&127](s),d=Ya(d,k)|0,m=Ya(m,k)|0,ya=+y(h[Le>>2]),go=+y(h[We>>2]),n[Tt>>2]=d,n[Tt+4>>2]=m,E[Tt+8>>3]=+l,E[Tt+16>>3]=+c,E[Tt+24>>3]=ya,E[Tt+32>>3]=go,n[Tt+40>>2]=M,co(s,4,2989,Tt))}while(0);return(Ze|0)==28&&(se=OA(Ge)|0,n[Le>>2]=se,n[Le+4>>2]=Ge,n[Le+8>>2]=Qr?3047:11699,co(s,4,3038,Le),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Tt=Ya(d,k)|0,Ze=Ya(m,k)|0,n[He>>2]=Tt,n[He+4>>2]=Ze,E[He+8>>3]=+l,E[He+16>>3]=+c,n[He+24>>2]=M,co(s,4,3049,He),Ze=31),(Ze|0)==31&&(ti(s,l,c,f,d,m,B,Q,k,O),o[11697]|0&&(se=n[2279]|0,Tt=OA(se)|0,n[Rr>>2]=Tt,n[Rr+4>>2]=se,n[Rr+8>>2]=Qr?3047:11699,co(s,4,3083,Rr),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Tt=Ya(d,k)|0,Rr=Ya(m,k)|0,go=+y(h[s+908>>2]),ya=+y(h[s+912>>2]),n[ir>>2]=Tt,n[ir+4>>2]=Rr,E[ir+8>>3]=go,E[ir+16>>3]=ya,n[ir+24>>2]=M,co(s,4,3092,ir)),n[s+516>>2]=f,j||(se=s+520|0,j=n[se>>2]|0,(j|0)==16&&(o[11697]|0&&co(s,4,3124,Jt),n[se>>2]=0,j=0),k?j=s+916|0:(n[se>>2]=j+1,j=s+524+(j*24|0)|0),h[j>>2]=l,h[j+4>>2]=c,n[j+8>>2]=d,n[j+12>>2]=m,n[j+16>>2]=n[s+908>>2],n[j+20>>2]=n[s+912>>2],j=0)),k&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Ir>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],C=rr,Qr|(j|0)==0|0}function rn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(K(s,l,c)),y(f+y(te(s,l,c)))}function co(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=C,C=C+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,dg(f,s,l,c,d),C=m}function OA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function Ya(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,C=d,s|0}function ti(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0;var O=0,j=0,se=0,We=0,Le=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e,Ge=$e,Tt=0,Rr=0,ir=0,Jt=$e,Ir=$e,Qr=0,rr=$e,Bn=0,po=0,ho=0,go=0,ya=0,Qp=0,kp=0,kl=0,Fp=0,Lu=0,Ou=0,Rp=0,Tp=0,Np=0,Jr=0,Fl=0,Lp=0,Fc=0,Op=$e,Mp=$e,Mu=$e,Uu=$e,Rc=$e,Us=0,$a=0,qo=0,Rl=0,nf=0,sf=$e,_u=$e,of=$e,af=$e,_s=$e,ws=$e,Tl=0,Pn=$e,lf=$e,mo=$e,Tc=$e,yo=$e,Nc=$e,cf=0,uf=0,Lc=$e,Hs=$e,Nl=0,Af=0,ff=0,pf=0,vr=$e,jn=0,Bs=0,Co=0,qs=0,Pr=0,lr=0,Ll=0,Wt=$e,hf=0,ii=0;Ll=C,C=C+16|0,Us=Ll+12|0,$a=Ll+8|0,qo=Ll+4|0,Rl=Ll,Yn(s,(d|0)==0|(Ot(l)|0)^1,3326),Yn(s,(m|0)==0|(Ot(c)|0)^1,3406),Bs=gt(s,f)|0,n[s+496>>2]=Bs,Pr=ur(2,Bs)|0,lr=ur(0,Bs)|0,h[s+440>>2]=y(K(s,Pr,B)),h[s+444>>2]=y(te(s,Pr,B)),h[s+428>>2]=y(K(s,lr,B)),h[s+436>>2]=y(te(s,lr,B)),h[s+464>>2]=y(gr(s,Pr)),h[s+468>>2]=y(hn(s,Pr)),h[s+452>>2]=y(gr(s,lr)),h[s+460>>2]=y(hn(s,lr)),h[s+488>>2]=y(ri(s,Pr,B)),h[s+492>>2]=y(Ni(s,Pr,B)),h[s+476>>2]=y(ri(s,lr,B)),h[s+484>>2]=y(Ni(s,lr,B));do if(n[s+964>>2]|0)yg(s,l,c,d,m,B,Q);else{if(Co=s+948|0,qs=(n[s+952>>2]|0)-(n[Co>>2]|0)>>2,!qs){Qv(s,l,c,d,m,B,Q);break}if(!k&&kv(s,l,c,d,m,B,Q)|0)break;ee(s),Fl=s+508|0,o[Fl>>0]=0,Pr=ur(n[s+4>>2]|0,Bs)|0,lr=fI(Pr,Bs)|0,jn=Ae(Pr)|0,Lp=n[s+8>>2]|0,Af=s+28|0,Fc=(n[Af>>2]|0)!=0,yo=jn?B:Q,Lc=jn?Q:B,Op=y(yp(s,Pr,B)),Mp=y(pI(s,Pr,B)),Le=y(yp(s,lr,B)),Nc=y(gn(s,Pr,B)),Hs=y(gn(s,lr,B)),ir=jn?d:m,Nl=jn?m:d,vr=jn?Nc:Hs,at=jn?Hs:Nc,Tc=y(rn(s,2,B)),Ze=y(rn(s,0,B)),Re=y(y(Hr(s+364|0,B))-vr),et=y(y(Hr(s+380|0,B))-vr),He=y(y(Hr(s+372|0,Q))-at),Ge=y(y(Hr(s+388|0,Q))-at),Mu=jn?Re:He,Uu=jn?et:Ge,Tc=y(l-Tc),l=y(Tc-vr),Ot(l)|0?vr=l:vr=y(Nn(y(Qg(l,et)),Re)),lf=y(c-Ze),l=y(lf-at),Ot(l)|0?mo=l:mo=y(Nn(y(Qg(l,Ge)),He)),Re=jn?vr:mo,Pn=jn?mo:vr;e:do if((ir|0)==1)for(f=0,j=0;;){if(O=Ts(s,j)|0,!f)y(rs(O))>y(0)&&y(Ms(O))>y(0)?f=O:f=0;else if(Lm(O)|0){We=0;break e}if(j=j+1|0,j>>>0>=qs>>>0){We=f;break}}else We=0;while(0);Tt=We+500|0,Rr=We+504|0,f=0,O=0,l=y(0),se=0;do{if(j=n[(n[Co>>2]|0)+(se<<2)>>2]|0,(n[j+36>>2]|0)==1)Pu(j),o[j+985>>0]=1,o[j+984>>0]=0;else{Sl(j),k&&mp(j,gt(j,Bs)|0,Re,Pn,vr);do if((n[j+24>>2]|0)!=1)if((j|0)==(We|0)){n[Tt>>2]=n[2278],h[Rr>>2]=y(0);break}else{Om(s,j,vr,d,mo,vr,mo,m,Bs,M);break}else O|0&&(n[O+960>>2]=j),n[j+960>>2]=0,O=j,f=(f|0)==0?j:f;while(0);ws=y(h[j+504>>2]),l=y(l+y(ws+y(rn(j,Pr,vr))))}se=se+1|0}while((se|0)!=(qs|0));for(ho=l>Re,Tl=Fc&((ir|0)==2&ho)?1:ir,Bn=(Nl|0)==1,ya=Bn&(k^1),Qp=(Tl|0)==1,kp=(Tl|0)==2,kl=976+(Pr<<2)|0,Fp=(Nl|2|0)==2,Np=Bn&(Fc^1),Lu=1040+(lr<<2)|0,Ou=1040+(Pr<<2)|0,Rp=976+(lr<<2)|0,Tp=(Nl|0)!=1,ho=Fc&((ir|0)!=0&ho),po=s+976|0,Bn=Bn^1,l=Re,Qr=0,go=0,ws=y(0),Rc=y(0);;){e:do if(Qr>>>0<qs>>>0)for(Rr=n[Co>>2]|0,se=0,Ge=y(0),He=y(0),et=y(0),Re=y(0),j=0,O=0,We=Qr;;){if(Tt=n[Rr+(We<<2)>>2]|0,(n[Tt+36>>2]|0)!=1&&(n[Tt+940>>2]=go,(n[Tt+24>>2]|0)!=1)){if(Ze=y(rn(Tt,Pr,vr)),Jr=n[kl>>2]|0,c=y(Hr(Tt+380+(Jr<<3)|0,yo)),at=y(h[Tt+504>>2]),c=y(Qg(c,at)),c=y(Nn(y(Hr(Tt+364+(Jr<<3)|0,yo)),c)),Fc&(se|0)!=0&y(Ze+y(He+c))>l){m=se,Ze=Ge,ir=We;break e}Ze=y(Ze+c),c=y(He+Ze),Ze=y(Ge+Ze),Lm(Tt)|0&&(et=y(et+y(rs(Tt))),Re=y(Re-y(at*y(Ms(Tt))))),O|0&&(n[O+960>>2]=Tt),n[Tt+960>>2]=0,se=se+1|0,O=Tt,j=(j|0)==0?Tt:j}else Ze=Ge,c=He;if(We=We+1|0,We>>>0<qs>>>0)Ge=Ze,He=c;else{m=se,ir=We;break}}else m=0,Ze=y(0),et=y(0),Re=y(0),j=0,ir=Qr;while(0);Jr=et>y(0)&et<y(1),Jt=Jr?y(1):et,Jr=Re>y(0)&Re<y(1),Ge=Jr?y(1):Re;do if(Qp)Jr=51;else if(Ze<Mu&((Ot(Mu)|0)^1))l=Mu,Jr=51;else if(Ze>Uu&((Ot(Uu)|0)^1))l=Uu,Jr=51;else if(o[(n[po>>2]|0)+3>>0]|0)Jr=51;else{if(Jt!=y(0)&&y(rs(s))!=y(0)){Jr=53;break}l=Ze,Jr=53}while(0);if((Jr|0)==51&&(Jr=0,Ot(l)|0?Jr=53:(Ir=y(l-Ze),rr=l)),(Jr|0)==53&&(Jr=0,Ze<y(0)?(Ir=y(-Ze),rr=l):(Ir=y(0),rr=l)),!ya&&(nf=(j|0)==0,!nf)){se=n[kl>>2]|0,We=Ir<y(0),at=y(Ir/Ge),Tt=Ir>y(0),He=y(Ir/Jt),et=y(0),Ze=y(0),l=y(0),O=j;do c=y(Hr(O+380+(se<<3)|0,yo)),Re=y(Hr(O+364+(se<<3)|0,yo)),Re=y(Qg(c,y(Nn(Re,y(h[O+504>>2]))))),We?(c=y(Re*y(Ms(O))),c!=y(-0)&&(Wt=y(Re-y(at*c)),sf=y(Ei(O,Pr,Wt,rr,vr)),Wt!=sf)&&(et=y(et-y(sf-Re)),l=y(l+c))):Tt&&(_u=y(rs(O)),_u!=y(0))&&(Wt=y(Re+y(He*_u)),of=y(Ei(O,Pr,Wt,rr,vr)),Wt!=of)&&(et=y(et-y(of-Re)),Ze=y(Ze-_u)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(Ge+l),Re=y(Ir+et),nf)l=y(0);else{at=y(Jt+Ze),We=n[kl>>2]|0,Tt=Re<y(0),Rr=l==y(0),He=y(Re/l),se=Re>y(0),at=y(Re/at),l=y(0);do{Wt=y(Hr(j+380+(We<<3)|0,yo)),et=y(Hr(j+364+(We<<3)|0,yo)),et=y(Qg(Wt,y(Nn(et,y(h[j+504>>2]))))),Tt?(Wt=y(et*y(Ms(j))),Re=y(-Wt),Wt!=y(-0)?(Wt=y(He*Re),Re=y(Ei(j,Pr,y(et+(Rr?Re:Wt)),rr,vr))):Re=et):se&&(af=y(rs(j)),af!=y(0))?Re=y(Ei(j,Pr,y(et+y(at*af)),rr,vr)):Re=et,l=y(l-y(Re-et)),Ze=y(rn(j,Pr,vr)),c=y(rn(j,lr,vr)),Re=y(Re+Ze),h[$a>>2]=Re,n[Rl>>2]=1,et=y(h[j+396>>2]);e:do if(Ot(et)|0){O=Ot(Pn)|0;do if(!O){if(ho|(ts(j,lr,Pn)|0|Bn)||(ha(s,j)|0)!=4||(n[(Pl(j,lr)|0)+4>>2]|0)==3||(n[(bc(j,lr)|0)+4>>2]|0)==3)break;h[Us>>2]=Pn,n[qo>>2]=1;break e}while(0);if(ts(j,lr,Pn)|0){O=n[j+992+(n[Rp>>2]<<2)>>2]|0,Wt=y(c+y(Hr(O,Pn))),h[Us>>2]=Wt,O=Tp&(n[O+4>>2]|0)==2,n[qo>>2]=((Ot(Wt)|0|O)^1)&1;break}else{h[Us>>2]=Pn,n[qo>>2]=O?0:2;break}}else Wt=y(Re-Ze),Jt=y(Wt/et),Wt=y(et*Wt),n[qo>>2]=1,h[Us>>2]=y(c+(jn?Jt:Wt));while(0);pr(j,Pr,rr,vr,Rl,$a),pr(j,lr,Pn,vr,qo,Us);do if(!(ts(j,lr,Pn)|0)&&(ha(s,j)|0)==4){if((n[(Pl(j,lr)|0)+4>>2]|0)==3){O=0;break}O=(n[(bc(j,lr)|0)+4>>2]|0)!=3}else O=0;while(0);Wt=y(h[$a>>2]),Jt=y(h[Us>>2]),hf=n[Rl>>2]|0,ii=n[qo>>2]|0,fa(j,jn?Wt:Jt,jn?Jt:Wt,Bs,jn?hf:ii,jn?ii:hf,vr,mo,k&(O^1),3488,M)|0,o[Fl>>0]=o[Fl>>0]|o[j+508>>0],j=n[j+960>>2]|0}while((j|0)!=0)}}else l=y(0);if(l=y(Ir+l),ii=l<y(0)&1,o[Fl>>0]=ii|u[Fl>>0],kp&l>y(0)?(O=n[kl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(_s=y(Hr(s+364+(O<<3)|0,yo)),_s>=y(0))?Re=y(Nn(y(0),y(_s-y(rr-l)))):Re=y(0)):Re=l,Tt=Qr>>>0<ir>>>0,Tt){We=n[Co>>2]|0,se=Qr,O=0;do j=n[We+(se<<2)>>2]|0,n[j+24>>2]|0||(O=((n[(Pl(j,Pr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(bc(j,Pr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(ir|0));O?(Ze=y(0),c=y(0)):Jr=101}else Jr=101;e:do if((Jr|0)==101)switch(Jr=0,Lp|0){case 1:{O=0,Ze=y(Re*y(.5)),c=y(0);break e}case 2:{O=0,Ze=Re,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Ze=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Ze=y(0),c=y(y(Nn(Re,y(0)))/c);break e}case 5:{c=y(Re/y((m+1|0)>>>0)),O=0,Ze=c;break e}case 4:{c=y(Re/y(m>>>0)),O=0,Ze=y(c*y(.5));break e}default:{O=0,Ze=y(0),c=y(0);break e}}while(0);if(l=y(Op+Ze),Tt){et=y(Re/y(O|0)),se=n[Co>>2]|0,j=Qr,Re=y(0);do{O=n[se+(j<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(Ai(O,Pr)|0){if(!k)break e;Wt=y(Fr(O,Pr,rr)),Wt=y(Wt+y(gr(s,Pr))),Wt=y(Wt+y(K(O,Pr,vr))),h[O+400+(n[Ou>>2]<<2)>>2]=Wt;break e}break}case 0:if(ii=(n[(Pl(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ii?Wt:l,k&&(ii=O+400+(n[Ou>>2]<<2)|0,h[ii>>2]=y(l+y(h[ii>>2]))),ii=(n[(bc(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ii?Wt:l,ya){Wt=y(c+y(rn(O,Pr,vr))),Re=Pn,l=y(l+y(Wt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(ns(O,Pr,vr)))),Re=y(Nn(Re,y(ns(O,lr,vr))));break e}default:}k&&(Wt=y(Ze+y(gr(s,Pr))),ii=O+400+(n[Ou>>2]<<2)|0,h[ii>>2]=y(Wt+y(h[ii>>2])))}while(0);j=j+1|0}while((j|0)!=(ir|0))}else Re=y(0);if(c=y(Mp+l),Fp?Ze=y(y(Ei(s,lr,y(Hs+Re),Lc,B))-Hs):Ze=Pn,et=y(y(Ei(s,lr,y(Hs+(Np?Pn:Re)),Lc,B))-Hs),Tt&k){j=Qr;do{se=n[(n[Co>>2]|0)+(j<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(Ai(se,lr)|0){if(Wt=y(Fr(se,lr,Pn)),Wt=y(Wt+y(gr(s,lr))),Wt=y(Wt+y(K(se,lr,vr))),O=n[Lu>>2]|0,h[se+400+(O<<2)>>2]=Wt,!(Ot(Wt)|0))break}else O=n[Lu>>2]|0;Wt=y(gr(s,lr)),h[se+400+(O<<2)>>2]=y(Wt+y(K(se,lr,vr)));break}O=ha(s,se)|0;do if((O|0)==4){if((n[(Pl(se,lr)|0)+4>>2]|0)==3){Jr=139;break}if((n[(bc(se,lr)|0)+4>>2]|0)==3){Jr=139;break}if(ts(se,lr,Pn)|0){l=Le;break}hf=n[se+908+(n[kl>>2]<<2)>>2]|0,n[Us>>2]=hf,l=y(h[se+396>>2]),ii=Ot(l)|0,Re=(n[v>>2]=hf,y(h[v>>2])),ii?l=et:(Ir=y(rn(se,lr,vr)),Wt=y(Re/l),l=y(l*Re),l=y(Ir+(jn?Wt:l))),h[$a>>2]=l,h[Us>>2]=y(y(rn(se,Pr,vr))+Re),n[qo>>2]=1,n[Rl>>2]=1,pr(se,Pr,rr,vr,qo,Us),pr(se,lr,Pn,vr,Rl,$a),l=y(h[Us>>2]),Ir=y(h[$a>>2]),Wt=jn?l:Ir,l=jn?Ir:l,ii=((Ot(Wt)|0)^1)&1,fa(se,Wt,l,Bs,ii,((Ot(l)|0)^1)&1,vr,mo,1,3493,M)|0,l=Le}else Jr=139;while(0);e:do if((Jr|0)==139){Jr=0,l=y(Ze-y(ns(se,lr,vr)));do if((n[(Pl(se,lr)|0)+4>>2]|0)==3){if((n[(bc(se,lr)|0)+4>>2]|0)!=3)break;l=y(Le+y(Nn(y(0),y(l*y(.5)))));break e}while(0);if((n[(bc(se,lr)|0)+4>>2]|0)==3){l=Le;break}if((n[(Pl(se,lr)|0)+4>>2]|0)==3){l=y(Le+y(Nn(y(0),l)));break}switch(O|0){case 1:{l=Le;break e}case 2:{l=y(Le+y(l*y(.5)));break e}default:{l=y(Le+l);break e}}}while(0);Wt=y(ws+l),ii=se+400+(n[Lu>>2]<<2)|0,h[ii>>2]=y(Wt+y(h[ii>>2]))}while(0);j=j+1|0}while((j|0)!=(ir|0))}if(ws=y(ws+et),Rc=y(Nn(Rc,c)),m=go+1|0,ir>>>0>=qs>>>0)break;l=rr,Qr=ir,go=m}do if(k){if(O=m>>>0>1,!O&&!(Gi(s)|0))break;if(!(Ot(Pn)|0)){l=y(Pn-ws);e:do switch(n[s+12>>2]|0){case 3:{Le=y(Le+l),He=y(0);break}case 2:{Le=y(Le+y(l*y(.5))),He=y(0);break}case 4:{Pn>ws?He=y(l/y(m>>>0)):He=y(0);break}case 7:if(Pn>ws){Le=y(Le+y(l/y(m<<1>>>0))),He=y(l/y(m>>>0)),He=O?He:y(0);break e}else{Le=y(Le+y(l*y(.5))),He=y(0);break e}case 6:{He=y(l/y(go>>>0)),He=Pn>ws&O?He:y(0);break}default:He=y(0)}while(0);if(m|0)for(Tt=1040+(lr<<2)|0,Rr=976+(lr<<2)|0,We=0,j=0;;){e:do if(j>>>0<qs>>>0)for(Re=y(0),et=y(0),l=y(0),se=j;;){O=n[(n[Co>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(We|0))break e;if(Mm(O,lr)|0&&(Wt=y(h[O+908+(n[Rr>>2]<<2)>>2]),l=y(Nn(l,y(Wt+y(rn(O,lr,vr)))))),(ha(s,O)|0)!=5)break;_s=y(Va(O)),_s=y(_s+y(K(O,0,vr))),Wt=y(h[O+912>>2]),Wt=y(y(Wt+y(rn(O,0,vr)))-_s),_s=y(Nn(et,_s)),Wt=y(Nn(Re,Wt)),Re=Wt,et=_s,l=y(Nn(l,y(_s+Wt)))}while(0);if(O=se+1|0,O>>>0<qs>>>0)se=O;else{se=O;break}}else et=y(0),l=y(0),se=j;while(0);if(at=y(He+l),c=Le,Le=y(Le+at),j>>>0<se>>>0){Ze=y(c+et),O=j;do{j=n[(n[Co>>2]|0)+(O<<2)>>2]|0;e:do if((n[j+36>>2]|0)!=1&&(n[j+24>>2]|0)==0)switch(ha(s,j)|0){case 1:{Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 3:{Wt=y(y(Le-y(te(j,lr,vr)))-y(h[j+908+(n[Rr>>2]<<2)>>2])),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 2:{Wt=y(c+y(y(at-y(h[j+908+(n[Rr>>2]<<2)>>2]))*y(.5))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 4:{if(Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt,ts(j,lr,Pn)|0||(jn?(Re=y(h[j+908>>2]),l=y(Re+y(rn(j,Pr,vr))),et=at):(et=y(h[j+912>>2]),et=y(et+y(rn(j,lr,vr))),l=at,Re=y(h[j+908>>2])),Ci(l,Re)|0&&Ci(et,y(h[j+912>>2]))|0))break e;fa(j,l,et,Bs,1,1,vr,mo,1,3501,M)|0;break e}case 5:{h[j+404>>2]=y(y(Ze-y(Va(j)))+y(Fr(j,0,Pn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(We=We+1|0,(We|0)==(m|0))break;j=se}}}while(0);if(h[s+908>>2]=y(Ei(s,2,Tc,B,B)),h[s+912>>2]=y(Ei(s,0,lf,Q,B)),(Tl|0)!=0&&(cf=n[s+32>>2]|0,uf=(Tl|0)==2,!(uf&(cf|0)!=2))?uf&(cf|0)==2&&(l=y(Nc+rr),l=y(Nn(y(Qg(l,y(MA(s,Pr,Rc,yo)))),Nc)),Jr=198):(l=y(Ei(s,Pr,Rc,yo,B)),Jr=198),(Jr|0)==198&&(h[s+908+(n[976+(Pr<<2)>>2]<<2)>>2]=l),(Nl|0)!=0&&(ff=n[s+32>>2]|0,pf=(Nl|0)==2,!(pf&(ff|0)!=2))?pf&(ff|0)==2&&(l=y(Hs+Pn),l=y(Nn(y(Qg(l,y(MA(s,lr,y(Hs+ws),Lc)))),Hs)),Jr=204):(l=y(Ei(s,lr,y(Hs+ws),Lc,B)),Jr=204),(Jr|0)==204&&(h[s+908+(n[976+(lr<<2)>>2]<<2)>>2]=l),k){if((n[Af>>2]|0)==2){j=976+(lr<<2)|0,se=1040+(lr<<2)|0,O=0;do We=Ts(s,O)|0,n[We+24>>2]|0||(hf=n[j>>2]|0,Wt=y(h[s+908+(hf<<2)>>2]),ii=We+400+(n[se>>2]<<2)|0,Wt=y(Wt-y(h[ii>>2])),h[ii>>2]=y(Wt-y(h[We+908+(hf<<2)>>2]))),O=O+1|0;while((O|0)!=(qs|0))}if(f|0){O=jn?Tl:d;do Um(s,f,vr,O,mo,Bs,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Pr|2|0)==3,j=(lr|2|0)==3,O|j){f=0;do se=n[(n[Co>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&Cp(s,se,Pr),j&&Cp(s,se,lr)),f=f+1|0;while((f|0)!=(qs|0))}}}while(0);C=Ll}function pa(s,l){s=s|0,l=y(l);var c=0;na(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function Pc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=$e,m=$e,B=0,Q=0,k=0;n[2278]=(n[2278]|0)+1,Sl(s),ts(s,2,l)|0?(d=y(Hr(n[s+992>>2]|0,l)),k=1,d=y(d+y(rn(s,2,l)))):(d=y(Hr(s+380|0,l)),d>=y(0)?k=2:(k=((Ot(l)|0)^1)&1,d=l)),ts(s,0,c)|0?(m=y(Hr(n[s+996>>2]|0,c)),Q=1,m=y(m+y(rn(s,0,l)))):(m=y(Hr(s+388|0,c)),m>=y(0)?Q=2:(Q=((Ot(c)|0)^1)&1,m=c)),B=s+976|0,fa(s,d,m,f,k,Q,l,c,1,3189,n[B>>2]|0)|0&&(mp(s,n[s+496>>2]|0,l,c,l),xc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&Rm(s,7)}function Sl(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;Q=C,C=C+32|0,B=Q+24|0,m=Q+16|0,f=Q+8|0,d=Q,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(k=l,M=n[k+4>>2]|0,O=f,n[O>>2]=n[k>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,k=d,n[k>>2]=n[O>>2],n[k+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],Cs(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);C=Q}function ts(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])<y(0)?s=0:f=5;break}case 2:{y(h[s>>2])<y(0)?s=0:s=(Ot(c)|0)^1;break}default:f=5}return(f|0)==5&&(s=1),s|0}function Hr(s,l){switch(s=s|0,l=y(l),n[s+4>>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(he)}return y(l)}function mp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=$e;l=n[s+944>>2]|0?l:1,m=ur(n[s+4>>2]|0,l)|0,l=fI(m,l)|0,c=y(_m(s,m,c)),f=y(_m(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(te(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(te(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function xc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=$e,Q=$e,k=0,M=0,O=$e,j=0,se=$e,We=$e,Le=$e,Re=$e;if(l!=y(0)&&(d=s+400|0,Re=y(h[d>>2]),m=s+404|0,Le=y(h[m>>2]),j=s+416|0,We=y(h[j>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Re+c),O=y(Le+f),f=y(se+We),Q=y(O+B),k=(n[s+988>>2]|0)==1,h[d>>2]=y(_o(Re,l,0,k)),h[m>>2]=y(_o(Le,l,0,k)),c=y(IR(y(We*l),y(1))),Ci(c,y(0))|0?m=0:m=(Ci(c,y(1))|0)^1,c=y(IR(y(B*l),y(1))),Ci(c,y(0))|0?d=0:d=(Ci(c,y(1))|0)^1,Re=y(_o(f,l,k&m,k&(m^1))),h[j>>2]=y(Re-y(_o(se,l,0,k))),Re=y(_o(Q,l,k&d,k&(d^1))),h[M>>2]=y(Re-y(_o(O,l,0,k))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do xc(Ts(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function AI(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=e7(n[489]|0,f,d)|0;break}default:s=m3e(f,d)|0}return s|0}function gg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=C,C=C+16|0,m=d,n[m>>2]=f,dg(s,0,l,c,m),C=d}function dg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,I7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Rt();else return}function Ka(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Nm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(mg(s,f),kt(s,n[l>>2]|0,n[c>>2]|0,f))}function mg(s,l){s=s|0,l=l|0;var c=0;if((N(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function kt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Er(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function N(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),Ae(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=Sn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function te(s,l,c){return s=s|0,l=l|0,c=y(c),Ae(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=Sn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function Ae(s){return s=s|0,(s|1|0)==3|0}function ze(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Hr(s,l)),y(l)}function gt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function ur(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function gr(s,l){s=s|0,l=l|0;var c=$e;return Ae(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function hn(s,l){s=s|0,l=l|0;var c=$e;return Ae(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function ri(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return Ae(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(Hr(s+236|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Ni(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return Ae(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(Hr(s+244|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function yg(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e,j=$e,se=$e,We=0,Le=0,Re=0;Re=C,C=C+16|0,We=Re,Le=s+964|0,Yn(s,(n[Le>>2]|0)!=0,3519),Q=y(gn(s,2,l)),k=y(gn(s,0,l)),M=y(rn(s,2,l)),O=y(rn(s,0,l)),Ot(l)|0?j=l:j=y(Nn(y(0),y(y(l-M)-Q))),Ot(c)|0?se=c:se=y(Nn(y(0),y(y(c-O)-k))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Ei(s,2,y(l-M),m,m)),l=y(Ei(s,0,y(c-O),B,m))):(w7[n[Le>>2]&1](We,s,j,f,se,d),j=y(Q+y(h[We>>2])),se=y(l-M),h[s+908>>2]=y(Ei(s,2,(f|2|0)==2?j:se,m,m)),se=y(k+y(h[We+4>>2])),l=y(c-O),l=y(Ei(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,C=Re}function Qv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e;M=y(gn(s,2,m)),Q=y(gn(s,0,m)),O=y(rn(s,2,m)),k=y(rn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Ei(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-k),h[s+912>>2]=y(Ei(s,0,(d|2|0)==2?Q:c,B,m))}function kv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=0,k=$e,M=$e;return Q=(f|0)==2,!(l<=y(0)&Q)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(k=y(rn(s,0,m)),M=y(rn(s,2,m)),Q=l<y(0)&Q|(Ot(l)|0),l=y(l-M),h[s+908>>2]=y(Ei(s,2,Q?y(0):l,m,m)),l=y(c-k),Q=c<y(0)&(d|0)==2|(Ot(c)|0),h[s+912>>2]=y(Ei(s,0,Q?y(0):l,B,m)),s=1),s|0}function fI(s,l){return s=s|0,l=l|0,UA(s)|0?s=ur(2,l)|0:s=0,s|0}function yp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ri(s,l,c)),y(c+y(gr(s,l)))}function pI(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Ni(s,l,c)),y(c+y(hn(s,l)))}function gn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(yp(s,l,c)),y(f+y(pI(s,l,c)))}function Lm(s){return s=s|0,n[s+24>>2]|0?s=0:y(rs(s))!=y(0)?s=1:s=y(Ms(s))!=y(0),s|0}function rs(s){s=s|0;var l=$e;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ot(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ot(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function Ms(s){s=s|0;var l=$e,c=0,f=$e;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ot(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f<y(0)&((Ot(f)|0)^1))){l=y(-f);break}l=c<<24>>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function Pu(s){s=s|0;var l=0,c=0;if($m(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=Zi(s)|0,c|0){l=s+948|0,s=0;do Pu(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Om(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),Q=Q|0,k=k|0,M=M|0;var O=0,j=$e,se=0,We=0,Le=$e,Re=$e,et=0,Ze=$e,at=0,He=$e,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0;Bn=C,C=C+16|0,Rr=Bn+12|0,ir=Bn+8|0,Jt=Bn+4|0,Ir=Bn,rr=ur(n[s+4>>2]|0,k)|0,Ge=Ae(rr)|0,j=y(Hr(hI(l)|0,Ge?m:B)),Tt=ts(l,2,m)|0,Qr=ts(l,0,B)|0;do if(!(Ot(j)|0)&&!(Ot(Ge?c:d)|0)){if(O=l+504|0,!(Ot(y(h[O>>2]))|0)&&(!(gI(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(Nn(j,y(gn(l,rr,m))))}else se=7;while(0);do if((se|0)==7){if(at=Ge^1,!(at|Tt^1)){B=y(Hr(n[l+992>>2]|0,m)),h[l+504>>2]=y(Nn(B,y(gn(l,2,m))));break}if(!(Ge|Qr^1)){B=y(Hr(n[l+996>>2]|0,B)),h[l+504>>2]=y(Nn(B,y(gn(l,0,m))));break}h[Rr>>2]=y(he),h[ir>>2]=y(he),n[Jt>>2]=0,n[Ir>>2]=0,Ze=y(rn(l,2,m)),He=y(rn(l,0,m)),Tt?(Le=y(Ze+y(Hr(n[l+992>>2]|0,m))),h[Rr>>2]=Le,n[Jt>>2]=1,We=1):(We=0,Le=y(he)),Qr?(j=y(He+y(Hr(n[l+996>>2]|0,B))),h[ir>>2]=j,n[Ir>>2]=1,O=1):(O=0,j=y(he)),se=n[s+32>>2]|0,Ge&(se|0)==2?se=2:Ot(Le)|0&&!(Ot(c)|0)&&(h[Rr>>2]=c,n[Jt>>2]=2,We=2,Le=c),!((se|0)==2&at)&&Ot(j)|0&&!(Ot(d)|0)&&(h[ir>>2]=d,n[Ir>>2]=2,O=2,j=d),Re=y(h[l+396>>2]),et=Ot(Re)|0;do if(et)se=We;else{if((We|0)==1&at){h[ir>>2]=y(y(Le-Ze)/Re),n[Ir>>2]=1,O=1,se=1;break}Ge&(O|0)==1?(h[Rr>>2]=y(Re*y(j-He)),n[Jt>>2]=1,O=1,se=1):se=We}while(0);po=Ot(c)|0,We=(ha(s,l)|0)!=4,!(Ge|Tt|((f|0)!=1|po)|(We|(se|0)==1))&&(h[Rr>>2]=c,n[Jt>>2]=1,!et)&&(h[ir>>2]=y(y(c-Ze)/Re),n[Ir>>2]=1,O=1),!(Qr|at|((Q|0)!=1|(Ot(d)|0))|(We|(O|0)==1))&&(h[ir>>2]=d,n[Ir>>2]=1,!et)&&(h[Rr>>2]=y(Re*y(d-He)),n[Jt>>2]=1),pr(l,2,m,m,Jt,Rr),pr(l,0,B,m,Ir,ir),c=y(h[Rr>>2]),d=y(h[ir>>2]),fa(l,c,d,k,n[Jt>>2]|0,n[Ir>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(rr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(Nn(B,y(gn(l,rr,m))))}while(0);n[l+500>>2]=n[2278],C=Bn}function Ei(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(MA(s,l,c,f)),y(Nn(f,y(gn(s,l,d))))}function ha(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&UA(n[s+4>>2]|0)|0&&(l=1),l|0}function Pl(s,l){return s=s|0,l=l|0,Ae(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function bc(s,l){return s=s|0,l=l|0,Ae(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function pr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Hr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(rn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ot(c)|0,f=y(h[m>>2]),h[m>>2]=d|f<c?f:c;break}case 0:{Ot(c)|0||(n[d>>2]=2,h[m>>2]=c);break}default:}}function Ai(s,l){return s=s|0,l=l|0,s=s+132|0,Ae(l)|0&&(n[(Sn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Fr(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,Ae(l)|0&&(f=Sn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function ns(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(te(s,l,c)))}function Gi(s){s=s|0;var l=0,c=0,f=0;e:do if(UA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=Zi(s)|0,!c)l=0;else for(l=0;;){if(f=Ts(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Mm(s,l){s=s|0,l=l|0;var c=$e;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ot(c)|0)^1)|0}function Va(s){s=s|0;var l=$e,c=0,f=0,d=0,m=0,B=0,Q=0,k=$e;if(c=n[s+968>>2]|0,c)k=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(m7[c&0](s,k,l)),Yn(s,(Ot(l)|0)^1,3573);else{m=Zi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=Ts(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(Q=(ha(s,f)|0)==5,Q){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Va(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function MA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=$e,m=0;return UA(l)|0?(l=1,m=3):Ae(l)|0?(l=0,m=3):(f=y(he),d=y(he)),(m|0)==3&&(d=y(Hr(s+364+(l<<3)|0,f)),f=y(Hr(s+380+(l<<3)|0,f))),m=f<c&(f>=y(0)&((Ot(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ot(d)|0)^1)&c<d,y(m?d:c)}function Um(s,l,c,f,d,m,B){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,B=B|0;var Q=$e,k=$e,M=0,O=0,j=$e,se=$e,We=$e,Le=0,Re=0,et=0,Ze=0,at=$e,He=0;et=ur(n[s+4>>2]|0,m)|0,Le=fI(et,m)|0,Re=Ae(et)|0,j=y(rn(l,2,c)),se=y(rn(l,0,c)),ts(l,2,c)|0?Q=y(j+y(Hr(n[l+992>>2]|0,c))):Ai(l,2)|0&&nr(l,2)|0?(Q=y(h[s+908>>2]),k=y(gr(s,2)),k=y(Q-y(k+y(hn(s,2)))),Q=y(Fr(l,2,c)),Q=y(Ei(l,2,y(k-y(Q+y(xu(l,2,c)))),c,c))):Q=y(he),ts(l,0,d)|0?k=y(se+y(Hr(n[l+996>>2]|0,d))):Ai(l,0)|0&&nr(l,0)|0?(k=y(h[s+912>>2]),at=y(gr(s,0)),at=y(k-y(at+y(hn(s,0)))),k=y(Fr(l,0,d)),k=y(Ei(l,0,y(at-y(k+y(xu(l,0,d)))),d,c))):k=y(he),M=Ot(Q)|0,O=Ot(k)|0;do if(M^O&&(We=y(h[l+396>>2]),!(Ot(We)|0)))if(M){Q=y(j+y(y(k-se)*We));break}else{at=y(se+y(y(Q-j)/We)),k=O?at:k;break}while(0);O=Ot(Q)|0,M=Ot(k)|0,O|M&&(He=(O^1)&1,f=c>y(0)&((f|0)!=0&O),Q=Re?Q:f?c:Q,fa(l,Q,k,m,Re?He:f?2:He,O&(M^1)&1,Q,k,0,3623,B)|0,Q=y(h[l+908>>2]),Q=y(Q+y(rn(l,2,c))),k=y(h[l+912>>2]),k=y(k+y(rn(l,0,c)))),fa(l,Q,k,m,1,1,Q,k,1,3635,B)|0,nr(l,et)|0&&!(Ai(l,et)|0)?(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,et))),at=y(at-y(te(l,et,c))),at=y(at-y(xu(l,et,Re?c:d))),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at):Ze=21;do if((Ze|0)==21){if(!(Ai(l,et)|0)&&(n[s+8>>2]|0)==1){He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at;break}!(Ai(l,et)|0)&&(n[s+8>>2]|0)==2&&(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at)}while(0);nr(l,Le)|0&&!(Ai(l,Le)|0)?(He=n[976+(Le<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,Le))),at=y(at-y(te(l,Le,c))),at=y(at-y(xu(l,Le,Re?d:c))),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=at):Ze=30;do if((Ze|0)==30&&!(Ai(l,Le)|0)){if((ha(s,l)|0)==2){He=n[976+(Le<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=at;break}He=(ha(s,l)|0)==3,He^(n[s+28>>2]|0)==2&&(He=n[976+(Le<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=at)}while(0)}function Cp(s,l,c){s=s|0,l=l|0,c=c|0;var f=$e,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function UA(s){return s=s|0,(s|1|0)==1|0}function hI(s){s=s|0;var l=$e;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ot(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function gI(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function nr(s,l){return s=s|0,l=l|0,s=s+132|0,Ae(l)|0&&(n[(Sn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function xu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,Ae(l)|0&&(f=Sn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function _m(s,l,c){return s=s|0,l=l|0,c=y(c),Ai(s,l)|0?c=y(Fr(s,l,c)):c=y(-y(xu(s,l,c))),y(c)}function bu(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Ep(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function Cg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _A(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function HA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;if(B=s+4|0,Q=n[B>>2]|0,d=Q-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0<c>>>0){f=Q;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0<c>>>0)}m|0&&bI(Q+(0-m<<2)|0,l|0,d|0)|0}function Eg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return Q=l+4|0,k=n[Q>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=k+(0-(m>>2)<<2)|0,n[Q>>2]=f,(m|0)>0&&Er(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(Er(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[Q>>2],n[Q>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[Q>>2],k|0}function dI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Hm(){Cc()}function ga(){var s=0;return s=Gt(4)|0,qA(s),s|0}function qA(s){s=s|0,n[s>>2]=$i()|0}function Qc(s){s=s|0,s|0&&(Ig(s),pt(s))}function Ig(s){s=s|0,mi(n[s>>2]|0)}function qm(s,l,c){s=s|0,l=l|0,c=c|0,Ka(n[s>>2]|0,l,c)}function uo(s,l){s=s|0,l=y(l),pa(n[s>>2]|0,l)}function Fv(s,l){return s=s|0,l=l|0,gI(n[s>>2]|0,l)|0}function mI(){var s=0;return s=Gt(8)|0,Rv(s,0),s|0}function Rv(s,l){s=s|0,l=l|0,l?l=di(n[l>>2]|0)|0:l=oo()|0,n[s>>2]=l,n[s+4>>2]=0,_r(l,s)}function iF(s){s=s|0;var l=0;return l=Gt(8)|0,Rv(l,s),l|0}function Tv(s){s=s|0,s|0&&(Qu(s),pt(s))}function Qu(s){s=s|0;var l=0;sa(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(jA(s),pt(s))}function jA(s){s=s|0,GA(s)}function GA(s){s=s|0,s=n[s>>2]|0,s|0&&bA(s|0)}function yI(s){return s=s|0,ei(s)|0}function jm(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(jA(l),pt(l)),ao(n[s>>2]|0)}function sF(s,l){s=s|0,l=l|0,tr(n[s>>2]|0,n[l>>2]|0)}function oF(s,l){s=s|0,l=l|0,ca(n[s>>2]|0,l)}function Nv(s,l,c){s=s|0,l=l|0,c=+c,wu(n[s>>2]|0,l,y(c))}function Lv(s,l,c){s=s|0,l=l|0,c=+c,ms(n[s>>2]|0,l,y(c))}function CI(s,l){s=s|0,l=l|0,yi(n[s>>2]|0,l)}function ku(s,l){s=s|0,l=l|0,ja(n[s>>2]|0,l)}function aF(s,l){s=s|0,l=l|0,FA(n[s>>2]|0,l)}function lF(s,l){s=s|0,l=l|0,Ti(n[s>>2]|0,l)}function Ip(s,l){s=s|0,l=l|0,Ic(n[s>>2]|0,l)}function cF(s,l){s=s|0,l=l|0,qa(n[s>>2]|0,l)}function Ov(s,l,c){s=s|0,l=l|0,c=+c,Bc(n[s>>2]|0,l,y(c))}function WA(s,l,c){s=s|0,l=l|0,c=+c,G(n[s>>2]|0,l,y(c))}function uF(s,l){s=s|0,l=l|0,vl(n[s>>2]|0,l)}function AF(s,l){s=s|0,l=l|0,ng(n[s>>2]|0,l)}function Mv(s,l){s=s|0,l=l|0,up(n[s>>2]|0,l)}function EI(s,l){s=s|0,l=+l,RA(n[s>>2]|0,y(l))}function II(s,l){s=s|0,l=+l,Ga(n[s>>2]|0,y(l))}function fF(s,l){s=s|0,l=+l,ji(n[s>>2]|0,y(l))}function pF(s,l){s=s|0,l=+l,Os(n[s>>2]|0,y(l))}function xl(s,l){s=s|0,l=+l,Iu(n[s>>2]|0,y(l))}function wI(s,l){s=s|0,l=+l,cI(n[s>>2]|0,y(l))}function hF(s,l){s=s|0,l=+l,TA(n[s>>2]|0,y(l))}function YA(s){s=s|0,Ap(n[s>>2]|0)}function Gm(s,l){s=s|0,l=+l,ys(n[s>>2]|0,y(l))}function Fu(s,l){s=s|0,l=+l,og(n[s>>2]|0,y(l))}function BI(s){s=s|0,ag(n[s>>2]|0)}function vI(s,l){s=s|0,l=+l,fp(n[s>>2]|0,y(l))}function gF(s,l){s=s|0,l=+l,Dc(n[s>>2]|0,y(l))}function Uv(s,l){s=s|0,l=+l,Qm(n[s>>2]|0,y(l))}function KA(s,l){s=s|0,l=+l,cg(n[s>>2]|0,y(l))}function _v(s,l){s=s|0,l=+l,vu(n[s>>2]|0,y(l))}function Wm(s,l){s=s|0,l=+l,km(n[s>>2]|0,y(l))}function Hv(s,l){s=s|0,l=+l,Du(n[s>>2]|0,y(l))}function qv(s,l){s=s|0,l=+l,uI(n[s>>2]|0,y(l))}function Ym(s,l){s=s|0,l=+l,Aa(n[s>>2]|0,y(l))}function jv(s,l,c){s=s|0,l=l|0,c=+c,Bu(n[s>>2]|0,l,y(c))}function dF(s,l,c){s=s|0,l=l|0,c=+c,Si(n[s>>2]|0,l,y(c))}function S(s,l,c){s=s|0,l=l|0,c=+c,vc(n[s>>2]|0,l,y(c))}function D(s){return s=s|0,rg(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,wc(d,n[l>>2]|0,c),q(s,d),C=f}function q(s,l){s=s|0,l=l|0,W(s,n[l+4>>2]|0,+y(h[l>>2]))}function W(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,E[s+8>>3]=c}function ce(s){return s=s|0,la(n[s>>2]|0)|0}function Se(s){return s=s|0,lo(n[s>>2]|0)|0}function It(s){return s=s|0,Ec(n[s>>2]|0)|0}function Ct(s){return s=s|0,Kn(n[s>>2]|0)|0}function xt(s){return s=s|0,bm(n[s>>2]|0)|0}function Nr(s){return s=s|0,aa(n[s>>2]|0)|0}function is(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Dt(d,n[l>>2]|0,c),q(s,d),C=f}function fi(s){return s=s|0,Vn(n[s>>2]|0)|0}function Ao(s){return s=s|0,ig(n[s>>2]|0)|0}function VA(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ua(f,n[l>>2]|0),q(s,f),C=c}function Ho(s){return s=s|0,+ +y(Zr(n[s>>2]|0))}function rt(s){return s=s|0,+ +y(Tn(n[s>>2]|0))}function Je(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,yr(f,n[l>>2]|0),q(s,f),C=c}function ft(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,lg(f,n[l>>2]|0),q(s,f),C=c}function jt(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,mt(f,n[l>>2]|0),q(s,f),C=c}function Cr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ug(f,n[l>>2]|0),q(s,f),C=c}function In(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Ag(f,n[l>>2]|0),q(s,f),C=c}function Sr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Fm(f,n[l>>2]|0),q(s,f),C=c}function wn(s){return s=s|0,+ +y(Sc(n[s>>2]|0))}function ni(s,l){return s=s|0,l=l|0,+ +y(sg(n[s>>2]|0,l))}function Xr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,lt(d,n[l>>2]|0,c),q(s,d),C=f}function fo(s,l,c){s=s|0,l=l|0,c=c|0,oa(n[s>>2]|0,n[l>>2]|0,c)}function mF(s,l){s=s|0,l=l|0,Ls(n[s>>2]|0,n[l>>2]|0)}function Ive(s){return s=s|0,Zi(n[s>>2]|0)|0}function wve(s){return s=s|0,s=xe(n[s>>2]|0)|0,s?s=yI(s)|0:s=0,s|0}function Bve(s,l){return s=s|0,l=l|0,s=Ts(n[s>>2]|0,l)|0,s?s=yI(s)|0:s=0,s|0}function vve(s,l){s=s|0,l=l|0;var c=0,f=0;f=Gt(4)|0,YG(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(jA(l),pt(l)),Ha(n[s>>2]|0,1)}function YG(s,l){s=s|0,l=l|0,Lve(s,l)}function Dve(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,Q=0;B=C,C=C+16|0,Q=B,Sve(Q,ei(l)|0,+c,f,+d,m),h[s>>2]=y(+E[Q>>3]),h[s+4>>2]=y(+E[Q+8>>3]),C=B}function Sve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,Q=0,k=0,M=0,O=0;B=C,C=C+32|0,O=B+8|0,M=B+20|0,k=B,Q=B+16|0,E[O>>3]=c,n[M>>2]=f,E[k>>3]=d,n[Q>>2]=m,Pve(s,n[l+4>>2]|0,O,M,k,Q),C=B}function Pve(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0;B=C,C=C+16|0,Q=B,za(Q),l=da(l)|0,xve(s,l,+E[c>>3],n[f>>2]|0,+E[d>>3],n[m>>2]|0),Xa(Q),C=B}function da(s){return s=s|0,n[s>>2]|0}function xve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=bl(bve()|0)|0,c=+JA(c),f=yF(f)|0,d=+JA(d),Qve(s,ui(0,B|0,l|0,+c,f|0,+d,yF(m)|0)|0)}function bve(){var s=0;return o[7608]|0||(Tve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function bl(s){return s=s|0,n[s+8>>2]|0}function JA(s){return s=+s,+ +CF(s)}function yF(s){return s=s|0,VG(s)|0}function Qve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=l,f&1?(kve(c,0),$n(f|0,c|0)|0,Fve(s,c),Rve(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),C=d}function kve(s,l){s=s|0,l=l|0,KG(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function Fve(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function Rve(s){s=s|0,o[s+24>>0]=0}function KG(s,l){s=s|0,l=l|0,n[s>>2]=l}function VG(s){return s=s|0,s|0}function CF(s){return s=+s,+s}function Tve(s){s=s|0,Ql(s,Nve()|0,4)}function Nve(){return 1064}function Ql(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=cp(l|0,c+1|0)|0}function Lve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,El(l|0)}function Ove(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(jA(l),pt(l)),Ha(n[s>>2]|0,0)}function Mve(s){s=s|0,Ve(n[s>>2]|0)}function Uve(s){return s=s|0,vt(n[s>>2]|0)|0}function _ve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,Pc(n[s>>2]|0,y(l),y(c),f)}function Hve(s){return s=s|0,+ +y(Dl(n[s>>2]|0))}function qve(s){return s=s|0,+ +y(fg(n[s>>2]|0))}function jve(s){return s=s|0,+ +y(Su(n[s>>2]|0))}function Gve(s){return s=s|0,+ +y(NA(n[s>>2]|0))}function Wve(s){return s=s|0,+ +y(pp(n[s>>2]|0))}function Yve(s){return s=s|0,+ +y(Wa(n[s>>2]|0))}function Kve(s,l){s=s|0,l=l|0,E[s>>3]=+y(Dl(n[l>>2]|0)),E[s+8>>3]=+y(fg(n[l>>2]|0)),E[s+16>>3]=+y(Su(n[l>>2]|0)),E[s+24>>3]=+y(NA(n[l>>2]|0)),E[s+32>>3]=+y(pp(n[l>>2]|0)),E[s+40>>3]=+y(Wa(n[l>>2]|0))}function Vve(s,l){return s=s|0,l=l|0,+ +y(pg(n[s>>2]|0,l))}function Jve(s,l){return s=s|0,l=l|0,+ +y(hp(n[s>>2]|0,l))}function zve(s,l){return s=s|0,l=l|0,+ +y(Uo(n[s>>2]|0,l))}function Xve(){return qn()|0}function Zve(){$ve(),eDe(),tDe(),rDe(),nDe(),iDe()}function $ve(){nLe(11713,4938,1)}function eDe(){wNe(10448)}function tDe(){nNe(10408)}function rDe(){STe(10324)}function nDe(){TFe(10096)}function iDe(){sDe(9132)}function sDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0,ho=0,go=0,ya=0,Qp=0,kp=0,kl=0,Fp=0,Lu=0,Ou=0,Rp=0,Tp=0,Np=0,Jr=0,Fl=0,Lp=0,Fc=0,Op=0,Mp=0,Mu=0,Uu=0,Rc=0,Us=0,$a=0,qo=0,Rl=0,nf=0,sf=0,_u=0,of=0,af=0,_s=0,ws=0,Tl=0,Pn=0,lf=0,mo=0,Tc=0,yo=0,Nc=0,cf=0,uf=0,Lc=0,Hs=0,Nl=0,Af=0,ff=0,pf=0,vr=0,jn=0,Bs=0,Co=0,qs=0,Pr=0,lr=0,Ll=0;l=C,C=C+672|0,c=l+656|0,Ll=l+648|0,lr=l+640|0,Pr=l+632|0,qs=l+624|0,Co=l+616|0,Bs=l+608|0,jn=l+600|0,vr=l+592|0,pf=l+584|0,ff=l+576|0,Af=l+568|0,Nl=l+560|0,Hs=l+552|0,Lc=l+544|0,uf=l+536|0,cf=l+528|0,Nc=l+520|0,yo=l+512|0,Tc=l+504|0,mo=l+496|0,lf=l+488|0,Pn=l+480|0,Tl=l+472|0,ws=l+464|0,_s=l+456|0,af=l+448|0,of=l+440|0,_u=l+432|0,sf=l+424|0,nf=l+416|0,Rl=l+408|0,qo=l+400|0,$a=l+392|0,Us=l+384|0,Rc=l+376|0,Uu=l+368|0,Mu=l+360|0,Mp=l+352|0,Op=l+344|0,Fc=l+336|0,Lp=l+328|0,Fl=l+320|0,Jr=l+312|0,Np=l+304|0,Tp=l+296|0,Rp=l+288|0,Ou=l+280|0,Lu=l+272|0,Fp=l+264|0,kl=l+256|0,kp=l+248|0,Qp=l+240|0,ya=l+232|0,go=l+224|0,ho=l+216|0,po=l+208|0,Bn=l+200|0,rr=l+192|0,Qr=l+184|0,Ir=l+176|0,Jt=l+168|0,ir=l+160|0,Rr=l+152|0,Tt=l+144|0,Ge=l+136|0,He=l+128|0,at=l+120|0,Ze=l+112|0,et=l+104|0,Re=l+96|0,Le=l+88|0,We=l+80|0,se=l+72|0,j=l+64|0,O=l+56|0,M=l+48|0,k=l+40|0,Q=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,oDe(s,3646),aDe(s,3651,2)|0,lDe(s,3665,2)|0,cDe(s,3682,18)|0,n[Ll>>2]=19,n[Ll+4>>2]=0,n[c>>2]=n[Ll>>2],n[c+4>>2]=n[Ll+4>>2],DI(s,3690,c)|0,n[lr>>2]=1,n[lr+4>>2]=0,n[c>>2]=n[lr>>2],n[c+4>>2]=n[lr+4>>2],uDe(s,3696,c)|0,n[Pr>>2]=2,n[Pr+4>>2]=0,n[c>>2]=n[Pr>>2],n[c+4>>2]=n[Pr+4>>2],Ru(s,3706,c)|0,n[qs>>2]=1,n[qs+4>>2]=0,n[c>>2]=n[qs>>2],n[c+4>>2]=n[qs+4>>2],wg(s,3722,c)|0,n[Co>>2]=2,n[Co+4>>2]=0,n[c>>2]=n[Co>>2],n[c+4>>2]=n[Co+4>>2],wg(s,3734,c)|0,n[Bs>>2]=3,n[Bs+4>>2]=0,n[c>>2]=n[Bs>>2],n[c+4>>2]=n[Bs+4>>2],Ru(s,3753,c)|0,n[jn>>2]=4,n[jn+4>>2]=0,n[c>>2]=n[jn>>2],n[c+4>>2]=n[jn+4>>2],Ru(s,3769,c)|0,n[vr>>2]=5,n[vr+4>>2]=0,n[c>>2]=n[vr>>2],n[c+4>>2]=n[vr+4>>2],Ru(s,3783,c)|0,n[pf>>2]=6,n[pf+4>>2]=0,n[c>>2]=n[pf>>2],n[c+4>>2]=n[pf+4>>2],Ru(s,3796,c)|0,n[ff>>2]=7,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],Ru(s,3813,c)|0,n[Af>>2]=8,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],Ru(s,3825,c)|0,n[Nl>>2]=3,n[Nl+4>>2]=0,n[c>>2]=n[Nl>>2],n[c+4>>2]=n[Nl+4>>2],wg(s,3843,c)|0,n[Hs>>2]=4,n[Hs+4>>2]=0,n[c>>2]=n[Hs>>2],n[c+4>>2]=n[Hs+4>>2],wg(s,3853,c)|0,n[Lc>>2]=9,n[Lc+4>>2]=0,n[c>>2]=n[Lc>>2],n[c+4>>2]=n[Lc+4>>2],Ru(s,3870,c)|0,n[uf>>2]=10,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],Ru(s,3884,c)|0,n[cf>>2]=11,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],Ru(s,3896,c)|0,n[Nc>>2]=1,n[Nc+4>>2]=0,n[c>>2]=n[Nc>>2],n[c+4>>2]=n[Nc+4>>2],Es(s,3907,c)|0,n[yo>>2]=2,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],Es(s,3915,c)|0,n[Tc>>2]=3,n[Tc+4>>2]=0,n[c>>2]=n[Tc>>2],n[c+4>>2]=n[Tc+4>>2],Es(s,3928,c)|0,n[mo>>2]=4,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],Es(s,3948,c)|0,n[lf>>2]=5,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Es(s,3960,c)|0,n[Pn>>2]=6,n[Pn+4>>2]=0,n[c>>2]=n[Pn>>2],n[c+4>>2]=n[Pn+4>>2],Es(s,3974,c)|0,n[Tl>>2]=7,n[Tl+4>>2]=0,n[c>>2]=n[Tl>>2],n[c+4>>2]=n[Tl+4>>2],Es(s,3983,c)|0,n[ws>>2]=20,n[ws+4>>2]=0,n[c>>2]=n[ws>>2],n[c+4>>2]=n[ws+4>>2],DI(s,3999,c)|0,n[_s>>2]=8,n[_s+4>>2]=0,n[c>>2]=n[_s>>2],n[c+4>>2]=n[_s+4>>2],Es(s,4012,c)|0,n[af>>2]=9,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],Es(s,4022,c)|0,n[of>>2]=21,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],DI(s,4039,c)|0,n[_u>>2]=10,n[_u+4>>2]=0,n[c>>2]=n[_u>>2],n[c+4>>2]=n[_u+4>>2],Es(s,4053,c)|0,n[sf>>2]=11,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],Es(s,4065,c)|0,n[nf>>2]=12,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],Es(s,4084,c)|0,n[Rl>>2]=13,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],Es(s,4097,c)|0,n[qo>>2]=14,n[qo+4>>2]=0,n[c>>2]=n[qo>>2],n[c+4>>2]=n[qo+4>>2],Es(s,4117,c)|0,n[$a>>2]=15,n[$a+4>>2]=0,n[c>>2]=n[$a>>2],n[c+4>>2]=n[$a+4>>2],Es(s,4129,c)|0,n[Us>>2]=16,n[Us+4>>2]=0,n[c>>2]=n[Us>>2],n[c+4>>2]=n[Us+4>>2],Es(s,4148,c)|0,n[Rc>>2]=17,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],Es(s,4161,c)|0,n[Uu>>2]=18,n[Uu+4>>2]=0,n[c>>2]=n[Uu>>2],n[c+4>>2]=n[Uu+4>>2],Es(s,4181,c)|0,n[Mu>>2]=5,n[Mu+4>>2]=0,n[c>>2]=n[Mu>>2],n[c+4>>2]=n[Mu+4>>2],wg(s,4196,c)|0,n[Mp>>2]=6,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],wg(s,4206,c)|0,n[Op>>2]=7,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],wg(s,4217,c)|0,n[Fc>>2]=3,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],zA(s,4235,c)|0,n[Lp>>2]=1,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],EF(s,4251,c)|0,n[Fl>>2]=4,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],zA(s,4263,c)|0,n[Jr>>2]=5,n[Jr+4>>2]=0,n[c>>2]=n[Jr>>2],n[c+4>>2]=n[Jr+4>>2],zA(s,4279,c)|0,n[Np>>2]=6,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],zA(s,4293,c)|0,n[Tp>>2]=7,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],zA(s,4306,c)|0,n[Rp>>2]=8,n[Rp+4>>2]=0,n[c>>2]=n[Rp>>2],n[c+4>>2]=n[Rp+4>>2],zA(s,4323,c)|0,n[Ou>>2]=9,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],zA(s,4335,c)|0,n[Lu>>2]=2,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],EF(s,4353,c)|0,n[Fp>>2]=12,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],Bg(s,4363,c)|0,n[kl>>2]=1,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],XA(s,4376,c)|0,n[kp>>2]=2,n[kp+4>>2]=0,n[c>>2]=n[kp>>2],n[c+4>>2]=n[kp+4>>2],XA(s,4388,c)|0,n[Qp>>2]=13,n[Qp+4>>2]=0,n[c>>2]=n[Qp>>2],n[c+4>>2]=n[Qp+4>>2],Bg(s,4402,c)|0,n[ya>>2]=14,n[ya+4>>2]=0,n[c>>2]=n[ya>>2],n[c+4>>2]=n[ya+4>>2],Bg(s,4411,c)|0,n[go>>2]=15,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],Bg(s,4421,c)|0,n[ho>>2]=16,n[ho+4>>2]=0,n[c>>2]=n[ho>>2],n[c+4>>2]=n[ho+4>>2],Bg(s,4433,c)|0,n[po>>2]=17,n[po+4>>2]=0,n[c>>2]=n[po>>2],n[c+4>>2]=n[po+4>>2],Bg(s,4446,c)|0,n[Bn>>2]=18,n[Bn+4>>2]=0,n[c>>2]=n[Bn>>2],n[c+4>>2]=n[Bn+4>>2],Bg(s,4458,c)|0,n[rr>>2]=3,n[rr+4>>2]=0,n[c>>2]=n[rr>>2],n[c+4>>2]=n[rr+4>>2],XA(s,4471,c)|0,n[Qr>>2]=1,n[Qr+4>>2]=0,n[c>>2]=n[Qr>>2],n[c+4>>2]=n[Qr+4>>2],Gv(s,4486,c)|0,n[Ir>>2]=10,n[Ir+4>>2]=0,n[c>>2]=n[Ir>>2],n[c+4>>2]=n[Ir+4>>2],zA(s,4496,c)|0,n[Jt>>2]=11,n[Jt+4>>2]=0,n[c>>2]=n[Jt>>2],n[c+4>>2]=n[Jt+4>>2],zA(s,4508,c)|0,n[ir>>2]=3,n[ir+4>>2]=0,n[c>>2]=n[ir>>2],n[c+4>>2]=n[ir+4>>2],EF(s,4519,c)|0,n[Rr>>2]=4,n[Rr+4>>2]=0,n[c>>2]=n[Rr>>2],n[c+4>>2]=n[Rr+4>>2],ADe(s,4530,c)|0,n[Tt>>2]=19,n[Tt+4>>2]=0,n[c>>2]=n[Tt>>2],n[c+4>>2]=n[Tt+4>>2],fDe(s,4542,c)|0,n[Ge>>2]=12,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],pDe(s,4554,c)|0,n[He>>2]=13,n[He+4>>2]=0,n[c>>2]=n[He>>2],n[c+4>>2]=n[He+4>>2],hDe(s,4568,c)|0,n[at>>2]=2,n[at+4>>2]=0,n[c>>2]=n[at>>2],n[c+4>>2]=n[at+4>>2],gDe(s,4578,c)|0,n[Ze>>2]=20,n[Ze+4>>2]=0,n[c>>2]=n[Ze>>2],n[c+4>>2]=n[Ze+4>>2],dDe(s,4587,c)|0,n[et>>2]=22,n[et+4>>2]=0,n[c>>2]=n[et>>2],n[c+4>>2]=n[et+4>>2],DI(s,4602,c)|0,n[Re>>2]=23,n[Re+4>>2]=0,n[c>>2]=n[Re>>2],n[c+4>>2]=n[Re+4>>2],DI(s,4619,c)|0,n[Le>>2]=14,n[Le+4>>2]=0,n[c>>2]=n[Le>>2],n[c+4>>2]=n[Le+4>>2],mDe(s,4629,c)|0,n[We>>2]=1,n[We+4>>2]=0,n[c>>2]=n[We>>2],n[c+4>>2]=n[We+4>>2],yDe(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],XA(s,4653,c)|0,n[j>>2]=5,n[j+4>>2]=0,n[c>>2]=n[j>>2],n[c+4>>2]=n[j+4>>2],XA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],XA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],XA(s,4701,c)|0,n[k>>2]=8,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],XA(s,4719,c)|0,n[Q>>2]=9,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],XA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],CDe(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],Gv(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],Gv(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],Gv(s,4808,c)|0,C=l}function oDe(s,l){s=s|0,l=l|0;var c=0;c=DFe()|0,n[s>>2]=c,SFe(c,l),Pp(n[s>>2]|0)}function aDe(s,l,c){return s=s|0,l=l|0,c=c|0,AFe(s,cn(l)|0,c,0),s|0}function lDe(s,l,c){return s=s|0,l=l|0,c=c|0,Jke(s,cn(l)|0,c,0),s|0}function cDe(s,l,c){return s=s|0,l=l|0,c=c|0,Nke(s,cn(l)|0,c,0),s|0}function DI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Cke(s,l,d),C=f,s|0}function uDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eke(s,l,d),C=f,s|0}function Ru(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MQe(s,l,d),C=f,s|0}function wg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wQe(s,l,d),C=f,s|0}function Es(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],oQe(s,l,d),C=f,s|0}function zA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Gbe(s,l,d),C=f,s|0}function EF(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xbe(s,l,d),C=f,s|0}function Bg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ebe(s,l,d),C=f,s|0}function XA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Mxe(s,l,d),C=f,s|0}function Gv(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wxe(s,l,d),C=f,s|0}function ADe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],oxe(s,l,d),C=f,s|0}function fDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GPe(s,l,d),C=f,s|0}function pDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bPe(s,l,d),C=f,s|0}function hDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hPe(s,l,d),C=f,s|0}function gDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],XSe(s,l,d),C=f,s|0}function dDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],TSe(s,l,d),C=f,s|0}function mDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ySe(s,l,d),C=f,s|0}function yDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eSe(s,l,d),C=f,s|0}function CDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EDe(s,l,d),C=f,s|0}function EDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IDe(s,c,d,1),C=f}function cn(s){return s=s|0,s|0}function IDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=IF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=wDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,BDe(m,f)|0,f),C=d}function IF(){var s=0,l=0;if(o[7616]|0||(XG(9136),Zt(24,9136,_|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(br(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));XG(9136)}return 9136}function wDe(s){return s=s|0,0}function BDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=IF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],zG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SDe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function un(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;B=C,C=C+32|0,se=B+24|0,j=B+20|0,k=B+16|0,O=B+12|0,M=B+8|0,Q=B+4|0,We=B,n[j>>2]=l,n[k>>2]=c,n[O>>2]=f,n[M>>2]=d,n[Q>>2]=m,m=s+28|0,n[We>>2]=n[m>>2],n[se>>2]=n[We>>2],vDe(s+24|0,se,j,O,M,k,Q)|0,n[m>>2]=n[n[m>>2]>>2],C=B}function vDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=DDe(l)|0,l=Gt(24)|0,JG(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function DDe(s){return s=s|0,n[s>>2]|0}function JG(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function Ar(s,l){return s=s|0,l=l|0,l|s|0}function zG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PDe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xDe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],zG(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bDe(s,Q),QDe(Q),C=M;return}}function PDe(s){return s=s|0,357913941}function xDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function XG(s){s=s|0,RDe(s)}function kDe(s){s=s|0,FDe(s+24|0)}function br(s){return s=s|0,n[s>>2]|0}function FDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function RDe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,TDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Gr(){return 9228}function TDe(){return 1140}function NDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=LDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=ODe(l,f)|0,C=c,l|0}function Wr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function LDe(s){return s=s|0,(n[(IF()|0)+24>>2]|0)+(s*12|0)|0}function ODe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=MDe(f)|0,C=d,f|0}function MDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=wF(ZG()|0)|0,f?(BF(l,f),vF(c,l),UDe(s,c),s=DF(l)|0):s=_De(s)|0,C=d,s|0}function ZG(){var s=0;return o[7632]|0||(zDe(9184),Zt(25,9184,_|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function wF(s){return s=s|0,n[s+36>>2]|0}function BF(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function vF(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function UDe(s,l){s=s|0,l=l|0,GDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function DF(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function _De(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;k=C,C=C+16|0,c=k+4|0,f=k,d=Ja(8)|0,m=d,B=Gt(48)|0,Q=B,l=Q+48|0;do n[Q>>2]=n[s>>2],Q=Q+4|0,s=s+4|0;while((Q|0)<(l|0));return l=m+4|0,n[l>>2]=B,Q=Gt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],$G(Q,B,c),n[d>>2]=Q,C=k,m|0}function $G(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function HDe(s){s=s|0,Zm(s),pt(s)}function qDe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function jDe(s){s=s|0,pt(s)}function GDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=WDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function WDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var Q=0,k=0;return Q=C,C=C+16|0,k=Q,za(k),s=da(s)|0,B=YDe(s,+E[l>>3],+E[c>>3],+E[f>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,Xa(k),C=Q,B|0}function YDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var Q=0;return Q=bl(KDe()|0)|0,l=+JA(l),c=+JA(c),f=+JA(f),d=+JA(d),m=+JA(m),Fs(0,Q|0,s|0,+l,+c,+f,+d,+m,+ +JA(B))|0}function KDe(){var s=0;return o[7624]|0||(VDe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function VDe(s){s=s|0,Ql(s,JDe()|0,6)}function JDe(){return 1112}function zDe(s){s=s|0,wp(s)}function XDe(s){s=s|0,e9(s+24|0),t9(s+16|0)}function e9(s){s=s|0,$De(s)}function t9(s){s=s|0,ZDe(s)}function ZDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function $De(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function wp(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function eSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tSe(s,c,d,0),C=f}function tSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=SF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,nSe(m,f)|0,f),C=d}function SF(){var s=0,l=0;if(o[7640]|0||(n9(9232),Zt(26,9232,_|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(br(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n9(9232)}return 9232}function rSe(s){return s=s|0,0}function nSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=SF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],r9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(iSe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function r9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function iSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,oSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],r9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,aSe(s,Q),lSe(Q),C=M;return}}function sSe(s){return s=s|0,357913941}function oSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function aSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function n9(s){s=s|0,ASe(s)}function cSe(s){s=s|0,uSe(s+24|0)}function uSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ASe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,fSe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fSe(){return 1144}function pSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0;m=C,C=C+16|0,B=m+8|0,Q=m,k=hSe(s)|0,s=n[k+4>>2]|0,n[Q>>2]=n[k>>2],n[Q+4>>2]=s,n[B>>2]=n[Q>>2],n[B+4>>2]=n[Q+4>>2],gSe(l,B,c,f,d),C=m}function hSe(s){return s=s|0,(n[(SF()|0)+24>>2]|0)+(s*12|0)|0}function gSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0,M=0;M=C,C=C+16|0,B=M+2|0,Q=M+1|0,k=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Tu(B,c),c=+Nu(B,c),Tu(Q,f),f=+Nu(Q,f),ZA(k,d),k=$A(k,d)|0,y7[m&1](s,c,f,k),C=M}function Tu(s,l){s=s|0,l=+l}function Nu(s,l){return s=s|0,l=+l,+ +mSe(l)}function ZA(s,l){s=s|0,l=l|0}function $A(s,l){return s=s|0,l=l|0,dSe(l)|0}function dSe(s){return s=s|0,s|0}function mSe(s){return s=+s,+s}function ySe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],CSe(s,c,d,1),C=f}function CSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=PF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ESe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,ISe(m,f)|0,f),C=d}function PF(){var s=0,l=0;if(o[7648]|0||(s9(9268),Zt(27,9268,_|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(br(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s9(9268)}return 9268}function ESe(s){return s=s|0,0}function ISe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=PF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],i9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wSe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function i9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=BSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,vSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],i9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,DSe(s,Q),SSe(Q),C=M;return}}function BSe(s){return s=s|0,357913941}function vSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function DSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function SSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function s9(s){s=s|0,bSe(s)}function PSe(s){s=s|0,xSe(s+24|0)}function xSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function bSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,QSe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function QSe(){return 1160}function kSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=FSe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=RSe(l,f)|0,C=c,l|0}function FSe(s){return s=s|0,(n[(PF()|0)+24>>2]|0)+(s*12|0)|0}function RSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),o9(Fg[c&31](s)|0)|0}function o9(s){return s=s|0,s&1|0}function TSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],NSe(s,c,d,0),C=f}function NSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=xF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=LSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,OSe(m,f)|0,f),C=d}function xF(){var s=0,l=0;if(o[7656]|0||(l9(9304),Zt(28,9304,_|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(br(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));l9(9304)}return 9304}function LSe(s){return s=s|0,0}function OSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=xF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],a9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(MSe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function a9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function MSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=USe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,_Se(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],a9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,HSe(s,Q),qSe(Q),C=M;return}}function USe(s){return s=s|0,357913941}function _Se(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function HSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function l9(s){s=s|0,WSe(s)}function jSe(s){s=s|0,GSe(s+24|0)}function GSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function WSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,YSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function YSe(){return 1164}function KSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=VSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],JSe(l,d,c),C=f}function VSe(s){return s=s|0,(n[(xF()|0)+24>>2]|0)+(s*12|0)|0}function JSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Bp(d,c),c=vp(d,c)|0,rf[f&31](s,c),Dp(d),C=m}function Bp(s,l){s=s|0,l=l|0,zSe(s,l)}function vp(s,l){return s=s|0,l=l|0,s|0}function Dp(s){s=s|0,jA(s)}function zSe(s,l){s=s|0,l=l|0,bF(s,l)}function bF(s,l){s=s|0,l=l|0,n[s>>2]=l}function XSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZSe(s,c,d,0),C=f}function ZSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=QF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=$Se(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,ePe(m,f)|0,f),C=d}function QF(){var s=0,l=0;if(o[7664]|0||(u9(9340),Zt(29,9340,_|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(br(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));u9(9340)}return 9340}function $Se(s){return s=s|0,0}function ePe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=QF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],c9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(tPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function c9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function tPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=rPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,nPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],c9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,iPe(s,Q),sPe(Q),C=M;return}}function rPe(s){return s=s|0,357913941}function nPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function iPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function sPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function u9(s){s=s|0,lPe(s)}function oPe(s){s=s|0,aPe(s+24|0)}function aPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function lPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,cPe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cPe(){return 1180}function uPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=APe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=fPe(l,d,c)|0,C=f,c|0}function APe(s){return s=s|0,(n[(QF()|0)+24>>2]|0)+(s*12|0)|0}function fPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),vg(d,c),d=Dg(d,c)|0,d=Wv(SR[f&15](s,d)|0)|0,C=m,d|0}function vg(s,l){s=s|0,l=l|0}function Dg(s,l){return s=s|0,l=l|0,pPe(l)|0}function Wv(s){return s=s|0,s|0}function pPe(s){return s=s|0,s|0}function hPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gPe(s,c,d,0),C=f}function gPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=kF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=dPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,mPe(m,f)|0,f),C=d}function kF(){var s=0,l=0;if(o[7672]|0||(f9(9376),Zt(30,9376,_|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(br(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));f9(9376)}return 9376}function dPe(s){return s=s|0,0}function mPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=kF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],A9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(yPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function A9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function yPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=CPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,EPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],A9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,IPe(s,Q),wPe(Q),C=M;return}}function CPe(s){return s=s|0,357913941}function EPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function IPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function f9(s){s=s|0,DPe(s)}function BPe(s){s=s|0,vPe(s+24|0)}function vPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function DPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,p9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function p9(){return 1196}function SPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=PPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=xPe(l,f)|0,C=c,l|0}function PPe(s){return s=s|0,(n[(kF()|0)+24>>2]|0)+(s*12|0)|0}function xPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Wv(Fg[c&31](s)|0)|0}function bPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QPe(s,c,d,1),C=f}function QPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=FF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=kPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,FPe(m,f)|0,f),C=d}function FF(){var s=0,l=0;if(o[7680]|0||(g9(9412),Zt(31,9412,_|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(br(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));g9(9412)}return 9412}function kPe(s){return s=s|0,0}function FPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=FF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],h9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(RPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function h9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function RPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=TPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,NPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],h9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,LPe(s,Q),OPe(Q),C=M;return}}function TPe(s){return s=s|0,357913941}function NPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function LPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function OPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function g9(s){s=s|0,_Pe(s)}function MPe(s){s=s|0,UPe(s+24|0)}function UPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function _Pe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,d9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function d9(){return 1200}function HPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=qPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=jPe(l,f)|0,C=c,l|0}function qPe(s){return s=s|0,(n[(FF()|0)+24>>2]|0)+(s*12|0)|0}function jPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Yv(Fg[c&31](s)|0)|0}function Yv(s){return s=s|0,s|0}function GPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],WPe(s,c,d,0),C=f}function WPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=RF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=YPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,KPe(m,f)|0,f),C=d}function RF(){var s=0,l=0;if(o[7688]|0||(y9(9448),Zt(32,9448,_|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(br(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));y9(9448)}return 9448}function YPe(s){return s=s|0,0}function KPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=RF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],m9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(VPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function m9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function VPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=JPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,zPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],m9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,XPe(s,Q),ZPe(Q),C=M;return}}function JPe(s){return s=s|0,357913941}function zPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function XPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ZPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function y9(s){s=s|0,txe(s)}function $Pe(s){s=s|0,exe(s+24|0)}function exe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function txe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,C9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function C9(){return 1204}function rxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=nxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ixe(l,d,c),C=f}function nxe(s){return s=s|0,(n[(RF()|0)+24>>2]|0)+(s*12|0)|0}function ixe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),TF(d,c),d=NF(d,c)|0,rf[f&31](s,d),C=m}function TF(s,l){s=s|0,l=l|0}function NF(s,l){return s=s|0,l=l|0,sxe(l)|0}function sxe(s){return s=s|0,s|0}function oxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],axe(s,c,d,0),C=f}function axe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=LF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=lxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,cxe(m,f)|0,f),C=d}function LF(){var s=0,l=0;if(o[7696]|0||(I9(9484),Zt(33,9484,_|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(br(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I9(9484)}return 9484}function lxe(s){return s=s|0,0}function cxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=LF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],E9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(uxe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function E9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function uxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Axe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,fxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],E9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,pxe(s,Q),hxe(Q),C=M;return}}function Axe(s){return s=s|0,357913941}function fxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function pxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function I9(s){s=s|0,mxe(s)}function gxe(s){s=s|0,dxe(s+24|0)}function dxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function mxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,yxe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function yxe(){return 1212}function Cxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=Exe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],Ixe(l,m,c,f),C=d}function Exe(s){return s=s|0,(n[(LF()|0)+24>>2]|0)+(s*12|0)|0}function Ixe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),TF(m,c),m=NF(m,c)|0,vg(B,f),B=Dg(B,f)|0,FI[d&15](s,m,B),C=Q}function wxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Bxe(s,c,d,1),C=f}function Bxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=OF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Dxe(m,f)|0,f),C=d}function OF(){var s=0,l=0;if(o[7704]|0||(B9(9520),Zt(34,9520,_|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(br(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));B9(9520)}return 9520}function vxe(s){return s=s|0,0}function Dxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=OF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Sxe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Sxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Pxe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bxe(s,Q),Qxe(Q),C=M;return}}function Pxe(s){return s=s|0,357913941}function xxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Qxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function B9(s){s=s|0,Rxe(s)}function kxe(s){s=s|0,Fxe(s+24|0)}function Fxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Rxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,Txe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Txe(){return 1224}function Nxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;return d=C,C=C+16|0,m=d+8|0,B=d,Q=Lxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+Oxe(l,m,c),C=d,+f}function Lxe(s){return s=s|0,(n[(OF()|0)+24>>2]|0)+(s*12|0)|0}function Oxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,B=+CF(+E7[f&7](s,d)),C=m,+B}function Mxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Uxe(s,c,d,1),C=f}function Uxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=MF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=_xe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Hxe(m,f)|0,f),C=d}function MF(){var s=0,l=0;if(o[7712]|0||(D9(9556),Zt(35,9556,_|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(br(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));D9(9556)}return 9556}function _xe(s){return s=s|0,0}function Hxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=MF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(qxe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function qxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=jxe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Gxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Wxe(s,Q),Yxe(Q),C=M;return}}function jxe(s){return s=s|0,357913941}function Gxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Wxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Yxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function D9(s){s=s|0,Jxe(s)}function Kxe(s){s=s|0,Vxe(s+24|0)}function Vxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Jxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,zxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zxe(){return 1232}function Xxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=Zxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+$xe(l,d),C=f,+c}function Zxe(s){return s=s|0,(n[(MF()|0)+24>>2]|0)+(s*12|0)|0}function $xe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +CF(+C7[c&15](s))}function ebe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tbe(s,c,d,1),C=f}function tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=UF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,nbe(m,f)|0,f),C=d}function UF(){var s=0,l=0;if(o[7720]|0||(P9(9592),Zt(36,9592,_|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(br(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P9(9592)}return 9592}function rbe(s){return s=s|0,0}function nbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=UF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],S9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ibe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function S9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,obe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],S9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,abe(s,Q),lbe(Q),C=M;return}}function sbe(s){return s=s|0,357913941}function obe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function abe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function P9(s){s=s|0,Abe(s)}function cbe(s){s=s|0,ube(s+24|0)}function ube(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Abe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,fbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fbe(){return 1276}function pbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=hbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=gbe(l,f)|0,C=c,l|0}function hbe(s){return s=s|0,(n[(UF()|0)+24>>2]|0)+(s*12|0)|0}function gbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=x9(f)|0,C=d,f|0}function x9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=wF(b9()|0)|0,f?(BF(l,f),vF(c,l),dbe(s,c),s=DF(l)|0):s=mbe(s)|0,C=d,s|0}function b9(){var s=0;return o[7736]|0||(Pbe(9640),Zt(25,9640,_|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function dbe(s,l){s=s|0,l=l|0,Ibe(l,s,s+8|0)|0}function mbe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ja(8)|0,l=f,Q=Gt(16)|0,n[Q>>2]=n[s>>2],n[Q+4>>2]=n[s+4>>2],n[Q+8>>2]=n[s+8>>2],n[Q+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],_F(s,m,d),n[f>>2]=s,C=c,l|0}function _F(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function ybe(s){s=s|0,Zm(s),pt(s)}function Cbe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function Ebe(s){s=s|0,pt(s)}function Ibe(s,l,c){return s=s|0,l=l|0,c=c|0,l=wbe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function wbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=C,C=C+16|0,d=f,za(d),s=da(s)|0,c=Bbe(s,n[l>>2]|0,+E[c>>3])|0,Xa(d),C=f,c|0}function Bbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=bl(vbe()|0)|0,l=yF(l)|0,Cl(0,f|0,s|0,l|0,+ +JA(c))|0}function vbe(){var s=0;return o[7728]|0||(Dbe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function Dbe(s){s=s|0,Ql(s,Sbe()|0,2)}function Sbe(){return 1264}function Pbe(s){s=s|0,wp(s)}function xbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bbe(s,c,d,1),C=f}function bbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=HF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Qbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,kbe(m,f)|0,f),C=d}function HF(){var s=0,l=0;if(o[7744]|0||(k9(9684),Zt(37,9684,_|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(br(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));k9(9684)}return 9684}function Qbe(s){return s=s|0,0}function kbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=HF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Fbe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Fbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Rbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Tbe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Q9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Nbe(s,Q),Lbe(Q),C=M;return}}function Rbe(s){return s=s|0,357913941}function Tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Nbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Lbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function k9(s){s=s|0,Ube(s)}function Obe(s){s=s|0,Mbe(s+24|0)}function Mbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Ube(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,_be()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function _be(){return 1280}function Hbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=qbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=jbe(l,d,c)|0,C=f,c|0}function qbe(s){return s=s|0,(n[(HF()|0)+24>>2]|0)+(s*12|0)|0}function jbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=C,C=C+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(m,c),m=$A(m,c)|0,FI[f&15](d,s,m),m=x9(d)|0,C=B,m|0}function Gbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Wbe(s,c,d,1),C=f}function Wbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=qF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Ybe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Kbe(m,f)|0,f),C=d}function qF(){var s=0,l=0;if(o[7752]|0||(R9(9720),Zt(38,9720,_|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(br(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));R9(9720)}return 9720}function Ybe(s){return s=s|0,0}function Kbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=qF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],F9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Vbe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function F9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Vbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Jbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,zbe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],F9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Xbe(s,Q),Zbe(Q),C=M;return}}function Jbe(s){return s=s|0,357913941}function zbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Xbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Zbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function R9(s){s=s|0,tQe(s)}function $be(s){s=s|0,eQe(s+24|0)}function eQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function tQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,rQe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rQe(){return 1288}function nQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=iQe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=sQe(l,f)|0,C=c,l|0}function iQe(s){return s=s|0,(n[(qF()|0)+24>>2]|0)+(s*12|0)|0}function sQe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),VG(Fg[c&31](s)|0)|0}function oQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aQe(s,c,d,0),C=f}function aQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=jF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=lQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,cQe(m,f)|0,f),C=d}function jF(){var s=0,l=0;if(o[7760]|0||(N9(9756),Zt(39,9756,_|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(br(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));N9(9756)}return 9756}function lQe(s){return s=s|0,0}function cQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=jF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],T9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(uQe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function T9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function uQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=AQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,fQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],T9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,pQe(s,Q),hQe(Q),C=M;return}}function AQe(s){return s=s|0,357913941}function fQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function pQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function N9(s){s=s|0,mQe(s)}function gQe(s){s=s|0,dQe(s+24|0)}function dQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function mQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,yQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function yQe(){return 1292}function CQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=EQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IQe(l,d,c),C=f}function EQe(s){return s=s|0,(n[(jF()|0)+24>>2]|0)+(s*12|0)|0}function IQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Tu(d,c),c=+Nu(d,c),d7[f&31](s,c),C=m}function wQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BQe(s,c,d,0),C=f}function BQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=GF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,DQe(m,f)|0,f),C=d}function GF(){var s=0,l=0;if(o[7768]|0||(O9(9792),Zt(40,9792,_|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(br(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O9(9792)}return 9792}function vQe(s){return s=s|0,0}function DQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=GF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],L9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SQe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function L9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],L9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bQe(s,Q),QQe(Q),C=M;return}}function PQe(s){return s=s|0,357913941}function xQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function O9(s){s=s|0,RQe(s)}function kQe(s){s=s|0,FQe(s+24|0)}function FQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function RQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,TQe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TQe(){return 1300}function NQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=LQe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],OQe(l,m,c,f),C=d}function LQe(s){return s=s|0,(n[(GF()|0)+24>>2]|0)+(s*12|0)|0}function OQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,Tu(B,f),f=+Nu(B,f),v7[d&15](s,m,f),C=Q}function MQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],UQe(s,c,d,0),C=f}function UQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=WF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=_Qe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,HQe(m,f)|0,f),C=d}function WF(){var s=0,l=0;if(o[7776]|0||(U9(9828),Zt(41,9828,_|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(br(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U9(9828)}return 9828}function _Qe(s){return s=s|0,0}function HQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=WF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],M9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(qQe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function M9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function qQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=jQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,GQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],M9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,WQe(s,Q),YQe(Q),C=M;return}}function jQe(s){return s=s|0,357913941}function GQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function WQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function YQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function U9(s){s=s|0,JQe(s)}function KQe(s){s=s|0,VQe(s+24|0)}function VQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function JQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,zQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zQe(){return 1312}function XQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=ZQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Qe(l,d,c),C=f}function ZQe(s){return s=s|0,(n[(WF()|0)+24>>2]|0)+(s*12|0)|0}function $Qe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,rf[f&31](s,d),C=m}function eke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tke(s,c,d,0),C=f}function tke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=YF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rke(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,nke(m,f)|0,f),C=d}function YF(){var s=0,l=0;if(o[7784]|0||(H9(9864),Zt(42,9864,_|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(br(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H9(9864)}return 9864}function rke(s){return s=s|0,0}function nke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=YF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ike(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ike(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ske(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,oke(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,ake(s,Q),lke(Q),C=M;return}}function ske(s){return s=s|0,357913941}function oke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function ake(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function H9(s){s=s|0,Ake(s)}function cke(s){s=s|0,uke(s+24|0)}function uke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Ake(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,fke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fke(){return 1320}function pke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=hke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gke(l,d,c),C=f}function hke(s){return s=s|0,(n[(YF()|0)+24>>2]|0)+(s*12|0)|0}function gke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),dke(d,c),d=mke(d,c)|0,rf[f&31](s,d),C=m}function dke(s,l){s=s|0,l=l|0}function mke(s,l){return s=s|0,l=l|0,yke(l)|0}function yke(s){return s=s|0,s|0}function Cke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Eke(s,c,d,0),C=f}function Eke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=KF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Ike(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,wke(m,f)|0,f),C=d}function KF(){var s=0,l=0;if(o[7792]|0||(j9(9900),Zt(43,9900,_|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(br(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j9(9900)}return 9900}function Ike(s){return s=s|0,0}function wke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=KF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Bke(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Bke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=vke(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Dke(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Ske(s,Q),Pke(Q),C=M;return}}function vke(s){return s=s|0,357913941}function Dke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Pke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function j9(s){s=s|0,Qke(s)}function xke(s){s=s|0,bke(s+24|0)}function bke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Qke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,22,l,kke()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kke(){return 1344}function Fke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=C,C=C+16|0,f=c+8|0,d=c,m=Rke(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],Tke(l,f),C=c}function Rke(s){return s=s|0,(n[(KF()|0)+24>>2]|0)+(s*12|0)|0}function Tke(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&127](s)}function Nke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=VF()|0,s=Lke(c)|0,un(m,l,d,s,Oke(c,f)|0,f)}function VF(){var s=0,l=0;if(o[7800]|0||(W9(9936),Zt(44,9936,_|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(br(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(9936)}return 9936}function Lke(s){return s=s|0,s|0}function Oke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=VF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(G9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Mke(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function G9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Mke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Uke(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,_ke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,G9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Hke(s,d),qke(d),C=Q;return}}function Uke(s){return s=s|0,536870911}function _ke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Hke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function W9(s){s=s|0,Wke(s)}function jke(s){s=s|0,Gke(s+24|0)}function Gke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function Wke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,23,l,C9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Yke(s,l){s=s|0,l=l|0,Vke(n[(Kke(s)|0)>>2]|0,l)}function Kke(s){return s=s|0,(n[(VF()|0)+24>>2]|0)+(s<<3)|0}function Vke(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,TF(f,l),l=NF(f,l)|0,tf[s&127](l),C=c}function Jke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=JF()|0,s=zke(c)|0,un(m,l,d,s,Xke(c,f)|0,f)}function JF(){var s=0,l=0;if(o[7808]|0||(K9(9972),Zt(45,9972,_|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(br(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K9(9972)}return 9972}function zke(s){return s=s|0,s|0}function Xke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=JF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(Y9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Zke(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function Y9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Zke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=$ke(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,eFe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,Y9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,tFe(s,d),rFe(d),C=Q;return}}function $ke(s){return s=s|0,536870911}function eFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function tFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function K9(s){s=s|0,sFe(s)}function nFe(s){s=s|0,iFe(s+24|0)}function iFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function sFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,9,l,oFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function oFe(){return 1348}function aFe(s,l){return s=s|0,l=l|0,cFe(n[(lFe(s)|0)>>2]|0,l)|0}function lFe(s){return s=s|0,(n[(JF()|0)+24>>2]|0)+(s<<3)|0}function cFe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,V9(f,l),l=J9(f,l)|0,l=Wv(Fg[s&31](l)|0)|0,C=c,l|0}function V9(s,l){s=s|0,l=l|0}function J9(s,l){return s=s|0,l=l|0,uFe(l)|0}function uFe(s){return s=s|0,s|0}function AFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=zF()|0,s=fFe(c)|0,un(m,l,d,s,pFe(c,f)|0,f)}function zF(){var s=0,l=0;if(o[7816]|0||(X9(10008),Zt(46,10008,_|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(br(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X9(10008)}return 10008}function fFe(s){return s=s|0,s|0}function pFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=zF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(z9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(hFe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function z9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function hFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=gFe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,dFe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,z9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,mFe(s,d),yFe(d),C=Q;return}}function gFe(s){return s=s|0,536870911}function dFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function mFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function yFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function X9(s){s=s|0,IFe(s)}function CFe(s){s=s|0,EFe(s+24|0)}function EFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function IFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,15,l,p9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function wFe(s){return s=s|0,vFe(n[(BFe(s)|0)>>2]|0)|0}function BFe(s){return s=s|0,(n[(zF()|0)+24>>2]|0)+(s<<3)|0}function vFe(s){return s=s|0,Wv(oD[s&7]()|0)|0}function DFe(){var s=0;return o[7832]|0||(RFe(10052),Zt(25,10052,_|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function SFe(s,l){s=s|0,l=l|0,n[s>>2]=PFe()|0,n[s+4>>2]=xFe()|0,n[s+12>>2]=l,n[s+8>>2]=bFe()|0,n[s+32>>2]=2}function PFe(){return 11709}function xFe(){return 1188}function bFe(){return Kv()|0}function QFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(kFe(c),pt(c)):l|0&&(Qu(l),pt(l))}function Sp(s,l){return s=s|0,l=l|0,l&s|0}function kFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function Kv(){var s=0;return o[7824]|0||(n[2511]=FFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function FFe(){return 0}function RFe(s){s=s|0,wp(s)}function TFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=C,C=C+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,NFe(s,4827),LFe(s,4834,3)|0,OFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],MFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],UFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],_Fe(s,4891,c)|0,C=l}function NFe(s,l){s=s|0,l=l|0;var c=0;c=yTe()|0,n[s>>2]=c,CTe(c,l),Pp(n[s>>2]|0)}function LFe(s,l,c){return s=s|0,l=l|0,c=c|0,rTe(s,cn(l)|0,c,0),s|0}function OFe(s,l,c){return s=s|0,l=l|0,c=c|0,HRe(s,cn(l)|0,c,0),s|0}function MFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wRe(s,l,d),C=f,s|0}function UFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nRe(s,l,d),C=f,s|0}function _Fe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HFe(s,l,d),C=f,s|0}function HFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qFe(s,c,d,1),C=f}function qFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=XF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=jFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,GFe(m,f)|0,f),C=d}function XF(){var s=0,l=0;if(o[7840]|0||($9(10100),Zt(48,10100,_|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(br(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));$9(10100)}return 10100}function jFe(s){return s=s|0,0}function GFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=XF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Z9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(WFe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Z9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function WFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=YFe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,KFe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Z9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,VFe(s,Q),JFe(Q),C=M;return}}function YFe(s){return s=s|0,357913941}function KFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function VFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function JFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function $9(s){s=s|0,ZFe(s)}function zFe(s){s=s|0,XFe(s+24|0)}function XFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ZFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,$Fe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function $Fe(){return 1364}function eRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=tRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=rRe(l,d,c)|0,C=f,c|0}function tRe(s){return s=s|0,(n[(XF()|0)+24>>2]|0)+(s*12|0)|0}function rRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,d=o9(SR[f&15](s,d)|0)|0,C=m,d|0}function nRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],iRe(s,c,d,0),C=f}function iRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=ZF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=sRe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,oRe(m,f)|0,f),C=d}function ZF(){var s=0,l=0;if(o[7848]|0||(t5(10136),Zt(49,10136,_|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(br(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t5(10136)}return 10136}function sRe(s){return s=s|0,0}function oRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=ZF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],e5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(aRe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function e5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function aRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=lRe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,cRe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],e5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,uRe(s,Q),ARe(Q),C=M;return}}function lRe(s){return s=s|0,357913941}function cRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function uRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ARe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function t5(s){s=s|0,hRe(s)}function fRe(s){s=s|0,pRe(s+24|0)}function pRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function hRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,9,l,gRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function gRe(){return 1372}function dRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=mRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yRe(l,d,c),C=f}function mRe(s){return s=s|0,(n[(ZF()|0)+24>>2]|0)+(s*12|0)|0}function yRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=$e;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),CRe(d,c),B=y(ERe(d,c)),g7[f&1](s,B),C=m}function CRe(s,l){s=s|0,l=+l}function ERe(s,l){return s=s|0,l=+l,y(IRe(l))}function IRe(s){return s=+s,y(s)}function wRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BRe(s,c,d,0),C=f}function BRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=$F()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vRe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,DRe(m,f)|0,f),C=d}function $F(){var s=0,l=0;if(o[7856]|0||(n5(10172),Zt(50,10172,_|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(br(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n5(10172)}return 10172}function vRe(s){return s=s|0,0}function DRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=$F()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],r5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SRe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function r5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PRe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xRe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],r5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bRe(s,Q),QRe(Q),C=M;return}}function PRe(s){return s=s|0,357913941}function xRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function n5(s){s=s|0,RRe(s)}function kRe(s){s=s|0,FRe(s+24|0)}function FRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function RRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,TRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TRe(){return 1380}function NRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=LRe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],ORe(l,m,c,f),C=d}function LRe(s){return s=s|0,(n[($F()|0)+24>>2]|0)+(s*12|0)|0}function ORe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,MRe(B,f),B=URe(B,f)|0,FI[d&15](s,m,B),C=Q}function MRe(s,l){s=s|0,l=l|0}function URe(s,l){return s=s|0,l=l|0,_Re(l)|0}function _Re(s){return s=s|0,(s|0)!=0|0}function HRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=eR()|0,s=qRe(c)|0,un(m,l,d,s,jRe(c,f)|0,f)}function eR(){var s=0,l=0;if(o[7864]|0||(s5(10208),Zt(51,10208,_|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(br(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s5(10208)}return 10208}function qRe(s){return s=s|0,s|0}function jRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=eR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(i5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(GRe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function i5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function GRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=WRe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,YRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,i5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,KRe(s,d),VRe(d),C=Q;return}}function WRe(s){return s=s|0,536870911}function YRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function KRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function VRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function s5(s){s=s|0,XRe(s)}function JRe(s){s=s|0,zRe(s+24|0)}function zRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function XRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,24,l,ZRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZRe(){return 1392}function $Re(s,l){s=s|0,l=l|0,tTe(n[(eTe(s)|0)>>2]|0,l)}function eTe(s){return s=s|0,(n[(eR()|0)+24>>2]|0)+(s<<3)|0}function tTe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,V9(f,l),l=J9(f,l)|0,tf[s&127](l),C=c}function rTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=tR()|0,s=nTe(c)|0,un(m,l,d,s,iTe(c,f)|0,f)}function tR(){var s=0,l=0;if(o[7872]|0||(a5(10244),Zt(52,10244,_|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(br(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a5(10244)}return 10244}function nTe(s){return s=s|0,s|0}function iTe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=tR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(o5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(sTe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function o5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function sTe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=oTe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,aTe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,o5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,lTe(s,d),cTe(d),C=Q;return}}function oTe(s){return s=s|0,536870911}function aTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function lTe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function cTe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function a5(s){s=s|0,fTe(s)}function uTe(s){s=s|0,ATe(s+24|0)}function ATe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function fTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,16,l,pTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function pTe(){return 1400}function hTe(s){return s=s|0,dTe(n[(gTe(s)|0)>>2]|0)|0}function gTe(s){return s=s|0,(n[(tR()|0)+24>>2]|0)+(s<<3)|0}function dTe(s){return s=s|0,mTe(oD[s&7]()|0)|0}function mTe(s){return s=s|0,s|0}function yTe(){var s=0;return o[7880]|0||(DTe(10280),Zt(25,10280,_|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function CTe(s,l){s=s|0,l=l|0,n[s>>2]=ETe()|0,n[s+4>>2]=ITe()|0,n[s+12>>2]=l,n[s+8>>2]=wTe()|0,n[s+32>>2]=4}function ETe(){return 11711}function ITe(){return 1356}function wTe(){return Kv()|0}function BTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(vTe(c),pt(c)):l|0&&(Ig(l),pt(l))}function vTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function DTe(s){s=s|0,wp(s)}function STe(s){s=s|0,PTe(s,4920),xTe(s)|0,bTe(s)|0}function PTe(s,l){s=s|0,l=l|0;var c=0;c=b9()|0,n[s>>2]=c,zTe(c,l),Pp(n[s>>2]|0)}function xTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,_Te()|0),s|0}function bTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,QTe()|0),s|0}function QTe(){var s=0;return o[7888]|0||(l5(10328),Zt(53,10328,_|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),br(10328)|0||l5(10328),10328}function Sg(s,l){s=s|0,l=l|0,un(s,0,l,0,0,0)}function l5(s){s=s|0,RTe(s),Pg(s,10)}function kTe(s){s=s|0,FTe(s+24|0)}function FTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function RTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,OTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TTe(s,l,c){s=s|0,l=l|0,c=+c,NTe(s,l,c)}function Pg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function NTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,m=f+8|0,Q=f+13|0,d=f,B=f+12|0,ZA(Q,l),n[m>>2]=$A(Q,l)|0,Tu(B,c),E[d>>3]=+Nu(B,c),LTe(s,m,d),C=f}function LTe(s,l,c){s=s|0,l=l|0,c=c|0,W(s+8|0,n[l>>2]|0,+E[c>>3]),o[s+24>>0]=1}function OTe(){return 1404}function MTe(s,l){return s=s|0,l=+l,UTe(s,l)|0}function UTe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=C,C=C+16|0,m=f+4|0,B=f+8|0,Q=f,d=Ja(8)|0,c=d,k=Gt(16)|0,ZA(m,s),s=$A(m,s)|0,Tu(B,l),W(k,s,+Nu(B,l)),B=c+4|0,n[B>>2]=k,s=Gt(8)|0,B=n[B>>2]|0,n[Q>>2]=0,n[m>>2]=n[Q>>2],_F(s,B,m),n[d>>2]=s,C=f,c|0}function _Te(){var s=0;return o[7896]|0||(c5(10364),Zt(54,10364,_|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),br(10364)|0||c5(10364),10364}function c5(s){s=s|0,jTe(s),Pg(s,55)}function HTe(s){s=s|0,qTe(s+24|0)}function qTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function jTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,4,l,KTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GTe(s){s=s|0,WTe(s)}function WTe(s){s=s|0,YTe(s)}function YTe(s){s=s|0,u5(s+8|0),o[s+24>>0]=1}function u5(s){s=s|0,n[s>>2]=0,E[s+8>>3]=0}function KTe(){return 1424}function VTe(){return JTe()|0}function JTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ja(8)|0,s=c,f=Gt(16)|0,u5(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],_F(f,m,d),n[c>>2]=f,C=l,s|0}function zTe(s,l){s=s|0,l=l|0,n[s>>2]=XTe()|0,n[s+4>>2]=ZTe()|0,n[s+12>>2]=l,n[s+8>>2]=$Te()|0,n[s+32>>2]=5}function XTe(){return 11710}function ZTe(){return 1416}function $Te(){return Vv()|0}function eNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(tNe(c),pt(c)):l|0&&pt(l)}function tNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function Vv(){var s=0;return o[7904]|0||(n[2600]=rNe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function rNe(){return n[357]|0}function nNe(s){s=s|0,iNe(s,4926),sNe(s)|0}function iNe(s,l){s=s|0,l=l|0;var c=0;c=ZG()|0,n[s>>2]=c,dNe(c,l),Pp(n[s>>2]|0)}function sNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,oNe()|0),s|0}function oNe(){var s=0;return o[7912]|0||(A5(10412),Zt(56,10412,_|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),br(10412)|0||A5(10412),10412}function A5(s){s=s|0,cNe(s),Pg(s,57)}function aNe(s){s=s|0,lNe(s+24|0)}function lNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function cNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,5,l,pNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uNe(s){s=s|0,ANe(s)}function ANe(s){s=s|0,fNe(s)}function fNe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function pNe(){return 1432}function hNe(){return gNe()|0}function gNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0;B=C,C=C+16|0,s=B+4|0,l=B,c=Ja(8)|0,f=c,d=Gt(48)|0,m=d,Q=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(Q|0));return m=f+4|0,n[m>>2]=d,Q=Gt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],$G(Q,m,s),n[c>>2]=Q,C=B,f|0}function dNe(s,l){s=s|0,l=l|0,n[s>>2]=mNe()|0,n[s+4>>2]=yNe()|0,n[s+12>>2]=l,n[s+8>>2]=CNe()|0,n[s+32>>2]=6}function mNe(){return 11704}function yNe(){return 1436}function CNe(){return Vv()|0}function ENe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(INe(c),pt(c)):l|0&&pt(l)}function INe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function wNe(s){s=s|0,BNe(s,4933),vNe(s)|0,DNe(s)|0}function BNe(s,l){s=s|0,l=l|0;var c=0;c=JNe()|0,n[s>>2]=c,zNe(c,l),Pp(n[s>>2]|0)}function vNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,UNe()|0),s|0}function DNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,SNe()|0),s|0}function SNe(){var s=0;return o[7920]|0||(f5(10452),Zt(58,10452,_|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),br(10452)|0||f5(10452),10452}function f5(s){s=s|0,bNe(s),Pg(s,1)}function PNe(s){s=s|0,xNe(s+24|0)}function xNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function bNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,RNe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function QNe(s,l,c){s=s|0,l=+l,c=+c,kNe(s,l,c)}function kNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,m=f+8|0,Q=f+17|0,d=f,B=f+16|0,Tu(Q,l),E[m>>3]=+Nu(Q,l),Tu(B,c),E[d>>3]=+Nu(B,c),FNe(s,m,d),C=f}function FNe(s,l,c){s=s|0,l=l|0,c=c|0,p5(s+8|0,+E[l>>3],+E[c>>3]),o[s+24>>0]=1}function p5(s,l,c){s=s|0,l=+l,c=+c,E[s>>3]=l,E[s+8>>3]=c}function RNe(){return 1472}function TNe(s,l){return s=+s,l=+l,NNe(s,l)|0}function NNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=C,C=C+16|0,B=f+4|0,Q=f+8|0,k=f,d=Ja(8)|0,c=d,m=Gt(16)|0,Tu(B,s),s=+Nu(B,s),Tu(Q,l),p5(m,s,+Nu(Q,l)),Q=c+4|0,n[Q>>2]=m,m=Gt(8)|0,Q=n[Q>>2]|0,n[k>>2]=0,n[B>>2]=n[k>>2],h5(m,Q,B),n[d>>2]=m,C=f,c|0}function h5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function LNe(s){s=s|0,Zm(s),pt(s)}function ONe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function MNe(s){s=s|0,pt(s)}function UNe(){var s=0;return o[7928]|0||(g5(10488),Zt(59,10488,_|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),br(10488)|0||g5(10488),10488}function g5(s){s=s|0,qNe(s),Pg(s,60)}function _Ne(s){s=s|0,HNe(s+24|0)}function HNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function qNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,6,l,YNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jNe(s){s=s|0,GNe(s)}function GNe(s){s=s|0,WNe(s)}function WNe(s){s=s|0,d5(s+8|0),o[s+24>>0]=1}function d5(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function YNe(){return 1492}function KNe(){return VNe()|0}function VNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ja(8)|0,s=c,f=Gt(16)|0,d5(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],h5(f,m,d),n[c>>2]=f,C=l,s|0}function JNe(){var s=0;return o[7936]|0||(rLe(10524),Zt(25,10524,_|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function zNe(s,l){s=s|0,l=l|0,n[s>>2]=XNe()|0,n[s+4>>2]=ZNe()|0,n[s+12>>2]=l,n[s+8>>2]=$Ne()|0,n[s+32>>2]=7}function XNe(){return 11700}function ZNe(){return 1484}function $Ne(){return Vv()|0}function eLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(tLe(c),pt(c)):l|0&&pt(l)}function tLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function rLe(s){s=s|0,wp(s)}function nLe(s,l,c){s=s|0,l=l|0,c=c|0,s=cn(l)|0,l=iLe(c)|0,c=sLe(c,0)|0,NLe(s,l,c,rR()|0,0)}function iLe(s){return s=s|0,s|0}function sLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=rR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(y5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(fLe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function rR(){var s=0,l=0;if(o[7944]|0||(m5(10568),Zt(61,10568,_|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(br(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));m5(10568)}return 10568}function m5(s){s=s|0,lLe(s)}function oLe(s){s=s|0,aLe(s+24|0)}function aLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function lLe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,17,l,d9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cLe(s){return s=s|0,ALe(n[(uLe(s)|0)>>2]|0)|0}function uLe(s){return s=s|0,(n[(rR()|0)+24>>2]|0)+(s<<3)|0}function ALe(s){return s=s|0,Yv(oD[s&7]()|0)|0}function y5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function fLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=pLe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,hLe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,y5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,gLe(s,d),dLe(d),C=Q;return}}function pLe(s){return s=s|0,536870911}function hLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function gLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function mLe(){yLe()}function yLe(){CLe(10604)}function CLe(s){s=s|0,ELe(s,4955)}function ELe(s,l){s=s|0,l=l|0;var c=0;c=ILe()|0,n[s>>2]=c,wLe(c,l),Pp(n[s>>2]|0)}function ILe(){var s=0;return o[7952]|0||(kLe(10612),Zt(25,10612,_|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function wLe(s,l){s=s|0,l=l|0,n[s>>2]=SLe()|0,n[s+4>>2]=PLe()|0,n[s+12>>2]=l,n[s+8>>2]=xLe()|0,n[s+32>>2]=8}function Pp(s){s=s|0;var l=0,c=0;l=C,C=C+16|0,c=l,Km()|0,n[c>>2]=s,BLe(10608,c),C=l}function Km(){return o[11714]|0||(n[2652]=0,Zt(62,10608,_|0)|0,o[11714]=1),10608}function BLe(s,l){s=s|0,l=l|0;var c=0;c=Gt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function vLe(s){s=s|0,DLe(s)}function DLe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function SLe(){return 11715}function PLe(){return 1496}function xLe(){return Kv()|0}function bLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(QLe(c),pt(c)):l|0&&pt(l)}function QLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function kLe(s){s=s|0,wp(s)}function FLe(s,l){s=s|0,l=l|0;var c=0,f=0;Km()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&($5(nR(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;RLe(f,l)}while(0)}function nR(s){return s=s|0,n[s+12>>2]|0}function RLe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(jA(c),pt(c)),c=Gt(4)|0,YG(c,l),n[s>>2]=c}function iR(){return o[11716]|0||(n[2664]=0,Zt(63,10656,_|0)|0,o[11716]=1),10656}function C5(){var s=0;return o[11717]|0?s=n[2665]|0:(TLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function TLe(){o[11740]|0||(o[11718]=Ar(Ar(8,0)|0,0)|0,o[11719]=Ar(Ar(0,0)|0,0)|0,o[11720]=Ar(Ar(0,16)|0,0)|0,o[11721]=Ar(Ar(8,0)|0,0)|0,o[11722]=Ar(Ar(0,0)|0,0)|0,o[11723]=Ar(Ar(8,0)|0,0)|0,o[11724]=Ar(Ar(0,0)|0,0)|0,o[11725]=Ar(Ar(8,0)|0,0)|0,o[11726]=Ar(Ar(0,0)|0,0)|0,o[11727]=Ar(Ar(8,0)|0,0)|0,o[11728]=Ar(Ar(0,0)|0,0)|0,o[11729]=Ar(Ar(0,0)|0,32)|0,o[11730]=Ar(Ar(0,0)|0,32)|0,o[11740]=1)}function E5(){return 1572}function NLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0;m=C,C=C+32|0,O=m+16|0,M=m+12|0,k=m+8|0,Q=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[k>>2]=c,n[Q>>2]=f,n[B>>2]=d,iR()|0,LLe(10656,O,M,k,Q,B),C=m}function LLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Gt(24)|0,JG(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function I5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0;if(at=C,C=C+32|0,Le=at+20|0,Re=at+8|0,et=at+4|0,Ze=at,l=n[l>>2]|0,l|0){We=Le+4|0,k=Le+8|0,M=Re+4|0,O=Re+8|0,j=Re+8|0,se=Le+8|0;do{if(B=l+4|0,Q=sR(B)|0,Q|0){if(d=SI(Q)|0,n[Le>>2]=0,n[We>>2]=0,n[k>>2]=0,f=(PI(Q)|0)+1|0,OLe(Le,f),f|0)for(;f=f+-1|0,kc(Re,n[d>>2]|0),m=n[We>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Re>>2],n[We>>2]=(n[We>>2]|0)+4):oR(Le,Re),f;)d=d+4|0;f=xI(Q)|0,n[Re>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?MLe(Re,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[j>>2]|0}while(0);n[et>>2]=Jv(B)|0,n[Ze>>2]=br(Q)|0,ULe(c,s,et,Ze,Le,Re),aR(Re),ef(Le)}l=n[l>>2]|0}while((l|0)!=0)}C=at}function sR(s){return s=s|0,n[s+12>>2]|0}function SI(s){return s=s|0,n[s+12>>2]|0}function PI(s){return s=s|0,n[s+16>>2]|0}function OLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0<l>>>0&&(b5(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),Q5(s,c),k5(c)),C=d}function oR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=x5(s)|0,m>>>0<d>>>0)Vr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,b5(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,Q5(s,c),k5(c),C=B;return}}function xI(s){return s=s|0,n[s+8>>2]|0}function MLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=P5(s)|0,m>>>0<d>>>0)Vr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,iOe(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,sOe(s,c),oOe(c),C=B;return}}function Jv(s){return s=s|0,n[s>>2]|0}function ULe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,_Le(s,l,c,f,d,m)}function aR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function ef(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function _Le(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=C,C=C+48|0,O=B+40|0,Q=B+32|0,j=B+24|0,k=B+12|0,M=B,za(Q),s=da(s)|0,n[j>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,lR(k,d),HLe(M,m),n[O>>2]=n[j>>2],qLe(s,O,c,f,k,M),aR(M),ef(k),Xa(Q),C=B}function lR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(rOe(s,f),nOe(s,n[l>>2]|0,n[c>>2]|0,f))}function HLe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(eOe(s,f),tOe(s,n[l>>2]|0,n[c>>2]|0,f))}function qLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=C,C=C+32|0,O=B+28|0,j=B+24|0,Q=B+12|0,k=B,M=bl(jLe()|0)|0,n[j>>2]=n[l>>2],n[O>>2]=n[j>>2],l=xg(O)|0,c=w5(c)|0,f=cR(f)|0,n[Q>>2]=n[d>>2],O=d+4|0,n[Q+4>>2]=n[O>>2],j=d+8|0,n[Q+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[d>>2]=0,d=uR(Q)|0,n[k>>2]=n[m>>2],O=m+4|0,n[k+4>>2]=n[O>>2],j=m+8|0,n[k+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[m>>2]=0,io(0,M|0,s|0,l|0,c|0,f|0,d|0,GLe(k)|0)|0,aR(k),ef(Q),C=B}function jLe(){var s=0;return o[7968]|0||(ZLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function xg(s){return s=s|0,v5(s)|0}function w5(s){return s=s|0,B5(s)|0}function cR(s){return s=s|0,Yv(s)|0}function uR(s){return s=s|0,YLe(s)|0}function GLe(s){return s=s|0,WLe(s)|0}function WLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ja(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=B5(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function B5(s){return s=s|0,s|0}function YLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ja(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=v5((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function v5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=wF(D5()|0)|0,f?(BF(l,f),vF(c,l),xUe(s,c),s=DF(l)|0):s=KLe(s)|0,C=d,s|0}function D5(){var s=0;return o[7960]|0||(XLe(10664),Zt(25,10664,_|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function KLe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ja(8)|0,l=f,Q=Gt(4)|0,n[Q>>2]=n[s>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],S5(s,m,d),n[f>>2]=s,C=c,l|0}function S5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function VLe(s){s=s|0,Zm(s),pt(s)}function JLe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function zLe(s){s=s|0,pt(s)}function XLe(s){s=s|0,wp(s)}function ZLe(s){s=s|0,Ql(s,$Le()|0,5)}function $Le(){return 1676}function eOe(s,l){s=s|0,l=l|0;var c=0;if((P5(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function tOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Er(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function P5(s){return s=s|0,1073741823}function rOe(s,l){s=s|0,l=l|0;var c=0;if((x5(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function nOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Er(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function x5(s){return s=s|0,1073741823}function iOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function sOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function oOe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function b5(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function Q5(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function k5(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function aOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0;if(Re=C,C=C+32|0,O=Re+20|0,j=Re+12|0,M=Re+16|0,se=Re+4|0,We=Re,Le=Re+8|0,Q=C5()|0,m=n[Q>>2]|0,B=n[m>>2]|0,B|0)for(k=n[Q+8>>2]|0,Q=n[Q+4>>2]|0;kc(O,B),lOe(s,O,Q,k),m=m+4|0,B=n[m>>2]|0,B;)k=k+1|0,Q=Q+1|0;if(m=E5()|0,B=n[m>>2]|0,B|0)do kc(O,B),n[j>>2]=n[m+4>>2],cOe(l,O,j),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(Km()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,kc(O,n[(Vm(l)|0)>>2]|0),n[j>>2]=nR(l)|0,uOe(c,O,j),m=n[m>>2]|0;while((m|0)!=0);if(kc(M,0),m=iR()|0,n[O>>2]=n[M>>2],I5(O,m,d),m=n[(Km()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(k=n[m+4>>2]|0,kc(j,n[(Vm(k)|0)>>2]|0),AOe(se,F5(k)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do kc(We,n[(Vm(n[B+4>>2]|0)|0)>>2]|0),Q=n[s>>2]|0,Q>>>0<(n[c>>2]|0)>>>0?(n[Q>>2]=n[We>>2],n[s>>2]=(n[s>>2]|0)+4):oR(O,We),B=n[B>>2]|0;while((B|0)!=0);fOe(f,j,O),ef(O)}n[Le>>2]=n[j>>2],M=R5(k)|0,n[O>>2]=n[Le>>2],I5(O,M,d),t9(se),m=n[m>>2]|0}while((m|0)!=0)}C=Re}function lOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,vOe(s,l,c,f)}function cOe(s,l,c){s=s|0,l=l|0,c=c|0,BOe(s,l,c)}function Vm(s){return s=s|0,s|0}function uOe(s,l,c){s=s|0,l=l|0,c=c|0,COe(s,l,c)}function F5(s){return s=s|0,s+16|0}function AOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(m=C,C=C+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=yOe(c)|0,f|0){if(f=Gt(12)|0,B=(T5(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Gt(12)|0,k=(T5(d)|0)+4|0,Q=n[k+4>>2]|0,B=s+4|0,n[B>>2]=n[k>>2],n[B+4>>2]=Q,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}C=m}function fOe(s,l,c){s=s|0,l=l|0,c=c|0,pOe(s,l,c)}function R5(s){return s=s|0,s+24|0}function pOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,B=f+24|0,d=f+16|0,Q=f+12|0,m=f,za(d),s=da(s)|0,n[Q>>2]=n[l>>2],lR(m,c),n[B>>2]=n[Q>>2],hOe(s,B,m),ef(m),Xa(d),C=f}function hOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,B=f+16|0,Q=f+12|0,d=f,m=bl(gOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=xg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],Q=c+8|0,n[d+8>>2]=n[Q>>2],n[Q>>2]=0,n[B>>2]=0,n[c>>2]=0,no(0,m|0,s|0,l|0,uR(d)|0)|0,ef(d),C=f}function gOe(){var s=0;return o[7976]|0||(dOe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function dOe(s){s=s|0,Ql(s,mOe()|0,2)}function mOe(){return 1732}function yOe(s){return s=s|0,n[s>>2]|0}function T5(s){return s=s|0,n[s>>2]|0}function COe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],N5(s,m,c),Xa(d),C=f}function N5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+4|0,B=f,d=bl(EOe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=xg(m)|0,no(0,d|0,s|0,l|0,w5(c)|0)|0,C=f}function EOe(){var s=0;return o[7984]|0||(IOe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function IOe(s){s=s|0,Ql(s,wOe()|0,2)}function wOe(){return 1744}function BOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],N5(s,m,c),Xa(d),C=f}function vOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,Q=d,za(m),s=da(s)|0,n[Q>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[Q>>2],DOe(s,B,c,f),Xa(m),C=d}function DOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,B=d+4|0,Q=d,m=bl(SOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=xg(B)|0,c=Jm(c)|0,mc(0,m|0,s|0,l|0,c|0,Jm(f)|0)|0,C=d}function SOe(){var s=0;return o[7992]|0||(xOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Jm(s){return s=s|0,POe(s)|0}function POe(s){return s=s|0,s&255|0}function xOe(s){s=s|0,Ql(s,bOe()|0,3)}function bOe(){return 1756}function QOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;switch(se=C,C=C+32|0,Q=se+8|0,k=se+4|0,M=se+20|0,O=se,bF(s,0),f=PUe(l)|0,n[Q>>2]=0,j=Q+4|0,n[j>>2]=0,n[Q+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,kOe(k,c,M),zv(s,k)|0,GA(k);break}case 8:{j=dR(l)|0,o[M>>0]=8,kc(O,n[j+4>>2]|0),FOe(k,c,M,O,j+8|0),zv(s,k)|0,GA(k);break}case 9:{if(m=dR(l)|0,l=n[m+4>>2]|0,l|0)for(B=Q+8|0,d=m+12|0;l=l+-1|0,kc(k,n[d>>2]|0),f=n[j>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[k>>2],n[j>>2]=(n[j>>2]|0)+4):oR(Q,k),l;)d=d+4|0;o[M>>0]=9,kc(O,n[m+8>>2]|0),ROe(k,c,M,O,Q),zv(s,k)|0,GA(k);break}default:j=dR(l)|0,o[M>>0]=f,kc(O,n[j+4>>2]|0),TOe(k,c,M,O),zv(s,k)|0,GA(k)}ef(Q),C=se}function kOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,za(d),l=da(l)|0,KOe(s,l,o[c>>0]|0),Xa(d),C=f}function zv(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&bA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function FOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=C,C=C+32|0,Q=m+16|0,B=m+8|0,k=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],d=n[d>>2]|0,n[Q>>2]=n[k>>2],jOe(s,l,c,Q,d),Xa(B),C=m}function ROe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=C,C=C+32|0,k=m+24|0,B=m+16|0,M=m+12|0,Q=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],lR(Q,d),n[k>>2]=n[M>>2],UOe(s,l,c,k,Q),ef(Q),Xa(B),C=m}function TOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,Q=d,za(m),l=da(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],n[B>>2]=n[Q>>2],NOe(s,l,c,B),Xa(m),C=d}function NOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+4|0,Q=d,B=bl(LOe()|0)|0,c=Jm(c)|0,n[Q>>2]=n[f>>2],n[m>>2]=n[Q>>2],Xv(s,no(0,B|0,l|0,c|0,xg(m)|0)|0),C=d}function LOe(){var s=0;return o[8e3]|0||(OOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function Xv(s,l){s=s|0,l=l|0,bF(s,l)}function OOe(s){s=s|0,Ql(s,MOe()|0,2)}function MOe(){return 1772}function UOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=C,C=C+32|0,k=m+16|0,M=m+12|0,B=m,Q=bl(_Oe()|0)|0,c=Jm(c)|0,n[M>>2]=n[f>>2],n[k>>2]=n[M>>2],f=xg(k)|0,n[B>>2]=n[d>>2],k=d+4|0,n[B+4>>2]=n[k>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[k>>2]=0,n[d>>2]=0,Xv(s,mc(0,Q|0,l|0,c|0,f|0,uR(B)|0)|0),ef(B),C=m}function _Oe(){var s=0;return o[8008]|0||(HOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function HOe(s){s=s|0,Ql(s,qOe()|0,3)}function qOe(){return 1784}function jOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=C,C=C+16|0,Q=m+4|0,k=m,B=bl(GOe()|0)|0,c=Jm(c)|0,n[k>>2]=n[f>>2],n[Q>>2]=n[k>>2],f=xg(Q)|0,Xv(s,mc(0,B|0,l|0,c|0,f|0,cR(d)|0)|0),C=m}function GOe(){var s=0;return o[8016]|0||(WOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function WOe(s){s=s|0,Ql(s,YOe()|0,3)}function YOe(){return 1800}function KOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=bl(VOe()|0)|0,Xv(s,Dn(0,f|0,l|0,Jm(c)|0)|0)}function VOe(){var s=0;return o[8024]|0||(JOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function JOe(s){s=s|0,Ql(s,zOe()|0,1)}function zOe(){return 1816}function XOe(){ZOe(),$Oe(),eMe()}function ZOe(){n[2702]=c7(65536)|0}function $Oe(){EMe(10856)}function eMe(){tMe(10816)}function tMe(s){s=s|0,rMe(s,5044),nMe(s)|0}function rMe(s,l){s=s|0,l=l|0;var c=0;c=D5()|0,n[s>>2]=c,hMe(c,l),Pp(n[s>>2]|0)}function nMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,iMe()|0),s|0}function iMe(){var s=0;return o[8032]|0||(L5(10820),Zt(64,10820,_|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),br(10820)|0||L5(10820),10820}function L5(s){s=s|0,aMe(s),Pg(s,25)}function sMe(s){s=s|0,oMe(s+24|0)}function oMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function aMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,18,l,AMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function lMe(s,l){s=s|0,l=l|0,cMe(s,l)}function cMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=C,C=C+16|0,f=c,d=c+4|0,vg(d,l),n[f>>2]=Dg(d,l)|0,uMe(s,f),C=c}function uMe(s,l){s=s|0,l=l|0,O5(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function O5(s,l){s=s|0,l=l|0,n[s>>2]=l}function AMe(){return 1824}function fMe(s){return s=s|0,pMe(s)|0}function pMe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ja(8)|0,l=f,Q=Gt(4)|0,vg(d,s),O5(Q,Dg(d,s)|0),m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],S5(s,m,d),n[f>>2]=s,C=c,l|0}function Ja(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=c7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function hMe(s,l){s=s|0,l=l|0,n[s>>2]=gMe()|0,n[s+4>>2]=dMe()|0,n[s+12>>2]=l,n[s+8>>2]=mMe()|0,n[s+32>>2]=9}function gMe(){return 11744}function dMe(){return 1832}function mMe(){return Vv()|0}function yMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(CMe(c),pt(c)):l|0&&pt(l)}function CMe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function EMe(s){s=s|0,IMe(s,5052),wMe(s)|0,BMe(s,5058,26)|0,vMe(s,5069,1)|0,DMe(s,5077,10)|0,SMe(s,5087,19)|0,PMe(s,5094,27)|0}function IMe(s,l){s=s|0,l=l|0;var c=0;c=CUe()|0,n[s>>2]=c,EUe(c,l),Pp(n[s>>2]|0)}function wMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,sUe()|0),s|0}function BMe(s,l,c){return s=s|0,l=l|0,c=c|0,H4e(s,cn(l)|0,c,0),s|0}function vMe(s,l,c){return s=s|0,l=l|0,c=c|0,S4e(s,cn(l)|0,c,0),s|0}function DMe(s,l,c){return s=s|0,l=l|0,c=c|0,i4e(s,cn(l)|0,c,0),s|0}function SMe(s,l,c){return s=s|0,l=l|0,c=c|0,jMe(s,cn(l)|0,c,0),s|0}function M5(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}pt(c)}n[2701]=s}function PMe(s,l,c){return s=s|0,l=l|0,c=c|0,xMe(s,cn(l)|0,c,0),s|0}function xMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=AR()|0,s=bMe(c)|0,un(m,l,d,s,QMe(c,f)|0,f)}function AR(){var s=0,l=0;if(o[8040]|0||(_5(10860),Zt(65,10860,_|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(br(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));_5(10860)}return 10860}function bMe(s){return s=s|0,s|0}function QMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=AR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(U5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(kMe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function U5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function kMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=FMe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,RMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,U5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,TMe(s,d),NMe(d),C=Q;return}}function FMe(s){return s=s|0,536870911}function RMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function TMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function _5(s){s=s|0,MMe(s)}function LMe(s){s=s|0,OMe(s+24|0)}function OMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function MMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,UMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function UMe(){return 1840}function _Me(s,l,c){s=s|0,l=l|0,c=c|0,qMe(n[(HMe(s)|0)>>2]|0,l,c)}function HMe(s){return s=s|0,(n[(AR()|0)+24>>2]|0)+(s<<3)|0}function qMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+1|0,d=f,vg(m,l),l=Dg(m,l)|0,vg(d,c),c=Dg(d,c)|0,rf[s&31](l,c),C=f}function jMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=fR()|0,s=GMe(c)|0,un(m,l,d,s,WMe(c,f)|0,f)}function fR(){var s=0,l=0;if(o[8048]|0||(q5(10896),Zt(66,10896,_|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(br(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));q5(10896)}return 10896}function GMe(s){return s=s|0,s|0}function WMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=fR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(H5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(YMe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function H5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function YMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=KMe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,VMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,H5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,JMe(s,d),zMe(d),C=Q;return}}function KMe(s){return s=s|0,536870911}function VMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function JMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function q5(s){s=s|0,$Me(s)}function XMe(s){s=s|0,ZMe(s+24|0)}function ZMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function $Me(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,e4e()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function e4e(){return 1852}function t4e(s,l){return s=s|0,l=l|0,n4e(n[(r4e(s)|0)>>2]|0,l)|0}function r4e(s){return s=s|0,(n[(fR()|0)+24>>2]|0)+(s<<3)|0}function n4e(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,vg(f,l),l=Dg(f,l)|0,l=Yv(Fg[s&31](l)|0)|0,C=c,l|0}function i4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=pR()|0,s=s4e(c)|0,un(m,l,d,s,o4e(c,f)|0,f)}function pR(){var s=0,l=0;if(o[8056]|0||(G5(10932),Zt(67,10932,_|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(br(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));G5(10932)}return 10932}function s4e(s){return s=s|0,s|0}function o4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=pR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(j5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(a4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function j5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function a4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=l4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,c4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,j5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,u4e(s,d),A4e(d),C=Q;return}}function l4e(s){return s=s|0,536870911}function c4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function u4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function A4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function G5(s){s=s|0,h4e(s)}function f4e(s){s=s|0,p4e(s+24|0)}function p4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function h4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,7,l,g4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function g4e(){return 1860}function d4e(s,l,c){return s=s|0,l=l|0,c=c|0,y4e(n[(m4e(s)|0)>>2]|0,l,c)|0}function m4e(s){return s=s|0,(n[(pR()|0)+24>>2]|0)+(s<<3)|0}function y4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return f=C,C=C+32|0,B=f+12|0,m=f+8|0,Q=f,k=f+16|0,d=f+4|0,C4e(k,l),E4e(Q,k,l),Bp(d,c),c=vp(d,c)|0,n[B>>2]=n[Q>>2],FI[s&15](m,B,c),c=I4e(m)|0,GA(m),Dp(d),C=f,c|0}function C4e(s,l){s=s|0,l=l|0}function E4e(s,l,c){s=s|0,l=l|0,c=c|0,w4e(s,c)}function I4e(s){return s=s|0,da(s)|0}function w4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+16|0,c=d,f=l,f&1?(B4e(c,0),$n(f|0,c|0)|0,v4e(s,c),D4e(c)):n[s>>2]=n[l>>2],C=d}function B4e(s,l){s=s|0,l=l|0,KG(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function v4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function D4e(s){s=s|0,o[s+8>>0]=0}function S4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=hR()|0,s=P4e(c)|0,un(m,l,d,s,x4e(c,f)|0,f)}function hR(){var s=0,l=0;if(o[8064]|0||(Y5(10968),Zt(68,10968,_|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(br(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Y5(10968)}return 10968}function P4e(s){return s=s|0,s|0}function x4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=hR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(W5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(b4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function W5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function b4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Q4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,k4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,W5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,F4e(s,d),R4e(d),C=Q;return}}function Q4e(s){return s=s|0,536870911}function k4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function F4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function R4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function Y5(s){s=s|0,L4e(s)}function T4e(s){s=s|0,N4e(s+24|0)}function N4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function L4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,1,l,O4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function O4e(){return 1872}function M4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,_4e(n[(U4e(s)|0)>>2]|0,l,c,f,d,m)}function U4e(s){return s=s|0,(n[(hR()|0)+24>>2]|0)+(s<<3)|0}function _4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=C,C=C+32|0,Q=B+16|0,k=B+12|0,M=B+8|0,O=B+4|0,j=B,Bp(Q,l),l=vp(Q,l)|0,Bp(k,c),c=vp(k,c)|0,Bp(M,f),f=vp(M,f)|0,Bp(O,d),d=vp(O,d)|0,Bp(j,m),m=vp(j,m)|0,h7[s&1](l,c,f,d,m),Dp(j),Dp(O),Dp(M),Dp(k),Dp(Q),C=B}function H4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=gR()|0,s=q4e(c)|0,un(m,l,d,s,j4e(c,f)|0,f)}function gR(){var s=0,l=0;if(o[8072]|0||(V5(11004),Zt(69,11004,_|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(br(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(11004)}return 11004}function q4e(s){return s=s|0,s|0}function j4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=gR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(K5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(G4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function K5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function G4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=W4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,Y4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,K5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,K4e(s,d),V4e(d),C=Q;return}}function W4e(s){return s=s|0,536870911}function Y4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function K4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function V4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function V5(s){s=s|0,X4e(s)}function J4e(s){s=s|0,z4e(s+24|0)}function z4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function X4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,12,l,Z4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Z4e(){return 1896}function $4e(s,l,c){s=s|0,l=l|0,c=c|0,tUe(n[(eUe(s)|0)>>2]|0,l,c)}function eUe(s){return s=s|0,(n[(gR()|0)+24>>2]|0)+(s<<3)|0}function tUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+4|0,d=f,rUe(m,l),l=nUe(m,l)|0,Bp(d,c),c=vp(d,c)|0,rf[s&31](l,c),Dp(d),C=f}function rUe(s,l){s=s|0,l=l|0}function nUe(s,l){return s=s|0,l=l|0,iUe(l)|0}function iUe(s){return s=s|0,s|0}function sUe(){var s=0;return o[8080]|0||(J5(11040),Zt(70,11040,_|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),br(11040)|0||J5(11040),11040}function J5(s){s=s|0,lUe(s),Pg(s,71)}function oUe(s){s=s|0,aUe(s+24|0)}function aUe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function lUe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,7,l,fUe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cUe(s){s=s|0,uUe(s)}function uUe(s){s=s|0,AUe(s)}function AUe(s){s=s|0,o[s+8>>0]=1}function fUe(){return 1936}function pUe(){return hUe()|0}function hUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ja(8)|0,s=c,m=s+4|0,n[m>>2]=Gt(1)|0,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],gUe(f,m,d),n[c>>2]=f,C=l,s|0}function gUe(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function dUe(s){s=s|0,Zm(s),pt(s)}function mUe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function yUe(s){s=s|0,pt(s)}function CUe(){var s=0;return o[8088]|0||(SUe(11076),Zt(25,11076,_|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function EUe(s,l){s=s|0,l=l|0,n[s>>2]=IUe()|0,n[s+4>>2]=wUe()|0,n[s+12>>2]=l,n[s+8>>2]=BUe()|0,n[s+32>>2]=10}function IUe(){return 11745}function wUe(){return 1940}function BUe(){return Kv()|0}function vUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(DUe(c),pt(c)):l|0&&pt(l)}function DUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function SUe(s){s=s|0,wp(s)}function kc(s,l){s=s|0,l=l|0,n[s>>2]=l}function dR(s){return s=s|0,n[s>>2]|0}function PUe(s){return s=s|0,o[n[s>>2]>>0]|0}function xUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,n[f>>2]=n[s>>2],bUe(l,f)|0,C=c}function bUe(s,l){s=s|0,l=l|0;var c=0;return c=QUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function QUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,za(f),s=da(s)|0,l=kUe(s,n[l>>2]|0)|0,Xa(f),C=c,l|0}function za(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function kUe(s,l){s=s|0,l=l|0;var c=0;return c=bl(FUe()|0)|0,Dn(0,c|0,s|0,cR(l)|0)|0}function Xa(s){s=s|0,M5(n[s>>2]|0,n[s+4>>2]|0)}function FUe(){var s=0;return o[8096]|0||(RUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function RUe(s){s=s|0,Ql(s,TUe()|0,1)}function TUe(){return 1948}function NUe(){LUe()}function LUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0;if(Le=C,C=C+16|0,O=Le+4|0,j=Le,Fi(65536,10804,n[2702]|0,10812),c=C5()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;hc(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=E5()|0,l=n[s>>2]|0,l|0)do du(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);du(OUe()|0,5167),M=Km()|0,s=n[M>>2]|0;e:do if(s|0){do MUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){k=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(UUe(d)|0);)if(n[j>>2]=k,n[O>>2]=n[j>>2],_Ue(M,O)|0,!s)break e;if(HUe(d),k=n[k>>2]|0,l=z5(d)|0,m=_i()|0,B=C,C=C+((1*(l<<2)|0)+15&-16)|0,Q=C,C=C+((1*(l<<2)|0)+15&-16)|0,l=n[(F5(d)|0)>>2]|0,l|0)for(c=B,f=Q;n[c>>2]=n[(Vm(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Re=Vm(d)|0,l=qUe(d)|0,c=z5(d)|0,f=jUe(d)|0,mu(Re|0,l|0,B|0,Q|0,c|0,f|0,nR(d)|0),Ui(m|0)}while((s|0)!=0)}}while(0);if(s=n[(iR()|0)>>2]|0,s|0)do Re=s+4|0,M=sR(Re)|0,d=xI(M)|0,m=SI(M)|0,B=(PI(M)|0)+1|0,Q=Zv(M)|0,k=X5(Re)|0,M=br(M)|0,O=Jv(Re)|0,j=mR(Re)|0,Il(0,d|0,m|0,B|0,Q|0,k|0,M|0,O|0,j|0,yR(Re)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(Km()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(Vm(l)|0)>>2]|0,We=n[(R5(l)|0)>>2]|0,We|0)){c=We;do{l=c+4|0,f=sR(l)|0;r:do if(f|0)switch(br(f)|0){case 0:break t;case 4:case 3:case 2:{Q=xI(f)|0,k=SI(f)|0,M=(PI(f)|0)+1|0,O=Zv(f)|0,j=br(f)|0,Re=Jv(l)|0,Il(se|0,Q|0,k|0,M|0,O|0,0,j|0,Re|0,mR(l)|0,yR(l)|0);break r}case 1:{B=xI(f)|0,Q=SI(f)|0,k=(PI(f)|0)+1|0,M=Zv(f)|0,O=X5(l)|0,j=br(f)|0,Re=Jv(l)|0,Il(se|0,B|0,Q|0,k|0,M|0,O|0,j|0,Re|0,mR(l)|0,yR(l)|0);break r}case 5:{M=xI(f)|0,O=SI(f)|0,j=(PI(f)|0)+1|0,Re=Zv(f)|0,Il(se|0,M|0,O|0,j|0,Re|0,GUe(f)|0,br(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Rt()}while(0);Ee(),C=Le}function OUe(){return 11703}function MUe(s){s=s|0,o[s+40>>0]=0}function UUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function _Ue(s,l){return s=s|0,l=l|0,l=WUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],pt(s),n[l>>2]|0}function HUe(s){s=s|0,o[s+40>>0]=1}function z5(s){return s=s|0,n[s+20>>2]|0}function qUe(s){return s=s|0,n[s+8>>2]|0}function jUe(s){return s=s|0,n[s+32>>2]|0}function Zv(s){return s=s|0,n[s+4>>2]|0}function X5(s){return s=s|0,n[s+4>>2]|0}function mR(s){return s=s|0,n[s+8>>2]|0}function yR(s){return s=s|0,n[s+16>>2]|0}function GUe(s){return s=s|0,n[s+20>>2]|0}function WUe(s){return s=s|0,n[s>>2]|0}function $v(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0;Tt=C,C=C+16|0,se=Tt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,j=n[2783]|0,c=j>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=j&~(1<<l):(n[m+12>>2]=s,n[c>>2]=m),Ge=l<<3,n[f+4>>2]=Ge|3,Ge=f+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1,Ge=d,C=Tt,Ge|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<<s,l=c<<s&(l|0-l),l=(l&0-l)+-1|0,B=l>>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=j&~(1<<f),n[2783]=s):(n[c+12>>2]=l,n[s>>2]=c,s=j),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,Ge=B,C=Tt,Ge|0;if(Q=n[2784]|0,Q){if(c=(Q&0-Q)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,k=c>>>2&4,c=c>>>k,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|k|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)k=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,k=B>>>0<c>>>0,c=k?B:c,s=k?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);k=s,m=c}if(B=k+M|0,k>>>0<B>>>0){d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[k+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[k+28>>2]|0,s=11436+(l<<2)|0,(k|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=Q&~(1<<l);break}}else if(n[d+16+(((n[d+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[k+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[k+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(Ge=m+M|0,n[k+4>>2]=Ge|3,Ge=k+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1):(n[k+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,j&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=j|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),Ge=k+8|0,C=Tt,Ge|0}else j=M}else j=M}else j=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,k=n[2784]|0,k){f=0-M|0,s=s>>>8,s?M>>>0>16777215?Q=31:(j=(s+1048320|0)>>>16&8,He=s<<j,O=(He+520192|0)>>>16&4,He=He<<O,Q=(He+245760|0)>>>16&2,Q=14-(O|j|Q)+(He<<Q>>>15)|0,Q=M>>>(Q+7|0)&1|Q<<1):Q=0,c=n[11436+(Q<<2)>>2]|0;e:do if(!c)c=0,s=0,He=57;else for(s=0,B=M<<((Q|0)==31?0:25-(Q>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0<f>>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,He=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,He=57;break}else B=B<<((d^1)&1)}while(0);if((He|0)==57){if((c|0)==0&(s|0)==0){if(s=2<<Q,s=k&(s|0-s),!s){j=M;break}j=(s&0-s)+-1|0,B=j>>>12&16,j=j>>>B,m=j>>>5&8,j=j>>>m,Q=j>>>2&4,j=j>>>Q,O=j>>>1&2,j=j>>>O,c=j>>>1&1,s=0,c=n[11436+((m|B|Q|O|c)+(j>>>c)<<2)>>2]|0}c?(d=c,He=61):(Q=s,B=f)}if((He|0)==61)for(;;)if(He=0,c=(n[d+4>>2]&-8)-M|0,j=c>>>0<f>>>0,c=j?c:f,s=j?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,He=61;else{Q=s,B=c;break}if((Q|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=Q+M|0,Q>>>0>=m>>>0)return Ge=0,C=Tt,Ge|0;d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else Ge=n[Q+8>>2]|0,n[Ge+12>>2]=l,n[l+8>>2]=Ge;while(0);do if(d){if(s=n[Q+28>>2]|0,c=11436+(s<<2)|0,(Q|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=k&~(1<<s),n[2784]=f;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(Q|0)&1)<<2)>>2]=l,!l){f=k;break}n[l+24>>2]=d,s=n[Q+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[Q+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=k}else f=k;while(0);do if(B>>>0>=16){if(n[Q+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<<l,!(f&s)){n[2784]=f|s,n[c>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){He=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=96;break}}if((He|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((He|0)==97){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=m,n[He>>2]=m,n[m+8>>2]=Ge,n[m+12>>2]=c,n[m+24>>2]=0;break}}else Ge=B+M|0,n[Q+4>>2]=Ge|3,Ge=Q+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1;while(0);return Ge=Q+8|0,C=Tt,Ge|0}else j=M}else j=M;else j=-1;while(0);if(c=n[2785]|0,c>>>0>=j>>>0)return l=c-j|0,s=n[2788]|0,l>>>0>15?(Ge=s+j|0,n[2788]=Ge,n[2785]=l,n[Ge+4>>2]=l|1,n[Ge+l>>2]=l,n[s+4>>2]=j|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,Ge=s+c+4|0,n[Ge>>2]=n[Ge>>2]|1),Ge=s+8|0,C=Tt,Ge|0;if(B=n[2786]|0,B>>>0>j>>>0)return at=B-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Tt,Ge|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),Q=j+48|0,k=j+47|0,m=s+k|0,d=0-s|0,M=m&d,M>>>0<=j>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return Ge=0,C=Tt,Ge|0;e:do if(n[2894]&4)l=0,He=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Re=f+4|0,(s+(n[Re>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{He=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=bp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Re>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,He=135;break e}}else f=s,He=126;else l=0}else He=118;while(0);do if((He|0)==118)if(c=bp(0)|0,(c|0)!=-1&&(l=c,We=n[2902]|0,Le=We+-1|0,l=((Le&l|0)==0?0:(Le+l&0-We)-l|0)+M|0,We=n[2891]|0,Le=l+We|0,l>>>0>j>>>0&l>>>0<2147483647)){if(Re=n[2893]|0,Re|0&&Le>>>0<=We>>>0|Le>>>0>Re>>>0){l=0;break}if(s=bp(l|0)|0,(s|0)==(c|0)){B=l,m=c,He=135;break e}else f=s,He=126}else l=0;while(0);do if((He|0)==126){if(c=0-l|0,!(Q>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,He=135;break e}if(s=n[2903]|0,s=k-l+s&0-s,s>>>0>=2147483647){B=l,m=f,He=135;break e}if((bp(s|0)|0)==-1){bp(c|0)|0,l=0;break}else{B=s+l|0,m=f,He=135;break e}}while(0);n[2894]=n[2894]|4,He=133}while(0);if((He|0)==133&&M>>>0<2147483647&&(at=bp(M|0)|0,Re=bp(0)|0,et=Re-at|0,Ze=et>>>0>(j+40|0)>>>0,!((at|0)==-1|Ze^1|at>>>0<Re>>>0&((at|0)!=-1&(Re|0)!=-1)^1))&&(B=Ze?et:l,m=at,He=135),(He|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),k=n[2789]|0;do if(k){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){He=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((He|0)==145&&(n[l+12>>2]&8|0)==0&&k>>>0<m>>>0&k>>>0>=s>>>0){n[c>>2]=f+B,Ge=k+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=k+Ge|0,Ge=(n[2786]|0)+(B-Ge)|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){He=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((He|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+j|0,Q=l-O-j|0,n[O+4>>2]=j|3;do if((l|0)!=(k|0)){if((l|0)==(n[2788]|0)){Ge=(n[2785]|0)+Q|0,n[2785]=Ge,n[2788]=M,n[M+4>>2]=Ge|1,n[M+Ge>>2]=Ge;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<<f);break}else{n[s+12>>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else Ge=n[l+8>>2]|0,n[Ge+12>>2]=s,n[s+8>>2]=Ge;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<<c);break e}while(0);if(n[s+24>>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+Q|0}else d=Q;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<<l,!(s&c)){n[2784]=s|c,n[f>>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){He=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=193;break}}if((He|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((He|0)==194){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=M,n[He>>2]=M,n[M+8>>2]=Ge,n[M+12>>2]=c,n[M+24>>2]=0;break}}else Ge=(n[2786]|0)+Q|0,n[2786]=Ge,n[2789]=M,n[M+4>>2]=Ge|1;while(0);return Ge=O+8|0,C=Tt,Ge|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=k>>>0&&(Ge=s+(n[l+4>>2]|0)|0,Ge>>>0>k>>>0));)l=n[l+8>>2]|0;d=Ge+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=k+16|0,s=s>>>0<d>>>0?k:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,He=m+c|0,c=B+-40-c|0,n[2789]=He,n[2786]=c,n[He+4>>2]=c|1,n[He+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do He=l,l=l+4|0,n[l>>2]=7;while((He+8|0)>>>0<Ge>>>0);if((s|0)!=(k|0)){if(m=s-k|0,n[c>>2]=n[c>>2]&-2,n[k+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=k,n[l+12>>2]=k,n[k+8>>2]=l,n[k+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,c=(Ge+245760|0)>>>16&2,c=14-(at|He|c)+(Ge<<c>>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[k+28>>2]=c,n[k+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<<c,!(l&s)){n[2784]=l|s,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){He=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=215;break}}if((He|0)==215){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((He|0)==216){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=k,n[He>>2]=k,n[k+8>>2]=Ge,n[k+12>>2]=c,n[k+24>>2]=0;break}}}else{Ge=n[2787]|0,(Ge|0)==0|m>>>0<Ge>>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ge=11172+(l<<1<<2)|0,n[Ge+12>>2]=Ge,n[Ge+8>>2]=Ge,l=l+1|0;while((l|0)!=32);Ge=m+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=m+Ge|0,Ge=B+-40-Ge|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>j>>>0)return at=l-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Tt,Ge|0}return n[(zm()|0)>>2]=12,Ge=0,C=Tt,Ge|0}function eD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,k=c+l|0;do if(s&1)Q=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0<d>>>0))return;if((B|0)==(n[2788]|0)){if(s=k+4|0,l=n[s>>2]|0,(l&3|0)!=3){Q=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<<c),Q=B,l=m;break}else{n[s+12>>2]=l,n[l+8>>2]=s,Q=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else Q=n[B+8>>2]|0,n[Q+12>>2]=s,n[s+8>>2]=Q;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<<l),Q=B,l=m;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){Q=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,Q=B,l=m):(Q=B,l=m)}else Q=B,l=m}while(0);if(!(B>>>0>=k>>>0)&&(s=k+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[Q+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(k|0)==(n[2789]|0)){if(k=(n[2786]|0)+l|0,n[2786]=k,n[2789]=Q,n[Q+4>>2]=k|1,(Q|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((k|0)==(s|0)){k=(n[2785]|0)+l|0,n[2785]=k,n[2788]=B,n[Q+4>>2]=k|1,n[B+k>>2]=k;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[k+8>>2]|0,s=n[k+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<<c);break}else{n[l+12>>2]=s,n[s+8>>2]=l;break}else{m=n[k+24>>2]|0,s=n[k+12>>2]|0;do if((s|0)==(k|0)){if(c=k+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[k+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[k+28>>2]|0,l=11436+(s<<2)|0,(k|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<<s);break}}else if(n[m+16+(((n[m+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=k+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[Q+4>>2]=d|1,n[B+d>>2]=d,(Q|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<<s,l&s?(l=c+8|0,s=n[l>>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=Q,n[s+12>>2]=Q,n[Q+8>>2]=s,n[Q+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,k=s<<B,m=(k+520192|0)>>>16&4,k=k<<m,s=(k+245760|0)>>>16&2,s=14-(m|B|s)+(k<<s>>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[Q+28>>2]=s,n[Q+20>>2]=0,n[Q+16>>2]=0,l=n[2784]|0,c=1<<s;do if(l&c){for(l=d<<((s|0)==31?0:25-(s>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((s|0)==73){B=c+8|0,k=n[B>>2]|0,n[k+12>>2]=Q,n[B>>2]=Q,n[Q+8>>2]=k,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;while(0);if(k=(n[2791]|0)+-1|0,n[2791]=k,!k)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function YUe(){return 11628}function KUe(s){s=s|0;var l=0,c=0;return l=C,C=C+16|0,c=l,n[c>>2]=zUe(n[s+60>>2]|0)|0,s=tD(yc(6,c|0)|0)|0,C=l,s|0}function Z5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;j=C,C=C+48|0,M=j+16|0,m=j,d=j+32|0,Q=s+28|0,f=n[Q>>2]|0,n[d>>2]=f,k=s+20|0,f=(n[k>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=tD(Hi(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,We=n[d+4>>2]|0,se=m>>>0>We>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,We=m-(se?We:0)|0,n[d>>2]=(n[d>>2]|0)+We,se=d+4|0,n[se>>2]=(n[se>>2]|0)-We,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=tD(Hi(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[Q>>2]=0,n[k>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(We=n[s+44>>2]|0,n[s+16>>2]=We+(n[s+48>>2]|0),n[Q>>2]=We,n[k>>2]=We),C=j,c|0}function VUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=C,C=C+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(tD(ra(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,C=d,s|0}function tD(s){return s=s|0,s>>>0>4294963200&&(n[(zm()|0)>>2]=0-s,s=-1),s|0}function zm(){return(JUe()|0)+64|0}function JUe(){return CR()|0}function CR(){return 2084}function zUe(s){return s=s|0,s|0}function XUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=C,C=C+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,yu(54,f|0)|0)&&(o[s+75>>0]=-1),f=Z5(s,l,c)|0,C=d,f|0}function $5(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function ZUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function e7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0;Re=C,C=C+224|0,O=Re+120|0,j=Re+80|0,We=Re,Le=Re+136|0,f=j,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(ER(0,l,O,We,j)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=$Ue(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=ER(s,l,O,We,j)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Le,B=s+28|0,n[B>>2]=Le,Q=s+20|0,n[Q>>2]=Le,n[f>>2]=80,k=s+16|0,n[k>>2]=Le+80,c=ER(s,l,O,We,j)|0,m&&(sD[n[s+36>>2]&7](s,0,0)|0,c=(n[Q>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[k>>2]=0,n[B>>2]=0,n[Q>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&e3e(s),c=(f&32|0)==0?c:-1),C=Re,c|0}function ER(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0;rr=C,C=C+64|0,ir=rr+16|0,Jt=rr,Tt=rr+24|0,Ir=rr+8|0,Qr=rr+20|0,n[ir>>2]=l,at=(s|0)!=0,He=Tt+40|0,Ge=He,Tt=Tt+39|0,Rr=Ir+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(zm()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)Q=l;else{Ze=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=Q,Ze=9;break t}case 0:{B=Q;break t}default:}et=Q+1|0,n[ir>>2]=et,B=o[et>>0]|0,Q=et}t:do if((Ze|0)==9)for(;;){if(Ze=0,(o[Q+1>>0]|0)!=37)break t;if(B=B+1|0,Q=Q+2|0,n[ir>>2]=Q,(o[Q>>0]|0)==37)Ze=9;else break}while(0);if(B=B-l|0,at&&ss(s,l,B),B|0){l=Q;continue}k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10?(et=(o[Q+2>>0]|0)==36,Re=et?B:-1,O=et?1:O,k=et?Q+3|0:k):Re=-1,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0;t:do if(Q>>>0<32)for(M=0,j=B;;){if(B=1<<Q,!(B&75913)){B=j;break t}if(M=B|M,k=k+1|0,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0,Q>>>0>=32)break;j=B}else M=0;while(0);if(B<<24>>24==42){if(Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10&&(o[k+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[Q>>0]|0)+-48<<3)>>2]|0,O=1,k=k+3|0;else{if(O|0){m=-1;break}at?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,k=Q):(B=0,O=0,k=Q)}n[ir>>2]=k,et=(B|0)<0,B=et?0-B|0:B,M=et?M|8192:M}else{if(B=t7(ir)|0,(B|0)<0){m=-1;break}k=n[ir>>2]|0}do if((o[k>>0]|0)==46){if((o[k+1>>0]|0)!=42){n[ir>>2]=k+1,Q=t7(ir)|0,k=n[ir>>2]|0;break}if(j=k+2|0,Q=(o[j>>0]|0)+-48|0,Q>>>0<10&&(o[k+3>>0]|0)==36){n[d+(Q<<2)>>2]=10,Q=n[f+((o[j>>0]|0)+-48<<3)>>2]|0,k=k+4|0,n[ir>>2]=k;break}if(O|0){m=-1;break e}at?(et=(n[c>>2]|0)+(4-1)&~(4-1),Q=n[et>>2]|0,n[c>>2]=et+4):Q=0,n[ir>>2]=j,k=j}else Q=-1;while(0);for(Le=0;;){if(((o[k>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(et=k+1|0,n[ir>>2]=et,j=o[(o[k>>0]|0)+-65+(5178+(Le*58|0))>>0]|0,se=j&255,(se+-1|0)>>>0<8)Le=se,k=et;else break}if(!(j<<24>>24)){m=-1;break}We=(Re|0)>-1;do if(j<<24>>24==19)if(We){m=-1;break e}else Ze=49;else{if(We){n[d+(Re<<2)>>2]=se,We=f+(Re<<3)|0,Re=n[We+4>>2]|0,Ze=Jt,n[Ze>>2]=n[We>>2],n[Ze+4>>2]=Re,Ze=49;break}if(!at){m=0;break e}r7(Jt,se,c)}while(0);if((Ze|0)==49&&(Ze=0,!at)){B=0,l=et;continue}k=o[k>>0]|0,k=(Le|0)!=0&(k&15|0)==3?k&-33:k,We=M&-65537,Re=(M&8192|0)==0?M:We;t:do switch(k|0){case 110:switch((Le&255)<<24>>24){case 0:{n[n[Jt>>2]>>2]=m,B=0,l=et;continue e}case 1:{n[n[Jt>>2]>>2]=m,B=0,l=et;continue e}case 2:{B=n[Jt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}case 3:{a[n[Jt>>2]>>1]=m,B=0,l=et;continue e}case 4:{o[n[Jt>>2]>>0]=m,B=0,l=et;continue e}case 6:{n[n[Jt>>2]>>2]=m,B=0,l=et;continue e}case 7:{B=n[Jt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}default:{B=0,l=et;continue e}}case 112:{k=120,Q=Q>>>0>8?Q:8,l=Re|8,Ze=61;break}case 88:case 120:{l=Re,Ze=61;break}case 111:{k=Jt,l=n[k>>2]|0,k=n[k+4>>2]|0,se=r3e(l,k,He)|0,We=Ge-se|0,M=0,j=5642,Q=(Re&8|0)==0|(Q|0)>(We|0)?Q:We+1|0,We=Re,Ze=67;break}case 105:case 100:if(k=Jt,l=n[k>>2]|0,k=n[k+4>>2]|0,(k|0)<0){l=rD(0,0,l|0,k|0)|0,k=Ce,M=Jt,n[M>>2]=l,n[M+4>>2]=k,M=1,j=5642,Ze=66;break t}else{M=(Re&2049|0)!=0&1,j=(Re&2048|0)==0?(Re&1|0)==0?5642:5644:5643,Ze=66;break t}case 117:{k=Jt,M=0,j=5642,l=n[k>>2]|0,k=n[k+4>>2]|0,Ze=66;break}case 99:{o[Tt>>0]=n[Jt>>2],l=Tt,M=0,j=5642,se=He,k=1,Q=We;break}case 109:{k=n3e(n[(zm()|0)>>2]|0)|0,Ze=71;break}case 115:{k=n[Jt>>2]|0,k=k|0?k:5652,Ze=71;break}case 67:{n[Ir>>2]=n[Jt>>2],n[Rr>>2]=0,n[Jt>>2]=Ir,se=-1,k=Ir,Ze=75;break}case 83:{l=n[Jt>>2]|0,Q?(se=Q,k=l,Ze=75):(Is(s,32,B,0,Re),l=0,Ze=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=s3e(s,+E[Jt>>3],B,Q,Re,k)|0,l=et;continue e}default:M=0,j=5642,se=He,k=Q,Q=Re}while(0);t:do if((Ze|0)==61)Re=Jt,Le=n[Re>>2]|0,Re=n[Re+4>>2]|0,se=t3e(Le,Re,He,k&32)|0,j=(l&8|0)==0|(Le|0)==0&(Re|0)==0,M=j?0:2,j=j?5642:5642+(k>>4)|0,We=l,l=Le,k=Re,Ze=67;else if((Ze|0)==66)se=Xm(l,k,He)|0,We=Re,Ze=67;else if((Ze|0)==71)Ze=0,Re=i3e(k,0,Q)|0,Le=(Re|0)==0,l=k,M=0,j=5642,se=Le?k+Q|0:Re,k=Le?Q:Re-k|0,Q=We;else if((Ze|0)==75){for(Ze=0,j=k,l=0,Q=0;M=n[j>>2]|0,!(!M||(Q=n7(Qr,M)|0,(Q|0)<0|Q>>>0>(se-l|0)>>>0));)if(l=Q+l|0,se>>>0>l>>>0)j=j+4|0;else break;if((Q|0)<0){m=-1;break e}if(Is(s,32,B,l,Re),!l)l=0,Ze=84;else for(M=0;;){if(Q=n[k>>2]|0,!Q){Ze=84;break t}if(Q=n7(Qr,Q)|0,M=Q+M|0,(M|0)>(l|0)){Ze=84;break t}if(ss(s,Qr,Q),M>>>0>=l>>>0){Ze=84;break}else k=k+4|0}}while(0);if((Ze|0)==67)Ze=0,k=(l|0)!=0|(k|0)!=0,Re=(Q|0)!=0|k,k=((k^1)&1)+(Ge-se)|0,l=Re?se:He,se=He,k=Re?(Q|0)>(k|0)?Q:k:Q,Q=(Q|0)>-1?We&-65537:We;else if((Ze|0)==84){Ze=0,Is(s,32,B,l,Re^8192),B=(B|0)>(l|0)?B:l,l=et;continue}Le=se-l|0,We=(k|0)<(Le|0)?Le:k,Re=We+M|0,B=(B|0)<(Re|0)?Re:B,Is(s,32,B,Re,Q),ss(s,j,M),Is(s,48,B,Re,Q^65536),Is(s,48,We,Le,0),ss(s,l,Le),Is(s,32,B,Re,Q^8192),l=et}e:do if((Ze|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(r7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return C=rr,m|0}function $Ue(s){return s=s|0,0}function e3e(s){s=s|0}function ss(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||h3e(l,c,s)|0}function t7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function r7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}default:break e}while(0);while(0)}function t3e(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=nD(s|0,l|0,4)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function r3e(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=nD(s|0,l|0,3)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function Xm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=vR(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=BR(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Ce;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function n3e(s){return s=s|0,u3e(s,n[(c3e()|0)+188>>2]|0)|0}function i3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=Oe(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function Is(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=C,C=C+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,$m(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do ss(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}ss(s,m,d)}C=B}function n7(s,l){return s=s|0,l=l|0,s?s=a3e(s,l,0)|0:s=0,s|0}function s3e(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=0;Bn=C,C=C+560|0,k=Bn+8|0,et=Bn,rr=Bn+524|0,Qr=rr,M=Bn+512|0,n[et>>2]=0,Ir=M+12|0,i7(l)|0,(Ce|0)<0?(l=-l,ir=1,Rr=5659):(ir=(d&2049|0)!=0&1,Rr=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),i7(l)|0,Jt=Ce&2146435072;do if(Jt>>>0<2146435072|(Jt|0)==2146435072&0<0){if(We=+o3e(l,et)*2,B=We!=0,B&&(n[et>>2]=(n[et>>2]|0)+-1),at=m|32,(at|0)==97){Le=m&32,se=(Le|0)==0?Rr:Rr+9|0,j=ir|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=We;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-We-l));break}else{l=We+l-l;break}}while(0);Q=n[et>>2]|0,B=(Q|0)<0?0-Q|0:Q,B=Xm(B,((B|0)<0)<<31>>31,Ir)|0,(B|0)==(Ir|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(Q>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,k=(d&8|0)==0,B=rr;do Jt=~~l,Q=B+1|0,o[B>>0]=u[5694+Jt>>0]|Le,l=(l-+(Jt|0))*16,(Q-Qr|0)==1&&!(k&(M&l==0))?(o[Q>>0]=46,B=B+2|0):B=Q;while(l!=0);Jt=B-Qr|0,Qr=Ir-O|0,Ir=(f|0)!=0&(Jt+-2|0)<(f|0)?f+2|0:Jt,B=Qr+j+Ir|0,Is(s,32,c,B,d),ss(s,se,j),Is(s,48,c,B,d^65536),ss(s,rr,Jt),Is(s,48,Ir-Jt|0,0,0),ss(s,O,Qr),Is(s,32,c,B,d^8192);break}Q=(f|0)<0?6:f,B?(B=(n[et>>2]|0)+-28|0,n[et>>2]=B,l=We*268435456):(l=We,B=n[et>>2]|0),Jt=(B|0)<0?k:k+288|0,k=Jt;do Ge=~~l>>>0,n[k>>2]=Ge,k=k+4|0,l=(l-+(Ge>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Jt,j=k;;){if(O=(B|0)<29?B:29,B=j+-4|0,B>>>0>=M>>>0){k=0;do He=u7(n[B>>2]|0,0,O|0)|0,He=wR(He|0,Ce|0,k|0,0)|0,Ge=Ce,Ze=vR(He|0,Ge|0,1e9,0)|0,n[B>>2]=Ze,k=BR(He|0,Ge|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);k&&(M=M+-4|0,n[M>>2]=k)}for(k=j;!(k>>>0<=M>>>0);)if(B=k+-4|0,!(n[B>>2]|0))k=B;else break;if(B=(n[et>>2]|0)-O|0,n[et>>2]=B,(B|0)>0)j=k;else break}else M=Jt;if((B|0)<0){f=((Q+25|0)/9|0)+1|0,Re=(at|0)==102;do{if(Le=0-B|0,Le=(Le|0)<9?Le:9,M>>>0<k>>>0){O=(1<<Le)+-1|0,j=1e9>>>Le,se=0,B=M;do Ge=n[B>>2]|0,n[B>>2]=(Ge>>>Le)+se,se=Oe(Ge&O,j)|0,B=B+4|0;while(B>>>0<k>>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[k>>2]=se,M=B,B=k+4|0):(M=B,B=k)}else M=(n[M>>2]|0)==0?M+4|0:M,B=k;k=Re?Jt:M,k=(B-k>>2|0)>(f|0)?k+(f<<2)|0:B,B=(n[et>>2]|0)+Le|0,n[et>>2]=B}while((B|0)<0);B=M,f=k}else B=M,f=k;if(Ge=Jt,B>>>0<f>>>0){if(k=(Ge-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,k=k+1|0;while(O>>>0>=M>>>0)}}else k=0;if(Re=(at|0)==103,Ze=(Q|0)!=0,M=Q-((at|0)!=102?k:0)+((Ze&Re)<<31>>31)|0,(M|0)<(((f-Ge>>2)*9|0)+-9|0)){if(M=M+9216|0,Le=Jt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(j=n[Le>>2]|0,se=(j>>>0)%(O>>>0)|0,M=(Le+4|0)==(f|0),M&(se|0)==0)M=Le;else if(We=(((j>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,He=(O|0)/2|0,l=se>>>0<He>>>0?.5:M&(se|0)==(He|0)?1:1.5,ir&&(He=(o[Rr>>0]|0)==45,l=He?-l:l,We=He?-We:We),M=j-se|0,n[Le>>2]=M,We+l!=We){if(He=M+O|0,n[Le>>2]=He,He>>>0>999999999)for(k=Le;M=k+-4|0,n[k>>2]=0,M>>>0<B>>>0&&(B=B+-4|0,n[B>>2]=0),He=(n[M>>2]|0)+1|0,n[M>>2]=He,He>>>0>999999999;)k=M;else M=Le;if(k=(Ge-B>>2)*9|0,j=n[B>>2]|0,j>>>0>=10){O=10;do O=O*10|0,k=k+1|0;while(j>>>0>=O>>>0)}}else M=Le;M=M+4|0,M=f>>>0>M>>>0?M:f,He=B}else M=f,He=B;for(at=M;;){if(at>>>0<=He>>>0){et=0;break}if(B=at+-4|0,!(n[B>>2]|0))at=B;else{et=1;break}}f=0-k|0;do if(Re)if(B=((Ze^1)&1)+Q|0,(B|0)>(k|0)&(k|0)>-5?(O=m+-1|0,Q=B+-1-k|0):(O=m+-2|0,Q=B+-1|0),B=d&8,B)Le=B;else{if(et&&(Tt=n[at+-4>>2]|0,(Tt|0)!=0))if((Tt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Tt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((at-Ge>>2)*9|0)+-9|0,(O|32|0)==102){Le=B-M|0,Le=(Le|0)>0?Le:0,Q=(Q|0)<(Le|0)?Q:Le,Le=0;break}else{Le=B+k-M|0,Le=(Le|0)>0?Le:0,Q=(Q|0)<(Le|0)?Q:Le,Le=0;break}}else O=m,Le=d&8;while(0);if(Re=Q|Le,j=(Re|0)!=0&1,se=(O|32|0)==102,se)Ze=0,B=(k|0)>0?k:0;else{if(B=(k|0)<0?f:k,B=Xm(B,((B|0)<0)<<31>>31,Ir)|0,M=Ir,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(k>>31&2)+43,B=B+-2|0,o[B>>0]=O,Ze=B,B=M-B|0}if(B=ir+1+Q+j+B|0,Is(s,32,c,B,d),ss(s,Rr,ir),Is(s,48,c,B,d^65536),se){O=He>>>0>Jt>>>0?Jt:He,Le=rr+9|0,j=Le,se=rr+8|0,M=O;do{if(k=Xm(n[M>>2]|0,0,Le)|0,(M|0)==(O|0))(k|0)==(Le|0)&&(o[se>>0]=48,k=se);else if(k>>>0>rr>>>0){$m(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}ss(s,k,j-k|0),M=M+4|0}while(M>>>0<=Jt>>>0);if(Re|0&&ss(s,5710,1),M>>>0<at>>>0&(Q|0)>0)for(;;){if(k=Xm(n[M>>2]|0,0,Le)|0,k>>>0>rr>>>0){$m(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}if(ss(s,k,(Q|0)<9?Q:9),M=M+4|0,k=Q+-9|0,M>>>0<at>>>0&(Q|0)>9)Q=k;else{Q=k;break}}Is(s,48,Q+9|0,9,0)}else{if(Re=et?at:He+4|0,(Q|0)>-1){et=rr+9|0,Le=(Le|0)==0,f=et,j=0-Qr|0,se=rr+8|0,O=He;do{k=Xm(n[O>>2]|0,0,et)|0,(k|0)==(et|0)&&(o[se>>0]=48,k=se);do if((O|0)==(He|0)){if(M=k+1|0,ss(s,k,1),Le&(Q|0)<1){k=M;break}ss(s,5710,1),k=M}else{if(k>>>0<=rr>>>0)break;$m(rr|0,48,k+j|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}while(0);Qr=f-k|0,ss(s,k,(Q|0)>(Qr|0)?Qr:Q),Q=Q-Qr|0,O=O+4|0}while(O>>>0<Re>>>0&(Q|0)>-1)}Is(s,48,Q+18|0,18,0),ss(s,Ze,Ir-Ze|0)}Is(s,32,c,B,d^8192)}else rr=(m&32|0)!=0,B=ir+3|0,Is(s,32,c,B,d&-65537),ss(s,Rr,ir),ss(s,l!=l|!1?rr?5686:5690:rr?5678:5682,3),Is(s,32,c,B,d^8192);while(0);return C=Bn,((B|0)<(c|0)?c:B)|0}function i7(s){s=+s;var l=0;return E[v>>3]=s,l=n[v>>2]|0,Ce=n[v+4>>2]|0,l|0}function o3e(s,l){return s=+s,l=l|0,+ +s7(s,l)}function s7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(E[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=nD(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+s7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+E[v>>3]}return+s}function a3e(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(l3e()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(zm()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(zm()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function l3e(){return CR()|0}function c3e(){return CR()|0}function u3e(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return A3e(c,n[l+20>>2]|0)|0}function A3e(s,l){return s=s|0,l=l|0,f3e(s,l)|0}function f3e(s,l){return s=s|0,l=l|0,l?l=p3e(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function p3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=bg(n[s+8>>2]|0,se)|0,f=bg(n[s+12>>2]|0,se)|0,d=bg(n[s+16>>2]|0,se)|0;e:do if(m>>>0<l>>>2>>>0&&(j=l-(m<<2)|0,f>>>0<j>>>0&d>>>0<j>>>0)&&((d|f)&3|0)==0){for(j=f>>>2,O=d>>>2,M=0;;){if(Q=m>>>1,k=M+Q|0,B=k<<1,d=B+j|0,f=bg(n[s+(d<<2)>>2]|0,se)|0,d=bg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0<l>>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=$5(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:k,m=f?Q:m-Q|0}f=B+O|0,d=bg(n[s+(f<<2)>>2]|0,se)|0,f=bg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0<l>>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function bg(s,l){s=s|0,l=l|0;var c=0;return c=p7(s|0)|0,((l|0)==0?s:c)|0}function h3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=c+16|0,d=n[f>>2]|0,d?m=5:g3e(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(Q=c+20|0,B=n[Q>>2]|0,f=B,(d-B|0)>>>0<l>>>0){f=sD[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=sD[n[c+36>>2]&7](c,s,B)|0,f>>>0<B>>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[Q>>2]|0}else m=0,d=s;while(0);Er(f|0,d|0,l|0)|0,n[Q>>2]=(n[Q>>2]|0)+l,f=m+l|0}while(0);return f|0}function g3e(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function Nn(s,l){s=y(s),l=y(l);var c=0,f=0;c=o7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=o7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s<l?l:s;break}}else s=l;while(0);return y(s)}function o7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Qg(s,l){s=y(s),l=y(l);var c=0,f=0;c=a7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=a7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s<l?s:l;break}}else s=l;while(0);return y(s)}function a7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function IR(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),Q=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=Q>>>23&255,k=m&-2147483648,d=Q<<1;e:do if((d|0)!=0&&!((c|0)==255|((d3e(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)Q=Q&8388607|8388608;else{if(m=Q<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,Q=Q<<1-d}d=f-Q|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-Q|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|k,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function d3e(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function m3e(s,l){return s=s|0,l=l|0,e7(n[582]|0,s,l)|0}function Vr(s){s=s|0,Rt()}function Zm(s){s=s|0}function y3e(s,l){return s=s|0,l=l|0,0}function C3e(s){return s=s|0,(l7(s+4|0)|0)==-1?(tf[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function l7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function xp(s){s=s|0,C3e(s)|0&&E3e(s)}function E3e(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(l7(l)|0)!=-1||tf[n[(n[s>>2]|0)+16>>2]&127](s)}function Gt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=$v(l)|0,!(s|0);){if(s=w3e()|0,!s){s=0;break}B7[s&0]()}return s|0}function c7(s){return s=s|0,Gt(s)|0}function pt(s){s=s|0,eD(s)}function I3e(s){s=s|0,(o[s+11>>0]|0)<0&&pt(n[s>>2]|0)}function w3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function B3e(){}function rD(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Ce=f,s-c>>>0|0|0}function wR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Ce=l+f+(c>>>0<s>>>0|0)>>>0,c|0|0}function $m(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function u7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l<<c|(s&(1<<c)-1<<32-c)>>>32-c,s<<c):(Ce=s<<c-32,0)}function nD(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l>>>c,s>>>c|(l&(1<<c)-1)<<32-c):(Ce=0,l>>>c-32|0)}function Er(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return gc(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function A7(s){s=s|0;var l=0;return l=o[L+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[L+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[L+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[L+(s>>>24)>>0]|0)+24|0))}function f7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0;if(O=s,k=l,M=k,B=c,se=f,Q=se,!M)return m=(d|0)!=0,Q?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Ce=se,d|0);m=(Q|0)==0;do if(B){if(!m){if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=31){j=m+1|0,Q=31-m|0,l=m-31>>31,B=j,s=O>>>(j>>>0)&l|M<<Q,l=M>>>(j>>>0)&l,m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0)}if(m=B-1|0,m&B|0){Q=(P(B|0)|0)+33-(P(M|0)|0)|0,Le=64-Q|0,j=32-Q|0,k=j>>31,We=Q-32|0,l=We>>31,B=Q,s=j-1>>31&M>>>(We>>>0)|(M<<j|O>>>(Q>>>0))&l,l=l&M>>>(Q>>>0),m=O<<Le&k,Q=(M<<Le|O>>>(We>>>0))&k|O<<j&Q-33>>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(We=k|l&0,Le=s|0|0,Ce=We,Le|0):(Le=A7(B|0)|0,We=M>>>(Le>>>0)|0,Le=M<<32-Le|O>>>(Le>>>0)|0,Ce=We,Le|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),We=0,Le=(M>>>0)/(B>>>0)>>>0,Ce=We,Le|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(Q>>>0)),We=0,Le=(M>>>0)/(Q>>>0)>>>0,Ce=We,Le|0;if(m=Q-1|0,!(m&Q))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),We=0,Le=M>>>((A7(Q|0)|0)>>>0),Ce=We,Le|0;if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=30){l=m+1|0,Q=31-m|0,B=l,s=M<<Q|O>>>(l>>>0),l=M>>>(l>>>0),m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,We=0,Le=0,Ce=We,Le|0):(We=0,Le=0,Ce=We,Le|0)}while(0);if(!B)M=Q,k=0,Q=0;else{j=c|0|0,O=se|f&0,M=wR(j|0,O|0,-1,-1)|0,c=Ce,k=Q,Q=0;do f=k,k=m>>>31|k<<1,m=Q|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,rD(M|0,c|0,f|0,se|0)|0,Le=Ce,We=Le>>31|((Le|0)<0?-1:0)<<1,Q=We&1,s=rD(f|0,se|0,We&j|0,(((Le|0)<0?-1:0)>>31|((Le|0)<0?-1:0)<<1)&O|0)|0,l=Ce,B=B-1|0;while((B|0)!=0);M=k,k=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),We=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|k,Le=(m<<1|0>>>31)&-2|Q,Ce=We,Le|0}function BR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f7(s,l,c,f,0)|0}function bp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[w>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,PA(12),-1):(n[w>>2]=s,(s|0)>($()|0)&&(X()|0)==0?(n[w>>2]=l,PA(12),-1):l|0)}function bI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else Er(s,l,c)|0;return s|0}function vR(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=C,C=C+16|0,d=m|0,f7(s,l,c,f,d)|0,C=m,Ce=n[d+4>>2]|0,n[d>>2]|0|0}function p7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function v3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,h7[s&1](l|0,c|0,f|0,d|0,m|0)}function D3e(s,l,c){s=s|0,l=l|0,c=y(c),g7[s&1](l|0,y(c))}function S3e(s,l,c){s=s|0,l=l|0,c=+c,d7[s&31](l|0,+c)}function P3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(m7[s&0](l|0,y(c),y(f)))}function x3e(s,l){s=s|0,l=l|0,tf[s&127](l|0)}function b3e(s,l,c){s=s|0,l=l|0,c=c|0,rf[s&31](l|0,c|0)}function Q3e(s,l){return s=s|0,l=l|0,Fg[s&31](l|0)|0}function k3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,y7[s&1](l|0,+c,+f,d|0)}function F3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,f_e[s&1](l|0,+c,+f)}function R3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,sD[s&7](l|0,c|0,f|0)|0}function T3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+p_e[s&1](l|0,c|0,f|0)}function N3e(s,l){return s=s|0,l=l|0,+C7[s&15](l|0)}function L3e(s,l,c){return s=s|0,l=l|0,c=+c,h_e[s&1](l|0,+c)|0}function O3e(s,l,c){return s=s|0,l=l|0,c=c|0,SR[s&15](l|0,c|0)|0}function M3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,g_e[s&1](l|0,c|0,+f,+d,m|0)}function U3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,d_e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function _3e(s,l,c){return s=s|0,l=l|0,c=c|0,+E7[s&7](l|0,c|0)}function H3e(s){return s=s|0,oD[s&7]()|0}function q3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,I7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function j3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,m_e[s&1](l|0,c|0,f|0,+d)}function G3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,w7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function W3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,FI[s&15](l|0,c|0,f|0)}function Y3e(s){s=s|0,B7[s&0]()}function K3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,v7[s&15](l|0,c|0,+f)}function V3e(s,l,c){return s=s|0,l=+l,c=+c,y_e[s&1](+l,+c)|0}function J3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,PR[s&15](l|0,c|0,f|0,d|0)}function z3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(0)}function X3e(s,l){s=s|0,l=y(l),F(1)}function ma(s,l){s=s|0,l=+l,F(2)}function Z3e(s,l,c){return s=s|0,l=y(l),c=y(c),F(3),$e}function hr(s){s=s|0,F(4)}function QI(s,l){s=s|0,l=l|0,F(5)}function Za(s){return s=s|0,F(6),0}function $3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,F(7)}function e_e(s,l,c){s=s|0,l=+l,c=+c,F(8)}function t_e(s,l,c){return s=s|0,l=l|0,c=c|0,F(9),0}function r_e(s,l,c){return s=s|0,l=l|0,c=c|0,F(10),0}function kg(s){return s=s|0,F(11),0}function n_e(s,l){return s=s|0,l=+l,F(12),0}function kI(s,l){return s=s|0,l=l|0,F(13),0}function i_e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,F(14)}function s_e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,F(15)}function DR(s,l){return s=s|0,l=l|0,F(16),0}function o_e(){return F(17),0}function a_e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(18),0}function l_e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,F(19)}function c_e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,F(20)}function iD(s,l,c){s=s|0,l=l|0,c=c|0,F(21)}function u_e(){F(22)}function ey(s,l,c){s=s|0,l=l|0,c=+c,F(23)}function A_e(s,l){return s=+s,l=+l,F(24),0}function ty(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,F(25)}var h7=[z3e,aOe],g7=[X3e,uo],d7=[ma,EI,II,fF,pF,xl,wI,hF,Gm,Fu,vI,gF,Uv,KA,_v,Wm,Hv,qv,Ym,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma],m7=[Z3e],tf=[hr,Zm,HDe,qDe,jDe,ybe,Cbe,Ebe,LNe,ONe,MNe,VLe,JLe,zLe,dUe,mUe,yUe,ds,Tv,jm,YA,BI,Ove,Mve,kDe,XDe,cSe,PSe,jSe,oPe,BPe,MPe,$Pe,gxe,kxe,Kxe,cbe,Obe,$be,gQe,kQe,KQe,cke,xke,jke,nFe,CFe,Qc,zFe,fRe,kRe,JRe,uTe,kTe,HTe,GTe,aNe,uNe,PNe,_Ne,jNe,oLe,vLe,e9,sMe,LMe,XMe,f4e,T4e,J4e,oUe,cUe,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr],rf=[QI,sF,oF,CI,ku,aF,lF,Ip,cF,uF,AF,Mv,VA,Je,ft,jt,Cr,In,Sr,mF,vve,Kve,Fke,Yke,$Re,lMe,FLe,M5,QI,QI,QI,QI],Fg=[Za,KUe,iF,D,ce,Se,It,Ct,xt,Nr,fi,Ao,Ive,wve,Uve,wFe,hTe,cLe,fMe,Ja,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za],y7=[$3e,_ve],f_e=[e_e,QNe],sD=[t_e,Z5,VUe,XUe,uPe,Hbe,eRe,d4e],p_e=[r_e,Nxe],C7=[kg,Ho,rt,wn,Hve,qve,jve,Gve,Wve,Yve,kg,kg,kg,kg,kg,kg],h_e=[n_e,MTe],SR=[kI,y3e,Bve,NDe,kSe,SPe,HPe,pbe,nQe,aFe,Fv,t4e,kI,kI,kI,kI],g_e=[i_e,pSe],d_e=[s_e,M4e],E7=[DR,ni,Vve,Jve,zve,Xxe,DR,DR],oD=[o_e,Xve,mI,ga,VTe,hNe,KNe,pUe],I7=[a_e,AI],m_e=[l_e,NQe],w7=[c_e,Dve],FI=[iD,T,is,Xr,fo,KSe,rxe,XQe,pke,qm,QOe,_Me,$4e,iD,iD,iD],B7=[u_e],v7=[ey,Nv,Lv,Ov,WA,jv,dF,S,CQe,dRe,TTe,ey,ey,ey,ey,ey],y_e=[A_e,TNe],PR=[ty,Cxe,QFe,NRe,BTe,eNe,ENe,eLe,bLe,yMe,vUe,ty,ty,ty,ty,ty];return{_llvm_bswap_i32:p7,dynCall_idd:V3e,dynCall_i:H3e,_i64Subtract:rD,___udivdi3:BR,dynCall_vif:D3e,setThrew:Eu,dynCall_viii:W3e,_bitshift64Lshr:nD,_bitshift64Shl:u7,dynCall_vi:x3e,dynCall_viiddi:M3e,dynCall_diii:T3e,dynCall_iii:O3e,_memset:$m,_sbrk:bp,_memcpy:Er,__GLOBAL__sub_I_Yoga_cpp:Hm,dynCall_vii:b3e,___uremdi3:vR,dynCall_vid:S3e,stackAlloc:so,_nbind_init:NUe,getTempRet0:Ua,dynCall_di:N3e,dynCall_iid:L3e,setTempRet0:kA,_i64Add:wR,dynCall_fiff:P3e,dynCall_iiii:R3e,_emscripten_get_global_libc:YUe,dynCall_viid:K3e,dynCall_viiid:j3e,dynCall_viififi:G3e,dynCall_ii:Q3e,__GLOBAL__sub_I_Binding_cc:XOe,dynCall_viiii:J3e,dynCall_iiiiii:q3e,stackSave:Bl,dynCall_viiiii:v3e,__GLOBAL__sub_I_nbind_cc:Zve,dynCall_vidd:F3e,_free:eD,runPostSets:B3e,dynCall_viiiiii:U3e,establishStackSpace:qi,_memmove:bI,stackRestore:Cu,_malloc:$v,__GLOBAL__sub_I_common_cc:mLe,dynCall_viddi:k3e,dynCall_dii:_3e,dynCall_v:Y3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n<r-1;n=n+1)a.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),o();a.push(0),a=allocate(a,"i32",ALLOC_NORMAL);try{var u=Module._main(r,a,0);exit(u,!0)}catch(p){if(p instanceof ExitStatus)return;if(p=="SimulateInfiniteLoop"){Module.noExitRuntime=!0;return}else{var A=p;p&&typeof p=="object"&&p.stack&&(A=[p,p.stack]),Module.printErr("exception thrown: "+A),Module.quit(1,p)}}finally{calledMain=!0}};function run(t){if(t=t||Module.arguments,preloadStartTime===null&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=`
286If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var om=U((dYt,zEe)=>{"use strict";var Jmt=JEe(),Vmt=VEe(),P6=!1,x6=null;Vmt({},function(t,e){if(!P6){if(P6=!0,t)throw t;x6=e}});if(!P6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");zEe.exports=Jmt(x6.bind,x6.lib)});var Q6=U((mYt,b6)=>{"use strict";var XEe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);b6.exports=XEe;b6.exports.default=XEe});var $Ee=U((yYt,ZEe)=>{"use strict";ZEe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var FQ=U((EYt,k6)=>{"use strict";var zmt=ES(),Xmt=Q6(),Zmt=$Ee(),eCe=t=>{if(typeof t!="string"||t.length===0||(t=zmt(t),t.length===0))return 0;t=t.replace(Zmt()," ");let e=0;for(let r=0;r<t.length;r++){let o=t.codePointAt(r);o<=31||o>=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=Xmt(o)?2:1)}return e};k6.exports=eCe;k6.exports.default=eCe});var R6=U((CYt,F6)=>{"use strict";var $mt=FQ(),tCe=t=>{let e=0;for(let r of t.split(` 286If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var cm=U((BYt,rEe)=>{"use strict";var syt=eEe(),oyt=tEe(),x6=!1,b6=null;oyt({},function(t,e){if(!x6){if(x6=!0,t)throw t;b6=e}});if(!x6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");rEe.exports=syt(b6.bind,b6.lib)});var k6=U((vYt,Q6)=>{"use strict";var nEe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);Q6.exports=nEe;Q6.exports.default=nEe});var sEe=U((DYt,iEe)=>{"use strict";iEe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var UQ=U((SYt,F6)=>{"use strict";var ayt=SS(),lyt=k6(),cyt=sEe(),oEe=t=>{if(typeof t!="string"||t.length===0||(t=ayt(t),t.length===0))return 0;t=t.replace(cyt()," ");let e=0;for(let r=0;r<t.length;r++){let o=t.codePointAt(r);o<=31||o>=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=lyt(o)?2:1)}return e};F6.exports=oEe;F6.exports.default=oEe});var T6=U((PYt,R6)=>{"use strict";var uyt=UQ(),aEe=t=>{let e=0;for(let r of t.split(`
287`))e=Math.max(e,$mt(r));return e};F6.exports=tCe;F6.exports.default=tCe});var rCe=U(W2=>{"use strict";var eyt=W2&&W2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(W2,"__esModule",{value:!0});var tyt=eyt(R6()),T6={};W2.default=t=>{if(t.length===0)return{width:0,height:0};if(T6[t])return T6[t];let e=tyt.default(t),r=t.split(` 287`))e=Math.max(e,uyt(r));return e};R6.exports=aEe;R6.exports.default=aEe});var lEe=U(J2=>{"use strict";var Ayt=J2&&J2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(J2,"__esModule",{value:!0});var fyt=Ayt(T6()),N6={};J2.default=t=>{if(t.length===0)return{width:0,height:0};if(N6[t])return N6[t];let e=fyt.default(t),r=t.split(`
288`).length;return T6[t]={width:e,height:r},{width:e,height:r}}});var nCe=U(Y2=>{"use strict";var ryt=Y2&&Y2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Y2,"__esModule",{value:!0});var fn=ryt(om()),nyt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?fn.default.POSITION_TYPE_ABSOLUTE:fn.default.POSITION_TYPE_RELATIVE)},iyt=(t,e)=>{"marginLeft"in e&&t.setMargin(fn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(fn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(fn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(fn.default.EDGE_BOTTOM,e.marginBottom||0)},syt=(t,e)=>{"paddingLeft"in e&&t.setPadding(fn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(fn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(fn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(fn.default.EDGE_BOTTOM,e.paddingBottom||0)},oyt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(fn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(fn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(fn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(fn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(fn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(fn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(fn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(fn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(fn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_AROUND))},ayt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},lyt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?fn.default.DISPLAY_FLEX:fn.default.DISPLAY_NONE)},cyt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(fn.default.EDGE_TOP,r),t.setBorder(fn.default.EDGE_BOTTOM,r),t.setBorder(fn.default.EDGE_LEFT,r),t.setBorder(fn.default.EDGE_RIGHT,r)}};Y2.default=(t,e={})=>{nyt(t,e),iyt(t,e),syt(t,e),oyt(t,e),ayt(t,e),lyt(t,e),cyt(t,e)}});var oCe=U((BYt,sCe)=>{"use strict";var K2=FQ(),uyt=ES(),Ayt=Aw(),L6=new Set(["\x1B","\x9B"]),fyt=39,iCe=t=>`${L6.values().next().value}[${t}m`,pyt=t=>t.split(" ").map(e=>K2(e)),N6=(t,e,r)=>{let o=[...e],a=!1,n=K2(uyt(t[t.length-1]));for(let[u,A]of o.entries()){let p=K2(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),L6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u<o.length-1&&(t.push(""),n=0))}!n&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},hyt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(K2(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},gyt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=pyt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let C=K2(A[A.length-1]);if(p!==0&&(C>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),C=0),(C>0||r.trim===!1)&&(A[A.length-1]+=" ",C++)),r.hard&&u[p]>e){let w=e-C,v=1+Math.floor((u[p]-w-1)/e);Math.floor((u[p]-1)/e)<v&&A.push(""),N6(A,h,e);continue}if(C+u[p]>e&&C>0&&u[p]>0){if(r.wordWrap===!1&&C<e){N6(A,h,e);continue}A.push("")}if(C+u[p]>e&&r.wordWrap===!1){N6(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(hyt)),o=A.join(` 288`).length;return N6[t]={width:e,height:r},{width:e,height:r}}});var cEe=U(z2=>{"use strict";var pyt=z2&&z2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(z2,"__esModule",{value:!0});var fn=pyt(cm()),hyt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?fn.default.POSITION_TYPE_ABSOLUTE:fn.default.POSITION_TYPE_RELATIVE)},gyt=(t,e)=>{"marginLeft"in e&&t.setMargin(fn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(fn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(fn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(fn.default.EDGE_BOTTOM,e.marginBottom||0)},dyt=(t,e)=>{"paddingLeft"in e&&t.setPadding(fn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(fn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(fn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(fn.default.EDGE_BOTTOM,e.paddingBottom||0)},myt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(fn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(fn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(fn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(fn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(fn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(fn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(fn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(fn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(fn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_AROUND))},yyt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},Cyt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?fn.default.DISPLAY_FLEX:fn.default.DISPLAY_NONE)},Eyt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(fn.default.EDGE_TOP,r),t.setBorder(fn.default.EDGE_BOTTOM,r),t.setBorder(fn.default.EDGE_LEFT,r),t.setBorder(fn.default.EDGE_RIGHT,r)}};z2.default=(t,e={})=>{hyt(t,e),gyt(t,e),dyt(t,e),myt(t,e),yyt(t,e),Cyt(t,e),Eyt(t,e)}});var fEe=U((QYt,AEe)=>{"use strict";var X2=UQ(),Iyt=SS(),wyt=gw(),O6=new Set(["\x1B","\x9B"]),Byt=39,uEe=t=>`${O6.values().next().value}[${t}m`,vyt=t=>t.split(" ").map(e=>X2(e)),L6=(t,e,r)=>{let o=[...e],a=!1,n=X2(Iyt(t[t.length-1]));for(let[u,A]of o.entries()){let p=X2(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),O6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u<o.length-1&&(t.push(""),n=0))}!n&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},Dyt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(X2(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},Syt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=vyt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let E=X2(A[A.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),E=0),(E>0||r.trim===!1)&&(A[A.length-1]+=" ",E++)),r.hard&&u[p]>e){let w=e-E,v=1+Math.floor((u[p]-w-1)/e);Math.floor((u[p]-1)/e)<v&&A.push(""),L6(A,h,e);continue}if(E+u[p]>e&&E>0&&u[p]>0){if(r.wordWrap===!1&&E<e){L6(A,h,e);continue}A.push("")}if(E+u[p]>e&&r.wordWrap===!1){L6(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(Dyt)),o=A.join(`
289`);for(let[p,h]of[...o].entries()){if(a+=h,L6.has(h)){let w=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=w===fyt?null:w}let C=Ayt.codes.get(Number(n));n&&C&&(o[p+1]===` 289`);for(let[p,h]of[...o].entries()){if(a+=h,O6.has(h)){let w=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=w===Byt?null:w}let E=wyt.codes.get(Number(n));n&&E&&(o[p+1]===`
290`?a+=iCe(C):h===` 290`?a+=uEe(E):h===`
291`&&(a+=iCe(n)))}return a};sCe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` 291`&&(a+=uEe(n)))}return a};AEe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,`
292`).split(` 292`).split(`
293`).map(o=>gyt(o,e,r)).join(` 293`).map(o=>Syt(o,e,r)).join(`
294`)});var cCe=U((vYt,lCe)=>{"use strict";var aCe="[\uD800-\uDBFF][\uDC00-\uDFFF]",dyt=t=>t&&t.exact?new RegExp(`^${aCe}$`):new RegExp(aCe,"g");lCe.exports=dyt});var O6=U((DYt,pCe)=>{"use strict";var myt=Q6(),yyt=cCe(),uCe=Aw(),fCe=["\x1B","\x9B"],RQ=t=>`${fCe[0]}[${t}m`,ACe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=uCe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(RQ(e?u:n))}else if(e){o.push(RQ(0));break}else o.push(RQ(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=RQ(uCe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};pCe.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,C]of o.entries()){let w=!1;if(fCe.includes(C)){let v=/\d[^m]*/.exec(t.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,A<r&&(n=!0,u!==void 0&&a.push(u))}else n&&C==="m"&&(n=!1,w=!0);if(!n&&!w&&++A,!yyt({exact:!0}).test(C)&&myt(C.codePointAt())&&++A,A>e&&A<=r)p+=C;else if(A===e&&!n&&u!==void 0)p=ACe(a);else if(A>=r){p+=ACe(a,!0,u);break}}return p}});var gCe=U((SYt,hCe)=>{"use strict";var gh=O6(),Eyt=FQ();function TQ(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}hCe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=Eyt(t);if(p<=e)return t;if(o==="start"){if(n){let h=TQ(t,p-e+1,!0);return u+gh(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+gh(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let C=TQ(t,h),w=TQ(t,p-(e-h)+1,!0);return gh(t,0,C)+u+gh(t,w,p).trim()}return gh(t,0,h)+u+gh(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=TQ(t,e-1);return gh(t,0,h)+u}return a===!0&&(u=" "+u,A=2),gh(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var U6=U(J2=>{"use strict";var dCe=J2&&J2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(J2,"__esModule",{value:!0});var Cyt=dCe(oCe()),Iyt=dCe(gCe()),M6={};J2.default=(t,e,r)=>{let o=t+String(e)+String(r);if(M6[o])return M6[o];let a=t;if(r==="wrap"&&(a=Cyt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=Iyt.default(t,e,{position:n})}return M6[o]=a,a}});var H6=U(_6=>{"use strict";Object.defineProperty(_6,"__esModule",{value:!0});var mCe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=mCe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};_6.default=mCe});var q6=U(ci=>{"use strict";var V2=ci&&ci.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ci,"__esModule",{value:!0});ci.setTextNodeValue=ci.createTextNode=ci.setStyle=ci.setAttribute=ci.removeChildNode=ci.insertBeforeNode=ci.appendChildNode=ci.createNode=ci.TEXT_NAME=void 0;var wyt=V2(om()),yCe=V2(rCe()),Byt=V2(nCe()),vyt=V2(U6()),Dyt=V2(H6());ci.TEXT_NAME="#text";ci.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:wyt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(Syt.bind(null,r))),r};ci.appendChildNode=(t,e)=>{var r;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&NQ(t)};ci.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&NQ(t)};ci.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&NQ(t)};ci.setAttribute=(t,e,r)=>{t.attributes[e]=r};ci.setStyle=(t,e)=>{t.style=e,t.yogaNode&&Byt.default(t.yogaNode,e)};ci.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return ci.setTextNodeValue(e,t),e};var Syt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:Dyt.default(t),n=yCe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=vyt.default(a,e,u);return yCe.default(A)},ECe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:ECe(t.parentNode)},NQ=t=>{let e=ECe(t);e==null||e.markDirty()};ci.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,NQ(t)}});var vCe=U(z2=>{"use strict";var BCe=z2&&z2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(z2,"__esModule",{value:!0});var CCe=v6(),Pyt=BCe(qEe()),ICe=BCe(om()),To=q6(),wCe=t=>{t==null||t.unsetMeasureFunc(),t==null||t.freeRecursive()};z2.default=Pyt.default({schedulePassiveEffects:CCe.unstable_scheduleCallback,cancelPassiveEffects:CCe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=To.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?To.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:To.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside <Text> component`);return To.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{To.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{To.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(ICe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(ICe.default.DISPLAY_FLEX)},appendInitialChild:To.appendChildNode,appendChild:To.appendChildNode,insertBefore:To.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:To.appendChildNode,insertInContainerBefore:To.insertBeforeNode,removeChildFromContainer:(t,e)=>{To.removeChildNode(t,e),wCe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,C=r.style,w=Object.keys(h);for(let v of w){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let b={};n.style=b}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==C[v]){if(typeof n.style!="object"){let b={};n.style=b}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?To.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:To.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{To.setTextNodeValue(t,r)},removeChild:(t,e)=>{To.removeChildNode(t,e),wCe(e.yogaNode)}})});var SCe=U((kYt,DCe)=>{"use strict";DCe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var PCe=U(X2=>{"use strict";var xyt=X2&&X2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(X2,"__esModule",{value:!0});var LQ=xyt(om());X2.default=t=>t.getComputedWidth()-t.getComputedPadding(LQ.default.EDGE_LEFT)-t.getComputedPadding(LQ.default.EDGE_RIGHT)-t.getComputedBorder(LQ.default.EDGE_LEFT)-t.getComputedBorder(LQ.default.EDGE_RIGHT)});var xCe=U((RYt,byt)=>{byt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var QCe=U((TYt,j6)=>{"use strict";var bCe=xCe();j6.exports=bCe;j6.exports.default=bCe});var FCe=U((NYt,kCe)=>{"use strict";var Qyt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},kyt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r 294`)});var gEe=U((kYt,hEe)=>{"use strict";var pEe="[\uD800-\uDBFF][\uDC00-\uDFFF]",Pyt=t=>t&&t.exact?new RegExp(`^${pEe}$`):new RegExp(pEe,"g");hEe.exports=Pyt});var M6=U((FYt,CEe)=>{"use strict";var xyt=k6(),byt=gEe(),dEe=gw(),yEe=["\x1B","\x9B"],_Q=t=>`${yEe[0]}[${t}m`,mEe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=dEe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(_Q(e?u:n))}else if(e){o.push(_Q(0));break}else o.push(_Q(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=_Q(dEe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};CEe.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,E]of o.entries()){let w=!1;if(yEe.includes(E)){let v=/\d[^m]*/.exec(t.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,A<r&&(n=!0,u!==void 0&&a.push(u))}else n&&E==="m"&&(n=!1,w=!0);if(!n&&!w&&++A,!byt({exact:!0}).test(E)&&xyt(E.codePointAt())&&++A,A>e&&A<=r)p+=E;else if(A===e&&!n&&u!==void 0)p=mEe(a);else if(A>=r){p+=mEe(a,!0,u);break}}return p}});var IEe=U((RYt,EEe)=>{"use strict";var dh=M6(),Qyt=UQ();function HQ(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}EEe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=Qyt(t);if(p<=e)return t;if(o==="start"){if(n){let h=HQ(t,p-e+1,!0);return u+dh(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+dh(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let E=HQ(t,h),w=HQ(t,p-(e-h)+1,!0);return dh(t,0,E)+u+dh(t,w,p).trim()}return dh(t,0,h)+u+dh(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=HQ(t,e-1);return dh(t,0,h)+u}return a===!0&&(u=" "+u,A=2),dh(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var _6=U(Z2=>{"use strict";var wEe=Z2&&Z2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Z2,"__esModule",{value:!0});var kyt=wEe(fEe()),Fyt=wEe(IEe()),U6={};Z2.default=(t,e,r)=>{let o=t+String(e)+String(r);if(U6[o])return U6[o];let a=t;if(r==="wrap"&&(a=kyt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=Fyt.default(t,e,{position:n})}return U6[o]=a,a}});var q6=U(H6=>{"use strict";Object.defineProperty(H6,"__esModule",{value:!0});var BEe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=BEe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};H6.default=BEe});var j6=U(ci=>{"use strict";var $2=ci&&ci.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ci,"__esModule",{value:!0});ci.setTextNodeValue=ci.createTextNode=ci.setStyle=ci.setAttribute=ci.removeChildNode=ci.insertBeforeNode=ci.appendChildNode=ci.createNode=ci.TEXT_NAME=void 0;var Ryt=$2(cm()),vEe=$2(lEe()),Tyt=$2(cEe()),Nyt=$2(_6()),Lyt=$2(q6());ci.TEXT_NAME="#text";ci.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:Ryt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(Oyt.bind(null,r))),r};ci.appendChildNode=(t,e)=>{var r;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&qQ(t)};ci.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&qQ(t)};ci.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&qQ(t)};ci.setAttribute=(t,e,r)=>{t.attributes[e]=r};ci.setStyle=(t,e)=>{t.style=e,t.yogaNode&&Tyt.default(t.yogaNode,e)};ci.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return ci.setTextNodeValue(e,t),e};var Oyt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:Lyt.default(t),n=vEe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=Nyt.default(a,e,u);return vEe.default(A)},DEe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:DEe(t.parentNode)},qQ=t=>{let e=DEe(t);e==null||e.markDirty()};ci.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,qQ(t)}});var QEe=U(eB=>{"use strict";var bEe=eB&&eB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(eB,"__esModule",{value:!0});var SEe=D6(),Myt=bEe(VCe()),PEe=bEe(cm()),To=j6(),xEe=t=>{t==null||t.unsetMeasureFunc(),t==null||t.freeRecursive()};eB.default=Myt.default({schedulePassiveEffects:SEe.unstable_scheduleCallback,cancelPassiveEffects:SEe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=To.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?To.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:To.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside <Text> component`);return To.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{To.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{To.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(PEe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(PEe.default.DISPLAY_FLEX)},appendInitialChild:To.appendChildNode,appendChild:To.appendChildNode,insertBefore:To.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:To.appendChildNode,insertInContainerBefore:To.insertBeforeNode,removeChildFromContainer:(t,e)=>{To.removeChildNode(t,e),xEe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,E=r.style,w=Object.keys(h);for(let v of w){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let b={};n.style=b}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==E[v]){if(typeof n.style!="object"){let b={};n.style=b}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?To.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:To.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{To.setTextNodeValue(t,r)},removeChild:(t,e)=>{To.removeChildNode(t,e),xEe(e.yogaNode)}})});var FEe=U((MYt,kEe)=>{"use strict";kEe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var REe=U(tB=>{"use strict";var Uyt=tB&&tB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tB,"__esModule",{value:!0});var jQ=Uyt(cm());tB.default=t=>t.getComputedWidth()-t.getComputedPadding(jQ.default.EDGE_LEFT)-t.getComputedPadding(jQ.default.EDGE_RIGHT)-t.getComputedBorder(jQ.default.EDGE_LEFT)-t.getComputedBorder(jQ.default.EDGE_RIGHT)});var TEe=U((_Yt,_yt)=>{_yt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var LEe=U((HYt,G6)=>{"use strict";var NEe=TEe();G6.exports=NEe;G6.exports.default=NEe});var MEe=U((qYt,OEe)=>{"use strict";var Hyt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},qyt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r
295`:` 295`:`
296`)+r,a=o+1,o=t.indexOf(` 296`)+r,a=o+1,o=t.indexOf(`
297`,a)}while(o!==-1);return n+=t.substr(a),n};kCe.exports={stringReplaceAll:Qyt,stringEncaseCRLFWithFirstIndex:kyt}});var OCe=U((LYt,LCe)=>{"use strict";var Fyt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,RCe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Ryt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Tyt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Nyt=new Map([["n",` 297`,a)}while(o!==-1);return n+=t.substr(a),n};OEe.exports={stringReplaceAll:Hyt,stringEncaseCRLFWithFirstIndex:qyt}});var jEe=U((jYt,qEe)=>{"use strict";var jyt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,UEe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Gyt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Wyt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Yyt=new Map([["n",`
298`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function NCe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):Nyt.get(t)||t}function Lyt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(Ryt))r.push(a[2].replace(Tyt,(A,p,h)=>p?NCe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function Oyt(t){RCe.lastIndex=0;let e=[],r;for(;(r=RCe.exec(t))!==null;){let o=r[1];if(r[2]){let a=Lyt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function TCe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}LCe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(Fyt,(n,u,A,p,h,C)=>{if(u)a.push(NCe(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:TCe(t,r)(w)),r.push({inverse:A,styles:Oyt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(TCe(t,r)(a.join(""))),a=[],r.pop()}else a.push(C)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var HQ=U((OYt,jCe)=>{"use strict";var Z2=Aw(),{stdout:W6,stderr:Y6}=cN(),{stringReplaceAll:Myt,stringEncaseCRLFWithFirstIndex:Uyt}=FCe(),{isArray:OQ}=Array,UCe=["ansi","ansi","ansi256","ansi16m"],QC=Object.create(null),_yt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=W6?W6.level:0;t.level=e.level===void 0?r:e.level},K6=class{constructor(e){return _Ce(e)}},_Ce=t=>{let e={};return _yt(e,t),e.template=(...r)=>qCe(e.template,...r),Object.setPrototypeOf(e,MQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=K6,e.template};function MQ(t){return _Ce(t)}for(let[t,e]of Object.entries(Z2))QC[t]={get(){let r=UQ(this,J6(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};QC.visible={get(){let t=UQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var HCe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of HCe)QC[t]={get(){let{level:e}=this;return function(...r){let o=J6(Z2.color[UCe[e]][t](...r),Z2.color.close,this._styler);return UQ(this,o,this._isEmpty)}}};for(let t of HCe){let e="bg"+t[0].toUpperCase()+t.slice(1);QC[e]={get(){let{level:r}=this;return function(...o){let a=J6(Z2.bgColor[UCe[r]][t](...o),Z2.bgColor.close,this._styler);return UQ(this,a,this._isEmpty)}}}}var Hyt=Object.defineProperties(()=>{},{...QC,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),J6=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},UQ=(t,e,r)=>{let o=(...a)=>OQ(a[0])&&OQ(a[0].raw)?MCe(o,qCe(o,...a)):MCe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,Hyt),o._generator=t,o._styler=e,o._isEmpty=r,o},MCe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=Myt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` 298`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function HEe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):Yyt.get(t)||t}function Kyt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(Gyt))r.push(a[2].replace(Wyt,(A,p,h)=>p?HEe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function Vyt(t){UEe.lastIndex=0;let e=[],r;for(;(r=UEe.exec(t))!==null;){let o=r[1];if(r[2]){let a=Kyt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function _Ee(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}qEe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(jyt,(n,u,A,p,h,E)=>{if(u)a.push(HEe(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:_Ee(t,r)(w)),r.push({inverse:A,styles:Vyt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(_Ee(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var VQ=U((GYt,JEe)=>{"use strict";var rB=gw(),{stdout:Y6,stderr:K6}=uN(),{stringReplaceAll:Jyt,stringEncaseCRLFWithFirstIndex:zyt}=MEe(),{isArray:GQ}=Array,WEe=["ansi","ansi","ansi256","ansi16m"],NE=Object.create(null),Xyt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Y6?Y6.level:0;t.level=e.level===void 0?r:e.level},V6=class{constructor(e){return YEe(e)}},YEe=t=>{let e={};return Xyt(e,t),e.template=(...r)=>VEe(e.template,...r),Object.setPrototypeOf(e,WQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=V6,e.template};function WQ(t){return YEe(t)}for(let[t,e]of Object.entries(rB))NE[t]={get(){let r=YQ(this,J6(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};NE.visible={get(){let t=YQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var KEe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of KEe)NE[t]={get(){let{level:e}=this;return function(...r){let o=J6(rB.color[WEe[e]][t](...r),rB.color.close,this._styler);return YQ(this,o,this._isEmpty)}}};for(let t of KEe){let e="bg"+t[0].toUpperCase()+t.slice(1);NE[e]={get(){let{level:r}=this;return function(...o){let a=J6(rB.bgColor[WEe[r]][t](...o),rB.bgColor.close,this._styler);return YQ(this,a,this._isEmpty)}}}}var Zyt=Object.defineProperties(()=>{},{...NE,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),J6=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},YQ=(t,e,r)=>{let o=(...a)=>GQ(a[0])&&GQ(a[0].raw)?GEe(o,VEe(o,...a)):GEe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,Zyt),o._generator=t,o._styler=e,o._isEmpty=r,o},GEe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=Jyt(e,r.close,r.open),r=r.parent;let n=e.indexOf(`
299`);return n!==-1&&(e=Uyt(e,a,o,n)),o+e+a},G6,qCe=(t,...e)=>{let[r]=e;if(!OQ(r)||!OQ(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return G6===void 0&&(G6=OCe()),G6(t,a.join(""))};Object.defineProperties(MQ.prototype,QC);var _Q=MQ();_Q.supportsColor=W6;_Q.stderr=MQ({level:Y6?Y6.level:0});_Q.stderr.supportsColor=Y6;jCe.exports=_Q});var V6=U(eB=>{"use strict";var qyt=eB&&eB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(eB,"__esModule",{value:!0});var $2=qyt(HQ()),jyt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Gyt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,qQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);eB.default=(t,e,r)=>{if(!e)return t;if(e in $2.default){let a=qQ(e,r);return $2.default[a](t)}if(e.startsWith("#")){let a=qQ("hex",r);return $2.default[a](e)(t)}if(e.startsWith("ansi")){let a=Gyt.exec(e);if(!a)return t;let n=qQ(a[1],r),u=Number(a[2]);return $2.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=jyt.exec(e);if(!a)return t;let n=qQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return $2.default[n](u,A,p)(t)}return t}});var WCe=U(tB=>{"use strict";var GCe=tB&&tB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tB,"__esModule",{value:!0});var Wyt=GCe(QCe()),z6=GCe(V6());tB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=Wyt.default[r.style.borderStyle],p=z6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(z6.default(A.vertical,u,"foreground")+` 299`);return n!==-1&&(e=zyt(e,a,o,n)),o+e+a},W6,VEe=(t,...e)=>{let[r]=e;if(!GQ(r)||!GQ(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return W6===void 0&&(W6=jEe()),W6(t,a.join(""))};Object.defineProperties(WQ.prototype,NE);var KQ=WQ();KQ.supportsColor=Y6;KQ.stderr=WQ({level:K6?K6.level:0});KQ.stderr.supportsColor=K6;JEe.exports=KQ});var z6=U(iB=>{"use strict";var $yt=iB&&iB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iB,"__esModule",{value:!0});var nB=$yt(VQ()),eCt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,tCt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,JQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);iB.default=(t,e,r)=>{if(!e)return t;if(e in nB.default){let a=JQ(e,r);return nB.default[a](t)}if(e.startsWith("#")){let a=JQ("hex",r);return nB.default[a](e)(t)}if(e.startsWith("ansi")){let a=tCt.exec(e);if(!a)return t;let n=JQ(a[1],r),u=Number(a[2]);return nB.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=eCt.exec(e);if(!a)return t;let n=JQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return nB.default[n](u,A,p)(t)}return t}});var XEe=U(sB=>{"use strict";var zEe=sB&&sB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sB,"__esModule",{value:!0});var rCt=zEe(LEe()),X6=zEe(z6());sB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=rCt.default[r.style.borderStyle],p=X6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(X6.default(A.vertical,u,"foreground")+`
300`).repeat(n-2),C=z6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,C,{transformers:[]})}}});var KCe=U(rB=>{"use strict";var am=rB&&rB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(rB,"__esModule",{value:!0});var Yyt=am(om()),Kyt=am(R6()),Jyt=am(SCe()),Vyt=am(U6()),zyt=am(PCe()),Xyt=am(H6()),Zyt=am(WCe()),$yt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` 300`).repeat(n-2),E=X6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,E,{transformers:[]})}}});var $Ee=U(oB=>{"use strict";var um=oB&&oB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oB,"__esModule",{value:!0});var nCt=um(cm()),iCt=um(T6()),sCt=um(FEe()),oCt=um(_6()),aCt=um(REe()),lCt=um(q6()),cCt=um(XEe()),uCt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=`
301`.repeat(n)+Jyt.default(e,a)}return e},YCe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===Yyt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),C=n+p.getComputedTop(),w=u;if(typeof t.internal_transform=="function"&&(w=[t.internal_transform,...u]),t.nodeName==="ink-text"){let v=Xyt.default(t);if(v.length>0){let b=Kyt.default(v),E=zyt.default(p);if(b>E){let R=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";v=Vyt.default(v,E,R)}v=$yt(t,v),e.write(h,C,v,{transformers:w})}return}if(t.nodeName==="ink-box"&&Zyt.default(h,C,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)YCe(v,e,{offsetX:h,offsetY:C,transformers:w,skipStaticElements:A})}};rB.default=YCe});var VCe=U((HYt,JCe)=>{"use strict";JCe.exports=t=>{t=Object.assign({onlyFirst:!1},t);let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t.onlyFirst?void 0:"g")}});var XCe=U((qYt,X6)=>{"use strict";var eEt=VCe(),zCe=t=>typeof t=="string"?t.replace(eEt(),""):t;X6.exports=zCe;X6.exports.default=zCe});var eIe=U((jYt,$Ce)=>{"use strict";var ZCe="[\uD800-\uDBFF][\uDC00-\uDFFF]";$Ce.exports=t=>t&&t.exact?new RegExp(`^${ZCe}$`):new RegExp(ZCe,"g")});var rIe=U((GYt,Z6)=>{"use strict";var tEt=XCe(),rEt=eIe(),tIe=t=>tEt(t).replace(rEt()," ").length;Z6.exports=tIe;Z6.exports.default=tIe});var sIe=U(nB=>{"use strict";var iIe=nB&&nB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nB,"__esModule",{value:!0});var nIe=iIe(O6()),nEt=iIe(rIe()),$6=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;o<this.height;o++)e.push(" ".repeat(this.width));for(let o of this.writes){let{x:a,y:n,text:u,transformers:A}=o,p=u.split(` 301`.repeat(n)+sCt.default(e,a)}return e},ZEe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===nCt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),w=u;if(typeof t.internal_transform=="function"&&(w=[t.internal_transform,...u]),t.nodeName==="ink-text"){let v=lCt.default(t);if(v.length>0){let b=iCt.default(v),C=aCt.default(p);if(b>C){let R=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";v=oCt.default(v,C,R)}v=uCt(t,v),e.write(h,E,v,{transformers:w})}return}if(t.nodeName==="ink-box"&&cCt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)ZEe(v,e,{offsetX:h,offsetY:E,transformers:w,skipStaticElements:A})}};oB.default=ZEe});var tIe=U((VYt,eIe)=>{"use strict";eIe.exports=t=>{t=Object.assign({onlyFirst:!1},t);let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t.onlyFirst?void 0:"g")}});var nIe=U((JYt,Z6)=>{"use strict";var ACt=tIe(),rIe=t=>typeof t=="string"?t.replace(ACt(),""):t;Z6.exports=rIe;Z6.exports.default=rIe});var oIe=U((zYt,sIe)=>{"use strict";var iIe="[\uD800-\uDBFF][\uDC00-\uDFFF]";sIe.exports=t=>t&&t.exact?new RegExp(`^${iIe}$`):new RegExp(iIe,"g")});var lIe=U((XYt,$6)=>{"use strict";var fCt=nIe(),pCt=oIe(),aIe=t=>fCt(t).replace(pCt()," ").length;$6.exports=aIe;$6.exports.default=aIe});var AIe=U(aB=>{"use strict";var uIe=aB&&aB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(aB,"__esModule",{value:!0});var cIe=uIe(M6()),hCt=uIe(lIe()),eq=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;o<this.height;o++)e.push(" ".repeat(this.width));for(let o of this.writes){let{x:a,y:n,text:u,transformers:A}=o,p=u.split(`
302`),h=0;for(let C of p){let w=e[n+h];if(!w)continue;let v=nEt.default(C);for(let b of A)C=b(C);e[n+h]=nIe.default(w,0,a)+C+nIe.default(w,a+v),h++}}return{output:e.map(o=>o.trimRight()).join(` 302`),h=0;for(let E of p){let w=e[n+h];if(!w)continue;let v=hCt.default(E);for(let b of A)E=b(E);e[n+h]=cIe.default(w,0,a)+E+cIe.default(w,a+v),h++}}return{output:e.map(o=>o.trimRight()).join(`
303`),height:e.length}}};nB.default=$6});var lIe=U(iB=>{"use strict";var eq=iB&&iB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iB,"__esModule",{value:!0});var iEt=eq(om()),oIe=eq(KCe()),aIe=eq(sIe());iB.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,iEt.default.DIRECTION_LTR);let o=new aIe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});oIe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new aIe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),oIe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} 303`),height:e.length}}};aB.default=eq});var hIe=U(lB=>{"use strict";var tq=lB&&lB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lB,"__esModule",{value:!0});var gCt=tq(cm()),fIe=tq($Ee()),pIe=tq(AIe());lB.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,gCt.default.DIRECTION_LTR);let o=new pIe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});fIe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new pIe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),fIe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output}
304`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var fIe=U((KYt,AIe)=>{"use strict";var cIe=Ie("stream"),uIe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],tq={},sEt=t=>{let e=new cIe.PassThrough,r=new cIe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of uIe)tq[a]=console[a],console[a]=o[a];return()=>{for(let a of uIe)console[a]=tq[a];tq={}}};AIe.exports=sEt});var nq=U(rq=>{"use strict";Object.defineProperty(rq,"__esModule",{value:!0});rq.default=new WeakMap});var sq=U(iq=>{"use strict";Object.defineProperty(iq,"__esModule",{value:!0});var oEt=en(),pIe=oEt.createContext({exit:()=>{}});pIe.displayName="InternalAppContext";iq.default=pIe});var aq=U(oq=>{"use strict";Object.defineProperty(oq,"__esModule",{value:!0});var aEt=en(),hIe=aEt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});hIe.displayName="InternalStdinContext";oq.default=hIe});var cq=U(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var lEt=en(),gIe=lEt.createContext({stdout:void 0,write:()=>{}});gIe.displayName="InternalStdoutContext";lq.default=gIe});var Aq=U(uq=>{"use strict";Object.defineProperty(uq,"__esModule",{value:!0});var cEt=en(),dIe=cEt.createContext({stderr:void 0,write:()=>{}});dIe.displayName="InternalStderrContext";uq.default=dIe});var jQ=U(fq=>{"use strict";Object.defineProperty(fq,"__esModule",{value:!0});var uEt=en(),mIe=uEt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});mIe.displayName="InternalFocusContext";fq.default=mIe});var EIe=U((eKt,yIe)=>{"use strict";var AEt=/[|\\{}()[\]^$+*?.-]/g;yIe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(AEt,"\\$&")}});var BIe=U((tKt,wIe)=>{"use strict";var fEt=EIe(),pEt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",IIe=[].concat(Ie("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));IIe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var sB=class{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=sB.nodeInternals()),"cwd"in e||(e.cwd=pEt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,hEt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...IIe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` 304`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var yIe=U((eKt,mIe)=>{"use strict";var gIe=Ie("stream"),dIe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],rq={},dCt=t=>{let e=new gIe.PassThrough,r=new gIe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of dIe)rq[a]=console[a],console[a]=o[a];return()=>{for(let a of dIe)console[a]=rq[a];rq={}}};mIe.exports=dCt});var iq=U(nq=>{"use strict";Object.defineProperty(nq,"__esModule",{value:!0});nq.default=new WeakMap});var oq=U(sq=>{"use strict";Object.defineProperty(sq,"__esModule",{value:!0});var mCt=en(),CIe=mCt.createContext({exit:()=>{}});CIe.displayName="InternalAppContext";sq.default=CIe});var lq=U(aq=>{"use strict";Object.defineProperty(aq,"__esModule",{value:!0});var yCt=en(),EIe=yCt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});EIe.displayName="InternalStdinContext";aq.default=EIe});var uq=U(cq=>{"use strict";Object.defineProperty(cq,"__esModule",{value:!0});var CCt=en(),IIe=CCt.createContext({stdout:void 0,write:()=>{}});IIe.displayName="InternalStdoutContext";cq.default=IIe});var fq=U(Aq=>{"use strict";Object.defineProperty(Aq,"__esModule",{value:!0});var ECt=en(),wIe=ECt.createContext({stderr:void 0,write:()=>{}});wIe.displayName="InternalStderrContext";Aq.default=wIe});var zQ=U(pq=>{"use strict";Object.defineProperty(pq,"__esModule",{value:!0});var ICt=en(),BIe=ICt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});BIe.displayName="InternalFocusContext";pq.default=BIe});var DIe=U((aKt,vIe)=>{"use strict";var wCt=/[|\\{}()[\]^$+*?.-]/g;vIe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(wCt,"\\$&")}});var bIe=U((lKt,xIe)=>{"use strict";var BCt=DIe(),vCt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",PIe=[].concat(Ie("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));PIe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var cB=class{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=cB.nodeInternals()),"cwd"in e||(e.cwd=vCt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,DCt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...PIe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(`
305`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} 305`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u}
306`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};CIe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(gEt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],C=r[8],w=r[9],v=r[10]==="native",b=r[11]===")",E,R={};if(C&&(R.line=Number(C)),w&&(R.column=Number(w)),b&&h){let L=0;for(let _=h.length-1;_>0;_--)if(h.charAt(_)===")")L++;else if(h.charAt(_)==="("&&h.charAt(_-1)===" "&&(L--,L===-1&&h.charAt(_-1)===" ")){let J=h.slice(0,_-1);h=h.slice(_+1),a+=` (${J}`;break}}if(a){let L=a.match(dEt);L&&(a=L[1],E=L[2])}return CIe(R,h,this._cwd),o&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=A,R.evalColumn=p,R.evalFile=u&&u.replace(/\\/g,"/")),v&&(R.native=!0),a&&(R.function=a),E&&a!==E&&(R.method=E),R}};function CIe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function hEt(t){if(t.length===0)return[];let e=t.map(r=>fEt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var gEt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),dEt=/^(.*?) \[as (.*?)\]$/;wIe.exports=sB});var DIe=U((rKt,vIe)=>{"use strict";vIe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var PIe=U((nKt,SIe)=>{"use strict";var mEt=DIe(),yEt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};SIe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=mEt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},yEt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var GQ=U(iu=>{"use strict";var EEt=iu&&iu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),CEt=iu&&iu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),IEt=iu&&iu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&EEt(e,t,r);return CEt(e,t),e},wEt=iu&&iu.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++)e.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a])&&(r[o[a]]=t[o[a]]);return r};Object.defineProperty(iu,"__esModule",{value:!0});var xIe=IEt(en()),pq=xIe.forwardRef((t,e)=>{var{children:r}=t,o=wEt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return xIe.default.createElement("ink-box",{ref:e,style:a},r)});pq.displayName="Box";pq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};iu.default=pq});var dq=U(oB=>{"use strict";var hq=oB&&oB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oB,"__esModule",{value:!0});var BEt=hq(en()),kC=hq(HQ()),bIe=hq(V6()),gq=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let C=w=>(r&&(w=kC.default.dim(w)),t&&(w=bIe.default(w,t,"foreground")),e&&(w=bIe.default(w,e,"background")),o&&(w=kC.default.bold(w)),a&&(w=kC.default.italic(w)),n&&(w=kC.default.underline(w)),u&&(w=kC.default.strikethrough(w)),A&&(w=kC.default.inverse(w)),w);return BEt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:C},h)};gq.displayName="Text";gq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};oB.default=gq});var RIe=U(su=>{"use strict";var vEt=su&&su.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),DEt=su&&su.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),SEt=su&&su.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&vEt(e,t,r);return DEt(e,t),e},aB=su&&su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(su,"__esModule",{value:!0});var QIe=SEt(Ie("fs")),hs=aB(en()),kIe=aB(BIe()),PEt=aB(PIe()),Vf=aB(GQ()),gA=aB(dq()),FIe=new kIe.default({cwd:process.cwd(),internals:kIe.default.nodeInternals()}),xEt=({error:t})=>{let e=t.stack?t.stack.split(` 306`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};SIe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(SCt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],w=r[9],v=r[10]==="native",b=r[11]===")",C,R={};if(E&&(R.line=Number(E)),w&&(R.column=Number(w)),b&&h){let L=0;for(let _=h.length-1;_>0;_--)if(h.charAt(_)===")")L++;else if(h.charAt(_)==="("&&h.charAt(_-1)===" "&&(L--,L===-1&&h.charAt(_-1)===" ")){let V=h.slice(0,_-1);h=h.slice(_+1),a+=` (${V}`;break}}if(a){let L=a.match(PCt);L&&(a=L[1],C=L[2])}return SIe(R,h,this._cwd),o&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=A,R.evalColumn=p,R.evalFile=u&&u.replace(/\\/g,"/")),v&&(R.native=!0),a&&(R.function=a),C&&a!==C&&(R.method=C),R}};function SIe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function DCt(t){if(t.length===0)return[];let e=t.map(r=>BCt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var SCt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),PCt=/^(.*?) \[as (.*?)\]$/;xIe.exports=cB});var kIe=U((cKt,QIe)=>{"use strict";QIe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var RIe=U((uKt,FIe)=>{"use strict";var xCt=kIe(),bCt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};FIe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=xCt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},bCt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var XQ=U(ou=>{"use strict";var QCt=ou&&ou.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),kCt=ou&&ou.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),FCt=ou&&ou.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&QCt(e,t,r);return kCt(e,t),e},RCt=ou&&ou.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++)e.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a])&&(r[o[a]]=t[o[a]]);return r};Object.defineProperty(ou,"__esModule",{value:!0});var TIe=FCt(en()),hq=TIe.forwardRef((t,e)=>{var{children:r}=t,o=RCt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return TIe.default.createElement("ink-box",{ref:e,style:a},r)});hq.displayName="Box";hq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};ou.default=hq});var mq=U(uB=>{"use strict";var gq=uB&&uB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uB,"__esModule",{value:!0});var TCt=gq(en()),LE=gq(VQ()),NIe=gq(z6()),dq=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let E=w=>(r&&(w=LE.default.dim(w)),t&&(w=NIe.default(w,t,"foreground")),e&&(w=NIe.default(w,e,"background")),o&&(w=LE.default.bold(w)),a&&(w=LE.default.italic(w)),n&&(w=LE.default.underline(w)),u&&(w=LE.default.strikethrough(w)),A&&(w=LE.default.inverse(w)),w);return TCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};dq.displayName="Text";dq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};uB.default=dq});var UIe=U(au=>{"use strict";var NCt=au&&au.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),LCt=au&&au.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),OCt=au&&au.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&NCt(e,t,r);return LCt(e,t),e},AB=au&&au.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(au,"__esModule",{value:!0});var LIe=OCt(Ie("fs")),hs=AB(en()),OIe=AB(bIe()),MCt=AB(RIe()),Xf=AB(XQ()),dA=AB(mq()),MIe=new OIe.default({cwd:process.cwd(),internals:OIe.default.nodeInternals()}),UCt=({error:t})=>{let e=t.stack?t.stack.split(`
307`).slice(1):void 0,r=e?FIe.parseLine(e[0]):void 0,o,a=0;if((r==null?void 0:r.file)&&(r==null?void 0:r.line)&&QIe.existsSync(r.file)){let n=QIe.readFileSync(r.file,"utf8");if(o=PEt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return hs.default.createElement(Vf.default,{flexDirection:"column",padding:1},hs.default.createElement(Vf.default,null,hs.default.createElement(gA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),hs.default.createElement(gA.default,null," ",t.message)),r&&hs.default.createElement(Vf.default,{marginTop:1},hs.default.createElement(gA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&hs.default.createElement(Vf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>hs.default.createElement(Vf.default,{key:n},hs.default.createElement(Vf.default,{width:a+1},hs.default.createElement(gA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),hs.default.createElement(gA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&hs.default.createElement(Vf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` 307`).slice(1):void 0,r=e?MIe.parseLine(e[0]):void 0,o,a=0;if((r==null?void 0:r.file)&&(r==null?void 0:r.line)&&LIe.existsSync(r.file)){let n=LIe.readFileSync(r.file,"utf8");if(o=MCt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return hs.default.createElement(Xf.default,{flexDirection:"column",padding:1},hs.default.createElement(Xf.default,null,hs.default.createElement(dA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),hs.default.createElement(dA.default,null," ",t.message)),r&&hs.default.createElement(Xf.default,{marginTop:1},hs.default.createElement(dA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&hs.default.createElement(Xf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>hs.default.createElement(Xf.default,{key:n},hs.default.createElement(Xf.default,{width:a+1},hs.default.createElement(dA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),hs.default.createElement(dA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&hs.default.createElement(Xf.default,{marginTop:1,flexDirection:"column"},t.stack.split(`
308`).slice(1).map(n=>{let u=FIe.parseLine(n);return u?hs.default.createElement(Vf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},u.function),hs.default.createElement(gA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):hs.default.createElement(Vf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},n))})))};su.default=xEt});var NIe=U(ou=>{"use strict";var bEt=ou&&ou.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),QEt=ou&&ou.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),kEt=ou&&ou.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&bEt(e,t,r);return QEt(e,t),e},cm=ou&&ou.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ou,"__esModule",{value:!0});var lm=kEt(en()),TIe=cm(p6()),FEt=cm(sq()),REt=cm(aq()),TEt=cm(cq()),NEt=cm(Aq()),LEt=cm(jQ()),OEt=cm(RIe()),MEt=" ",UEt="\x1B[Z",_Et="\x1B",WQ=class extends lm.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. 308`).slice(1).map(n=>{let u=MIe.parseLine(n);return u?hs.default.createElement(Xf.default,{key:n},hs.default.createElement(dA.default,{dimColor:!0},"- "),hs.default.createElement(dA.default,{dimColor:!0,bold:!0},u.function),hs.default.createElement(dA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):hs.default.createElement(Xf.default,{key:n},hs.default.createElement(dA.default,{dimColor:!0},"- "),hs.default.createElement(dA.default,{dimColor:!0,bold:!0},n))})))};au.default=UCt});var HIe=U(lu=>{"use strict";var _Ct=lu&&lu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),HCt=lu&&lu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qCt=lu&&lu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&_Ct(e,t,r);return HCt(e,t),e},fm=lu&&lu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lu,"__esModule",{value:!0});var Am=qCt(en()),_Ie=fm(h6()),jCt=fm(oq()),GCt=fm(lq()),WCt=fm(uq()),YCt=fm(fq()),KCt=fm(zQ()),VCt=fm(UIe()),JCt=" ",zCt="\x1B[Z",XCt="\x1B",ZQ=class extends Am.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
309Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. 309Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
310Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===_Et&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===MEt&&this.focusNext(),e===UEt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{let r=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||r}})},this.focusPrevious=()=>{this.setState(e=>{let r=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||r}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r+1;o<e.focusables.length;o++)if(e.focusables[o].isActive)return e.focusables[o].id},this.findPreviousFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r-1;o>=0;o--)if(e.focusables[o].isActive)return e.focusables[o].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return lm.default.createElement(FEt.default.Provider,{value:{exit:this.handleExit}},lm.default.createElement(REt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},lm.default.createElement(TEt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},lm.default.createElement(NEt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},lm.default.createElement(LEt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?lm.default.createElement(OEt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){TIe.default.hide(this.props.stdout)}componentWillUnmount(){TIe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};ou.default=WQ;WQ.displayName="InternalApp"});var MIe=U(au=>{"use strict";var HEt=au&&au.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),qEt=au&&au.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jEt=au&&au.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&HEt(e,t,r);return qEt(e,t),e},lu=au&&au.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(au,"__esModule",{value:!0});var GEt=lu(en()),LIe=dM(),WEt=lu(BEe()),YEt=lu(l6()),KEt=lu(bEe()),JEt=lu(kEe()),mq=lu(vCe()),VEt=lu(lIe()),zEt=lu(f6()),XEt=lu(fIe()),ZEt=jEt(q6()),$Et=lu(nq()),eCt=lu(NIe()),FC=process.env.CI==="false"?!1:KEt.default,OIe=()=>{},yq=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=VEt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` 310Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===XCt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===JCt&&this.focusNext(),e===zCt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{let r=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||r}})},this.focusPrevious=()=>{this.setState(e=>{let r=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||r}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r+1;o<e.focusables.length;o++)if(e.focusables[o].isActive)return e.focusables[o].id},this.findPreviousFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r-1;o>=0;o--)if(e.focusables[o].isActive)return e.focusables[o].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return Am.default.createElement(jCt.default.Provider,{value:{exit:this.handleExit}},Am.default.createElement(GCt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},Am.default.createElement(WCt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},Am.default.createElement(YCt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},Am.default.createElement(KCt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?Am.default.createElement(VCt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){_Ie.default.hide(this.props.stdout)}componentWillUnmount(){_Ie.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};lu.default=ZQ;ZQ.displayName="InternalApp"});var GIe=U(cu=>{"use strict";var ZCt=cu&&cu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),$Ct=cu&&cu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),eEt=cu&&cu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&ZCt(e,t,r);return $Ct(e,t),e},uu=cu&&cu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(cu,"__esModule",{value:!0});var tEt=uu(en()),qIe=mM(),rEt=uu(bCe()),nEt=uu(c6()),iEt=uu(NCe()),sEt=uu(OCe()),yq=uu(QEe()),oEt=uu(hIe()),aEt=uu(p6()),lEt=uu(yIe()),cEt=eEt(j6()),uEt=uu(iq()),AEt=uu(HIe()),OE=process.env.CI==="false"?!1:iEt.default,jIe=()=>{},Cq=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=oEt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==`
311`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(FC){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(YEt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},JEt.default(this),this.options=e,this.rootNode=ZEt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:LIe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=WEt.default.create(e.stdout),this.throttledLog=e.debug?this.log:LIe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=mq.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=zEt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),FC||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=GEt.default.createElement(eCt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);mq.default.updateContainer(r,this.container,null,OIe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(FC){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(FC){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),FC?this.options.stdout.write(this.lastOutput+` 311`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(OE){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(nEt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},sEt.default(this),this.options=e,this.rootNode=cEt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:qIe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=rEt.default.create(e.stdout),this.throttledLog=e.debug?this.log:qIe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=yq.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=aEt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),OE||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=tEt.default.createElement(AEt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);yq.default.updateContainer(r,this.container,null,jIe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(OE){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(OE){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),OE?this.options.stdout.write(this.lastOutput+`
312`):this.options.debug||this.log.done(),this.isUnmounted=!0,mq.default.updateContainer(null,this.container,null,OIe),$Et.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!FC&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=XEt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};au.default=yq});var _Ie=U(lB=>{"use strict";var UIe=lB&&lB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lB,"__esModule",{value:!0});var tCt=UIe(MIe()),YQ=UIe(nq()),rCt=Ie("stream"),nCt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},iCt(e)),o=sCt(r.stdout,()=>new tCt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>YQ.default.delete(r.stdout),clear:o.clear}};lB.default=nCt;var iCt=(t={})=>t instanceof rCt.Stream?{stdout:t,stdin:process.stdin}:t,sCt=(t,e)=>{let r;return YQ.default.has(t)?r=YQ.default.get(t):(r=e(),YQ.default.set(t,r)),r}});var qIe=U(zf=>{"use strict";var oCt=zf&&zf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),aCt=zf&&zf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lCt=zf&&zf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&oCt(e,t,r);return aCt(e,t),e};Object.defineProperty(zf,"__esModule",{value:!0});var cB=lCt(en()),HIe=t=>{let{items:e,children:r,style:o}=t,[a,n]=cB.useState(0),u=cB.useMemo(()=>e.slice(a),[e,a]);cB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,C)=>r(h,a+C)),p=cB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return cB.default.createElement("ink-box",{internal_static:!0,style:p},A)};HIe.displayName="Static";zf.default=HIe});var GIe=U(uB=>{"use strict";var cCt=uB&&uB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uB,"__esModule",{value:!0});var uCt=cCt(en()),jIe=({children:t,transform:e})=>t==null?null:uCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);jIe.displayName="Transform";uB.default=jIe});var YIe=U(AB=>{"use strict";var ACt=AB&&AB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(AB,"__esModule",{value:!0});var fCt=ACt(en()),WIe=({count:t=1})=>fCt.default.createElement("ink-text",null,` 312`):this.options.debug||this.log.done(),this.isUnmounted=!0,yq.default.updateContainer(null,this.container,null,jIe),uEt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!OE&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=lEt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};cu.default=Cq});var YIe=U(fB=>{"use strict";var WIe=fB&&fB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fB,"__esModule",{value:!0});var fEt=WIe(GIe()),$Q=WIe(iq()),pEt=Ie("stream"),hEt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},gEt(e)),o=dEt(r.stdout,()=>new fEt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>$Q.default.delete(r.stdout),clear:o.clear}};fB.default=hEt;var gEt=(t={})=>t instanceof pEt.Stream?{stdout:t,stdin:process.stdin}:t,dEt=(t,e)=>{let r;return $Q.default.has(t)?r=$Q.default.get(t):(r=e(),$Q.default.set(t,r)),r}});var VIe=U(Zf=>{"use strict";var mEt=Zf&&Zf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),yEt=Zf&&Zf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),CEt=Zf&&Zf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&mEt(e,t,r);return yEt(e,t),e};Object.defineProperty(Zf,"__esModule",{value:!0});var pB=CEt(en()),KIe=t=>{let{items:e,children:r,style:o}=t,[a,n]=pB.useState(0),u=pB.useMemo(()=>e.slice(a),[e,a]);pB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,E)=>r(h,a+E)),p=pB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return pB.default.createElement("ink-box",{internal_static:!0,style:p},A)};KIe.displayName="Static";Zf.default=KIe});var zIe=U(hB=>{"use strict";var EEt=hB&&hB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hB,"__esModule",{value:!0});var IEt=EEt(en()),JIe=({children:t,transform:e})=>t==null?null:IEt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);JIe.displayName="Transform";hB.default=JIe});var ZIe=U(gB=>{"use strict";var wEt=gB&&gB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gB,"__esModule",{value:!0});var BEt=wEt(en()),XIe=({count:t=1})=>BEt.default.createElement("ink-text",null,`
313`.repeat(t));WIe.displayName="Newline";AB.default=WIe});var VIe=U(fB=>{"use strict";var KIe=fB&&fB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fB,"__esModule",{value:!0});var pCt=KIe(en()),hCt=KIe(GQ()),JIe=()=>pCt.default.createElement(hCt.default,{flexGrow:1});JIe.displayName="Spacer";fB.default=JIe});var KQ=U(pB=>{"use strict";var gCt=pB&&pB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pB,"__esModule",{value:!0});var dCt=en(),mCt=gCt(aq()),yCt=()=>dCt.useContext(mCt.default);pB.default=yCt});var XIe=U(hB=>{"use strict";var ECt=hB&&hB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hB,"__esModule",{value:!0});var zIe=en(),CCt=ECt(KQ()),ICt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=CCt.default();zIe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),zIe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",C=A>="\u0410"&&A<="\u042F";A.length===1&&(h||C)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r==null||r.on("data",n),()=>{r==null||r.off("data",n)}},[e.isActive,r,a,t])};hB.default=ICt});var ZIe=U(gB=>{"use strict";var wCt=gB&&gB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gB,"__esModule",{value:!0});var BCt=en(),vCt=wCt(sq()),DCt=()=>BCt.useContext(vCt.default);gB.default=DCt});var $Ie=U(dB=>{"use strict";var SCt=dB&&dB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dB,"__esModule",{value:!0});var PCt=en(),xCt=SCt(cq()),bCt=()=>PCt.useContext(xCt.default);dB.default=bCt});var ewe=U(mB=>{"use strict";var QCt=mB&&mB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mB,"__esModule",{value:!0});var kCt=en(),FCt=QCt(Aq()),RCt=()=>kCt.useContext(FCt.default);mB.default=RCt});var rwe=U(EB=>{"use strict";var twe=EB&&EB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EB,"__esModule",{value:!0});var yB=en(),TCt=twe(jQ()),NCt=twe(KQ()),LCt=({isActive:t=!0,autoFocus:e=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=NCt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=yB.useContext(TCt.default),h=yB.useMemo(()=>Math.random().toString().slice(2,7),[]);return yB.useEffect(()=>(n(h,{autoFocus:e}),()=>{u(h)}),[h,e]),yB.useEffect(()=>{t?A(h):p(h)},[t,h]),yB.useEffect(()=>{if(!(!r||!t))return o(!0),()=>{o(!1)}},[t]),{isFocused:Boolean(h)&&a===h}};EB.default=LCt});var nwe=U(CB=>{"use strict";var OCt=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var MCt=en(),UCt=OCt(jQ()),_Ct=()=>{let t=MCt.useContext(UCt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious}};CB.default=_Ct});var iwe=U(Eq=>{"use strict";Object.defineProperty(Eq,"__esModule",{value:!0});Eq.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var oc=U($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var HCt=_Ie();Object.defineProperty($s,"render",{enumerable:!0,get:function(){return HCt.default}});var qCt=GQ();Object.defineProperty($s,"Box",{enumerable:!0,get:function(){return qCt.default}});var jCt=dq();Object.defineProperty($s,"Text",{enumerable:!0,get:function(){return jCt.default}});var GCt=qIe();Object.defineProperty($s,"Static",{enumerable:!0,get:function(){return GCt.default}});var WCt=GIe();Object.defineProperty($s,"Transform",{enumerable:!0,get:function(){return WCt.default}});var YCt=YIe();Object.defineProperty($s,"Newline",{enumerable:!0,get:function(){return YCt.default}});var KCt=VIe();Object.defineProperty($s,"Spacer",{enumerable:!0,get:function(){return KCt.default}});var JCt=XIe();Object.defineProperty($s,"useInput",{enumerable:!0,get:function(){return JCt.default}});var VCt=ZIe();Object.defineProperty($s,"useApp",{enumerable:!0,get:function(){return VCt.default}});var zCt=KQ();Object.defineProperty($s,"useStdin",{enumerable:!0,get:function(){return zCt.default}});var XCt=$Ie();Object.defineProperty($s,"useStdout",{enumerable:!0,get:function(){return XCt.default}});var ZCt=ewe();Object.defineProperty($s,"useStderr",{enumerable:!0,get:function(){return ZCt.default}});var $Ct=rwe();Object.defineProperty($s,"useFocus",{enumerable:!0,get:function(){return $Ct.default}});var eIt=nwe();Object.defineProperty($s,"useFocusManager",{enumerable:!0,get:function(){return eIt.default}});var tIt=iwe();Object.defineProperty($s,"measureElement",{enumerable:!0,get:function(){return tIt.default}})});var Iq={};Yt(Iq,{Gem:()=>Cq});var swe,um,Cq,JQ=dt(()=>{swe=tt(oc()),um=tt(en()),Cq=(0,um.memo)(({active:t})=>{let e=(0,um.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,um.useMemo)(()=>t?"green":"yellow",[t]);return um.default.createElement(swe.Text,{color:r},e)})});var awe={};Yt(awe,{useKeypress:()=>Am});function Am({active:t},e,r){let{stdin:o}=(0,owe.useStdin)(),a=(0,VQ.useCallback)((n,u)=>e(n,u),r);(0,VQ.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var owe,VQ,IB=dt(()=>{owe=tt(oc()),VQ=tt(en())});var cwe={};Yt(cwe,{FocusRequest:()=>lwe,useFocusRequest:()=>wq});var lwe,wq,Bq=dt(()=>{IB();lwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(lwe||{}),wq=function({active:t},e,r){Am({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var uwe={};Yt(uwe,{useListInput:()=>wB});var wB,zQ=dt(()=>{IB();wB=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){Am({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let C=h-1;if(u){n(e[(e.length+C)%e.length]);return}if(C<0)return;n(e[C])}break;case a:{let C=h+1;if(u){n(e[C%e.length]);return}if(C>=e.length)return;n(e[C])}break}},[e,t,a,n,u])}});var XQ={};Yt(XQ,{ScrollableItems:()=>rIt});var dh,Na,rIt,ZQ=dt(()=>{dh=tt(oc()),Na=tt(en());Bq();zQ();rIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=L=>{if(L.key===null)throw new Error("Expected all children to have a key");return L.key},p=Na.default.Children.map(e,L=>A(L)),h=p[0],[C,w]=(0,Na.useState)(h),v=p.indexOf(C);(0,Na.useEffect)(()=>{p.includes(C)||w(h)},[e]),(0,Na.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),wq({active:t&&!!n},L=>{n==null||n(L)},[n]),wB(C,p,{active:t,minus:"up",plus:"down",set:w,loop:a});let b=v-r,E=v+r;E>p.length&&(b-=E-p.length,E=p.length),b<0&&(E+=-b,b=0),E>=p.length&&(E=p.length-1);let R=[];for(let L=b;L<=E;++L){let _=p[L],J=t&&_===C;R.push(Na.default.createElement(dh.Box,{key:_,height:o},Na.default.createElement(dh.Box,{marginLeft:1,marginRight:1},Na.default.createElement(dh.Text,null,J?Na.default.createElement(dh.Text,{color:"cyan",bold:!0},">"):" ")),Na.default.createElement(dh.Box,null,Na.default.cloneElement(e[L],{active:J}))))}return Na.default.createElement(dh.Box,{flexDirection:"column",width:"100%"},R)}});var Awe,Xf,fwe,vq,pwe,Dq=dt(()=>{Awe=tt(oc()),Xf=tt(en()),fwe=Ie("readline"),vq=Xf.default.createContext(null),pwe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,Awe.useStdin)();(0,Xf.useEffect)(()=>{r&&r(!0),e&&(0,fwe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,Xf.useState)(new Map),n=(0,Xf.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return Xf.default.createElement(vq.Provider,{value:n,children:t})}});var Sq={};Yt(Sq,{useMinistore:()=>nIt});function nIt(t,e){let r=(0,$Q.useContext)(vq);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,$Q.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var $Q,Pq=dt(()=>{$Q=tt(en());Dq()});var tk={};Yt(tk,{renderForm:()=>iIt});async function iIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,ek.useApp)();Am({active:!0},(C,w)=>{w.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,ek.render)(xq.default.createElement(pwe,null,xq.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var ek,xq,rk=dt(()=>{ek=tt(oc()),xq=tt(en());Dq();IB()});var mwe=U(BB=>{"use strict";Object.defineProperty(BB,"__esModule",{value:!0});BB.UncontrolledTextInput=void 0;var gwe=en(),bq=en(),hwe=oc(),fm=HQ(),dwe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},C]=bq.useState({cursorOffset:(t||"").length,cursorWidth:0});bq.useEffect(()=>{C(R=>{if(!r||!n)return R;let L=t||"";return R.cursorOffset>L.length-1?{cursorOffset:L.length,cursorWidth:0}:R})},[t,r,n]);let w=a?h:0,v=o?o.repeat(t.length):t,b=v,E=e?fm.grey(e):void 0;if(n&&r){E=e.length>0?fm.inverse(e[0])+fm.grey(e.slice(1)):fm.inverse(" "),b=v.length>0?"":fm.inverse(" ");let R=0;for(let L of v)R>=p-w&&R<=p?b+=fm.inverse(L):b+=L,R++;v.length>0&&p===v.length&&(b+=fm.inverse(" "))}return hwe.useInput((R,L)=>{if(L.upArrow||L.downArrow||L.ctrl&&R==="c"||L.tab||L.shift&&L.tab)return;if(L.return){A&&A(t);return}let _=p,J=t,re=0;L.leftArrow?n&&_--:L.rightArrow?n&&_++:L.backspace||L.delete?p>0&&(J=t.slice(0,p-1)+t.slice(p,t.length),_--):(J=t.slice(0,p)+R+t.slice(p,t.length),_+=R.length,R.length>1&&(re=R.length)),p<0&&(_=0),p>t.length&&(_=t.length),C({cursorOffset:_,cursorWidth:re}),J!==t&&u(J)},{isActive:r}),gwe.createElement(hwe.Text,null,e?v.length>0?b:E:b)};BB.default=dwe;BB.UncontrolledTextInput=t=>{let[e,r]=bq.useState("");return gwe.createElement(dwe,Object.assign({},t,{value:e,onChange:r}))}});var Cwe={};Yt(Cwe,{Pad:()=>Qq});var ywe,Ewe,Qq,kq=dt(()=>{ywe=tt(oc()),Ewe=tt(en()),Qq=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return Ewe.default.createElement(ywe.Text,{dimColor:!e},r)}});var Iwe={};Yt(Iwe,{ItemOptions:()=>sIt});var DB,yh,sIt,wwe=dt(()=>{DB=tt(oc()),yh=tt(en());zQ();JQ();kq();sIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return wB(o,u,{active:t,minus:"left",plus:"right",set:a}),yh.default.createElement(yh.default.Fragment,null,r.map(({label:p},h)=>{let C=h===A,w=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),b=Math.max(0,w-v.length-2);return p?yh.default.createElement(DB.Box,{key:p,width:w,marginLeft:1},yh.default.createElement(DB.Text,{wrap:"truncate"},yh.default.createElement(Cq,{active:C})," ",p),e?yh.default.createElement(Qq,{active:t,length:b}):null):yh.default.createElement(DB.Box,{key:`spacer-${h}`,width:w,marginLeft:1})}))}});var Mwe=U((WJt,Owe)=>{var _q;Owe.exports=()=>(typeof _q>"u"&&(_q=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),_q)});var c1e=U((jVt,l1e)=>{var Jq;l1e.exports=()=>(typeof Jq>"u"&&(Jq=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Jq)});var d1e=U((ej,tj)=>{(function(t){ej&&typeof ej=="object"&&typeof tj<"u"?tj.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var C1e=U((jzt,E1e)=>{"use strict";rj.ifExists=ewt;var NC=Ie("util"),ac=Ie("path"),m1e=d1e(),XIt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,ZIt={createPwshFile:!0,createCmdFile:m1e(),fs:Ie("fs")},$It=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function y1e(t){let e={...ZIt,...t},r=e.fs;return e.fs_={chmod:r.chmod?NC.promisify(r.chmod):async()=>{},mkdir:NC.promisify(r.mkdir),readFile:NC.promisify(r.readFile),stat:NC.promisify(r.stat),unlink:NC.promisify(r.unlink),writeFile:NC.promisify(r.writeFile)},e}async function rj(t,e,r){let o=y1e(r);await o.fs_.stat(t),await rwt(t,e,o)}function ewt(t,e,r){return rj(t,e,r).catch(()=>{})}function twt(t,e){return e.fs_.unlink(t).catch(()=>{})}async function rwt(t,e,r){let o=await awt(t,r);return await nwt(e,r),iwt(t,e,o,r)}function nwt(t,e){return e.fs_.mkdir(ac.dirname(t),{recursive:!0})}function iwt(t,e,r,o){let a=y1e(o),n=[{generator:uwt,extension:""}];return a.createCmdFile&&n.push({generator:cwt,extension:".cmd"}),a.createPwshFile&&n.push({generator:Awt,extension:".ps1"}),Promise.all(n.map(u=>lwt(t,e+u.extension,r,u.generator,a)))}function swt(t,e){return twt(t,e)}function owt(t,e){return fwt(t,e)}async function awt(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(XIt);if(!a){let n=ac.extname(t).toLowerCase();return{program:$It.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function lwt(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await swt(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),owt(e,a)}function cwt(t,e,r){let a=ac.relative(ac.dirname(e),t).split("/").join("\\"),n=ac.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=nj(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let C=r.progArgs?`${r.progArgs.join(" ")} `:"",w=h?`@SET NODE_PATH=${h}\r 313`.repeat(t));XIe.displayName="Newline";gB.default=XIe});var twe=U(dB=>{"use strict";var $Ie=dB&&dB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dB,"__esModule",{value:!0});var vEt=$Ie(en()),DEt=$Ie(XQ()),ewe=()=>vEt.default.createElement(DEt.default,{flexGrow:1});ewe.displayName="Spacer";dB.default=ewe});var ek=U(mB=>{"use strict";var SEt=mB&&mB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mB,"__esModule",{value:!0});var PEt=en(),xEt=SEt(lq()),bEt=()=>PEt.useContext(xEt.default);mB.default=bEt});var nwe=U(yB=>{"use strict";var QEt=yB&&yB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yB,"__esModule",{value:!0});var rwe=en(),kEt=QEt(ek()),FEt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=kEt.default();rwe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),rwe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",E=A>="\u0410"&&A<="\u042F";A.length===1&&(h||E)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r==null||r.on("data",n),()=>{r==null||r.off("data",n)}},[e.isActive,r,a,t])};yB.default=FEt});var iwe=U(CB=>{"use strict";var REt=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var TEt=en(),NEt=REt(oq()),LEt=()=>TEt.useContext(NEt.default);CB.default=LEt});var swe=U(EB=>{"use strict";var OEt=EB&&EB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EB,"__esModule",{value:!0});var MEt=en(),UEt=OEt(uq()),_Et=()=>MEt.useContext(UEt.default);EB.default=_Et});var owe=U(IB=>{"use strict";var HEt=IB&&IB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IB,"__esModule",{value:!0});var qEt=en(),jEt=HEt(fq()),GEt=()=>qEt.useContext(jEt.default);IB.default=GEt});var lwe=U(BB=>{"use strict";var awe=BB&&BB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BB,"__esModule",{value:!0});var wB=en(),WEt=awe(zQ()),YEt=awe(ek()),KEt=({isActive:t=!0,autoFocus:e=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=YEt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=wB.useContext(WEt.default),h=wB.useMemo(()=>Math.random().toString().slice(2,7),[]);return wB.useEffect(()=>(n(h,{autoFocus:e}),()=>{u(h)}),[h,e]),wB.useEffect(()=>{t?A(h):p(h)},[t,h]),wB.useEffect(()=>{if(!(!r||!t))return o(!0),()=>{o(!1)}},[t]),{isFocused:Boolean(h)&&a===h}};BB.default=KEt});var cwe=U(vB=>{"use strict";var VEt=vB&&vB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vB,"__esModule",{value:!0});var JEt=en(),zEt=VEt(zQ()),XEt=()=>{let t=JEt.useContext(zEt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious}};vB.default=XEt});var uwe=U(Eq=>{"use strict";Object.defineProperty(Eq,"__esModule",{value:!0});Eq.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var cc=U($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var ZEt=YIe();Object.defineProperty($s,"render",{enumerable:!0,get:function(){return ZEt.default}});var $Et=XQ();Object.defineProperty($s,"Box",{enumerable:!0,get:function(){return $Et.default}});var eIt=mq();Object.defineProperty($s,"Text",{enumerable:!0,get:function(){return eIt.default}});var tIt=VIe();Object.defineProperty($s,"Static",{enumerable:!0,get:function(){return tIt.default}});var rIt=zIe();Object.defineProperty($s,"Transform",{enumerable:!0,get:function(){return rIt.default}});var nIt=ZIe();Object.defineProperty($s,"Newline",{enumerable:!0,get:function(){return nIt.default}});var iIt=twe();Object.defineProperty($s,"Spacer",{enumerable:!0,get:function(){return iIt.default}});var sIt=nwe();Object.defineProperty($s,"useInput",{enumerable:!0,get:function(){return sIt.default}});var oIt=iwe();Object.defineProperty($s,"useApp",{enumerable:!0,get:function(){return oIt.default}});var aIt=ek();Object.defineProperty($s,"useStdin",{enumerable:!0,get:function(){return aIt.default}});var lIt=swe();Object.defineProperty($s,"useStdout",{enumerable:!0,get:function(){return lIt.default}});var cIt=owe();Object.defineProperty($s,"useStderr",{enumerable:!0,get:function(){return cIt.default}});var uIt=lwe();Object.defineProperty($s,"useFocus",{enumerable:!0,get:function(){return uIt.default}});var AIt=cwe();Object.defineProperty($s,"useFocusManager",{enumerable:!0,get:function(){return AIt.default}});var fIt=uwe();Object.defineProperty($s,"measureElement",{enumerable:!0,get:function(){return fIt.default}})});var wq={};Yt(wq,{Gem:()=>Iq});var Awe,pm,Iq,tk=dt(()=>{Awe=tt(cc()),pm=tt(en()),Iq=(0,pm.memo)(({active:t})=>{let e=(0,pm.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,pm.useMemo)(()=>t?"green":"yellow",[t]);return pm.default.createElement(Awe.Text,{color:r},e)})});var pwe={};Yt(pwe,{useKeypress:()=>hm});function hm({active:t},e,r){let{stdin:o}=(0,fwe.useStdin)(),a=(0,rk.useCallback)((n,u)=>e(n,u),r);(0,rk.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var fwe,rk,DB=dt(()=>{fwe=tt(cc()),rk=tt(en())});var gwe={};Yt(gwe,{FocusRequest:()=>hwe,useFocusRequest:()=>Bq});var hwe,Bq,vq=dt(()=>{DB();hwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(hwe||{}),Bq=function({active:t},e,r){hm({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var dwe={};Yt(dwe,{useListInput:()=>SB});var SB,nk=dt(()=>{DB();SB=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){hm({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let E=h-1;if(u){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(u){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,u])}});var ik={};Yt(ik,{ScrollableItems:()=>pIt});var mh,La,pIt,sk=dt(()=>{mh=tt(cc()),La=tt(en());vq();nk();pIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=L=>{if(L.key===null)throw new Error("Expected all children to have a key");return L.key},p=La.default.Children.map(e,L=>A(L)),h=p[0],[E,w]=(0,La.useState)(h),v=p.indexOf(E);(0,La.useEffect)(()=>{p.includes(E)||w(h)},[e]),(0,La.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),Bq({active:t&&!!n},L=>{n==null||n(L)},[n]),SB(E,p,{active:t,minus:"up",plus:"down",set:w,loop:a});let b=v-r,C=v+r;C>p.length&&(b-=C-p.length,C=p.length),b<0&&(C+=-b,b=0),C>=p.length&&(C=p.length-1);let R=[];for(let L=b;L<=C;++L){let _=p[L],V=t&&_===E;R.push(La.default.createElement(mh.Box,{key:_,height:o},La.default.createElement(mh.Box,{marginLeft:1,marginRight:1},La.default.createElement(mh.Text,null,V?La.default.createElement(mh.Text,{color:"cyan",bold:!0},">"):" ")),La.default.createElement(mh.Box,null,La.default.cloneElement(e[L],{active:V}))))}return La.default.createElement(mh.Box,{flexDirection:"column",width:"100%"},R)}});var mwe,$f,ywe,Dq,Cwe,Sq=dt(()=>{mwe=tt(cc()),$f=tt(en()),ywe=Ie("readline"),Dq=$f.default.createContext(null),Cwe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,mwe.useStdin)();(0,$f.useEffect)(()=>{r&&r(!0),e&&(0,ywe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,$f.useState)(new Map),n=(0,$f.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return $f.default.createElement(Dq.Provider,{value:n,children:t})}});var Pq={};Yt(Pq,{useMinistore:()=>hIt});function hIt(t,e){let r=(0,ok.useContext)(Dq);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,ok.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var ok,xq=dt(()=>{ok=tt(en());Sq()});var lk={};Yt(lk,{renderForm:()=>gIt});async function gIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,ak.useApp)();hm({active:!0},(E,w)=>{w.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,ak.render)(bq.default.createElement(Cwe,null,bq.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var ak,bq,ck=dt(()=>{ak=tt(cc()),bq=tt(en());Sq();DB()});var Bwe=U(PB=>{"use strict";Object.defineProperty(PB,"__esModule",{value:!0});PB.UncontrolledTextInput=void 0;var Iwe=en(),Qq=en(),Ewe=cc(),gm=VQ(),wwe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},E]=Qq.useState({cursorOffset:(t||"").length,cursorWidth:0});Qq.useEffect(()=>{E(R=>{if(!r||!n)return R;let L=t||"";return R.cursorOffset>L.length-1?{cursorOffset:L.length,cursorWidth:0}:R})},[t,r,n]);let w=a?h:0,v=o?o.repeat(t.length):t,b=v,C=e?gm.grey(e):void 0;if(n&&r){C=e.length>0?gm.inverse(e[0])+gm.grey(e.slice(1)):gm.inverse(" "),b=v.length>0?"":gm.inverse(" ");let R=0;for(let L of v)R>=p-w&&R<=p?b+=gm.inverse(L):b+=L,R++;v.length>0&&p===v.length&&(b+=gm.inverse(" "))}return Ewe.useInput((R,L)=>{if(L.upArrow||L.downArrow||L.ctrl&&R==="c"||L.tab||L.shift&&L.tab)return;if(L.return){A&&A(t);return}let _=p,V=t,re=0;L.leftArrow?n&&_--:L.rightArrow?n&&_++:L.backspace||L.delete?p>0&&(V=t.slice(0,p-1)+t.slice(p,t.length),_--):(V=t.slice(0,p)+R+t.slice(p,t.length),_+=R.length,R.length>1&&(re=R.length)),p<0&&(_=0),p>t.length&&(_=t.length),E({cursorOffset:_,cursorWidth:re}),V!==t&&u(V)},{isActive:r}),Iwe.createElement(Ewe.Text,null,e?v.length>0?b:C:b)};PB.default=wwe;PB.UncontrolledTextInput=t=>{let[e,r]=Qq.useState("");return Iwe.createElement(wwe,Object.assign({},t,{value:e,onChange:r}))}});var Swe={};Yt(Swe,{Pad:()=>kq});var vwe,Dwe,kq,Fq=dt(()=>{vwe=tt(cc()),Dwe=tt(en()),kq=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return Dwe.default.createElement(vwe.Text,{dimColor:!e},r)}});var Pwe={};Yt(Pwe,{ItemOptions:()=>dIt});var bB,Ch,dIt,xwe=dt(()=>{bB=tt(cc()),Ch=tt(en());nk();tk();Fq();dIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return SB(o,u,{active:t,minus:"left",plus:"right",set:a}),Ch.default.createElement(Ch.default.Fragment,null,r.map(({label:p},h)=>{let E=h===A,w=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),b=Math.max(0,w-v.length-2);return p?Ch.default.createElement(bB.Box,{key:p,width:w,marginLeft:1},Ch.default.createElement(bB.Text,{wrap:"truncate"},Ch.default.createElement(Iq,{active:E})," ",p),e?Ch.default.createElement(kq,{active:t,length:b}):null):Ch.default.createElement(bB.Box,{key:`spacer-${h}`,width:w,marginLeft:1})}))}});var Gwe=U((ZVt,jwe)=>{var Hq;jwe.exports=()=>(typeof Hq>"u"&&(Hq=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Hq)});var A1e=U((BJt,u1e)=>{var zq=Symbol("arg flag"),Oa=class extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,Oa.prototype)}};function WB(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new Oa("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(t)){if(!A)throw new Oa("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new Oa(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new Oa(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[A]=="string"){n[A]=t[A];continue}let p=t[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(w,v,b=[])=>(b.push(E(w,v,b[b.length-1])),b),h=E===Boolean||E[zq]===!0}else if(typeof p=="function")h=p===Boolean||p[zq]===!0;else throw new Oa(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new Oa(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=e.length;A<p;A++){let h=e[A];if(o&&a._.length>0){a._=a._.concat(e.slice(A));break}if(h==="--"){a._=a._.concat(e.slice(A+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(w=>`-${w}`);for(let w=0;w<E.length;w++){let v=E[w],[b,C]=v[1]==="-"?v.split(/=(.*)/,2):[v,void 0],R=b;for(;R in n;)R=n[R];if(!(R in u))if(r){a._.push(v);continue}else throw new Oa(`unknown or unexpected option: ${b}`,"ARG_UNKNOWN_OPTION");let[L,_]=u[R];if(!_&&w+1<E.length)throw new Oa(`option requires argument (but was followed by another short argument): ${b}`,"ARG_MISSING_REQUIRED_SHORTARG");if(_)a[R]=L(!0,R,a[R]);else if(C===void 0){if(e.length<A+2||e[A+1].length>1&&e[A+1][0]==="-"&&!(e[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(L===Number||typeof BigInt<"u"&&L===BigInt))){let V=b===R?"":` (alias for ${R})`;throw new Oa(`option requires argument: ${b}${V}`,"ARG_MISSING_REQUIRED_LONGARG")}a[R]=L(e[A+1],R,a[R]),++A}else a[R]=L(C,R,a[R])}}else a._.push(h)}return a}WB.flag=t=>(t[zq]=!0,t);WB.COUNT=WB.flag((t,e,r)=>(r||0)+1);WB.ArgError=Oa;u1e.exports=WB});var E1e=U((XJt,C1e)=>{var ej;C1e.exports=()=>(typeof ej>"u"&&(ej=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),ej)});var P1e=U((oj,aj)=>{(function(t){oj&&typeof oj=="object"&&typeof aj<"u"?aj.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var k1e=U((Jzt,Q1e)=>{"use strict";lj.ifExists=hwt;var UE=Ie("util"),uc=Ie("path"),x1e=P1e(),Awt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,fwt={createPwshFile:!0,createCmdFile:x1e(),fs:Ie("fs")},pwt=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function b1e(t){let e={...fwt,...t},r=e.fs;return e.fs_={chmod:r.chmod?UE.promisify(r.chmod):async()=>{},mkdir:UE.promisify(r.mkdir),readFile:UE.promisify(r.readFile),stat:UE.promisify(r.stat),unlink:UE.promisify(r.unlink),writeFile:UE.promisify(r.writeFile)},e}async function lj(t,e,r){let o=b1e(r);await o.fs_.stat(t),await dwt(t,e,o)}function hwt(t,e,r){return lj(t,e,r).catch(()=>{})}function gwt(t,e){return e.fs_.unlink(t).catch(()=>{})}async function dwt(t,e,r){let o=await Iwt(t,r);return await mwt(e,r),ywt(t,e,o,r)}function mwt(t,e){return e.fs_.mkdir(uc.dirname(t),{recursive:!0})}function ywt(t,e,r,o){let a=b1e(o),n=[{generator:vwt,extension:""}];return a.createCmdFile&&n.push({generator:Bwt,extension:".cmd"}),a.createPwshFile&&n.push({generator:Dwt,extension:".ps1"}),Promise.all(n.map(u=>wwt(t,e+u.extension,r,u.generator,a)))}function Cwt(t,e){return gwt(t,e)}function Ewt(t,e){return Swt(t,e)}async function Iwt(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Awt);if(!a){let n=uc.extname(t).toLowerCase();return{program:pwt.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function wwt(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await Cwt(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),Ewt(e,a)}function Bwt(t,e,r){let a=uc.relative(uc.dirname(e),t).split("/").join("\\"),n=uc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=cj(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",w=h?`@SET NODE_PATH=${h}\r
314`:"";return u?w+=`@IF EXIST ${u} (\r 314`:"";return u?w+=`@IF EXIST ${u} (\r
315 ${u} ${p} ${a} ${C}%*\r 315 ${u} ${p} ${a} ${E}%*\r
316) ELSE (\r 316) ELSE (\r
317 @SETLOCAL\r 317 @SETLOCAL\r
318 @SET PATHEXT=%PATHEXT:;.JS;=;%\r 318 @SET PATHEXT=%PATHEXT:;.JS;=;%\r
319 ${A} ${p} ${a} ${C}%*\r 319 ${A} ${p} ${a} ${E}%*\r
320)\r 320)\r
321`:w+=`@${A} ${p} ${a} ${C}%*\r 321`:w+=`@${A} ${p} ${a} ${E}%*\r
322`,w}function uwt(t,e,r){let o=ac.relative(ac.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=ac.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=nj(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",C=`#!/bin/sh 322`,w}function vwt(t,e,r){let o=uc.relative(uc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=uc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=cj(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh
323basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") 323basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
324 324
325case \`uname\` in 325case \`uname\` in
@@ -327,19 +327,19 @@ case \`uname\` in
327esac 327esac
328 328
329`,w=r.nodePath?`export NODE_PATH="${p}" 329`,w=r.nodePath?`export NODE_PATH="${p}"
330`:"";return n?C+=`${w}if [ -x ${n} ]; then 330`:"";return n?E+=`${w}if [ -x ${n} ]; then
331 exec ${n} ${A} ${o} ${h}"$@" 331 exec ${n} ${A} ${o} ${h}"$@"
332else 332else
333 exec ${a} ${A} ${o} ${h}"$@" 333 exec ${a} ${A} ${o} ${h}"$@"
334fi 334fi
335`:C+=`${w}${a} ${A} ${o} ${h}"$@" 335`:E+=`${w}${a} ${A} ${o} ${h}"$@"
336exit $? 336exit $?
337`,C}function Awt(t,e,r){let o=ac.relative(ac.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=ac.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=nj(r.nodePath),C=h.win32,w=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",b=`#!/usr/bin/env pwsh 337`,E}function Dwt(t,e,r){let o=uc.relative(uc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=uc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=cj(r.nodePath),E=h.win32,w=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",b=`#!/usr/bin/env pwsh
338$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 338$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
339 339
340$exe="" 340$exe=""
341${r.nodePath?`$env_node_path=$env:NODE_PATH 341${r.nodePath?`$env_node_path=$env:NODE_PATH
342$env:NODE_PATH="${C}" 342$env:NODE_PATH="${E}"
343`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 343`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
344 # Fix case when both the Windows and Linux builds of Node 344 # Fix case when both the Windows and Linux builds of Node
345 # are installed in the same directory 345 # are installed in the same directory
@@ -376,45 +376,45 @@ if ($MyInvocation.ExpectingInput) {
376} 376}
377${r.nodePath?`$env:NODE_PATH=$env_node_path 377${r.nodePath?`$env:NODE_PATH=$env_node_path
378`:""}exit $LASTEXITCODE 378`:""}exit $LASTEXITCODE
379`,b}function fwt(t,e){return e.fs_.chmod(t,493)}function nj(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(ac.delimiter):Array.from(t),r={};for(let o=0;o<e.length;o++){let a=e[o].split("/").join("\\"),n=m1e()?e[o].split("\\").join("/").replace(/^([^:\\/]*):/,(u,A)=>`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}E1e.exports=rj});var dj=U((sZt,_1e)=>{_1e.exports=Ie("stream")});var G1e=U((oZt,j1e)=>{"use strict";function H1e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function Fwt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?H1e(Object(r),!0).forEach(function(o){Rwt(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):H1e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function Rwt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Twt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function q1e(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function Nwt(t,e,r){return e&&q1e(t.prototype,e),r&&q1e(t,r),t}var Lwt=Ie("buffer"),Ek=Lwt.Buffer,Owt=Ie("util"),mj=Owt.inspect,Mwt=mj&&mj.custom||"inspect";function Uwt(t,e,r){Ek.prototype.copy.call(t,e,r)}j1e.exports=function(){function t(){Twt(this,t),this.head=null,this.tail=null,this.length=0}return Nwt(t,[{key:"push",value:function(r){var o={data:r,next:null};this.length>0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return Ek.alloc(0);for(var o=Ek.allocUnsafe(r>>>0),a=this.head,n=0;a;)Uwt(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return r<this.head.data.length?(a=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?a=this.shift():a=o?this._getString(r):this._getBuffer(r),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var o=this.head,a=1,n=o.data;for(r-=n.length;o=o.next;){var u=o.data,A=r>u.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=Ek.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:Mwt,value:function(r,o){return mj(this,Fwt({},o,{depth:0,customInspect:!1}))}}]),t}()});var Ej=U((aZt,Y1e)=>{"use strict";function _wt(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(yj,this,t)):process.nextTick(yj,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(Ck,r):(r._writableState.errorEmitted=!0,process.nextTick(W1e,r,n)):process.nextTick(W1e,r,n):e?(process.nextTick(Ck,r),e(n)):process.nextTick(Ck,r)}),this)}function W1e(t,e){yj(t,e),Ck(t)}function Ck(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function Hwt(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function yj(t,e){t.emit("error",e)}function qwt(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}Y1e.exports={destroy:_wt,undestroy:Hwt,errorOrDestroy:qwt}});var Dh=U((lZt,V1e)=>{"use strict";var J1e={};function lc(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,J1e[t]=a}function K1e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function jwt(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function Gwt(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function Wwt(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}lc("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);lc("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&jwt(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(Gwt(t," argument"))a=`The ${t} ${o} ${K1e(e,"type")}`;else{let n=Wwt(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${K1e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);lc("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");lc("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});lc("ERR_STREAM_PREMATURE_CLOSE","Premature close");lc("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});lc("ERR_MULTIPLE_CALLBACK","Callback called multiple times");lc("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");lc("ERR_STREAM_WRITE_AFTER_END","write after end");lc("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);lc("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);lc("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");V1e.exports.codes=J1e});var Cj=U((cZt,z1e)=>{"use strict";var Ywt=Dh().codes.ERR_INVALID_OPT_VALUE;function Kwt(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function Jwt(t,e,r,o){var a=Kwt(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new Ywt(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}z1e.exports={getHighWaterMark:Jwt}});var X1e=U((uZt,Ij)=>{typeof Object.create=="function"?Ij.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Ij.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var Sh=U((AZt,Bj)=>{try{if(wj=Ie("util"),typeof wj.inherits!="function")throw"";Bj.exports=wj.inherits}catch{Bj.exports=X1e()}var wj});var $1e=U((fZt,Z1e)=>{Z1e.exports=Ie("util").deprecate});var Sj=U((pZt,s2e)=>{"use strict";s2e.exports=Qi;function t2e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){I1t(e,t)}}var MC;Qi.WritableState=zB;var Vwt={deprecate:$1e()},r2e=dj(),wk=Ie("buffer").Buffer,zwt=global.Uint8Array||function(){};function Xwt(t){return wk.from(t)}function Zwt(t){return wk.isBuffer(t)||t instanceof zwt}var Dj=Ej(),$wt=Cj(),e1t=$wt.getHighWaterMark,Ph=Dh().codes,t1t=Ph.ERR_INVALID_ARG_TYPE,r1t=Ph.ERR_METHOD_NOT_IMPLEMENTED,n1t=Ph.ERR_MULTIPLE_CALLBACK,i1t=Ph.ERR_STREAM_CANNOT_PIPE,s1t=Ph.ERR_STREAM_DESTROYED,o1t=Ph.ERR_STREAM_NULL_VALUES,a1t=Ph.ERR_STREAM_WRITE_AFTER_END,l1t=Ph.ERR_UNKNOWN_ENCODING,UC=Dj.errorOrDestroy;Sh()(Qi,r2e);function c1t(){}function zB(t,e,r){MC=MC||mm(),t=t||{},typeof r!="boolean"&&(r=e instanceof MC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=e1t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){d1t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new t2e(this)}zB.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(zB.prototype,"buffer",{get:Vwt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var Ik;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Ik=Function.prototype[Symbol.hasInstance],Object.defineProperty(Qi,Symbol.hasInstance,{value:function(e){return Ik.call(this,e)?!0:this!==Qi?!1:e&&e._writableState instanceof zB}})):Ik=function(e){return e instanceof this};function Qi(t){MC=MC||mm();var e=this instanceof MC;if(!e&&!Ik.call(Qi,this))return new Qi(t);this._writableState=new zB(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),r2e.call(this)}Qi.prototype.pipe=function(){UC(this,new i1t)};function u1t(t,e){var r=new a1t;UC(t,r),process.nextTick(e,r)}function A1t(t,e,r,o){var a;return r===null?a=new o1t:typeof r!="string"&&!e.objectMode&&(a=new t1t("chunk",["string","Buffer"],r)),a?(UC(t,a),process.nextTick(o,a),!1):!0}Qi.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&Zwt(t);return n&&!wk.isBuffer(t)&&(t=Xwt(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=c1t),o.ending?u1t(this,r):(n||A1t(this,o,t,r))&&(o.pendingcb++,a=p1t(this,o,n,t,e,r)),a};Qi.prototype.cork=function(){this._writableState.corked++};Qi.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&n2e(this,t))};Qi.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new l1t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Qi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function f1t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=wk.from(e,r)),e}Object.defineProperty(Qi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function p1t(t,e,r,o,a,n){if(!r){var u=f1t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length<e.highWaterMark;if(p||(e.needDrain=!0),e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:o,encoding:a,isBuf:r,callback:n,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else vj(t,e,!1,A,o,a,n);return p}function vj(t,e,r,o,a,n,u){e.writelen=o,e.writecb=u,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new s1t("write")):r?t._writev(a,e.onwrite):t._write(a,n,e.onwrite),e.sync=!1}function h1t(t,e,r,o,a){--e.pendingcb,r?(process.nextTick(a,o),process.nextTick(VB,t,e),t._writableState.errorEmitted=!0,UC(t,o)):(a(o),t._writableState.errorEmitted=!0,UC(t,o),VB(t,e))}function g1t(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function d1t(t,e){var r=t._writableState,o=r.sync,a=r.writecb;if(typeof a!="function")throw new n1t;if(g1t(r),e)h1t(t,r,o,e,a);else{var n=i2e(r)||t.destroyed;!n&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&n2e(t,r),o?process.nextTick(e2e,t,r,n,a):e2e(t,r,n,a)}}function e2e(t,e,r,o){r||m1t(t,e),e.pendingcb--,o(),VB(t,e)}function m1t(t,e){e.length===0&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}function n2e(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var o=e.bufferedRequestCount,a=new Array(o),n=e.corkedRequestsFree;n.entry=r;for(var u=0,A=!0;r;)a[u]=r,r.isBuf||(A=!1),r=r.next,u+=1;a.allBuffers=A,vj(t,e,!0,e.length,a,"",n.finish),e.pendingcb++,e.lastBufferedRequest=null,n.next?(e.corkedRequestsFree=n.next,n.next=null):e.corkedRequestsFree=new t2e(e),e.bufferedRequestCount=0}else{for(;r;){var p=r.chunk,h=r.encoding,C=r.callback,w=e.objectMode?1:p.length;if(vj(t,e,!1,w,p,h,C),r=r.next,e.bufferedRequestCount--,e.writing)break}r===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}Qi.prototype._write=function(t,e,r){r(new r1t("_write()"))};Qi.prototype._writev=null;Qi.prototype.end=function(t,e,r){var o=this._writableState;return typeof t=="function"?(r=t,t=null,e=null):typeof e=="function"&&(r=e,e=null),t!=null&&this.write(t,e),o.corked&&(o.corked=1,this.uncork()),o.ending||C1t(this,o,r),this};Object.defineProperty(Qi.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function i2e(t){return t.ending&&t.length===0&&t.bufferedRequest===null&&!t.finished&&!t.writing}function y1t(t,e){t._final(function(r){e.pendingcb--,r&&UC(t,r),e.prefinished=!0,t.emit("prefinish"),VB(t,e)})}function E1t(t,e){!e.prefinished&&!e.finalCalled&&(typeof t._final=="function"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(y1t,t,e)):(e.prefinished=!0,t.emit("prefinish")))}function VB(t,e){var r=i2e(e);if(r&&(E1t(t,e),e.pendingcb===0&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var o=t._readableState;(!o||o.autoDestroy&&o.endEmitted)&&t.destroy()}return r}function C1t(t,e,r){e.ending=!0,VB(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}function I1t(t,e,r){var o=t.entry;for(t.entry=null;o;){var a=o.callback;e.pendingcb--,a(r),o=o.next}e.corkedRequestsFree.next=t}Object.defineProperty(Qi.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}});Qi.prototype.destroy=Dj.destroy;Qi.prototype._undestroy=Dj.undestroy;Qi.prototype._destroy=function(t,e){e(t)}});var mm=U((hZt,a2e)=>{"use strict";var w1t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};a2e.exports=EA;var o2e=bj(),xj=Sj();Sh()(EA,o2e);for(Pj=w1t(xj.prototype),Bk=0;Bk<Pj.length;Bk++)vk=Pj[Bk],EA.prototype[vk]||(EA.prototype[vk]=xj.prototype[vk]);var Pj,vk,Bk;function EA(t){if(!(this instanceof EA))return new EA(t);o2e.call(this,t),xj.call(this,t),this.allowHalfOpen=!0,t&&(t.readable===!1&&(this.readable=!1),t.writable===!1&&(this.writable=!1),t.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",B1t)))}Object.defineProperty(EA.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(EA.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(EA.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function B1t(){this._writableState.ended||process.nextTick(v1t,this)}function v1t(t){t.end()}Object.defineProperty(EA.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var u2e=U((Qj,c2e)=>{var Dk=Ie("buffer"),np=Dk.Buffer;function l2e(t,e){for(var r in t)e[r]=t[r]}np.from&&np.alloc&&np.allocUnsafe&&np.allocUnsafeSlow?c2e.exports=Dk:(l2e(Dk,Qj),Qj.Buffer=_C);function _C(t,e,r){return np(t,e,r)}l2e(np,_C);_C.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return np(t,e,r)};_C.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=np(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};_C.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return np(t)};_C.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Dk.SlowBuffer(t)}});var Rj=U(f2e=>{"use strict";var Fj=u2e().Buffer,A2e=Fj.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function D1t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function S1t(t){var e=D1t(t);if(typeof e!="string"&&(Fj.isEncoding===A2e||!A2e(t)))throw new Error("Unknown encoding: "+t);return e||t}f2e.StringDecoder=XB;function XB(t){this.encoding=S1t(t);var e;switch(this.encoding){case"utf16le":this.text=F1t,this.end=R1t,e=4;break;case"utf8":this.fillLast=b1t,e=4;break;case"base64":this.text=T1t,this.end=N1t,e=3;break;default:this.write=L1t,this.end=O1t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Fj.allocUnsafe(e)}XB.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""};XB.prototype.end=k1t;XB.prototype.text=Q1t;XB.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};function kj(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function P1t(t,e,r){var o=e.length-1;if(o<r)return 0;var a=kj(e[o]);return a>=0?(a>0&&(t.lastNeed=a-1),a):--o<r||a===-2?0:(a=kj(e[o]),a>=0?(a>0&&(t.lastNeed=a-2),a):--o<r||a===-2?0:(a=kj(e[o]),a>=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function x1t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function b1t(t){var e=this.lastTotal-this.lastNeed,r=x1t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function Q1t(t,e){var r=P1t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function k1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function F1t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function R1t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function T1t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function N1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function L1t(t){return t.toString(this.encoding)}function O1t(t){return t&&t.length?this.write(t):""}});var Sk=U((dZt,g2e)=>{"use strict";var p2e=Dh().codes.ERR_STREAM_PREMATURE_CLOSE;function M1t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];t.apply(this,o)}}}function U1t(){}function _1t(t){return t.setHeader&&typeof t.abort=="function"}function h2e(t,e,r){if(typeof e=="function")return h2e(t,null,e);e||(e={}),r=M1t(r||U1t);var o=e.readable||e.readable!==!1&&t.readable,a=e.writable||e.writable!==!1&&t.writable,n=function(){t.writable||A()},u=t._writableState&&t._writableState.finished,A=function(){a=!1,u=!0,o||r.call(t)},p=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,p=!0,a||r.call(t)},C=function(E){r.call(t,E)},w=function(){var E;if(o&&!p)return(!t._readableState||!t._readableState.ended)&&(E=new p2e),r.call(t,E);if(a&&!u)return(!t._writableState||!t._writableState.ended)&&(E=new p2e),r.call(t,E)},v=function(){t.req.on("finish",A)};return _1t(t)?(t.on("complete",A),t.on("abort",w),t.req?v():t.on("request",v)):a&&!t._writableState&&(t.on("end",n),t.on("close",n)),t.on("end",h),t.on("finish",A),e.error!==!1&&t.on("error",C),t.on("close",w),function(){t.removeListener("complete",A),t.removeListener("abort",w),t.removeListener("request",v),t.req&&t.req.removeListener("finish",A),t.removeListener("end",n),t.removeListener("close",n),t.removeListener("finish",A),t.removeListener("end",h),t.removeListener("error",C),t.removeListener("close",w)}}g2e.exports=h2e});var m2e=U((mZt,d2e)=>{"use strict";var Pk;function xh(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var H1t=Sk(),bh=Symbol("lastResolve"),ym=Symbol("lastReject"),ZB=Symbol("error"),xk=Symbol("ended"),Em=Symbol("lastPromise"),Tj=Symbol("handlePromise"),Cm=Symbol("stream");function Qh(t,e){return{value:t,done:e}}function q1t(t){var e=t[bh];if(e!==null){var r=t[Cm].read();r!==null&&(t[Em]=null,t[bh]=null,t[ym]=null,e(Qh(r,!1)))}}function j1t(t){process.nextTick(q1t,t)}function G1t(t,e){return function(r,o){t.then(function(){if(e[xk]){r(Qh(void 0,!0));return}e[Tj](r,o)},o)}}var W1t=Object.getPrototypeOf(function(){}),Y1t=Object.setPrototypeOf((Pk={get stream(){return this[Cm]},next:function(){var e=this,r=this[ZB];if(r!==null)return Promise.reject(r);if(this[xk])return Promise.resolve(Qh(void 0,!0));if(this[Cm].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[ZB]?A(e[ZB]):u(Qh(void 0,!0))})});var o=this[Em],a;if(o)a=new Promise(G1t(o,this));else{var n=this[Cm].read();if(n!==null)return Promise.resolve(Qh(n,!1));a=new Promise(this[Tj])}return this[Em]=a,a}},xh(Pk,Symbol.asyncIterator,function(){return this}),xh(Pk,"return",function(){var e=this;return new Promise(function(r,o){e[Cm].destroy(null,function(a){if(a){o(a);return}r(Qh(void 0,!0))})})}),Pk),W1t),K1t=function(e){var r,o=Object.create(Y1t,(r={},xh(r,Cm,{value:e,writable:!0}),xh(r,bh,{value:null,writable:!0}),xh(r,ym,{value:null,writable:!0}),xh(r,ZB,{value:null,writable:!0}),xh(r,xk,{value:e._readableState.endEmitted,writable:!0}),xh(r,Tj,{value:function(n,u){var A=o[Cm].read();A?(o[Em]=null,o[bh]=null,o[ym]=null,n(Qh(A,!1))):(o[bh]=n,o[ym]=u)},writable:!0}),r));return o[Em]=null,H1t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[ym];n!==null&&(o[Em]=null,o[bh]=null,o[ym]=null,n(a)),o[ZB]=a;return}var u=o[bh];u!==null&&(o[Em]=null,o[bh]=null,o[ym]=null,u(Qh(void 0,!0))),o[xk]=!0}),e.on("readable",j1t.bind(null,o)),o};d2e.exports=K1t});var I2e=U((yZt,C2e)=>{"use strict";function y2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function J1t(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){y2e(n,o,a,u,A,"next",p)}function A(p){y2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function E2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function V1t(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?E2e(Object(r),!0).forEach(function(o){z1t(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):E2e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function z1t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var X1t=Dh().codes.ERR_INVALID_ARG_TYPE;function Z1t(t,e,r){var o;if(e&&typeof e.next=="function")o=e;else if(e&&e[Symbol.asyncIterator])o=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])o=e[Symbol.iterator]();else throw new X1t("iterable",["Iterable"],e);var a=new t(V1t({objectMode:!0},r)),n=!1;a._read=function(){n||(n=!0,u())};function u(){return A.apply(this,arguments)}function A(){return A=J1t(function*(){try{var p=yield o.next(),h=p.value,C=p.done;C?a.push(null):a.push(yield h)?u():n=!1}catch(w){a.destroy(w)}}),A.apply(this,arguments)}return a}C2e.exports=Z1t});var bj=U((CZt,k2e)=>{"use strict";k2e.exports=pn;var HC;pn.ReadableState=D2e;var EZt=Ie("events").EventEmitter,v2e=function(e,r){return e.listeners(r).length},ev=dj(),bk=Ie("buffer").Buffer,$1t=global.Uint8Array||function(){};function e2t(t){return bk.from(t)}function t2t(t){return bk.isBuffer(t)||t instanceof $1t}var Nj=Ie("util"),zr;Nj&&Nj.debuglog?zr=Nj.debuglog("stream"):zr=function(){};var r2t=G1e(),qj=Ej(),n2t=Cj(),i2t=n2t.getHighWaterMark,Qk=Dh().codes,s2t=Qk.ERR_INVALID_ARG_TYPE,o2t=Qk.ERR_STREAM_PUSH_AFTER_EOF,a2t=Qk.ERR_METHOD_NOT_IMPLEMENTED,l2t=Qk.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,qC,Lj,Oj;Sh()(pn,ev);var $B=qj.errorOrDestroy,Mj=["error","close","destroy","pause","resume"];function c2t(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function D2e(t,e,r){HC=HC||mm(),t=t||{},typeof r!="boolean"&&(r=e instanceof HC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=i2t(this,t,"readableHighWaterMark",r),this.buffer=new r2t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(qC||(qC=Rj().StringDecoder),this.decoder=new qC(t.encoding),this.encoding=t.encoding)}function pn(t){if(HC=HC||mm(),!(this instanceof pn))return new pn(t);var e=this instanceof HC;this._readableState=new D2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),ev.call(this)}Object.defineProperty(pn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});pn.prototype.destroy=qj.destroy;pn.prototype._undestroy=qj.undestroy;pn.prototype._destroy=function(t,e){e(t)};pn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=bk.from(t,e),e=""),o=!0),S2e(this,t,e,!1,o)};pn.prototype.unshift=function(t){return S2e(this,t,null,!0,!1)};function S2e(t,e,r,o,a){zr("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,f2t(t,n);else{var u;if(a||(u=u2t(n,e)),u)$B(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==bk.prototype&&(e=e2t(e)),o)n.endEmitted?$B(t,new l2t):Uj(t,n,e,!0);else if(n.ended)$B(t,new o2t);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?Uj(t,n,e,!1):Hj(t,n)):Uj(t,n,e,!1)}else o||(n.reading=!1,Hj(t,n))}return!n.ended&&(n.length<n.highWaterMark||n.length===0)}function Uj(t,e,r,o){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,o?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&kk(t)),Hj(t,e)}function u2t(t,e){var r;return!t2t(e)&&typeof e!="string"&&e!==void 0&&!t.objectMode&&(r=new s2t("chunk",["string","Buffer","Uint8Array"],e)),r}pn.prototype.isPaused=function(){return this._readableState.flowing===!1};pn.prototype.setEncoding=function(t){qC||(qC=Rj().StringDecoder);var e=new qC(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,o="";r!==null;)o+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),o!==""&&this._readableState.buffer.push(o),this._readableState.length=o.length,this};var w2e=1073741824;function A2t(t){return t>=w2e?t=w2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function B2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=A2t(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}pn.prototype.read=function(t){zr("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return zr("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?_j(this):kk(this),null;if(t=B2e(t,e),t===0&&e.ended)return e.length===0&&_j(this),null;var o=e.needReadable;zr("need readable",o),(e.length===0||e.length-t<e.highWaterMark)&&(o=!0,zr("length less than watermark",o)),e.ended||e.reading?(o=!1,zr("reading or ended",o)):o&&(zr("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=B2e(r,e)));var a;return t>0?a=b2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&_j(this)),a!==null&&this.emit("data",a),a};function f2t(t,e){if(zr("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?kk(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,P2e(t)))}}function kk(t){var e=t._readableState;zr("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(zr("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(P2e,t))}function P2e(t){var e=t._readableState;zr("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,jj(t)}function Hj(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(p2t,t,e))}function p2t(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var r=e.length;if(zr("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}pn.prototype._read=function(t){$B(this,new a2t("_read()"))};pn.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t);break}o.pipesCount+=1,zr("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||e.end!==!1)&&t!==process.stdout&&t!==process.stderr,n=a?A:R;o.endEmitted?process.nextTick(n):r.once("end",n),t.on("unpipe",u);function u(L,_){zr("onunpipe"),L===r&&_&&_.hasUnpiped===!1&&(_.hasUnpiped=!0,C())}function A(){zr("onend"),t.end()}var p=h2t(r);t.on("drain",p);var h=!1;function C(){zr("cleanup"),t.removeListener("close",b),t.removeListener("finish",E),t.removeListener("drain",p),t.removeListener("error",v),t.removeListener("unpipe",u),r.removeListener("end",A),r.removeListener("end",R),r.removeListener("data",w),h=!0,o.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&p()}r.on("data",w);function w(L){zr("ondata");var _=t.write(L);zr("dest.write",_),_===!1&&((o.pipesCount===1&&o.pipes===t||o.pipesCount>1&&Q2e(o.pipes,t)!==-1)&&!h&&(zr("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(L){zr("onerror",L),R(),t.removeListener("error",v),v2e(t,"error")===0&&$B(t,L)}c2t(t,"error",v);function b(){t.removeListener("finish",E),R()}t.once("close",b);function E(){zr("onfinish"),t.removeListener("close",b),R()}t.once("finish",E);function R(){zr("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(zr("pipe resume"),r.resume()),t};function h2t(t){return function(){var r=t._readableState;zr("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&v2e(t,"data")&&(r.flowing=!0,jj(t))}}pn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n<a;n++)o[n].emit("unpipe",this,{hasUnpiped:!1});return this}var u=Q2e(e.pipes,t);return u===-1?this:(e.pipes.splice(u,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)};pn.prototype.on=function(t,e){var r=ev.prototype.on.call(this,t,e),o=this._readableState;return t==="data"?(o.readableListening=this.listenerCount("readable")>0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,zr("on readable",o.length,o.reading),o.length?kk(this):o.reading||process.nextTick(g2t,this)),r};pn.prototype.addListener=pn.prototype.on;pn.prototype.removeListener=function(t,e){var r=ev.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(x2e,this),r};pn.prototype.removeAllListeners=function(t){var e=ev.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(x2e,this),e};function x2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function g2t(t){zr("readable nexttick read 0"),t.read(0)}pn.prototype.resume=function(){var t=this._readableState;return t.flowing||(zr("resume"),t.flowing=!t.readableListening,d2t(this,t)),t.paused=!1,this};function d2t(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(m2t,t,e))}function m2t(t,e){zr("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),jj(t),e.flowing&&!e.reading&&t.read(0)}pn.prototype.pause=function(){return zr("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(zr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function jj(t){var e=t._readableState;for(zr("flow",e.flowing);e.flowing&&t.read()!==null;);}pn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(zr("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(zr("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n<Mj.length;n++)t.on(Mj[n],this.emit.bind(this,Mj[n]));return this._read=function(u){zr("wrapped _read",u),o&&(o=!1,t.resume())},this};typeof Symbol=="function"&&(pn.prototype[Symbol.asyncIterator]=function(){return Lj===void 0&&(Lj=m2e()),Lj(this)});Object.defineProperty(pn.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(pn.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(pn.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});pn._fromList=b2e;Object.defineProperty(pn.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function b2e(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function _j(t){var e=t._readableState;zr("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(y2t,e,t))}function y2t(t,e){if(zr("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(pn.from=function(t,e){return Oj===void 0&&(Oj=I2e()),Oj(pn,t,e)});function Q2e(t,e){for(var r=0,o=t.length;r<o;r++)if(t[r]===e)return r;return-1}});var Gj=U((IZt,R2e)=>{"use strict";R2e.exports=ip;var Fk=Dh().codes,E2t=Fk.ERR_METHOD_NOT_IMPLEMENTED,C2t=Fk.ERR_MULTIPLE_CALLBACK,I2t=Fk.ERR_TRANSFORM_ALREADY_TRANSFORMING,w2t=Fk.ERR_TRANSFORM_WITH_LENGTH_0,Rk=mm();Sh()(ip,Rk);function B2t(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new C2t);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function ip(t){if(!(this instanceof ip))return new ip(t);Rk.call(this,t),this._transformState={afterTransform:B2t.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(typeof t.transform=="function"&&(this._transform=t.transform),typeof t.flush=="function"&&(this._flush=t.flush)),this.on("prefinish",v2t)}function v2t(){var t=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(e,r){F2e(t,e,r)}):F2e(this,null,null)}ip.prototype.push=function(t,e){return this._transformState.needTransform=!1,Rk.prototype.push.call(this,t,e)};ip.prototype._transform=function(t,e,r){r(new E2t("_transform()"))};ip.prototype._write=function(t,e,r){var o=this._transformState;if(o.writecb=r,o.writechunk=t,o.writeencoding=e,!o.transforming){var a=this._readableState;(o.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}};ip.prototype._read=function(t){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};ip.prototype._destroy=function(t,e){Rk.prototype._destroy.call(this,t,function(r){e(r)})};function F2e(t,e,r){if(e)return t.emit("error",e);if(r!=null&&t.push(r),t._writableState.length)throw new w2t;if(t._transformState.transforming)throw new I2t;return t.push(null)}});var L2e=U((wZt,N2e)=>{"use strict";N2e.exports=tv;var T2e=Gj();Sh()(tv,T2e);function tv(t){if(!(this instanceof tv))return new tv(t);T2e.call(this,t)}tv.prototype._transform=function(t,e,r){r(null,t)}});var H2e=U((BZt,_2e)=>{"use strict";var Wj;function D2t(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var U2e=Dh().codes,S2t=U2e.ERR_MISSING_ARGS,P2t=U2e.ERR_STREAM_DESTROYED;function O2e(t){if(t)throw t}function x2t(t){return t.setHeader&&typeof t.abort=="function"}function b2t(t,e,r,o){o=D2t(o);var a=!1;t.on("close",function(){a=!0}),Wj===void 0&&(Wj=Sk()),Wj(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,x2t(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new P2t("pipe"))}}}function M2e(t){t()}function Q2t(t,e){return t.pipe(e)}function k2t(t){return!t.length||typeof t[t.length-1]!="function"?O2e:t.pop()}function F2t(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var o=k2t(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new S2t("streams");var a,n=e.map(function(u,A){var p=A<e.length-1,h=A>0;return b2t(u,p,h,function(C){a||(a=C),C&&n.forEach(M2e),!p&&(n.forEach(M2e),o(a))})});return e.reduce(Q2t)}_2e.exports=F2t});var jC=U((cc,nv)=>{var rv=Ie("stream");process.env.READABLE_STREAM==="disable"&&rv?(nv.exports=rv.Readable,Object.assign(nv.exports,rv),nv.exports.Stream=rv):(cc=nv.exports=bj(),cc.Stream=rv||cc,cc.Readable=cc,cc.Writable=Sj(),cc.Duplex=mm(),cc.Transform=Gj(),cc.PassThrough=L2e(),cc.finished=Sk(),cc.pipeline=H2e())});var G2e=U((vZt,j2e)=>{"use strict";var{Buffer:pu}=Ie("buffer"),q2e=Symbol.for("BufferList");function Xn(t){if(!(this instanceof Xn))return new Xn(t);Xn._init.call(this,t)}Xn._init=function(e){Object.defineProperty(this,q2e,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Xn.prototype._new=function(e){return new Xn(e)};Xn.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;o<this._bufs.length;o++){let a=r+this._bufs[o].length;if(e<a||o===this._bufs.length-1)return[o,e-r];r=a}};Xn.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let o=0;o<e;o++)r+=this._bufs[o].length;return r};Xn.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Xn.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Xn.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||pu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,C=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:pu.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(e,h),h+=this._bufs[w].length;return e}if(p<=this._bufs[u[0]].length-C)return n?this._bufs[u[0]].copy(e,r,C,C+p):this._bufs[u[0]].slice(C,C+p);n||(e=pu.allocUnsafe(A));for(let w=u[0];w<this._bufs.length;w++){let v=this._bufs[w].length-C;if(p>v)this._bufs[w].copy(e,h,C),h+=v;else{this._bufs[w].copy(e,h,C,C+p),h+=v;break}p-=v,C&&(C=0)}return e.length>h?e.slice(0,h):e};Xn.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};Xn.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};Xn.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Xn.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Xn.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(pu.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(pu.from(e));return this};Xn.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Xn.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=pu.from([t]):typeof t=="string"?t=pu.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=pu.from(t.buffer,t.byteOffset,t.byteLength):pu.isBuffer(t)||(t=pu.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a<this._bufs.length;a++){let u=this._bufs[a];for(;n<u.length;)if(u.length-n>=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};Xn.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Xn.prototype[r]=function(o,a){return this.slice(o,o+a)[r](0,a)}:Xn.prototype[r]=function(o=0){return this.slice(o,o+t[r])[r](0)}})(e)})();Xn.prototype._isBufferList=function(e){return e instanceof Xn||Xn.isBufferList(e)};Xn.isBufferList=function(e){return e!=null&&e[q2e]};j2e.exports=Xn});var W2e=U((DZt,Tk)=>{"use strict";var Yj=jC().Duplex,R2t=Sh(),iv=G2e();function No(t){if(!(this instanceof No))return new No(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}iv._init.call(this,t),Yj.call(this)}R2t(No,Yj);Object.assign(No.prototype,iv.prototype);No.prototype._new=function(e){return new No(e)};No.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};No.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};No.prototype.end=function(e){Yj.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};No.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};No.prototype._isBufferList=function(e){return e instanceof No||e instanceof iv||No.isBufferList(e)};No.isBufferList=iv.isBufferList;Tk.exports=No;Tk.exports.BufferListStream=No;Tk.exports.BufferList=iv});var Vj=U(WC=>{var T2t=Buffer.alloc,N2t="0000000000000000000",L2t="7777777777777777777",Y2e="0".charCodeAt(0),K2e=Buffer.from("ustar\0","binary"),O2t=Buffer.from("00","binary"),M2t=Buffer.from("ustar ","binary"),U2t=Buffer.from(" \0","binary"),_2t=parseInt("7777",8),sv=257,Jj=263,H2t=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},q2t=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},j2t=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},J2e=function(t,e,r,o){for(;r<o;r++)if(t[r]===e)return r;return o},V2e=function(t){for(var e=256,r=0;r<148;r++)e+=t[r];for(var o=156;o<512;o++)e+=t[o];return e},kh=function(t,e){return t=t.toString(8),t.length>e?L2t.slice(0,e)+" ":N2t.slice(0,e-t.length)+t+" "};function G2t(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o<u;o++)n+=r[o]*Math.pow(256,o);return e?n:-1*n}var Fh=function(t,e,r){if(t=t.slice(e,e+r),e=0,t[e]&128)return G2t(t);for(;e<t.length&&t[e]===32;)e++;for(var o=H2t(J2e(t,32,e,t.length),t.length,t.length);e<o&&t[e]===0;)e++;return o===e?0:parseInt(t.slice(e,o).toString(),8)},GC=function(t,e,r,o){return t.slice(e,J2e(t,0,e,e+r)).toString(o)},Kj=function(t){var e=Buffer.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t};WC.decodeLongPath=function(t,e){return GC(t,0,t.length,e)};WC.encodePax=function(t){var e="";t.name&&(e+=Kj(" path="+t.name+` 379`,b}function Swt(t,e){return e.fs_.chmod(t,493)}function cj(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(uc.delimiter):Array.from(t),r={};for(let o=0;o<e.length;o++){let a=e[o].split("/").join("\\"),n=x1e()?e[o].split("\\").join("/").replace(/^([^:\\/]*):/,(u,A)=>`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}Q1e.exports=lj});var wj=U((AZt,X1e)=>{X1e.exports=Ie("stream")});var t2e=U((fZt,e2e)=>{"use strict";function Z1e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function Ywt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Z1e(Object(r),!0).forEach(function(o){Kwt(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Z1e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function Kwt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Vwt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function $1e(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function Jwt(t,e,r){return e&&$1e(t.prototype,e),r&&$1e(t,r),t}var zwt=Ie("buffer"),Ik=zwt.Buffer,Xwt=Ie("util"),Bj=Xwt.inspect,Zwt=Bj&&Bj.custom||"inspect";function $wt(t,e,r){Ik.prototype.copy.call(t,e,r)}e2e.exports=function(){function t(){Vwt(this,t),this.head=null,this.tail=null,this.length=0}return Jwt(t,[{key:"push",value:function(r){var o={data:r,next:null};this.length>0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return Ik.alloc(0);for(var o=Ik.allocUnsafe(r>>>0),a=this.head,n=0;a;)$wt(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return r<this.head.data.length?(a=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?a=this.shift():a=o?this._getString(r):this._getBuffer(r),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var o=this.head,a=1,n=o.data;for(r-=n.length;o=o.next;){var u=o.data,A=r>u.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=Ik.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:Zwt,value:function(r,o){return Bj(this,Ywt({},o,{depth:0,customInspect:!1}))}}]),t}()});var Dj=U((pZt,n2e)=>{"use strict";function e1t(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(vj,this,t)):process.nextTick(vj,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(wk,r):(r._writableState.errorEmitted=!0,process.nextTick(r2e,r,n)):process.nextTick(r2e,r,n):e?(process.nextTick(wk,r),e(n)):process.nextTick(wk,r)}),this)}function r2e(t,e){vj(t,e),wk(t)}function wk(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function t1t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function vj(t,e){t.emit("error",e)}function r1t(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}n2e.exports={destroy:e1t,undestroy:t1t,errorOrDestroy:r1t}});var xh=U((hZt,o2e)=>{"use strict";var s2e={};function Ac(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,s2e[t]=a}function i2e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function n1t(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function i1t(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function s1t(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Ac("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Ac("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&n1t(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(i1t(t," argument"))a=`The ${t} ${o} ${i2e(e,"type")}`;else{let n=s1t(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${i2e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);Ac("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ac("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Ac("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ac("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Ac("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ac("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ac("ERR_STREAM_WRITE_AFTER_END","write after end");Ac("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ac("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Ac("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");o2e.exports.codes=s2e});var Sj=U((gZt,a2e)=>{"use strict";var o1t=xh().codes.ERR_INVALID_OPT_VALUE;function a1t(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function l1t(t,e,r,o){var a=a1t(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new o1t(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}a2e.exports={getHighWaterMark:l1t}});var l2e=U((dZt,Pj)=>{typeof Object.create=="function"?Pj.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Pj.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var bh=U((mZt,bj)=>{try{if(xj=Ie("util"),typeof xj.inherits!="function")throw"";bj.exports=xj.inherits}catch{bj.exports=l2e()}var xj});var u2e=U((yZt,c2e)=>{c2e.exports=Ie("util").deprecate});var Fj=U((CZt,d2e)=>{"use strict";d2e.exports=Qi;function f2e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){N1t(e,t)}}var qE;Qi.WritableState=nv;var c1t={deprecate:u2e()},p2e=wj(),vk=Ie("buffer").Buffer,u1t=global.Uint8Array||function(){};function A1t(t){return vk.from(t)}function f1t(t){return vk.isBuffer(t)||t instanceof u1t}var kj=Dj(),p1t=Sj(),h1t=p1t.getHighWaterMark,Qh=xh().codes,g1t=Qh.ERR_INVALID_ARG_TYPE,d1t=Qh.ERR_METHOD_NOT_IMPLEMENTED,m1t=Qh.ERR_MULTIPLE_CALLBACK,y1t=Qh.ERR_STREAM_CANNOT_PIPE,C1t=Qh.ERR_STREAM_DESTROYED,E1t=Qh.ERR_STREAM_NULL_VALUES,I1t=Qh.ERR_STREAM_WRITE_AFTER_END,w1t=Qh.ERR_UNKNOWN_ENCODING,jE=kj.errorOrDestroy;bh()(Qi,p2e);function B1t(){}function nv(t,e,r){qE=qE||Im(),t=t||{},typeof r!="boolean"&&(r=e instanceof qE),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h1t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Q1t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new f2e(this)}nv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(nv.prototype,"buffer",{get:c1t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var Bk;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Bk=Function.prototype[Symbol.hasInstance],Object.defineProperty(Qi,Symbol.hasInstance,{value:function(e){return Bk.call(this,e)?!0:this!==Qi?!1:e&&e._writableState instanceof nv}})):Bk=function(e){return e instanceof this};function Qi(t){qE=qE||Im();var e=this instanceof qE;if(!e&&!Bk.call(Qi,this))return new Qi(t);this._writableState=new nv(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),p2e.call(this)}Qi.prototype.pipe=function(){jE(this,new y1t)};function v1t(t,e){var r=new I1t;jE(t,r),process.nextTick(e,r)}function D1t(t,e,r,o){var a;return r===null?a=new E1t:typeof r!="string"&&!e.objectMode&&(a=new g1t("chunk",["string","Buffer"],r)),a?(jE(t,a),process.nextTick(o,a),!1):!0}Qi.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&f1t(t);return n&&!vk.isBuffer(t)&&(t=A1t(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=B1t),o.ending?v1t(this,r):(n||D1t(this,o,t,r))&&(o.pendingcb++,a=P1t(this,o,n,t,e,r)),a};Qi.prototype.cork=function(){this._writableState.corked++};Qi.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&h2e(this,t))};Qi.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new w1t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Qi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function S1t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=vk.from(e,r)),e}Object.defineProperty(Qi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function P1t(t,e,r,o,a,n){if(!r){var u=S1t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length<e.highWaterMark;if(p||(e.needDrain=!0),e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:o,encoding:a,isBuf:r,callback:n,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else Qj(t,e,!1,A,o,a,n);return p}function Qj(t,e,r,o,a,n,u){e.writelen=o,e.writecb=u,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new C1t("write")):r?t._writev(a,e.onwrite):t._write(a,n,e.onwrite),e.sync=!1}function x1t(t,e,r,o,a){--e.pendingcb,r?(process.nextTick(a,o),process.nextTick(rv,t,e),t._writableState.errorEmitted=!0,jE(t,o)):(a(o),t._writableState.errorEmitted=!0,jE(t,o),rv(t,e))}function b1t(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function Q1t(t,e){var r=t._writableState,o=r.sync,a=r.writecb;if(typeof a!="function")throw new m1t;if(b1t(r),e)x1t(t,r,o,e,a);else{var n=g2e(r)||t.destroyed;!n&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&h2e(t,r),o?process.nextTick(A2e,t,r,n,a):A2e(t,r,n,a)}}function A2e(t,e,r,o){r||k1t(t,e),e.pendingcb--,o(),rv(t,e)}function k1t(t,e){e.length===0&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}function h2e(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var o=e.bufferedRequestCount,a=new Array(o),n=e.corkedRequestsFree;n.entry=r;for(var u=0,A=!0;r;)a[u]=r,r.isBuf||(A=!1),r=r.next,u+=1;a.allBuffers=A,Qj(t,e,!0,e.length,a,"",n.finish),e.pendingcb++,e.lastBufferedRequest=null,n.next?(e.corkedRequestsFree=n.next,n.next=null):e.corkedRequestsFree=new f2e(e),e.bufferedRequestCount=0}else{for(;r;){var p=r.chunk,h=r.encoding,E=r.callback,w=e.objectMode?1:p.length;if(Qj(t,e,!1,w,p,h,E),r=r.next,e.bufferedRequestCount--,e.writing)break}r===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}Qi.prototype._write=function(t,e,r){r(new d1t("_write()"))};Qi.prototype._writev=null;Qi.prototype.end=function(t,e,r){var o=this._writableState;return typeof t=="function"?(r=t,t=null,e=null):typeof e=="function"&&(r=e,e=null),t!=null&&this.write(t,e),o.corked&&(o.corked=1,this.uncork()),o.ending||T1t(this,o,r),this};Object.defineProperty(Qi.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function g2e(t){return t.ending&&t.length===0&&t.bufferedRequest===null&&!t.finished&&!t.writing}function F1t(t,e){t._final(function(r){e.pendingcb--,r&&jE(t,r),e.prefinished=!0,t.emit("prefinish"),rv(t,e)})}function R1t(t,e){!e.prefinished&&!e.finalCalled&&(typeof t._final=="function"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(F1t,t,e)):(e.prefinished=!0,t.emit("prefinish")))}function rv(t,e){var r=g2e(e);if(r&&(R1t(t,e),e.pendingcb===0&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var o=t._readableState;(!o||o.autoDestroy&&o.endEmitted)&&t.destroy()}return r}function T1t(t,e,r){e.ending=!0,rv(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}function N1t(t,e,r){var o=t.entry;for(t.entry=null;o;){var a=o.callback;e.pendingcb--,a(r),o=o.next}e.corkedRequestsFree.next=t}Object.defineProperty(Qi.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}});Qi.prototype.destroy=kj.destroy;Qi.prototype._undestroy=kj.undestroy;Qi.prototype._destroy=function(t,e){e(t)}});var Im=U((EZt,y2e)=>{"use strict";var L1t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};y2e.exports=IA;var m2e=Nj(),Tj=Fj();bh()(IA,m2e);for(Rj=L1t(Tj.prototype),Dk=0;Dk<Rj.length;Dk++)Sk=Rj[Dk],IA.prototype[Sk]||(IA.prototype[Sk]=Tj.prototype[Sk]);var Rj,Sk,Dk;function IA(t){if(!(this instanceof IA))return new IA(t);m2e.call(this,t),Tj.call(this,t),this.allowHalfOpen=!0,t&&(t.readable===!1&&(this.readable=!1),t.writable===!1&&(this.writable=!1),t.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",O1t)))}Object.defineProperty(IA.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(IA.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(IA.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function O1t(){this._writableState.ended||process.nextTick(M1t,this)}function M1t(t){t.end()}Object.defineProperty(IA.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var I2e=U((Lj,E2e)=>{var Pk=Ie("buffer"),ip=Pk.Buffer;function C2e(t,e){for(var r in t)e[r]=t[r]}ip.from&&ip.alloc&&ip.allocUnsafe&&ip.allocUnsafeSlow?E2e.exports=Pk:(C2e(Pk,Lj),Lj.Buffer=GE);function GE(t,e,r){return ip(t,e,r)}C2e(ip,GE);GE.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return ip(t,e,r)};GE.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=ip(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};GE.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ip(t)};GE.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Pk.SlowBuffer(t)}});var Uj=U(B2e=>{"use strict";var Mj=I2e().Buffer,w2e=Mj.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function U1t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function _1t(t){var e=U1t(t);if(typeof e!="string"&&(Mj.isEncoding===w2e||!w2e(t)))throw new Error("Unknown encoding: "+t);return e||t}B2e.StringDecoder=iv;function iv(t){this.encoding=_1t(t);var e;switch(this.encoding){case"utf16le":this.text=Y1t,this.end=K1t,e=4;break;case"utf8":this.fillLast=j1t,e=4;break;case"base64":this.text=V1t,this.end=J1t,e=3;break;default:this.write=z1t,this.end=X1t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Mj.allocUnsafe(e)}iv.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""};iv.prototype.end=W1t;iv.prototype.text=G1t;iv.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};function Oj(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function H1t(t,e,r){var o=e.length-1;if(o<r)return 0;var a=Oj(e[o]);return a>=0?(a>0&&(t.lastNeed=a-1),a):--o<r||a===-2?0:(a=Oj(e[o]),a>=0?(a>0&&(t.lastNeed=a-2),a):--o<r||a===-2?0:(a=Oj(e[o]),a>=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function q1t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function j1t(t){var e=this.lastTotal-this.lastNeed,r=q1t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function G1t(t,e){var r=H1t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function W1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function Y1t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function K1t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function V1t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function J1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function z1t(t){return t.toString(this.encoding)}function X1t(t){return t&&t.length?this.write(t):""}});var xk=U((wZt,S2e)=>{"use strict";var v2e=xh().codes.ERR_STREAM_PREMATURE_CLOSE;function Z1t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];t.apply(this,o)}}}function $1t(){}function e2t(t){return t.setHeader&&typeof t.abort=="function"}function D2e(t,e,r){if(typeof e=="function")return D2e(t,null,e);e||(e={}),r=Z1t(r||$1t);var o=e.readable||e.readable!==!1&&t.readable,a=e.writable||e.writable!==!1&&t.writable,n=function(){t.writable||A()},u=t._writableState&&t._writableState.finished,A=function(){a=!1,u=!0,o||r.call(t)},p=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,p=!0,a||r.call(t)},E=function(C){r.call(t,C)},w=function(){var C;if(o&&!p)return(!t._readableState||!t._readableState.ended)&&(C=new v2e),r.call(t,C);if(a&&!u)return(!t._writableState||!t._writableState.ended)&&(C=new v2e),r.call(t,C)},v=function(){t.req.on("finish",A)};return e2t(t)?(t.on("complete",A),t.on("abort",w),t.req?v():t.on("request",v)):a&&!t._writableState&&(t.on("end",n),t.on("close",n)),t.on("end",h),t.on("finish",A),e.error!==!1&&t.on("error",E),t.on("close",w),function(){t.removeListener("complete",A),t.removeListener("abort",w),t.removeListener("request",v),t.req&&t.req.removeListener("finish",A),t.removeListener("end",n),t.removeListener("close",n),t.removeListener("finish",A),t.removeListener("end",h),t.removeListener("error",E),t.removeListener("close",w)}}S2e.exports=D2e});var x2e=U((BZt,P2e)=>{"use strict";var bk;function kh(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var t2t=xk(),Fh=Symbol("lastResolve"),wm=Symbol("lastReject"),sv=Symbol("error"),Qk=Symbol("ended"),Bm=Symbol("lastPromise"),_j=Symbol("handlePromise"),vm=Symbol("stream");function Rh(t,e){return{value:t,done:e}}function r2t(t){var e=t[Fh];if(e!==null){var r=t[vm].read();r!==null&&(t[Bm]=null,t[Fh]=null,t[wm]=null,e(Rh(r,!1)))}}function n2t(t){process.nextTick(r2t,t)}function i2t(t,e){return function(r,o){t.then(function(){if(e[Qk]){r(Rh(void 0,!0));return}e[_j](r,o)},o)}}var s2t=Object.getPrototypeOf(function(){}),o2t=Object.setPrototypeOf((bk={get stream(){return this[vm]},next:function(){var e=this,r=this[sv];if(r!==null)return Promise.reject(r);if(this[Qk])return Promise.resolve(Rh(void 0,!0));if(this[vm].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[sv]?A(e[sv]):u(Rh(void 0,!0))})});var o=this[Bm],a;if(o)a=new Promise(i2t(o,this));else{var n=this[vm].read();if(n!==null)return Promise.resolve(Rh(n,!1));a=new Promise(this[_j])}return this[Bm]=a,a}},kh(bk,Symbol.asyncIterator,function(){return this}),kh(bk,"return",function(){var e=this;return new Promise(function(r,o){e[vm].destroy(null,function(a){if(a){o(a);return}r(Rh(void 0,!0))})})}),bk),s2t),a2t=function(e){var r,o=Object.create(o2t,(r={},kh(r,vm,{value:e,writable:!0}),kh(r,Fh,{value:null,writable:!0}),kh(r,wm,{value:null,writable:!0}),kh(r,sv,{value:null,writable:!0}),kh(r,Qk,{value:e._readableState.endEmitted,writable:!0}),kh(r,_j,{value:function(n,u){var A=o[vm].read();A?(o[Bm]=null,o[Fh]=null,o[wm]=null,n(Rh(A,!1))):(o[Fh]=n,o[wm]=u)},writable:!0}),r));return o[Bm]=null,t2t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[wm];n!==null&&(o[Bm]=null,o[Fh]=null,o[wm]=null,n(a)),o[sv]=a;return}var u=o[Fh];u!==null&&(o[Bm]=null,o[Fh]=null,o[wm]=null,u(Rh(void 0,!0))),o[Qk]=!0}),e.on("readable",n2t.bind(null,o)),o};P2e.exports=a2t});var F2e=U((vZt,k2e)=>{"use strict";function b2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function l2t(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){b2e(n,o,a,u,A,"next",p)}function A(p){b2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function Q2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function c2t(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Q2e(Object(r),!0).forEach(function(o){u2t(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Q2e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function u2t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var A2t=xh().codes.ERR_INVALID_ARG_TYPE;function f2t(t,e,r){var o;if(e&&typeof e.next=="function")o=e;else if(e&&e[Symbol.asyncIterator])o=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])o=e[Symbol.iterator]();else throw new A2t("iterable",["Iterable"],e);var a=new t(c2t({objectMode:!0},r)),n=!1;a._read=function(){n||(n=!0,u())};function u(){return A.apply(this,arguments)}function A(){return A=l2t(function*(){try{var p=yield o.next(),h=p.value,E=p.done;E?a.push(null):a.push(yield h)?u():n=!1}catch(w){a.destroy(w)}}),A.apply(this,arguments)}return a}k2e.exports=f2t});var Nj=U((SZt,q2e)=>{"use strict";q2e.exports=pn;var WE;pn.ReadableState=L2e;var DZt=Ie("events").EventEmitter,N2e=function(e,r){return e.listeners(r).length},av=wj(),kk=Ie("buffer").Buffer,p2t=global.Uint8Array||function(){};function h2t(t){return kk.from(t)}function g2t(t){return kk.isBuffer(t)||t instanceof p2t}var Hj=Ie("util"),zr;Hj&&Hj.debuglog?zr=Hj.debuglog("stream"):zr=function(){};var d2t=t2e(),Vj=Dj(),m2t=Sj(),y2t=m2t.getHighWaterMark,Fk=xh().codes,C2t=Fk.ERR_INVALID_ARG_TYPE,E2t=Fk.ERR_STREAM_PUSH_AFTER_EOF,I2t=Fk.ERR_METHOD_NOT_IMPLEMENTED,w2t=Fk.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,YE,qj,jj;bh()(pn,av);var ov=Vj.errorOrDestroy,Gj=["error","close","destroy","pause","resume"];function B2t(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function L2e(t,e,r){WE=WE||Im(),t=t||{},typeof r!="boolean"&&(r=e instanceof WE),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y2t(this,t,"readableHighWaterMark",r),this.buffer=new d2t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(YE||(YE=Uj().StringDecoder),this.decoder=new YE(t.encoding),this.encoding=t.encoding)}function pn(t){if(WE=WE||Im(),!(this instanceof pn))return new pn(t);var e=this instanceof WE;this._readableState=new L2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),av.call(this)}Object.defineProperty(pn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});pn.prototype.destroy=Vj.destroy;pn.prototype._undestroy=Vj.undestroy;pn.prototype._destroy=function(t,e){e(t)};pn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=kk.from(t,e),e=""),o=!0),O2e(this,t,e,!1,o)};pn.prototype.unshift=function(t){return O2e(this,t,null,!0,!1)};function O2e(t,e,r,o,a){zr("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,S2t(t,n);else{var u;if(a||(u=v2t(n,e)),u)ov(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==kk.prototype&&(e=h2t(e)),o)n.endEmitted?ov(t,new w2t):Wj(t,n,e,!0);else if(n.ended)ov(t,new E2t);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?Wj(t,n,e,!1):Kj(t,n)):Wj(t,n,e,!1)}else o||(n.reading=!1,Kj(t,n))}return!n.ended&&(n.length<n.highWaterMark||n.length===0)}function Wj(t,e,r,o){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,o?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&Rk(t)),Kj(t,e)}function v2t(t,e){var r;return!g2t(e)&&typeof e!="string"&&e!==void 0&&!t.objectMode&&(r=new C2t("chunk",["string","Buffer","Uint8Array"],e)),r}pn.prototype.isPaused=function(){return this._readableState.flowing===!1};pn.prototype.setEncoding=function(t){YE||(YE=Uj().StringDecoder);var e=new YE(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,o="";r!==null;)o+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),o!==""&&this._readableState.buffer.push(o),this._readableState.length=o.length,this};var R2e=1073741824;function D2t(t){return t>=R2e?t=R2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function T2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=D2t(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}pn.prototype.read=function(t){zr("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return zr("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?Yj(this):Rk(this),null;if(t=T2e(t,e),t===0&&e.ended)return e.length===0&&Yj(this),null;var o=e.needReadable;zr("need readable",o),(e.length===0||e.length-t<e.highWaterMark)&&(o=!0,zr("length less than watermark",o)),e.ended||e.reading?(o=!1,zr("reading or ended",o)):o&&(zr("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=T2e(r,e)));var a;return t>0?a=_2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Yj(this)),a!==null&&this.emit("data",a),a};function S2t(t,e){if(zr("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?Rk(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,M2e(t)))}}function Rk(t){var e=t._readableState;zr("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(zr("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(M2e,t))}function M2e(t){var e=t._readableState;zr("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,Jj(t)}function Kj(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(P2t,t,e))}function P2t(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var r=e.length;if(zr("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}pn.prototype._read=function(t){ov(this,new I2t("_read()"))};pn.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t);break}o.pipesCount+=1,zr("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||e.end!==!1)&&t!==process.stdout&&t!==process.stderr,n=a?A:R;o.endEmitted?process.nextTick(n):r.once("end",n),t.on("unpipe",u);function u(L,_){zr("onunpipe"),L===r&&_&&_.hasUnpiped===!1&&(_.hasUnpiped=!0,E())}function A(){zr("onend"),t.end()}var p=x2t(r);t.on("drain",p);var h=!1;function E(){zr("cleanup"),t.removeListener("close",b),t.removeListener("finish",C),t.removeListener("drain",p),t.removeListener("error",v),t.removeListener("unpipe",u),r.removeListener("end",A),r.removeListener("end",R),r.removeListener("data",w),h=!0,o.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&p()}r.on("data",w);function w(L){zr("ondata");var _=t.write(L);zr("dest.write",_),_===!1&&((o.pipesCount===1&&o.pipes===t||o.pipesCount>1&&H2e(o.pipes,t)!==-1)&&!h&&(zr("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(L){zr("onerror",L),R(),t.removeListener("error",v),N2e(t,"error")===0&&ov(t,L)}B2t(t,"error",v);function b(){t.removeListener("finish",C),R()}t.once("close",b);function C(){zr("onfinish"),t.removeListener("close",b),R()}t.once("finish",C);function R(){zr("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(zr("pipe resume"),r.resume()),t};function x2t(t){return function(){var r=t._readableState;zr("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&N2e(t,"data")&&(r.flowing=!0,Jj(t))}}pn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n<a;n++)o[n].emit("unpipe",this,{hasUnpiped:!1});return this}var u=H2e(e.pipes,t);return u===-1?this:(e.pipes.splice(u,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)};pn.prototype.on=function(t,e){var r=av.prototype.on.call(this,t,e),o=this._readableState;return t==="data"?(o.readableListening=this.listenerCount("readable")>0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,zr("on readable",o.length,o.reading),o.length?Rk(this):o.reading||process.nextTick(b2t,this)),r};pn.prototype.addListener=pn.prototype.on;pn.prototype.removeListener=function(t,e){var r=av.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(U2e,this),r};pn.prototype.removeAllListeners=function(t){var e=av.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(U2e,this),e};function U2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function b2t(t){zr("readable nexttick read 0"),t.read(0)}pn.prototype.resume=function(){var t=this._readableState;return t.flowing||(zr("resume"),t.flowing=!t.readableListening,Q2t(this,t)),t.paused=!1,this};function Q2t(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(k2t,t,e))}function k2t(t,e){zr("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),Jj(t),e.flowing&&!e.reading&&t.read(0)}pn.prototype.pause=function(){return zr("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(zr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Jj(t){var e=t._readableState;for(zr("flow",e.flowing);e.flowing&&t.read()!==null;);}pn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(zr("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(zr("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n<Gj.length;n++)t.on(Gj[n],this.emit.bind(this,Gj[n]));return this._read=function(u){zr("wrapped _read",u),o&&(o=!1,t.resume())},this};typeof Symbol=="function"&&(pn.prototype[Symbol.asyncIterator]=function(){return qj===void 0&&(qj=x2e()),qj(this)});Object.defineProperty(pn.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(pn.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(pn.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});pn._fromList=_2e;Object.defineProperty(pn.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function _2e(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function Yj(t){var e=t._readableState;zr("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(F2t,e,t))}function F2t(t,e){if(zr("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(pn.from=function(t,e){return jj===void 0&&(jj=F2e()),jj(pn,t,e)});function H2e(t,e){for(var r=0,o=t.length;r<o;r++)if(t[r]===e)return r;return-1}});var zj=U((PZt,G2e)=>{"use strict";G2e.exports=sp;var Tk=xh().codes,R2t=Tk.ERR_METHOD_NOT_IMPLEMENTED,T2t=Tk.ERR_MULTIPLE_CALLBACK,N2t=Tk.ERR_TRANSFORM_ALREADY_TRANSFORMING,L2t=Tk.ERR_TRANSFORM_WITH_LENGTH_0,Nk=Im();bh()(sp,Nk);function O2t(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new T2t);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function sp(t){if(!(this instanceof sp))return new sp(t);Nk.call(this,t),this._transformState={afterTransform:O2t.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(typeof t.transform=="function"&&(this._transform=t.transform),typeof t.flush=="function"&&(this._flush=t.flush)),this.on("prefinish",M2t)}function M2t(){var t=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(e,r){j2e(t,e,r)}):j2e(this,null,null)}sp.prototype.push=function(t,e){return this._transformState.needTransform=!1,Nk.prototype.push.call(this,t,e)};sp.prototype._transform=function(t,e,r){r(new R2t("_transform()"))};sp.prototype._write=function(t,e,r){var o=this._transformState;if(o.writecb=r,o.writechunk=t,o.writeencoding=e,!o.transforming){var a=this._readableState;(o.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}};sp.prototype._read=function(t){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};sp.prototype._destroy=function(t,e){Nk.prototype._destroy.call(this,t,function(r){e(r)})};function j2e(t,e,r){if(e)return t.emit("error",e);if(r!=null&&t.push(r),t._writableState.length)throw new L2t;if(t._transformState.transforming)throw new N2t;return t.push(null)}});var K2e=U((xZt,Y2e)=>{"use strict";Y2e.exports=lv;var W2e=zj();bh()(lv,W2e);function lv(t){if(!(this instanceof lv))return new lv(t);W2e.call(this,t)}lv.prototype._transform=function(t,e,r){r(null,t)}});var Z2e=U((bZt,X2e)=>{"use strict";var Xj;function U2t(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var z2e=xh().codes,_2t=z2e.ERR_MISSING_ARGS,H2t=z2e.ERR_STREAM_DESTROYED;function V2e(t){if(t)throw t}function q2t(t){return t.setHeader&&typeof t.abort=="function"}function j2t(t,e,r,o){o=U2t(o);var a=!1;t.on("close",function(){a=!0}),Xj===void 0&&(Xj=xk()),Xj(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,q2t(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new H2t("pipe"))}}}function J2e(t){t()}function G2t(t,e){return t.pipe(e)}function W2t(t){return!t.length||typeof t[t.length-1]!="function"?V2e:t.pop()}function Y2t(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var o=W2t(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new _2t("streams");var a,n=e.map(function(u,A){var p=A<e.length-1,h=A>0;return j2t(u,p,h,function(E){a||(a=E),E&&n.forEach(J2e),!p&&(n.forEach(J2e),o(a))})});return e.reduce(G2t)}X2e.exports=Y2t});var KE=U((fc,uv)=>{var cv=Ie("stream");process.env.READABLE_STREAM==="disable"&&cv?(uv.exports=cv.Readable,Object.assign(uv.exports,cv),uv.exports.Stream=cv):(fc=uv.exports=Nj(),fc.Stream=cv||fc,fc.Readable=fc,fc.Writable=Fj(),fc.Duplex=Im(),fc.Transform=zj(),fc.PassThrough=K2e(),fc.finished=xk(),fc.pipeline=Z2e())});var tBe=U((QZt,eBe)=>{"use strict";var{Buffer:hu}=Ie("buffer"),$2e=Symbol.for("BufferList");function Zn(t){if(!(this instanceof Zn))return new Zn(t);Zn._init.call(this,t)}Zn._init=function(e){Object.defineProperty(this,$2e,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Zn.prototype._new=function(e){return new Zn(e)};Zn.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;o<this._bufs.length;o++){let a=r+this._bufs[o].length;if(e<a||o===this._bufs.length-1)return[o,e-r];r=a}};Zn.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let o=0;o<e;o++)r+=this._bufs[o].length;return r};Zn.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Zn.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Zn.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||hu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,E=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:hu.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(e,h),h+=this._bufs[w].length;return e}if(p<=this._bufs[u[0]].length-E)return n?this._bufs[u[0]].copy(e,r,E,E+p):this._bufs[u[0]].slice(E,E+p);n||(e=hu.allocUnsafe(A));for(let w=u[0];w<this._bufs.length;w++){let v=this._bufs[w].length-E;if(p>v)this._bufs[w].copy(e,h,E),h+=v;else{this._bufs[w].copy(e,h,E,E+p),h+=v;break}p-=v,E&&(E=0)}return e.length>h?e.slice(0,h):e};Zn.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};Zn.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};Zn.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Zn.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Zn.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(hu.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(hu.from(e));return this};Zn.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Zn.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=hu.from([t]):typeof t=="string"?t=hu.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=hu.from(t.buffer,t.byteOffset,t.byteLength):hu.isBuffer(t)||(t=hu.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a<this._bufs.length;a++){let u=this._bufs[a];for(;n<u.length;)if(u.length-n>=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};Zn.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Zn.prototype[r]=function(o,a){return this.slice(o,o+a)[r](0,a)}:Zn.prototype[r]=function(o=0){return this.slice(o,o+t[r])[r](0)}})(e)})();Zn.prototype._isBufferList=function(e){return e instanceof Zn||Zn.isBufferList(e)};Zn.isBufferList=function(e){return e!=null&&e[$2e]};eBe.exports=Zn});var rBe=U((kZt,Lk)=>{"use strict";var Zj=KE().Duplex,K2t=bh(),Av=tBe();function Lo(t){if(!(this instanceof Lo))return new Lo(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}Av._init.call(this,t),Zj.call(this)}K2t(Lo,Zj);Object.assign(Lo.prototype,Av.prototype);Lo.prototype._new=function(e){return new Lo(e)};Lo.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};Lo.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Lo.prototype.end=function(e){Zj.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Lo.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Lo.prototype._isBufferList=function(e){return e instanceof Lo||e instanceof Av||Lo.isBufferList(e)};Lo.isBufferList=Av.isBufferList;Lk.exports=Lo;Lk.exports.BufferListStream=Lo;Lk.exports.BufferList=Av});var tG=U(JE=>{var V2t=Buffer.alloc,J2t="0000000000000000000",z2t="7777777777777777777",nBe="0".charCodeAt(0),iBe=Buffer.from("ustar\0","binary"),X2t=Buffer.from("00","binary"),Z2t=Buffer.from("ustar ","binary"),$2t=Buffer.from(" \0","binary"),eBt=parseInt("7777",8),fv=257,eG=263,tBt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},rBt=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},nBt=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},sBe=function(t,e,r,o){for(;r<o;r++)if(t[r]===e)return r;return o},oBe=function(t){for(var e=256,r=0;r<148;r++)e+=t[r];for(var o=156;o<512;o++)e+=t[o];return e},Th=function(t,e){return t=t.toString(8),t.length>e?z2t.slice(0,e)+" ":J2t.slice(0,e-t.length)+t+" "};function iBt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o<u;o++)n+=r[o]*Math.pow(256,o);return e?n:-1*n}var Nh=function(t,e,r){if(t=t.slice(e,e+r),e=0,t[e]&128)return iBt(t);for(;e<t.length&&t[e]===32;)e++;for(var o=tBt(sBe(t,32,e,t.length),t.length,t.length);e<o&&t[e]===0;)e++;return o===e?0:parseInt(t.slice(e,o).toString(),8)},VE=function(t,e,r,o){return t.slice(e,sBe(t,0,e,e+r)).toString(o)},$j=function(t){var e=Buffer.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t};JE.decodeLongPath=function(t,e){return VE(t,0,t.length,e)};JE.encodePax=function(t){var e="";t.name&&(e+=$j(" path="+t.name+`
380`)),t.linkname&&(e+=Kj(" linkpath="+t.linkname+` 380`)),t.linkname&&(e+=$j(" linkpath="+t.linkname+`
381`));var r=t.pax;if(r)for(var o in r)e+=Kj(" "+o+"="+r[o]+` 381`));var r=t.pax;if(r)for(var o in r)e+=$j(" "+o+"="+r[o]+`
382`);return Buffer.from(e)};WC.decodePax=function(t){for(var e={};t.length;){for(var r=0;r<t.length&&t[r]!==32;)r++;var o=parseInt(t.slice(0,r).toString(),10);if(!o)return e;var a=t.slice(r+1,o-1).toString(),n=a.indexOf("=");if(n===-1)return e;e[a.slice(0,n)]=a.slice(n+1),t=t.slice(o)}return e};WC.encode=function(t){var e=T2t(512),r=t.name,o="";if(t.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(kh(t.mode&_2t,6),100),e.write(kh(t.uid,6),108),e.write(kh(t.gid,6),116),e.write(kh(t.size,11),124),e.write(kh(t.mtime.getTime()/1e3|0,11),136),e[156]=Y2e+j2t(t.type),t.linkname&&e.write(t.linkname,157),K2e.copy(e,sv),O2t.copy(e,Jj),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(kh(t.devmajor||0,6),329),e.write(kh(t.devminor||0,6),337),o&&e.write(o,345),e.write(kh(V2e(e),6),148),e)};WC.decode=function(t,e,r){var o=t[156]===0?0:t[156]-Y2e,a=GC(t,0,100,e),n=Fh(t,100,8),u=Fh(t,108,8),A=Fh(t,116,8),p=Fh(t,124,12),h=Fh(t,136,12),C=q2t(o),w=t[157]===0?null:GC(t,157,100,e),v=GC(t,265,32),b=GC(t,297,32),E=Fh(t,329,8),R=Fh(t,337,8),L=V2e(t);if(L===8*32)return null;if(L!==Fh(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(K2e.compare(t,sv,sv+6)===0)t[345]&&(a=GC(t,345,155,e)+"/"+a);else if(!(M2t.compare(t,sv,sv+6)===0&&U2t.compare(t,Jj,Jj+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:C,linkname:w,uname:v,gname:b,devmajor:E,devminor:R}}});var rBe=U((PZt,tBe)=>{var X2e=Ie("util"),W2t=W2e(),ov=Vj(),Z2e=jC().Writable,$2e=jC().PassThrough,eBe=function(){},z2e=function(t){return t&=511,t&&512-t},Y2t=function(t,e){var r=new Nk(t,e);return r.end(),r},K2t=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Nk=function(t,e){this._parent=t,this.offset=e,$2e.call(this,{autoDestroy:!1})};X2e.inherits(Nk,$2e);Nk.prototype.destroy=function(t){this._parent.destroy(t)};var sp=function(t){if(!(this instanceof sp))return new sp(t);Z2e.call(this,t),t=t||{},this._offset=0,this._buffer=W2t(),this._missing=0,this._partial=!1,this._onparse=eBe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||o()},n=function(){e._stream=null;var v=z2e(e._header.size);v?e._parse(v,u):e._parse(512,w),e._locked||o()},u=function(){e._buffer.consume(z2e(e._header.size)),e._parse(512,w),o()},A=function(){var v=e._header.size;e._paxGlobal=ov.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=e._header.size;e._pax=ov.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},h=function(){var v=e._header.size;this._gnuLongPath=ov.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},C=function(){var v=e._header.size;this._gnuLongLinkPath=ov.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},w=function(){var v=e._offset,b;try{b=e._header=ov.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(E){e.emit("error",E)}if(r.consume(512),!b){e._parse(512,w),o();return}if(b.type==="gnu-long-path"){e._parse(b.size,h),o();return}if(b.type==="gnu-long-link-path"){e._parse(b.size,C),o();return}if(b.type==="pax-global-header"){e._parse(b.size,A),o();return}if(b.type==="pax-header"){e._parse(b.size,p),o();return}if(e._gnuLongPath&&(b.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(b.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=b=K2t(b,e._pax),e._pax=null),e._locked=!0,!b.size||b.type==="directory"){e._parse(512,w),e.emit("entry",b,Y2t(e,v),a);return}e._stream=new Nk(e,v),e.emit("entry",b,e._stream,a),e._parse(b.size,n),o()};this._onheader=w,this._parse(512,w)};X2e.inherits(sp,Z2e);sp.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};sp.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};sp.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=eBe,this._overflow?this._write(this._overflow,void 0,t):t()}};sp.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.length<n)return this._missing-=t.length,this._overflow=null,o?o.write(t,r):(a.append(t),r());this._cb=r,this._missing=0;var u=null;t.length>n&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};sp.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};tBe.exports=sp});var iBe=U((xZt,nBe)=>{nBe.exports=Ie("fs").constants||Ie("constants")});var cBe=U((bZt,lBe)=>{var YC=iBe(),sBe=GM(),Ok=Sh(),J2t=Buffer.alloc,oBe=jC().Readable,KC=jC().Writable,V2t=Ie("string_decoder").StringDecoder,Lk=Vj(),z2t=parseInt("755",8),X2t=parseInt("644",8),aBe=J2t(1024),Xj=function(){},zj=function(t,e){e&=511,e&&t.push(aBe.slice(0,512-e))};function Z2t(t){switch(t&YC.S_IFMT){case YC.S_IFBLK:return"block-device";case YC.S_IFCHR:return"character-device";case YC.S_IFDIR:return"directory";case YC.S_IFIFO:return"fifo";case YC.S_IFLNK:return"symlink"}return"file"}var Mk=function(t){KC.call(this),this.written=0,this._to=t,this._destroyed=!1};Ok(Mk,KC);Mk.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};Mk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Uk=function(){KC.call(this),this.linkname="",this._decoder=new V2t("utf-8"),this._destroyed=!1};Ok(Uk,KC);Uk.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Uk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var av=function(){KC.call(this),this._destroyed=!1};Ok(av,KC);av.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};av.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var CA=function(t){if(!(this instanceof CA))return new CA(t);oBe.call(this,t),this._drain=Xj,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Ok(CA,oBe);CA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=Xj);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=Z2t(t.mode)),t.mode||(t.mode=t.type==="directory"?z2t:X2t),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return zj(o,t.size),a?process.nextTick(r):this._drain=r,new av}if(t.type==="symlink"&&!t.linkname){var n=new Uk;return sBe(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new av;var u=new Mk(this);return this._stream=u,sBe(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));zj(o,t.size),o._finalizing&&o.finalize(),r()}),u}};CA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(aBe),this.push(null))};CA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};CA.prototype._encode=function(t){if(!t.pax){var e=Lk.encode(t);if(e){this.push(e);return}}this._encodePax(t)};CA.prototype._encodePax=function(t){var e=Lk.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Lk.encode(r)),this.push(e),zj(this,e.length),r.size=t.size,r.type=t.type,this.push(Lk.encode(r))};CA.prototype._read=function(t){var e=this._drain;this._drain=Xj,e()};lBe.exports=CA});var uBe=U(Zj=>{Zj.extract=rBe();Zj.pack=cBe()});var wBe=U((XZt,IBe)=>{"use strict";var Im=class{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=EBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return i9(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):pBt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Im(this.__specs,this.__opts,EBe(this.__providers).concat(e)),CBe)}};try{let t=Ie("util");Im.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function ABt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function i9(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))ABt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=yBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=yBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function yBe(t,e){let r;return e.__isFiggyPudding?r=i9(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var CBe={has(t,e){return e in t.__specs&&i9(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Im.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};IBe.exports=fBt;function fBt(t,e){function r(...o){return new Proxy(new Im(t,e,o),CBe)}return r}function EBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function pBt(t){return Object.keys(t).map(e=>[e,t[e]])}});var DBe=U((ZZt,BA)=>{"use strict";var cv=Ie("crypto"),hBt=wBe(),gBt=Ie("stream").Transform,BBe=["sha256","sha384","sha512"],dBt=/^[a-z0-9+/]+(?:=?=?)$/i,mBt=/^([^-]+)-([^?]+)([?\S*]*)$/,yBt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,EBt=/^[\x21-\x7E]+$/,ea=hBt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>PBt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Th=class{get isHash(){return!0}constructor(e,r){r=ea(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?yBt:mBt);if(!a||o&&!BBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=ea(e),e.strict&&!(BBe.some(o=>o===this.algorithm)&&this.digest.match(dBt)&&(this.options||[]).every(o=>o.match(EBt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},wm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=ea(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>Th.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=ea(r);let o=typeof e=="string"?e:lv(e,r);return wA(`${this.toString(r)} ${o}`,r)}hexDigest(){return wA(this,{single:!0}).hexDigest()}match(e,r){r=ea(r);let o=wA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=ea(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};BA.exports.parse=wA;function wA(t,e){if(e=ea(e),typeof t=="string")return s9(t,e);if(t.algorithm&&t.digest){let r=new wm;return r[t.algorithm]=[t],s9(lv(r,e),e)}else return s9(lv(t,e),e)}function s9(t,e){return e.single?new Th(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new Th(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new wm)}BA.exports.stringify=lv;function lv(t,e){return e=ea(e),t.algorithm&&t.digest?Th.prototype.toString.call(t,e):typeof t=="string"?lv(wA(t,e),e):wm.prototype.toString.call(t,e)}BA.exports.fromHex=CBt;function CBt(t,e,r){r=ea(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return wA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}BA.exports.fromData=IBt;function IBt(t,e){e=ea(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=cv.createHash(n).update(t).digest("base64"),A=new Th(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new wm)}BA.exports.fromStream=wBt;function wBt(t,e){e=ea(e);let r=e.Promise||Promise,o=o9(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}BA.exports.checkData=BBt;function BBt(t,e,r){if(r=ea(r),e=wA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=cv.createHash(o).update(t).digest("base64"),n=wA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. 382`);return Buffer.from(e)};JE.decodePax=function(t){for(var e={};t.length;){for(var r=0;r<t.length&&t[r]!==32;)r++;var o=parseInt(t.slice(0,r).toString(),10);if(!o)return e;var a=t.slice(r+1,o-1).toString(),n=a.indexOf("=");if(n===-1)return e;e[a.slice(0,n)]=a.slice(n+1),t=t.slice(o)}return e};JE.encode=function(t){var e=V2t(512),r=t.name,o="";if(t.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Th(t.mode&eBt,6),100),e.write(Th(t.uid,6),108),e.write(Th(t.gid,6),116),e.write(Th(t.size,11),124),e.write(Th(t.mtime.getTime()/1e3|0,11),136),e[156]=nBe+nBt(t.type),t.linkname&&e.write(t.linkname,157),iBe.copy(e,fv),X2t.copy(e,eG),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Th(t.devmajor||0,6),329),e.write(Th(t.devminor||0,6),337),o&&e.write(o,345),e.write(Th(oBe(e),6),148),e)};JE.decode=function(t,e,r){var o=t[156]===0?0:t[156]-nBe,a=VE(t,0,100,e),n=Nh(t,100,8),u=Nh(t,108,8),A=Nh(t,116,8),p=Nh(t,124,12),h=Nh(t,136,12),E=rBt(o),w=t[157]===0?null:VE(t,157,100,e),v=VE(t,265,32),b=VE(t,297,32),C=Nh(t,329,8),R=Nh(t,337,8),L=oBe(t);if(L===8*32)return null;if(L!==Nh(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(iBe.compare(t,fv,fv+6)===0)t[345]&&(a=VE(t,345,155,e)+"/"+a);else if(!(Z2t.compare(t,fv,fv+6)===0&&$2t.compare(t,eG,eG+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:E,linkname:w,uname:v,gname:b,devmajor:C,devminor:R}}});var pBe=U((RZt,fBe)=>{var lBe=Ie("util"),sBt=rBe(),pv=tG(),cBe=KE().Writable,uBe=KE().PassThrough,ABe=function(){},aBe=function(t){return t&=511,t&&512-t},oBt=function(t,e){var r=new Ok(t,e);return r.end(),r},aBt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Ok=function(t,e){this._parent=t,this.offset=e,uBe.call(this,{autoDestroy:!1})};lBe.inherits(Ok,uBe);Ok.prototype.destroy=function(t){this._parent.destroy(t)};var op=function(t){if(!(this instanceof op))return new op(t);cBe.call(this,t),t=t||{},this._offset=0,this._buffer=sBt(),this._missing=0,this._partial=!1,this._onparse=ABe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||o()},n=function(){e._stream=null;var v=aBe(e._header.size);v?e._parse(v,u):e._parse(512,w),e._locked||o()},u=function(){e._buffer.consume(aBe(e._header.size)),e._parse(512,w),o()},A=function(){var v=e._header.size;e._paxGlobal=pv.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=e._header.size;e._pax=pv.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},h=function(){var v=e._header.size;this._gnuLongPath=pv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},E=function(){var v=e._header.size;this._gnuLongLinkPath=pv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},w=function(){var v=e._offset,b;try{b=e._header=pv.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(C){e.emit("error",C)}if(r.consume(512),!b){e._parse(512,w),o();return}if(b.type==="gnu-long-path"){e._parse(b.size,h),o();return}if(b.type==="gnu-long-link-path"){e._parse(b.size,E),o();return}if(b.type==="pax-global-header"){e._parse(b.size,A),o();return}if(b.type==="pax-header"){e._parse(b.size,p),o();return}if(e._gnuLongPath&&(b.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(b.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=b=aBt(b,e._pax),e._pax=null),e._locked=!0,!b.size||b.type==="directory"){e._parse(512,w),e.emit("entry",b,oBt(e,v),a);return}e._stream=new Ok(e,v),e.emit("entry",b,e._stream,a),e._parse(b.size,n),o()};this._onheader=w,this._parse(512,w)};lBe.inherits(op,cBe);op.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};op.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};op.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=ABe,this._overflow?this._write(this._overflow,void 0,t):t()}};op.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.length<n)return this._missing-=t.length,this._overflow=null,o?o.write(t,r):(a.append(t),r());this._cb=r,this._missing=0;var u=null;t.length>n&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};op.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};fBe.exports=op});var gBe=U((TZt,hBe)=>{hBe.exports=Ie("fs").constants||Ie("constants")});var EBe=U((NZt,CBe)=>{var zE=gBe(),dBe=WM(),Uk=bh(),lBt=Buffer.alloc,mBe=KE().Readable,XE=KE().Writable,cBt=Ie("string_decoder").StringDecoder,Mk=tG(),uBt=parseInt("755",8),ABt=parseInt("644",8),yBe=lBt(1024),nG=function(){},rG=function(t,e){e&=511,e&&t.push(yBe.slice(0,512-e))};function fBt(t){switch(t&zE.S_IFMT){case zE.S_IFBLK:return"block-device";case zE.S_IFCHR:return"character-device";case zE.S_IFDIR:return"directory";case zE.S_IFIFO:return"fifo";case zE.S_IFLNK:return"symlink"}return"file"}var _k=function(t){XE.call(this),this.written=0,this._to=t,this._destroyed=!1};Uk(_k,XE);_k.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};_k.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Hk=function(){XE.call(this),this.linkname="",this._decoder=new cBt("utf-8"),this._destroyed=!1};Uk(Hk,XE);Hk.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Hk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var hv=function(){XE.call(this),this._destroyed=!1};Uk(hv,XE);hv.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};hv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var wA=function(t){if(!(this instanceof wA))return new wA(t);mBe.call(this,t),this._drain=nG,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Uk(wA,mBe);wA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=nG);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=fBt(t.mode)),t.mode||(t.mode=t.type==="directory"?uBt:ABt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return rG(o,t.size),a?process.nextTick(r):this._drain=r,new hv}if(t.type==="symlink"&&!t.linkname){var n=new Hk;return dBe(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new hv;var u=new _k(this);return this._stream=u,dBe(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));rG(o,t.size),o._finalizing&&o.finalize(),r()}),u}};wA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(yBe),this.push(null))};wA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};wA.prototype._encode=function(t){if(!t.pax){var e=Mk.encode(t);if(e){this.push(e);return}}this._encodePax(t)};wA.prototype._encodePax=function(t){var e=Mk.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Mk.encode(r)),this.push(e),rG(this,e.length),r.size=t.size,r.type=t.type,this.push(Mk.encode(r))};wA.prototype._read=function(t){var e=this._drain;this._drain=nG,e()};CBe.exports=wA});var IBe=U(iG=>{iG.extract=pBe();iG.pack=EBe()});var RBe=U((r$t,FBe)=>{"use strict";var Dm=class{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=QBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return uG(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):PBt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Dm(this.__specs,this.__opts,QBe(this.__providers).concat(e)),kBe)}};try{let t=Ie("util");Dm.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function DBt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function uG(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))DBt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=bBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=bBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function bBe(t,e){let r;return e.__isFiggyPudding?r=uG(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var kBe={has(t,e){return e in t.__specs&&uG(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Dm.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};FBe.exports=SBt;function SBt(t,e){function r(...o){return new Proxy(new Dm(t,e,o),kBe)}return r}function QBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function PBt(t){return Object.keys(t).map(e=>[e,t[e]])}});var LBe=U((n$t,DA)=>{"use strict";var dv=Ie("crypto"),xBt=RBe(),bBt=Ie("stream").Transform,TBe=["sha256","sha384","sha512"],QBt=/^[a-z0-9+/]+(?:=?=?)$/i,kBt=/^([^-]+)-([^?]+)([?\S*]*)$/,FBt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,RBt=/^[\x21-\x7E]+$/,ta=xBt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>HBt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Oh=class{get isHash(){return!0}constructor(e,r){r=ta(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?FBt:kBt);if(!a||o&&!TBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=ta(e),e.strict&&!(TBe.some(o=>o===this.algorithm)&&this.digest.match(QBt)&&(this.options||[]).every(o=>o.match(RBt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Sm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=ta(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>Oh.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=ta(r);let o=typeof e=="string"?e:gv(e,r);return vA(`${this.toString(r)} ${o}`,r)}hexDigest(){return vA(this,{single:!0}).hexDigest()}match(e,r){r=ta(r);let o=vA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=ta(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};DA.exports.parse=vA;function vA(t,e){if(e=ta(e),typeof t=="string")return AG(t,e);if(t.algorithm&&t.digest){let r=new Sm;return r[t.algorithm]=[t],AG(gv(r,e),e)}else return AG(gv(t,e),e)}function AG(t,e){return e.single?new Oh(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new Oh(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new Sm)}DA.exports.stringify=gv;function gv(t,e){return e=ta(e),t.algorithm&&t.digest?Oh.prototype.toString.call(t,e):typeof t=="string"?gv(vA(t,e),e):Sm.prototype.toString.call(t,e)}DA.exports.fromHex=TBt;function TBt(t,e,r){r=ta(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return vA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}DA.exports.fromData=NBt;function NBt(t,e){e=ta(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=dv.createHash(n).update(t).digest("base64"),A=new Oh(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new Sm)}DA.exports.fromStream=LBt;function LBt(t,e){e=ta(e);let r=e.Promise||Promise,o=fG(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}DA.exports.checkData=OBt;function OBt(t,e,r){if(r=ta(r),e=vA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=dv.createHash(o).update(t).digest("base64"),n=vA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}.
383 Wanted: ${r.size} 383 Wanted: ${r.size}
384 Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}BA.exports.checkStream=vBt;function vBt(t,e,r){r=ea(r);let o=r.Promise||Promise,a=o9(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}BA.exports.integrityStream=o9;function o9(t){t=ea(t);let e=t.integrity&&wA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(cv.createHash),A=0,p=new gBt({transform(h,C,w){A+=h.length,u.forEach(v=>v.update(h,C)),w(null,h,C)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",C=wA(u.map((v,b)=>`${n[b]}-${v.digest("base64")}${h}`).join(" "),t),w=r&&C.match(e,t);if(typeof t.size=="number"&&A!==t.size){let v=new Error(`stream size mismatch when checking ${e}. 384 Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}DA.exports.checkStream=MBt;function MBt(t,e,r){r=ta(r);let o=r.Promise||Promise,a=fG(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}DA.exports.integrityStream=fG;function fG(t){t=ta(t);let e=t.integrity&&vA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(dv.createHash),A=0,p=new bBt({transform(h,E,w){A+=h.length,u.forEach(v=>v.update(h,E)),w(null,h,E)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",E=vA(u.map((v,b)=>`${n[b]}-${v.digest("base64")}${h}`).join(" "),t),w=r&&E.match(e,t);if(typeof t.size=="number"&&A!==t.size){let v=new Error(`stream size mismatch when checking ${e}.
385 Wanted: ${t.size} 385 Wanted: ${t.size}
386 Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=t.size,v.sri=e,p.emit("error",v)}else if(t.integrity&&!w){let v=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${C}. (${A} bytes)`);v.code="EINTEGRITY",v.found=C,v.expected=a,v.algorithm=o,v.sri=e,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",C),w&&p.emit("verified",w)});return p}BA.exports.create=DBt;function DBt(t){t=ea(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(cv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new Th(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let C=h.algorithm;u[C]||(u[C]=[]),u[C].push(h)}return u},new wm)}}}var SBt=new Set(cv.getHashes()),vBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>SBt.has(t));function PBt(t,e){return vBe.indexOf(t.toLowerCase())>=vBe.indexOf(e.toLowerCase())?t:e}});var nve=U((enr,rve)=>{var bvt=tL();function Qvt(t){return bvt(t)?void 0:t}rve.exports=Qvt});var sve=U((tnr,ive)=>{var kvt=Dx(),Fvt=S8(),Rvt=Q8(),Tvt=qd(),Nvt=fd(),Lvt=nve(),Ovt=C_(),Mvt=D8(),Uvt=1,_vt=2,Hvt=4,qvt=Ovt(function(t,e){var r={};if(t==null)return r;var o=!1;e=kvt(e,function(n){return n=Tvt(n,t),o||(o=n.length>1),n}),Nvt(t,Mvt(t),r),o&&(r=Fvt(r,Uvt|_vt|Hvt,Lvt));for(var a=e.length;a--;)Rvt(r,e[a]);return r});ive.exports=qvt});Ke();Ke();bt();var P_=Ie("child_process"),h0e=tt(Jg());_t();var x_=Ie("fs");var nC=new Map([]);function _ut(t){let e=Ae.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,P_.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,P_.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function Hb({binaryVersion:t,pluginConfiguration:e}){async function r(){let a=new vo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await o(a)}catch(n){process.stdout.write(a.error(n)),process.exitCode=1}}async function o(a){var R,L,_,J;let n=process.versions.node,u=">=14.15.0";if(!Ye.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Tr.satisfiesWithPrereleases(n,u))throw new ot(`This tool requires a Node version compatible with ${u} (got ${n}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let p=await Xe.find(Ae.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),h=p.get("yarnPath"),C=p.get("ignorePath"),w=p.get("ignoreCwd"),v=Ae.toPortablePath(Ae.resolve(process.argv[1])),b=re=>ae.readFilePromise(re).catch(()=>Buffer.of());if(!C&&!w&&await(async()=>h&&(h===v||Buffer.compare(...await Promise.all([b(h),b(v)]))===0))()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await o(a);return}else if(h!==null&&!C)if(!ae.existsSync(h))process.stdout.write(a.error(new Error(`The "yarn-path" option has been set (in ${p.sources.get("yarnPath")}), but the specified location doesn't exist (${h}).`))),process.exitCode=1;else try{_ut(h)}catch(re){process.exitCode=re.code||1}else{C&&delete process.env.YARN_IGNORE_PATH,p.get("enableTelemetry")&&!h0e.isCI&&process.stdout.isTTY&&(Xe.telemetry=new rC(p,"puba9cdc10ec5790a2cf4969dd413a47270")),(R=Xe.telemetry)==null||R.reportVersion(t);for(let[ve,ge]of p.plugins.entries()){nC.has(((L=ve.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:L[1])??"")&&((_=Xe.telemetry)==null||_.reportPluginName(ve));for(let le of ge.commands||[])a.register(le)}let oe={cwd:Ae.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr},pe=a.process(process.argv.slice(2),oe);pe.help||(J=Xe.telemetry)==null||J.reportCommandName(pe.path.join(" "));let he=pe.cwd;if(typeof he<"u"&&!w){let ve=(0,x_.realpathSync)(process.cwd()),ge=(0,x_.realpathSync)(he);if(ve!==ge){process.chdir(he),await r();return}}await a.runExit(pe,oe)}}return r().catch(a=>{process.stdout.write(a.stack||a.message),process.exitCode=1}).finally(()=>ae.rmtempPromise())}var H1={};Yt(H1,{BaseCommand:()=>ct,WorkspaceRequiredError:()=>er,getDynamicLibs:()=>g0e,getPluginConfiguration:()=>qb,main:()=>Hb,openWorkspace:()=>iC,pluginCommands:()=>nC});_t();var ct=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",{hidden:!0})}};Ke();bt();_t();var er=class extends ot{constructor(e,r){let o=V.relative(e,r),a=V.join(e,Nt.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ke();bt();Oc();Ol();g1();_t();var Hut=tt(ii());$a();var g0e=()=>new Map([["@yarnpkg/cli",H1],["@yarnpkg/core",_1],["@yarnpkg/fslib",TI],["@yarnpkg/libzip",LI],["@yarnpkg/parsers",GI],["@yarnpkg/shell",E1],["clipanion",$I],["semver",Hut],["typanion",Go]]);Ke();async function iC(t,e){let{project:r,workspace:o}=await St.find(t,e);if(!o)throw new er(r.cwd,e);return o}Ke();bt();Oc();Ol();g1();_t();var Xvt=tt(ii());$a();var X8={};Yt(X8,{AddCommand:()=>S0,BinCommand:()=>P0,CacheCleanCommand:()=>x0,ClipanionCommand:()=>Yd,ConfigCommand:()=>F0,ConfigGetCommand:()=>b0,ConfigSetCommand:()=>Q0,ConfigUnsetCommand:()=>k0,DedupeCommand:()=>R0,EntryCommand:()=>lC,ExecCommand:()=>T0,ExplainCommand:()=>O0,ExplainPeerRequirementsCommand:()=>N0,HelpCommand:()=>Kd,InfoCommand:()=>M0,LinkCommand:()=>_0,NodeCommand:()=>H0,PluginCheckCommand:()=>q0,PluginImportCommand:()=>W0,PluginImportSourcesCommand:()=>Y0,PluginListCommand:()=>j0,PluginRemoveCommand:()=>K0,PluginRuntimeCommand:()=>J0,RebuildCommand:()=>V0,RemoveCommand:()=>z0,RunCommand:()=>X0,RunIndexCommand:()=>zd,SetResolutionCommand:()=>Z0,SetVersionCommand:()=>L0,SetVersionSourcesCommand:()=>G0,UnlinkCommand:()=>$0,UpCommand:()=>Yf,VersionCommand:()=>Jd,WhyCommand:()=>eh,WorkspaceCommand:()=>nh,WorkspacesListCommand:()=>rh,YarnCommand:()=>U0,dedupeUtils:()=>Xb,default:()=>Qht,suggestUtils:()=>Zc});var Kde=tt(Jg());Ke();Ke();Ke();_t();var rge=tt(Y1());$a();var Zc={};Yt(Zc,{Modifier:()=>C8,Strategy:()=>Vb,Target:()=>K1,WorkspaceModifier:()=>Xhe,applyModifier:()=>aft,extractDescriptorFromPath:()=>I8,extractRangeModifier:()=>Zhe,fetchDescriptorFrom:()=>w8,findProjectDescriptors:()=>tge,getModifier:()=>J1,getSuggestedDescriptors:()=>V1,makeWorkspaceDescriptor:()=>ege,toWorkspaceModifier:()=>$he});Ke();Ke();bt();var E8=tt(ii()),sft="workspace:",K1=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(K1||{}),C8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(C8||{}),Xhe=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(Xhe||{}),Vb=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(Vb||{});function J1(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var oft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Zhe(t,{project:e}){let r=t.match(oft);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function aft(t,e){let{protocol:r,source:o,params:a,selector:n}=Y.parseRange(t.range);return E8.default.valid(n)&&(n=`${e}${t.range}`),Y.makeDescriptor(t,Y.makeRange({protocol:r,source:o,params:a,selector:n}))}function $he(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function ege(t,e){return Y.makeDescriptor(t.anchoredDescriptor,`${sft}${$he(e)}`)}async function tge(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function I8(t,{cwd:e,workspace:r}){return await lft(async o=>{V.isAbsolute(t)||(t=V.relative(r.cwd,V.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await w8(Y.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new xi,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},C=A.bindDescriptor(n,r.anchoredLocator,h),w=Y.convertDescriptorToLocator(C),v=await p.fetch(w,h),b=await Nt.find(v.prefixPath,{baseFs:v.packageFs});if(!b.name)throw new Error("Target path doesn't have a name");return Y.makeDescriptor(b.name,t)})}async function V1(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,C]=t.range!=="unknown"?n||Tr.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${Y.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let w=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,v=[],b=[],E=async R=>{try{await R()}catch(L){b.push(L)}};for(let R of A){if(v.length>=p)break;switch(R){case"keep":await E(async()=>{w&&v.push({descriptor:w,name:`Keep ${Y.prettyDescriptor(e.configuration,w)}`,reason:"(no changes)"})});break;case"reuse":await E(async()=>{for(let{descriptor:L,locators:_}of(await tge(t,{project:e,target:a})).values()){if(_.length===1&&_[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let J=`(originally used by ${Y.prettyLocator(e.configuration,_[0])}`;J+=_.length>1?` and ${_.length-1} other${_.length>2?"s":""})`:")",v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:J})}});break;case"cache":await E(async()=>{for(let L of e.storedDescriptors.values())L.identHash===t.identHash&&v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await E(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let L=e.tryWorkspaceByIdent(t);if(L===null)return;let _=ege(L,u);v.push({descriptor:_,name:`Attach ${Y.prettyDescriptor(e.configuration,_)}`,reason:`(local workspace at ${ye.pretty(e.configuration,L.relativeCwd,ye.Type.PATH)})`})});break;case"latest":await E(async()=>{if(a==="peerDependencies")v.push({descriptor:Y.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))v.push({descriptor:null,name:"Resolve from latest",reason:ye.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let L=await w8(t,C,{project:e,cache:o,workspace:r,modifier:u});L&&v.push({descriptor:L,name:`Use ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(resolved from latest)"})}});break}}return{suggestions:v.slice(0,p),rejections:b.slice(0,p)}}async function w8(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(Y.makeDescriptor(t,e)),p=new xi,h=r.configuration.makeFetcher(),C=r.configuration.makeResolver(),w={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...w,resolver:C,fetchOptions:w},b=C.bindDescriptor(A,a.anchoredLocator,v),E=await C.getCandidates(b,{},v);if(E.length===0)return null;let R=E[0],{protocol:L,source:_,params:J,selector:re}=Y.parseRange(Y.convertToManifestRange(R.reference));if(L===r.configuration.get("defaultProtocol")&&(L=null),E8.default.valid(re)){let oe=re;if(typeof u<"u")re=u+re;else if(n!==!1){let ve=typeof n=="string"?n:A.range;re=Zhe(ve,{project:r})+re}let pe=Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:J,selector:re}));(await C.getCandidates(r.configuration.normalizeDependency(pe),{},v)).length!==1&&(re=oe)}return Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:J,selector:re}))}async function lft(t){return await ae.mktempPromise(async e=>{let r=Xe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Ur(e,{configuration:r,check:!1,immutable:!1}))})}var S0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=fe.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=fe.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=fe.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=fe.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=fe.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=fe.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.silent=fe.Boolean("--silent",{hidden:!0});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=J1(this,o),C=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(J=>typeof J<"u"),w=A?1/0:1,v=await Promise.all(this.packages.map(async J=>{let re=J.match(/^\.{0,2}\//)?await I8(J,{cwd:this.context.cwd,workspace:a}):Y.tryParseDescriptor(J),oe=J.match(/^(https?:|git@github)/);if(oe)throw new ot(`It seems you are trying to add a package using a ${ye.pretty(r,`${oe[0]}...`,ye.Type.RANGE)} url; we now require package names to be explicitly specified. 386 Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=t.size,v.sri=e,p.emit("error",v)}else if(t.integrity&&!w){let v=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${E}. (${A} bytes)`);v.code="EINTEGRITY",v.found=E,v.expected=a,v.algorithm=o,v.sri=e,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",E),w&&p.emit("verified",w)});return p}DA.exports.create=UBt;function UBt(t){t=ta(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(dv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new Oh(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let E=h.algorithm;u[E]||(u[E]=[]),u[E].push(h)}return u},new Sm)}}}var _Bt=new Set(dv.getHashes()),NBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>_Bt.has(t));function HBt(t,e){return NBe.indexOf(t.toLowerCase())>=NBe.indexOf(e.toLowerCase())?t:e}});var hve=U((tnr,pve)=>{var jvt=rL();function Gvt(t){return jvt(t)?void 0:t}pve.exports=Gvt});var dve=U((rnr,gve)=>{var Wvt=Fx(),Yvt=P8(),Kvt=k8(),Vvt=Wd(),Jvt=gd(),zvt=hve(),Xvt=I_(),Zvt=S8(),$vt=1,eDt=2,tDt=4,rDt=Xvt(function(t,e){var r={};if(t==null)return r;var o=!1;e=Wvt(e,function(n){return n=Vvt(n,t),o||(o=n.length>1),n}),Jvt(t,Zvt(t),r),o&&(r=Yvt(r,$vt|eDt|tDt,zvt));for(var a=e.length;a--;)Kvt(r,e[a]);return r});gve.exports=rDt});Ke();Ke();bt();var x_=Ie("child_process"),E0e=tt(Xg());_t();var b_=Ie("fs");var lE=new Map([]);function Xut(t){let e=ue.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,x_.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,x_.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function Vb({binaryVersion:t,pluginConfiguration:e}){async function r(){let a=new vo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await o(a)}catch(n){process.stdout.write(a.error(n)),process.exitCode=1}}async function o(a){var R,L,_,V;let n=process.versions.node,u=">=14.15.0";if(!Ye.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Tr.satisfiesWithPrereleases(n,u))throw new ot(`This tool requires a Node version compatible with ${u} (got ${n}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let p=await Xe.find(ue.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),h=p.get("yarnPath"),E=p.get("ignorePath"),w=p.get("ignoreCwd"),v=ue.toPortablePath(ue.resolve(process.argv[1])),b=re=>ae.readFilePromise(re).catch(()=>Buffer.of());if(!E&&!w&&await(async()=>h&&(h===v||Buffer.compare(...await Promise.all([b(h),b(v)]))===0))()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await o(a);return}else if(h!==null&&!E)if(!ae.existsSync(h))process.stdout.write(a.error(new Error(`The "yarn-path" option has been set (in ${p.sources.get("yarnPath")}), but the specified location doesn't exist (${h}).`))),process.exitCode=1;else try{Xut(h)}catch(re){process.exitCode=re.code||1}else{E&&delete process.env.YARN_IGNORE_PATH,p.get("enableTelemetry")&&!E0e.isCI&&process.stdout.isTTY&&(Xe.telemetry=new aE(p,"puba9cdc10ec5790a2cf4969dd413a47270")),(R=Xe.telemetry)==null||R.reportVersion(t);for(let[ve,ge]of p.plugins.entries()){lE.has(((L=ve.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:L[1])??"")&&((_=Xe.telemetry)==null||_.reportPluginName(ve));for(let le of ge.commands||[])a.register(le)}let oe={cwd:ue.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr},pe=a.process(process.argv.slice(2),oe);pe.help||(V=Xe.telemetry)==null||V.reportCommandName(pe.path.join(" "));let he=pe.cwd;if(typeof he<"u"&&!w){let ve=(0,b_.realpathSync)(process.cwd()),ge=(0,b_.realpathSync)(he);if(ve!==ge){process.chdir(he),await r();return}}await a.runExit(pe,oe)}}return r().catch(a=>{process.stdout.write(a.stack||a.message),process.exitCode=1}).finally(()=>ae.rmtempPromise())}var W1={};Yt(W1,{BaseCommand:()=>ct,WorkspaceRequiredError:()=>er,getDynamicLibs:()=>I0e,getPluginConfiguration:()=>Jb,main:()=>Vb,openWorkspace:()=>cE,pluginCommands:()=>lE});_t();var ct=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",{hidden:!0})}};Ke();bt();_t();var er=class extends ot{constructor(e,r){let o=z.relative(e,r),a=z.join(e,Nt.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ke();bt();_c();_l();C1();_t();var Zut=tt(si());tl();var I0e=()=>new Map([["@yarnpkg/cli",W1],["@yarnpkg/core",G1],["@yarnpkg/fslib",MI],["@yarnpkg/libzip",_I],["@yarnpkg/parsers",VI],["@yarnpkg/shell",B1],["clipanion",nw],["semver",Zut],["typanion",Wo]]);Ke();async function cE(t,e){let{project:r,workspace:o}=await St.find(t,e);if(!o)throw new er(r.cwd,e);return o}Ke();bt();_c();_l();C1();_t();var ADt=tt(si());tl();var Z8={};Yt(Z8,{AddCommand:()=>P0,BinCommand:()=>x0,CacheCleanCommand:()=>b0,ClipanionCommand:()=>Jd,ConfigCommand:()=>R0,ConfigGetCommand:()=>Q0,ConfigSetCommand:()=>k0,ConfigUnsetCommand:()=>F0,DedupeCommand:()=>T0,EntryCommand:()=>pE,ExecCommand:()=>N0,ExplainCommand:()=>M0,ExplainPeerRequirementsCommand:()=>L0,HelpCommand:()=>zd,InfoCommand:()=>U0,LinkCommand:()=>H0,NodeCommand:()=>q0,PluginCheckCommand:()=>j0,PluginImportCommand:()=>Y0,PluginImportSourcesCommand:()=>K0,PluginListCommand:()=>G0,PluginRemoveCommand:()=>V0,PluginRuntimeCommand:()=>J0,RebuildCommand:()=>z0,RemoveCommand:()=>X0,RunCommand:()=>Z0,RunIndexCommand:()=>$d,SetResolutionCommand:()=>$0,SetVersionCommand:()=>O0,SetVersionSourcesCommand:()=>W0,UnlinkCommand:()=>eh,UpCommand:()=>Vf,VersionCommand:()=>Xd,WhyCommand:()=>th,WorkspaceCommand:()=>ih,WorkspacesListCommand:()=>nh,YarnCommand:()=>_0,dedupeUtils:()=>iQ,default:()=>Hht,suggestUtils:()=>eu});var $de=tt(Xg());Ke();Ke();Ke();_t();var lge=tt(z1());tl();var eu={};Yt(eu,{Modifier:()=>I8,Strategy:()=>rQ,Target:()=>X1,WorkspaceModifier:()=>nge,applyModifier:()=>yft,extractDescriptorFromPath:()=>w8,extractRangeModifier:()=>ige,fetchDescriptorFrom:()=>B8,findProjectDescriptors:()=>age,getModifier:()=>Z1,getSuggestedDescriptors:()=>$1,makeWorkspaceDescriptor:()=>oge,toWorkspaceModifier:()=>sge});Ke();Ke();bt();var E8=tt(si()),dft="workspace:",X1=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(X1||{}),I8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(I8||{}),nge=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(nge||{}),rQ=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(rQ||{});function Z1(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var mft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function ige(t,{project:e}){let r=t.match(mft);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function yft(t,e){let{protocol:r,source:o,params:a,selector:n}=Y.parseRange(t.range);return E8.default.valid(n)&&(n=`${e}${t.range}`),Y.makeDescriptor(t,Y.makeRange({protocol:r,source:o,params:a,selector:n}))}function sge(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function oge(t,e){return Y.makeDescriptor(t.anchoredDescriptor,`${dft}${sge(e)}`)}async function age(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function w8(t,{cwd:e,workspace:r}){return await Cft(async o=>{z.isAbsolute(t)||(t=z.relative(r.cwd,z.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await B8(Y.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new xi,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},E=A.bindDescriptor(n,r.anchoredLocator,h),w=Y.convertDescriptorToLocator(E),v=await p.fetch(w,h),b=await Nt.find(v.prefixPath,{baseFs:v.packageFs});if(!b.name)throw new Error("Target path doesn't have a name");return Y.makeDescriptor(b.name,t)})}async function $1(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,E]=t.range!=="unknown"?n||Tr.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${Y.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let w=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,v=[],b=[],C=async R=>{try{await R()}catch(L){b.push(L)}};for(let R of A){if(v.length>=p)break;switch(R){case"keep":await C(async()=>{w&&v.push({descriptor:w,name:`Keep ${Y.prettyDescriptor(e.configuration,w)}`,reason:"(no changes)"})});break;case"reuse":await C(async()=>{for(let{descriptor:L,locators:_}of(await age(t,{project:e,target:a})).values()){if(_.length===1&&_[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let V=`(originally used by ${Y.prettyLocator(e.configuration,_[0])}`;V+=_.length>1?` and ${_.length-1} other${_.length>2?"s":""})`:")",v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:V})}});break;case"cache":await C(async()=>{for(let L of e.storedDescriptors.values())L.identHash===t.identHash&&v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await C(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let L=e.tryWorkspaceByIdent(t);if(L===null)return;let _=oge(L,u);v.push({descriptor:_,name:`Attach ${Y.prettyDescriptor(e.configuration,_)}`,reason:`(local workspace at ${ye.pretty(e.configuration,L.relativeCwd,ye.Type.PATH)})`})});break;case"latest":await C(async()=>{if(a==="peerDependencies")v.push({descriptor:Y.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))v.push({descriptor:null,name:"Resolve from latest",reason:ye.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let L=await B8(t,E,{project:e,cache:o,workspace:r,modifier:u});L&&v.push({descriptor:L,name:`Use ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(resolved from latest)"})}});break}}return{suggestions:v.slice(0,p),rejections:b.slice(0,p)}}async function B8(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(Y.makeDescriptor(t,e)),p=new xi,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),w={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...w,resolver:E,fetchOptions:w},b=E.bindDescriptor(A,a.anchoredLocator,v),C=await E.getCandidates(b,{},v);if(C.length===0)return null;let R=C[0],{protocol:L,source:_,params:V,selector:re}=Y.parseRange(Y.convertToManifestRange(R.reference));if(L===r.configuration.get("defaultProtocol")&&(L=null),E8.default.valid(re)){let oe=re;if(typeof u<"u")re=u+re;else if(n!==!1){let ve=typeof n=="string"?n:A.range;re=ige(ve,{project:r})+re}let pe=Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:V,selector:re}));(await E.getCandidates(r.configuration.normalizeDependency(pe),{},v)).length!==1&&(re=oe)}return Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:V,selector:re}))}async function Cft(t){return await ae.mktempPromise(async e=>{let r=Xe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Ur(e,{configuration:r,check:!1,immutable:!1}))})}var P0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=fe.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=fe.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=fe.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=fe.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=fe.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=fe.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.silent=fe.Boolean("--silent",{hidden:!0});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=Z1(this,o),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(V=>typeof V<"u"),w=A?1/0:1,v=await Promise.all(this.packages.map(async V=>{let re=V.match(/^\.{0,2}\//)?await w8(V,{cwd:this.context.cwd,workspace:a}):Y.tryParseDescriptor(V),oe=V.match(/^(https?:|git@github)/);if(oe)throw new ot(`It seems you are trying to add a package using a ${ye.pretty(r,`${oe[0]}...`,ye.Type.RANGE)} url; we now require package names to be explicitly specified.
387Try running the command again with the package name prefixed: ${ye.pretty(r,"yarn add",ye.Type.CODE)} ${ye.pretty(r,Y.makeDescriptor(Y.makeIdent(null,"my-package"),`${oe[0]}...`),ye.Type.DESCRIPTOR)}`);if(!re)throw new ot(`The ${ye.pretty(r,J,ye.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let pe=cft(a,re,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(pe.map(async ve=>{let ge=await V1(re,{project:o,workspace:a,cache:n,fixed:u,target:ve,modifier:h,strategies:C,maxResults:w});return{request:re,suggestedDescriptors:ge,target:ve}}))})).then(J=>J.flat()),b=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async J=>{for(let{request:re,suggestedDescriptors:{suggestions:oe,rejections:pe}}of v)if(oe.filter(ve=>ve.descriptor!==null).length===0){let[ve]=pe;if(typeof ve>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?J.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range`):J.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),J.reportSeparator(),J.reportExceptionOnce(ve)}});if(b.hasErrors())return b.exitCode();let E=!1,R=[],L=[];for(let{suggestedDescriptors:{suggestions:J},target:re}of v){let oe,pe=J.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(E=!0,{answer:oe}=await(0,rge.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:J.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=a.manifest[re].get(oe.identHash);(typeof ge>"u"||ge.descriptorHash!==oe.descriptorHash)&&(a.manifest[re].set(oe.identHash,oe),this.optional&&(re==="dependencies"?a.manifest.ensureDependencyMeta({...oe,range:"unknown"}).optional=!0:re==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...oe,range:"unknown"}).optional=!0)),typeof ge>"u"?R.push([a,re,oe,C]):L.push([a,re,ge,oe]))}return await r.triggerMultipleHooks(J=>J.afterWorkspaceDependencyAddition,R),await r.triggerMultipleHooks(J=>J.afterWorkspaceDependencyReplacement,L),E&&this.context.stdout.write(` 387Try running the command again with the package name prefixed: ${ye.pretty(r,"yarn add",ye.Type.CODE)} ${ye.pretty(r,Y.makeDescriptor(Y.makeIdent(null,"my-package"),`${oe[0]}...`),ye.Type.DESCRIPTOR)}`);if(!re)throw new ot(`The ${ye.pretty(r,V,ye.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let pe=Eft(a,re,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(pe.map(async ve=>{let ge=await $1(re,{project:o,workspace:a,cache:n,fixed:u,target:ve,modifier:h,strategies:E,maxResults:w});return{request:re,suggestedDescriptors:ge,target:ve}}))})).then(V=>V.flat()),b=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async V=>{for(let{request:re,suggestedDescriptors:{suggestions:oe,rejections:pe}}of v)if(oe.filter(ve=>ve.descriptor!==null).length===0){let[ve]=pe;if(typeof ve>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?V.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range`):V.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),V.reportSeparator(),V.reportExceptionOnce(ve)}});if(b.hasErrors())return b.exitCode();let C=!1,R=[],L=[];for(let{suggestedDescriptors:{suggestions:V},target:re}of v){let oe,pe=V.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(C=!0,{answer:oe}=await(0,lge.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:V.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=a.manifest[re].get(oe.identHash);(typeof ge>"u"||ge.descriptorHash!==oe.descriptorHash)&&(a.manifest[re].set(oe.identHash,oe),this.optional&&(re==="dependencies"?a.manifest.ensureDependencyMeta({...oe,range:"unknown"}).optional=!0:re==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...oe,range:"unknown"}).optional=!0)),typeof ge>"u"?R.push([a,re,oe,E]):L.push([a,re,ge,oe]))}return await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyAddition,R),await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyReplacement,L),C&&this.context.stdout.write(`
388`),(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async J=>{await o.install({cache:n,report:J,mode:this.mode})})).exitCode()}};S0.paths=[["add"]],S0.usage=it.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function cft(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest["dependencies"].has(e.identHash),A=t.manifest["devDependencies"].has(e.identHash),p=t.manifest["peerDependencies"].has(e.identHash);if((r||o)&&u)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ke();Ke();_t();var P0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await sn.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new ot(`Couldn't find a binary named "${this.name}" for package "${Y.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} 388`),(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async V=>{await o.install({cache:n,report:V,mode:this.mode})})).exitCode()}};P0.paths=[["add"]],P0.usage=it.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function Eft(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest["dependencies"].has(e.identHash),A=t.manifest["devDependencies"].has(e.identHash),p=t.manifest["peerDependencies"].has(e.identHash);if((r||o)&&u)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ke();Ke();_t();var x0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await sn.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new ot(`Couldn't find a binary named "${this.name}" for package "${Y.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p}
389`),0}return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await sn.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((C,w)=>Math.max(C,w.length),0);for(let[C,[w,v]]of A)u.reportJson({name:C,source:Y.stringifyIdent(w),path:v});if(this.verbose)for(let[C,[w]]of A)u.reportInfo(null,`${C.padEnd(h," ")} ${Y.prettyLocator(r,w)}`);else for(let C of A.keys())u.reportInfo(null,C)})).exitCode()}};P0.paths=[["bin"]],P0.usage=it.Usage({description:"get the path to a binary script",details:` 389`),0}return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await sn.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((E,w)=>Math.max(E,w.length),0);for(let[E,[w,v]]of A)u.reportJson({name:E,source:Y.stringifyIdent(w),path:v});if(this.verbose)for(let[E,[w]]of A)u.reportInfo(null,`${E.padEnd(h," ")} ${Y.prettyLocator(r,w)}`);else for(let E of A.keys())u.reportInfo(null,E)})).exitCode()}};x0.paths=[["bin"]],x0.usage=it.Usage({description:"get the path to a binary script",details:`
390 When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. 390 When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.
391 391
392 When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. 392 When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.
393 `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});Ke();bt();_t();var x0=class extends ct{constructor(){super(...arguments);this.mirror=fe.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=fe.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Ur.find(r);return(await Ct.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await ae.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await ae.removePromise(o.cwd)})).exitCode()}};x0.paths=[["cache","clean"],["cache","clear"]],x0.usage=it.Usage({description:"remove the shared cache files",details:` 393 `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});Ke();bt();_t();var b0=class extends ct{constructor(){super(...arguments);this.mirror=fe.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=fe.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Ur.find(r);return(await Et.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await ae.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await ae.removePromise(o.cwd)})).exitCode()}};b0.paths=[["cache","clean"],["cache","clear"]],b0.usage=it.Usage({description:"remove the shared cache files",details:`
394 This command will remove all the files from the cache. 394 This command will remove all the files from the cache.
395 `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});Ke();_t();var ige=tt(z1()),B8=Ie("util"),b0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=fe.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new ot(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=Ye.convertMapsToIndexableObjects(u),p=a?(0,ige.default)(A,a):A,h=await Ct.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} 395 `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});Ke();_t();var uge=tt(e2()),v8=Ie("util"),Q0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=fe.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new ot(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=Ye.convertMapsToIndexableObjects(u),p=a?(0,uge.default)(A,a):A,h=await Et.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p}
396`),h.exitCode();B8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,B8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} 396`),h.exitCode();v8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,v8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})}
397`)}return h.exitCode()}};b0.paths=[["config","get"]],b0.usage=it.Usage({description:"read a configuration settings",details:` 397`)}return h.exitCode()}};Q0.paths=[["config","get"]],Q0.usage=it.Usage({description:"read a configuration settings",details:`
398 This command will print a configuration setting. 398 This command will print a configuration setting.
399 399
400 Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. 400 Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value.
401 `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});Ke();_t();var Jge=tt(P8()),Vge=tt(z1()),zge=tt(x8()),b8=Ie("util"),Q0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String();this.value=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new ot("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?E=>Xe.updateHomeConfiguration(E):E=>Xe.updateConfiguration(o(),E))(E=>{if(n){let R=(0,Jge.default)(E);return(0,zge.default)(R,this.name,A),R}else return{...E,[a]:A}});let C=(await Xe.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),w=Ye.convertMapsToIndexableObjects(C),v=n?(0,Vge.default)(w,n):w;return(await Ct.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async E=>{b8.inspect.styles.name="cyan",E.reportInfo(0,`Successfully set ${this.name} to ${(0,b8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Q0.paths=[["config","set"]],Q0.usage=it.Usage({description:"change a configuration settings",details:` 401 `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});Ke();_t();var ede=tt(x8()),tde=tt(e2()),rde=tt(b8()),Q8=Ie("util"),k0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String();this.value=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new ot("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?C=>Xe.updateHomeConfiguration(C):C=>Xe.updateConfiguration(o(),C))(C=>{if(n){let R=(0,ede.default)(C);return(0,rde.default)(R,this.name,A),R}else return{...C,[a]:A}});let E=(await Xe.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),w=Ye.convertMapsToIndexableObjects(E),v=n?(0,tde.default)(w,n):w;return(await Et.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async C=>{Q8.inspect.styles.name="cyan",C.reportInfo(0,`Successfully set ${this.name} to ${(0,Q8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};k0.paths=[["config","set"]],k0.usage=it.Usage({description:"change a configuration settings",details:`
402 This command will set a configuration setting. 402 This command will set a configuration setting.
403 403
404 When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). 404 When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean).
405 405
406 When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. 406 When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects.
407 `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});Ke();_t();var ade=tt(P8()),lde=tt(ede()),cde=tt(k8()),k0=class extends ct{constructor(){super(...arguments);this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Xe.updateHomeConfiguration(h):h=>Xe.updateConfiguration(o(),h);return(await Ct.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let C=!1;await A(w=>{if(!(0,lde.default)(w,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),C=!0,w;let v=n?(0,ade.default)(w):{...w};return(0,cde.default)(v,this.name),v}),C||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};k0.paths=[["config","unset"]],k0.usage=it.Usage({description:"unset a configuration setting",details:` 407 `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});Ke();_t();var pde=tt(x8()),hde=tt(ode()),gde=tt(F8()),F0=class extends ct{constructor(){super(...arguments);this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Xe.updateHomeConfiguration(h):h=>Xe.updateConfiguration(o(),h);return(await Et.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await A(w=>{if(!(0,hde.default)(w,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,w;let v=n?(0,pde.default)(w):{...w};return(0,gde.default)(v,this.name),v}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};F0.paths=[["config","unset"]],F0.usage=it.Usage({description:"unset a configuration setting",details:`
408 This command will unset a configuration setting. 408 This command will unset a configuration setting.
409 `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});Ke();Ke();_t();var F8=Ie("util"),F0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=fe.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{if(r.invalid.size>0&&!this.json){for(let[n,u]of r.invalid)a.reportError(34,`Invalid configuration key "${n}" in ${u}`);a.reportSeparator()}if(this.json){let n=Ye.sortMap(r.settings.keys(),u=>u);for(let u of n){let A=r.settings.get(u),p=r.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),h=r.sources.get(u);this.verbose?a.reportJson({key:u,effective:p,source:h}):a.reportJson({key:u,effective:p,source:h,...A})}}else{let n=Ye.sortMap(r.settings.keys(),p=>p),u=n.reduce((p,h)=>Math.max(p,h.length),0),A={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let p=n.map(C=>{let w=r.settings.get(C);if(!w)throw new Error(`Assertion failed: This settings ("${C}") should have been registered`);let v=this.why?r.sources.get(C)||"<default>":w.description;return[C,v]}),h=p.reduce((C,[,w])=>Math.max(C,w.length),0);for(let[C,w]of p)a.reportInfo(null,`${C.padEnd(u," ")} ${w.padEnd(h," ")} ${(0,F8.inspect)(r.getSpecial(C,{hideSecrets:!0,getNativePaths:!0}),A)}`)}else for(let p of n)a.reportInfo(null,`${p.padEnd(u," ")} ${(0,F8.inspect)(r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),A)}`)}})).exitCode()}};F0.paths=[["config"]],F0.usage=it.Usage({description:"display the current configuration",details:` 409 `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});Ke();Ke();_t();var R8=Ie("util"),R0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=fe.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{if(r.invalid.size>0&&!this.json){for(let[n,u]of r.invalid)a.reportError(34,`Invalid configuration key "${n}" in ${u}`);a.reportSeparator()}if(this.json){let n=Ye.sortMap(r.settings.keys(),u=>u);for(let u of n){let A=r.settings.get(u),p=r.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),h=r.sources.get(u);this.verbose?a.reportJson({key:u,effective:p,source:h}):a.reportJson({key:u,effective:p,source:h,...A})}}else{let n=Ye.sortMap(r.settings.keys(),p=>p),u=n.reduce((p,h)=>Math.max(p,h.length),0),A={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let p=n.map(E=>{let w=r.settings.get(E);if(!w)throw new Error(`Assertion failed: This settings ("${E}") should have been registered`);let v=this.why?r.sources.get(E)||"<default>":w.description;return[E,v]}),h=p.reduce((E,[,w])=>Math.max(E,w.length),0);for(let[E,w]of p)a.reportInfo(null,`${E.padEnd(u," ")} ${w.padEnd(h," ")} ${(0,R8.inspect)(r.getSpecial(E,{hideSecrets:!0,getNativePaths:!0}),A)}`)}else for(let p of n)a.reportInfo(null,`${p.padEnd(u," ")} ${(0,R8.inspect)(r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),A)}`)}})).exitCode()}};R0.paths=[["config"]],R0.usage=it.Usage({description:"display the current configuration",details:`
410 This command prints the current active configuration settings. 410 This command prints the current active configuration settings.
411 `,examples:[["Print the active configuration settings","$0 config"]]});Ke();_t();$a();var Xb={};Yt(Xb,{Strategy:()=>X1,acceptedStrategies:()=>W0t,dedupe:()=>R8});Ke();Ke();var ude=tt(Jo()),X1=(e=>(e.HIGHEST="highest",e))(X1||{}),W0t=new Set(Object.values(X1)),Y0t={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let C=t.storedDescriptors.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);Ye.getSetWithDefault(u,C.identHash).add(h)}let A=new Map(Ye.mapAndFilter(t.storedDescriptors.values(),p=>Y.isVirtualDescriptor(p)?Ye.mapAndFilter.skip:[p.descriptorHash,Ye.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let C=t.storedResolutions.get(p.descriptorHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let w=t.originalPackages.get(C);if(typeof w>"u")throw new Error(`Assertion failed: The package (${C}) should have been registered`);Promise.resolve().then(async()=>{var re;let v=r.getResolutionDependencies(p,a),b=Object.fromEntries(await Ye.allSettledSafe(Object.entries(v).map(async([oe,pe])=>{let he=A.get(pe.descriptorHash);if(typeof he>"u")throw new Error(`Assertion failed: The descriptor (${pe.descriptorHash}) should have been registered`);let ve=await he.promise;if(!ve)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[oe,ve.updatedPackage]})));if(e.length&&!ude.default.isMatch(Y.stringifyIdent(p),e)||!r.shouldPersistResolution(w,a))return w;let E=u.get(p.identHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(E.size===1)return w;let R=[...E].map(oe=>{let pe=t.originalPackages.get(oe);if(typeof pe>"u")throw new Error(`Assertion failed: The package (${oe}) should have been registered`);return pe}),L=await r.getSatisfying(p,b,R,a),_=(re=L.locators)==null?void 0:re[0];if(typeof _>"u"||!L.sorted)return w;let J=t.originalPackages.get(_.locatorHash);if(typeof J>"u")throw new Error(`Assertion failed: The package (${_.locatorHash}) should have been registered`);return J}).then(async v=>{let b=await t.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:w,updatedPackage:v,resolvedPackage:b})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function R8(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new xi,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},C={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let w=Y0t[e],v=await w(t,r,{resolver:A,resolveOptions:C,fetcher:p,fetchOptions:h}),b=Vs.progressViaCounter(v.length);await a.reportProgress(b);let E=0;await Promise.all(v.map(_=>_.then(J=>{if(J===null||J.currentPackage.locatorHash===J.updatedPackage.locatorHash)return;E++;let{descriptor:re,currentPackage:oe,updatedPackage:pe}=J;a.reportInfo(0,`${Y.prettyDescriptor(n,re)} can be deduped from ${Y.prettyLocator(n,oe)} to ${Y.prettyLocator(n,pe)}`),a.reportJson({descriptor:Y.stringifyDescriptor(re),currentResolution:Y.stringifyLocator(oe),updatedResolution:Y.stringifyLocator(pe)}),t.storedResolutions.set(re.descriptorHash,pe.locatorHash)}).finally(()=>b.tick())));let R;switch(E){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${E} packages`}let L=ye.pretty(n,e,ye.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${L} strategy`),E})}var R0=class extends ct{constructor(){super(...arguments);this.strategy=fe.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Gs(X1)});this.check=fe.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Ct.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await R8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:(await Ct.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await o.install({cache:a,report:p,mode:this.mode})})).exitCode()}};R0.paths=[["dedupe"]],R0.usage=it.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});Ke();_t();var Yd=class extends ct{async execute(){let{plugins:e}=await Xe.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=vo.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Ade()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} 411 `,examples:[["Print the active configuration settings","$0 config"]]});Ke();_t();tl();var iQ={};Yt(iQ,{Strategy:()=>t2,acceptedStrategies:()=>rht,dedupe:()=>T8});Ke();Ke();var dde=tt(Jo()),t2=(e=>(e.HIGHEST="highest",e))(t2||{}),rht=new Set(Object.values(t2)),nht={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);Ye.getSetWithDefault(u,E.identHash).add(h)}let A=new Map(Ye.mapAndFilter(t.storedDescriptors.values(),p=>Y.isVirtualDescriptor(p)?Ye.mapAndFilter.skip:[p.descriptorHash,Ye.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let w=t.originalPackages.get(E);if(typeof w>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{var re;let v=r.getResolutionDependencies(p,a),b=Object.fromEntries(await Ye.allSettledSafe(Object.entries(v).map(async([oe,pe])=>{let he=A.get(pe.descriptorHash);if(typeof he>"u")throw new Error(`Assertion failed: The descriptor (${pe.descriptorHash}) should have been registered`);let ve=await he.promise;if(!ve)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[oe,ve.updatedPackage]})));if(e.length&&!dde.default.isMatch(Y.stringifyIdent(p),e)||!r.shouldPersistResolution(w,a))return w;let C=u.get(p.identHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(C.size===1)return w;let R=[...C].map(oe=>{let pe=t.originalPackages.get(oe);if(typeof pe>"u")throw new Error(`Assertion failed: The package (${oe}) should have been registered`);return pe}),L=await r.getSatisfying(p,b,R,a),_=(re=L.locators)==null?void 0:re[0];if(typeof _>"u"||!L.sorted)return w;let V=t.originalPackages.get(_.locatorHash);if(typeof V>"u")throw new Error(`Assertion failed: The package (${_.locatorHash}) should have been registered`);return V}).then(async v=>{let b=await t.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:w,updatedPackage:v,resolvedPackage:b})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function T8(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new xi,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let w=nht[e],v=await w(t,r,{resolver:A,resolveOptions:E,fetcher:p,fetchOptions:h}),b=Js.progressViaCounter(v.length);await a.reportProgress(b);let C=0;await Promise.all(v.map(_=>_.then(V=>{if(V===null||V.currentPackage.locatorHash===V.updatedPackage.locatorHash)return;C++;let{descriptor:re,currentPackage:oe,updatedPackage:pe}=V;a.reportInfo(0,`${Y.prettyDescriptor(n,re)} can be deduped from ${Y.prettyLocator(n,oe)} to ${Y.prettyLocator(n,pe)}`),a.reportJson({descriptor:Y.stringifyDescriptor(re),currentResolution:Y.stringifyLocator(oe),updatedResolution:Y.stringifyLocator(pe)}),t.storedResolutions.set(re.descriptorHash,pe.locatorHash)}).finally(()=>b.tick())));let R;switch(C){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${C} packages`}let L=ye.pretty(n,e,ye.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${L} strategy`),C})}var T0=class extends ct{constructor(){super(...arguments);this.strategy=fe.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Gs(t2)});this.check=fe.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Et.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await T8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:(await Et.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await o.install({cache:a,report:p,mode:this.mode})})).exitCode()}};T0.paths=[["dedupe"]],T0.usage=it.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});Ke();_t();var Jd=class extends ct{async execute(){let{plugins:e}=await Xe.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=vo.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=mde()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)}
412`)}};Yd.paths=[["--clipanion=definitions"]];var Kd=class extends ct{async execute(){this.context.stdout.write(this.cli.usage(null))}};Kd.paths=[["help"],["--help"],["-h"]];Ke();bt();_t();var lC=class extends ct{constructor(){super(...arguments);this.leadingArgument=fe.String();this.args=fe.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!Y.tryParseIdent(this.leadingArgument)){let r=V.resolve(this.context.cwd,Ae.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ke();var Jd=class extends ct{async execute(){this.context.stdout.write(`${On||"<unknown>"} 412`)}};Jd.paths=[["--clipanion=definitions"]];var zd=class extends ct{async execute(){this.context.stdout.write(this.cli.usage(null))}};zd.paths=[["help"],["--help"],["-h"]];Ke();bt();_t();var pE=class extends ct{constructor(){super(...arguments);this.leadingArgument=fe.String();this.args=fe.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!Y.tryParseIdent(this.leadingArgument)){let r=z.resolve(this.context.cwd,ue.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ke();var Xd=class extends ct{async execute(){this.context.stdout.write(`${On||"<unknown>"}
413`)}};Jd.paths=[["-v"],["--version"]];Ke();Ke();_t();var T0=class extends ct{constructor(){super(...arguments);this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);return await o.restoreInstallState(),await sn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};T0.paths=[["exec"]],T0.usage=it.Usage({description:"execute a shell script",details:` 413`)}};Xd.paths=[["-v"],["--version"]];Ke();Ke();_t();var N0=class extends ct{constructor(){super(...arguments);this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);return await o.restoreInstallState(),await sn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};N0.paths=[["exec"]],N0.usage=it.Usage({description:"execute a shell script",details:`
414 This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. 414 This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell.
415 415
416 It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). 416 It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
417 `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});Ke();_t();$a();var N0=class extends ct{constructor(){super(...arguments);this.hash=fe.String({required:!1,validator:Xg(JI(),[VI(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await J0t(this.hash,o,{stdout:this.context.stdout}):(await Ct.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=[([,A])=>Y.stringifyLocator(o.storedPackages.get(A.subject)),([,A])=>Y.stringifyIdent(A.requested)];for(let[A,p]of Ye.sortMap(o.peerRequirements,u)){let h=o.storedPackages.get(p.subject);if(typeof h>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let C=o.storedPackages.get(p.rootRequester);if(typeof C>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let w=h.dependencies.get(p.requested.identHash)??null,v=ye.pretty(r,A,ye.Type.CODE),b=Y.prettyLocator(r,h),E=Y.prettyIdent(r,p.requested),R=Y.prettyIdent(r,C),L=p.allRequesters.length-1,_=`descendant${L===1?"":"s"}`,J=L>0?` and ${L} ${_}`:"",re=w!==null?"provides":"doesn't provide";n.reportInfo(null,`${v} \u2192 ${b} ${re} ${E} to ${R}${J}`)}})).exitCode()}};N0.paths=[["explain","peer-requirements"]],N0.usage=it.Usage({description:"explain a set of peer requirements",details:` 417 `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});Ke();_t();tl();var L0=class extends ct{constructor(){super(...arguments);this.hash=fe.String({required:!1,validator:ed(ZI(),[$I(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await sht(this.hash,o,{stdout:this.context.stdout}):(await Et.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=[([,A])=>Y.stringifyLocator(o.storedPackages.get(A.subject)),([,A])=>Y.stringifyIdent(A.requested)];for(let[A,p]of Ye.sortMap(o.peerRequirements,u)){let h=o.storedPackages.get(p.subject);if(typeof h>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let E=o.storedPackages.get(p.rootRequester);if(typeof E>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let w=h.dependencies.get(p.requested.identHash)??null,v=ye.pretty(r,A,ye.Type.CODE),b=Y.prettyLocator(r,h),C=Y.prettyIdent(r,p.requested),R=Y.prettyIdent(r,E),L=p.allRequesters.length-1,_=`descendant${L===1?"":"s"}`,V=L>0?` and ${L} ${_}`:"",re=w!==null?"provides":"doesn't provide";n.reportInfo(null,`${v} \u2192 ${b} ${re} ${C} to ${R}${V}`)}})).exitCode()}};L0.paths=[["explain","peer-requirements"]],L0.usage=it.Usage({description:"explain a set of peer requirements",details:`
418 A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. 418 A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.
419 419
420 When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. 420 When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.
@@ -422,9 +422,9 @@ Try running the command again with the package name prefixed: ${ye.pretty(r,"yar
422 When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. 422 When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.
423 423
424 **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). 424 **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`).
425 `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function J0t(t,e,r){let{configuration:o}=e,a=e.peerRequirements.get(t);if(typeof a>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Ct.start({configuration:o,stdout:r.stdout,includeFooter:!1},async u=>{let A=e.storedPackages.get(a.subject);if(typeof A>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let p=e.storedPackages.get(a.rootRequester);if(typeof p>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let h=A.dependencies.get(a.requested.identHash)??null,C=h!==null?e.storedResolutions.get(h.descriptorHash):null;if(typeof C>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let w=C!==null?e.storedPackages.get(C):null;if(typeof w>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let v=[...a.allRequesters.values()].map(_=>{let J=e.storedPackages.get(_);if(typeof J>"u")throw new Error("Assertion failed: Expected the package to be registered");let re=Y.devirtualizeLocator(J),oe=e.storedPackages.get(re.locatorHash);if(typeof oe>"u")throw new Error("Assertion failed: Expected the package to be registered");let pe=oe.peerDependencies.get(a.requested.identHash);if(typeof pe>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:J,peerDependency:pe}});if(w!==null){let _=v.every(({peerDependency:J})=>Tr.satisfiesWithPrereleases(w.version,J.range));u.reportInfo(0,`${Y.prettyLocator(o,A)} provides ${Y.prettyLocator(o,w)} with version ${Y.prettyReference(o,w.version??"<missing>")}, which ${_?"satisfies":"doesn't satisfy"} the following requirements:`)}else u.reportInfo(0,`${Y.prettyLocator(o,A)} doesn't provide ${Y.prettyIdent(o,a.requested)}, breaking the following requirements:`);u.reportSeparator();let b=ye.mark(o),E=[];for(let{pkg:_,peerDependency:J}of Ye.sortMap(v,re=>Y.stringifyLocator(re.pkg))){let oe=(w!==null?Tr.satisfiesWithPrereleases(w.version,J.range):!1)?b.Check:b.Cross;E.push({stringifiedLocator:Y.stringifyLocator(_),prettyLocator:Y.prettyLocator(o,_),prettyRange:Y.prettyRange(o,J.range),mark:oe})}let R=Math.max(...E.map(({stringifiedLocator:_})=>_.length)),L=Math.max(...E.map(({prettyRange:_})=>_.length));for(let{stringifiedLocator:_,prettyLocator:J,prettyRange:re,mark:oe}of Ye.sortMap(E,({stringifiedLocator:pe})=>pe))u.reportInfo(null,`${J.padEnd(R+(J.length-_.length)," ")} \u2192 ${re.padEnd(L," ")} ${oe}`);E.length>1&&(u.reportSeparator(),u.reportInfo(0,`Note: these requirements start with ${Y.prettyLocator(e.configuration,p)}`))})).exitCode()}Ke();_t();$a();Ke();Ke();bt();_t();var fde=tt(ii()),L0=class extends ct{constructor(){super(...arguments);this.useYarnPath=fe.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=fe.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(V.contains(p,A))return 0}let o=()=>{if(typeof On>"u")throw new ot("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:On??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await Z1(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await Z1(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.version))a={url:`file://${V.resolve(Ae.toPortablePath(this.version))}`,version:"file"};else if(Tr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Tr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Tr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await V0t(r,this.version));else throw new ot(`Invalid version descriptor "${this.version}"`);return(await Ct.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${ye.pretty(r,a.url,ye.Type.PATH)}`),await ae.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${ye.pretty(r,a.url,ye.Type.URL)}`),await ln.get(a.url,{configuration:r}))};await T8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};L0.paths=[["set","version"]],L0.usage=it.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function V0t(t,e){let o=(await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Tr.satisfiesWithPrereleases(a,e));if(o.length===0)throw new ot(`No matching release found for range ${ye.pretty(t,e,ye.Type.RANGE)}.`);return o[0]}async function Z1(t,e){let r=await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new ot(`Tag ${ye.pretty(t,e,ye.Type.RANGE)} not found`);return r.latest[e]}async function T8(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let re=await u();await ae.mktempPromise(async oe=>{let pe=V.join(oe,"yarn.cjs");await ae.writeFilePromise(pe,re);let{stdout:he}=await Mr.execvp(process.execPath,[Ae.fromPortablePath(pe),"--version"],{cwd:oe,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=he.trim(),!fde.default.valid(e))throw new Error(`Invalid semver version. ${ye.pretty(t,"yarn --version",ye.Type.CODE)} returned: 425 `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function sht(t,e,r){let{configuration:o}=e,a=e.peerRequirements.get(t);if(typeof a>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Et.start({configuration:o,stdout:r.stdout,includeFooter:!1},async u=>{let A=e.storedPackages.get(a.subject);if(typeof A>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let p=e.storedPackages.get(a.rootRequester);if(typeof p>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let h=A.dependencies.get(a.requested.identHash)??null,E=h!==null?e.storedResolutions.get(h.descriptorHash):null;if(typeof E>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let w=E!==null?e.storedPackages.get(E):null;if(typeof w>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let v=[...a.allRequesters.values()].map(_=>{let V=e.storedPackages.get(_);if(typeof V>"u")throw new Error("Assertion failed: Expected the package to be registered");let re=Y.devirtualizeLocator(V),oe=e.storedPackages.get(re.locatorHash);if(typeof oe>"u")throw new Error("Assertion failed: Expected the package to be registered");let pe=oe.peerDependencies.get(a.requested.identHash);if(typeof pe>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:V,peerDependency:pe}});if(w!==null){let _=v.every(({peerDependency:V})=>Tr.satisfiesWithPrereleases(w.version,V.range));u.reportInfo(0,`${Y.prettyLocator(o,A)} provides ${Y.prettyLocator(o,w)} with version ${Y.prettyReference(o,w.version??"<missing>")}, which ${_?"satisfies":"doesn't satisfy"} the following requirements:`)}else u.reportInfo(0,`${Y.prettyLocator(o,A)} doesn't provide ${Y.prettyIdent(o,a.requested)}, breaking the following requirements:`);u.reportSeparator();let b=ye.mark(o),C=[];for(let{pkg:_,peerDependency:V}of Ye.sortMap(v,re=>Y.stringifyLocator(re.pkg))){let oe=(w!==null?Tr.satisfiesWithPrereleases(w.version,V.range):!1)?b.Check:b.Cross;C.push({stringifiedLocator:Y.stringifyLocator(_),prettyLocator:Y.prettyLocator(o,_),prettyRange:Y.prettyRange(o,V.range),mark:oe})}let R=Math.max(...C.map(({stringifiedLocator:_})=>_.length)),L=Math.max(...C.map(({prettyRange:_})=>_.length));for(let{stringifiedLocator:_,prettyLocator:V,prettyRange:re,mark:oe}of Ye.sortMap(C,({stringifiedLocator:pe})=>pe))u.reportInfo(null,`${V.padEnd(R+(V.length-_.length)," ")} \u2192 ${re.padEnd(L," ")} ${oe}`);C.length>1&&(u.reportSeparator(),u.reportInfo(0,`Note: these requirements start with ${Y.prettyLocator(e.configuration,p)}`))})).exitCode()}Ke();_t();tl();Ke();Ke();bt();_t();var yde=tt(si()),O0=class extends ct{constructor(){super(...arguments);this.useYarnPath=fe.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=fe.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(z.contains(p,A))return 0}let o=()=>{if(typeof On>"u")throw new ot("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:On??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await r2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await r2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.version))a={url:`file://${z.resolve(ue.toPortablePath(this.version))}`,version:"file"};else if(Tr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Tr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Tr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await oht(r,this.version));else throw new ot(`Invalid version descriptor "${this.version}"`);return(await Et.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${ye.pretty(r,a.url,ye.Type.PATH)}`),await ae.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${ye.pretty(r,a.url,ye.Type.URL)}`),await ln.get(a.url,{configuration:r}))};await N8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};O0.paths=[["set","version"]],O0.usage=it.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function oht(t,e){let o=(await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Tr.satisfiesWithPrereleases(a,e));if(o.length===0)throw new ot(`No matching release found for range ${ye.pretty(t,e,ye.Type.RANGE)}.`);return o[0]}async function r2(t,e){let r=await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new ot(`Tag ${ye.pretty(t,e,ye.Type.RANGE)} not found`);return r.latest[e]}async function N8(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let re=await u();await ae.mktempPromise(async oe=>{let pe=z.join(oe,"yarn.cjs");await ae.writeFilePromise(pe,re);let{stdout:he}=await Mr.execvp(process.execPath,[ue.fromPortablePath(pe),"--version"],{cwd:oe,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=he.trim(),!yde.default.valid(e))throw new Error(`Invalid semver version. ${ye.pretty(t,"yarn --version",ye.Type.CODE)} returned:
426${e}`)})}let A=t.projectCwd??t.startingCwd,p=V.resolve(A,".yarn/releases"),h=V.resolve(p,`yarn-${e}.cjs`),C=V.relative(t.startingCwd,h),w=Ye.isTaggedYarnVersion(e),v=t.get("yarnPath"),b=!w,E=b||!!v||!!a;if(a===!1){if(b)throw new Jt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");E=!1}else!E&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${ye.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${ye.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),E=!0);if(E){let re=await u();o.reportInfo(0,`Saving the new release in ${ye.pretty(t,C,"magenta")}`),await ae.removePromise(V.dirname(h)),await ae.mkdirPromise(V.dirname(h),{recursive:!0}),await ae.writeFilePromise(h,re,{mode:493}),await Xe.updateConfiguration(A,{yarnPath:V.relative(A,h)})}else await ae.removePromise(V.dirname(h)),await Xe.updateConfiguration(A,{yarnPath:Xe.deleteProperty});let R=await Nt.tryFind(A)||new Nt;R.packageManager=`yarn@${w?e:await Z1(t,"stable")}`;let L={};R.exportTo(L);let _=V.join(A,Nt.fileName),J=`${JSON.stringify(L,null,R.indent)} 426${e}`)})}let A=t.projectCwd??t.startingCwd,p=z.resolve(A,".yarn/releases"),h=z.resolve(p,`yarn-${e}.cjs`),E=z.relative(t.startingCwd,h),w=Ye.isTaggedYarnVersion(e),v=t.get("yarnPath"),b=!w,C=b||!!v||!!a;if(a===!1){if(b)throw new Vt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");C=!1}else!C&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${ye.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${ye.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),C=!0);if(C){let re=await u();o.reportInfo(0,`Saving the new release in ${ye.pretty(t,E,"magenta")}`),await ae.removePromise(z.dirname(h)),await ae.mkdirPromise(z.dirname(h),{recursive:!0}),await ae.writeFilePromise(h,re,{mode:493}),await Xe.updateConfiguration(A,{yarnPath:z.relative(A,h)})}else await ae.removePromise(z.dirname(h)),await Xe.updateConfiguration(A,{yarnPath:Xe.deleteProperty});let R=await Nt.tryFind(A)||new Nt;R.packageManager=`yarn@${w?e:await r2(t,"stable")}`;let L={};R.exportTo(L);let _=z.join(A,Nt.fileName),V=`${JSON.stringify(L,null,R.indent)}
427`;return await ae.changeFilePromise(_,J,{automaticNewlines:!0}),{bundleVersion:e}}function pde(t){return dr[YD(t)]}var z0t=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function X0t(t){let r=`https://repo.yarnpkg.com/${Ye.isTaggedYarnVersion(On)?On:await Z1(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,o=await ln.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(z0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=pde(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var O0=class extends ct{constructor(){super(...arguments);this.code=fe.String({required:!1,validator:Xg(JI(),[VI(/^YN[0-9]{4}$/)])});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=pde(this.code),a=ye.pretty(r,o,ye.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await X0t(r)).get(this.code),p=typeof A<"u"?ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. 427`;return await ae.changeFilePromise(_,V,{automaticNewlines:!0}),{bundleVersion:e}}function Cde(t){return dr[$D(t)]}var aht=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function lht(t){let r=`https://repo.yarnpkg.com/${Ye.isTaggedYarnVersion(On)?On:await r2(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,o=await ln.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(aht),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=Cde(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var M0=class extends ct{constructor(){super(...arguments);this.code=fe.String({required:!1,validator:ed(ZI(),[$I(/^YN[0-9]{4}$/)])});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=Cde(this.code),a=ye.pretty(r,o,ye.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await lht(r)).get(this.code),p=typeof A<"u"?ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description.
428 428
429You can help us by editing this page on GitHub \u{1F642}: 429You can help us by editing this page on GitHub \u{1F642}:
430${ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} 430${ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))}
@@ -432,25 +432,25 @@ ${ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.URL,"https://github.com/yarnpkg/b
432`):this.context.stdout.write(`${n} 432`):this.context.stdout.write(`${n}
433 433
434${p} 434${p}
435`)}else{let o={children:Ye.mapAndFilter(Object.entries(dr),([a,n])=>Number.isNaN(Number(a))?Ye.mapAndFilter.skip:{label:Ku(Number(a)),value:ye.tuple(ye.Type.CODE,n)})};Xo.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};O0.paths=[["explain"]],O0.usage=it.Usage({description:"explain an error code",details:` 435`)}else{let o={children:Ye.mapAndFilter(Object.entries(dr),([a,n])=>Number.isNaN(Number(a))?Ye.mapAndFilter.skip:{label:Vu(Number(a)),value:ye.tuple(ye.Type.CODE,n)})};Zo.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};M0.paths=[["explain"]],M0.usage=it.Usage({description:"explain an error code",details:`
436 When the code argument is specified, this command prints its name and its details. 436 When the code argument is specified, this command prints its name and its details.
437 437
438 When used without arguments, this command lists all error codes and their names. 438 When used without arguments, this command lists all error codes and their names.
439 `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});Ke();bt();_t();var hde=tt(Jo()),M0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=fe.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=fe.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=fe.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=fe.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=fe.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=fe.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a&&!this.all)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(oe,{recursive:pe})=>{let he=oe.anchoredLocator.locatorHash,ve=new Map,ge=[he];for(;ge.length>0;){let le=ge.shift();if(ve.has(le))continue;let Pe=o.storedPackages.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the package to be registered");if(ve.set(le,Pe),Y.isVirtualLocator(Pe)&&ge.push(Y.devirtualizeLocator(Pe).locatorHash),!(!pe&&le!==he))for(let g of Pe.dependencies.values()){let De=o.storedResolutions.get(g.descriptorHash);if(typeof De>"u")throw new Error("Assertion failed: Expected the resolution to be registered");ge.push(De)}}return ve.values()},p=({recursive:oe})=>{let pe=new Map;for(let he of o.workspaces)for(let ve of A(he,{recursive:oe}))pe.set(ve.locatorHash,ve);return pe.values()},h=({all:oe,recursive:pe})=>oe&&pe?o.storedPackages.values():oe?p({recursive:pe}):A(a,{recursive:pe}),C=({all:oe,recursive:pe})=>{let he=h({all:oe,recursive:pe}),ve=this.patterns.map(Pe=>{let g=Y.parseLocator(Pe),De=hde.default.makeRe(Y.stringifyIdent(g)),Ee=Y.isVirtualLocator(g),de=Ee?Y.devirtualizeLocator(g):g;return ne=>{let Z=Y.stringifyIdent(ne);if(!De.test(Z))return!1;if(g.reference==="unknown")return!0;let me=Y.isVirtualLocator(ne),be=me?Y.devirtualizeLocator(ne):ne;return!(Ee&&me&&g.reference!==ne.reference||de.reference!==be.reference)}}),ge=Ye.sortMap([...he],Pe=>Y.stringifyLocator(Pe));return{selection:ge.filter(Pe=>ve.length===0||ve.some(g=>g(Pe))),sortedLookup:ge}},{selection:w,sortedLookup:v}=C({all:this.all,recursive:this.recursive});if(w.length===0)throw new ot("No package matched your request");let b=new Map;if(this.dependents)for(let oe of v)for(let pe of oe.dependencies.values()){let he=o.storedResolutions.get(pe.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ye.getArrayWithDefault(b,he).push(oe)}let E=new Map;for(let oe of v){if(!Y.isVirtualLocator(oe))continue;let pe=Y.devirtualizeLocator(oe);Ye.getArrayWithDefault(E,pe.locatorHash).push(oe)}let R={},L={children:R},_=r.makeFetcher(),J={project:o,fetcher:_,cache:n,checksums:o.storedChecksums,report:new xi,cacheOptions:{skipIntegrityCheck:!0}},re=[async(oe,pe,he)=>{var le;if(!pe.has("manifest"))return;let ve=await _.fetch(oe,J),ge;try{ge=await Nt.find(ve.prefixPath,{baseFs:ve.packageFs})}finally{(le=ve.releaseFs)==null||le.call(ve)}he("Manifest",{License:ye.tuple(ye.Type.NO_HINT,ge.license),Homepage:ye.tuple(ye.Type.URL,ge.raw.homepage??null)})},async(oe,pe,he)=>{if(!pe.has("cache"))return;let ve={mockedPackages:o.disabledLocators,unstablePackages:o.conditionalLocators},ge=o.storedChecksums.get(oe.locatorHash)??null,le=n.getLocatorPath(oe,ge,ve),Pe;if(le!==null)try{Pe=ae.statSync(le)}catch{}let g=typeof Pe<"u"?[Pe.size,ye.Type.SIZE]:void 0;he("Cache",{Checksum:ye.tuple(ye.Type.NO_HINT,ge),Path:ye.tuple(ye.Type.PATH,le),Size:g})}];for(let oe of w){let pe=Y.isVirtualLocator(oe);if(!this.virtuals&&pe)continue;let he={},ve={value:[oe,ye.Type.LOCATOR],children:he};if(R[Y.stringifyLocator(oe)]=ve,this.nameOnly){delete ve.children;continue}let ge=E.get(oe.locatorHash);typeof ge<"u"&&(he.Instances={label:"Instances",value:ye.tuple(ye.Type.NUMBER,ge.length)}),he.Version={label:"Version",value:ye.tuple(ye.Type.NO_HINT,oe.version)};let le=(g,De)=>{let Ee={};if(he[g]=Ee,Array.isArray(De))Ee.children=De.map(de=>({value:de}));else{let de={};Ee.children=de;for(let[ne,Z]of Object.entries(De))typeof Z>"u"||(de[ne]={label:ne,value:Z})}};if(!pe){for(let g of re)await g(oe,u,le);await r.triggerHook(g=>g.fetchPackageInfo,oe,u,le)}oe.bin.size>0&&!pe&&le("Exported Binaries",[...oe.bin.keys()].map(g=>ye.tuple(ye.Type.PATH,g)));let Pe=b.get(oe.locatorHash);typeof Pe<"u"&&Pe.length>0&&le("Dependents",Pe.map(g=>ye.tuple(ye.Type.LOCATOR,g))),oe.dependencies.size>0&&!pe&&le("Dependencies",[...oe.dependencies.values()].map(g=>{let De=o.storedResolutions.get(g.descriptorHash),Ee=typeof De<"u"?o.storedPackages.get(De)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:Ee})})),oe.peerDependencies.size>0&&pe&&le("Peer dependencies",[...oe.peerDependencies.values()].map(g=>{let De=oe.dependencies.get(g.identHash),Ee=typeof De<"u"?o.storedResolutions.get(De.descriptorHash)??null:null,de=Ee!==null?o.storedPackages.get(Ee)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:de})}))}Xo.emitTree(L,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};M0.paths=[["info"]],M0.usage=it.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});Ke();bt();Ol();var Zb=tt(Jg());_t();$a();var U0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=fe.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=fe.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=fe.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=fe.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=fe.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=fe.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.cacheFolder=fe.String("--cache-folder",{hidden:!0});this.frozenLockfile=fe.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=fe.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=fe.Boolean("--non-interactive",{hidden:!0});this.preferOffline=fe.Boolean("--prefer-offline",{hidden:!0});this.production=fe.Boolean("--production",{hidden:!0});this.registry=fe.String("--registry",{hidden:!0});this.silent=fe.Boolean("--silent",{hidden:!0});this.networkTimeout=fe.String("--network-timeout",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("<cli>",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=async(E,{error:R})=>{let L=await Ct.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async _=>{R?_.reportError(50,E):_.reportWarning(50,E)});return L.hasErrors()?L.exitCode():null};if(typeof this.ignoreEngines<"u"){let E=await a("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!Zb.default.VERCEL});if(E!==null)return E}if(typeof this.registry<"u"){let E=await a("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(E!==null)return E}if(typeof this.preferOffline<"u"){let E=await a("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!Zb.default.VERCEL});if(E!==null)return E}if(typeof this.production<"u"){let E=await a("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(E!==null)return E}if(typeof this.nonInteractive<"u"){let E=await a("The --non-interactive option is deprecated",{error:!o});if(E!==null)return E}if(typeof this.frozenLockfile<"u"&&(await a("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let E=await a("The cache-folder option has been deprecated; use rc settings instead",{error:!Zb.default.NETLIFY});if(E!==null)return E}let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new ot(`${ye.pretty(r,"--immutable",ye.Type.CODE)} and ${ye.pretty(r,"--immutable-cache",ye.Type.CODE)} cannot be used with ${ye.pretty(r,"--mode=update-lockfile",ye.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let E=await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{await $0t(r,u)&&(R.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),R.reportSeparator())});if(E.hasErrors())return E.exitCode()}if(r.projectCwd!==null&&typeof r.sources.get("nodeLinker")>"u"){let E=r.projectCwd,R;try{R=await ae.readFilePromise(V.join(E,Lr.lockfile),"utf8")}catch{}if(R!=null&&R.includes("yarn lockfile v1")){let L=await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async _=>{_.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),_.reportSeparator(),r.use("<compat>",{nodeLinker:"node-modules"},E,{overwrite:!0}),await Xe.updateConfiguration(E,{nodeLinker:"node-modules"})});if(L.hasErrors())return L.exitCode()}}if(r.projectCwd!==null){let E=await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{var L;(L=Xe.telemetry)!=null&&L.isNew&&(R.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),R.reportInfo(65,`Run ${ye.pretty(r,"yarn config set --home enableTelemetry 0",ye.Type.CODE)} to disable`),R.reportSeparator())});if(E.hasErrors())return E.exitCode()}let{project:p,workspace:h}=await St.find(r,this.context.cwd),C=await Ur.find(r,{immutable:A,check:this.checkCache});if(!h)throw new er(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let w=r.get("enableHardenedMode");(this.refreshLockfile??w)&&(p.lockfileNeedsRefresh=!0);let v=this.checkResolutions??w;return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async E=>{await p.install({cache:C,report:E,immutable:u,checkResolutions:v,mode:this.mode})})).exitCode()}};U0.paths=[["install"],it.Default],U0.usage=it.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Z0t="<<<<<<<";async function $0t(t,e){if(!t.projectCwd)return!1;let r=V.join(t.projectCwd,t.get("lockfileFilename"));if(!await ae.existsPromise(r)||!(await ae.readFilePromise(r,"utf8")).includes(Z0t))return!1;if(e)throw new Jt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Mr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Mr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Mr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Jt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Mr.execvp("git",["show",`${A}:./${Lr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Jt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Yi(p.stdout)}catch{throw new Jt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n)if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=Y.parseDescriptor(p,!0),C=t.normalizeDependency(h),w=Y.stringifyDescriptor(C);w!==p&&(A[w]=A[p],delete A[p])}let u=Object.assign({},...n);u.__metadata.version=Math.min(0,...n.map(A=>A.__metadata.version??1/0)),u.__metadata.cacheKey=Math.min(0,...n.map(A=>A.__metadata.cacheKey??0));for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await ae.changeFilePromise(r,Ia(u),{automaticNewlines:!0}),!0}Ke();bt();_t();var _0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=fe.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=fe.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let h of this.destinations){let C=V.resolve(this.context.cwd,Ae.toPortablePath(h)),w=await Xe.find(C,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,C);if(o.cwd===v.cwd)throw new ot(`Invalid destination '${h}'; Can't link the project to itself`);if(!b)throw new er(v.cwd,C);if(this.all){let E=!1;for(let R of v.workspaces)R.manifest.name&&(!R.manifest.private||this.private)&&(A.push(R),E=!0);if(!E)throw new ot(`No workspace found to be linked in the target project: ${h}`)}else{if(!b.manifest.name)throw new ot(`The target workspace at '${h}' doesn't have a name and thus cannot be linked`);if(b.manifest.private&&!this.private)throw new ot(`The target workspace at '${h}' is marked private - use the --private flag to link it anyway`);A.push(b)}}for(let h of A){let C=Y.stringifyIdent(h.locator),w=this.relative?V.relative(o.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:C}},reference:`portal:${w}`})}return(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};_0.paths=[["link"]],_0.usage=it.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});_t();var H0=class extends ct{constructor(){super(...arguments);this.args=fe.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};H0.paths=[["node"]],H0.usage=it.Usage({description:"run node with the hook already setup",details:` 439 `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});Ke();bt();_t();var Ede=tt(Jo()),U0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=fe.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=fe.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=fe.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=fe.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=fe.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=fe.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a&&!this.all)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(oe,{recursive:pe})=>{let he=oe.anchoredLocator.locatorHash,ve=new Map,ge=[he];for(;ge.length>0;){let le=ge.shift();if(ve.has(le))continue;let Pe=o.storedPackages.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the package to be registered");if(ve.set(le,Pe),Y.isVirtualLocator(Pe)&&ge.push(Y.devirtualizeLocator(Pe).locatorHash),!(!pe&&le!==he))for(let g of Pe.dependencies.values()){let De=o.storedResolutions.get(g.descriptorHash);if(typeof De>"u")throw new Error("Assertion failed: Expected the resolution to be registered");ge.push(De)}}return ve.values()},p=({recursive:oe})=>{let pe=new Map;for(let he of o.workspaces)for(let ve of A(he,{recursive:oe}))pe.set(ve.locatorHash,ve);return pe.values()},h=({all:oe,recursive:pe})=>oe&&pe?o.storedPackages.values():oe?p({recursive:pe}):A(a,{recursive:pe}),E=({all:oe,recursive:pe})=>{let he=h({all:oe,recursive:pe}),ve=this.patterns.map(Pe=>{let g=Y.parseLocator(Pe),De=Ede.default.makeRe(Y.stringifyIdent(g)),Ce=Y.isVirtualLocator(g),de=Ce?Y.devirtualizeLocator(g):g;return ne=>{let Z=Y.stringifyIdent(ne);if(!De.test(Z))return!1;if(g.reference==="unknown")return!0;let me=Y.isVirtualLocator(ne),be=me?Y.devirtualizeLocator(ne):ne;return!(Ce&&me&&g.reference!==ne.reference||de.reference!==be.reference)}}),ge=Ye.sortMap([...he],Pe=>Y.stringifyLocator(Pe));return{selection:ge.filter(Pe=>ve.length===0||ve.some(g=>g(Pe))),sortedLookup:ge}},{selection:w,sortedLookup:v}=E({all:this.all,recursive:this.recursive});if(w.length===0)throw new ot("No package matched your request");let b=new Map;if(this.dependents)for(let oe of v)for(let pe of oe.dependencies.values()){let he=o.storedResolutions.get(pe.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ye.getArrayWithDefault(b,he).push(oe)}let C=new Map;for(let oe of v){if(!Y.isVirtualLocator(oe))continue;let pe=Y.devirtualizeLocator(oe);Ye.getArrayWithDefault(C,pe.locatorHash).push(oe)}let R={},L={children:R},_=r.makeFetcher(),V={project:o,fetcher:_,cache:n,checksums:o.storedChecksums,report:new xi,cacheOptions:{skipIntegrityCheck:!0}},re=[async(oe,pe,he)=>{var le;if(!pe.has("manifest"))return;let ve=await _.fetch(oe,V),ge;try{ge=await Nt.find(ve.prefixPath,{baseFs:ve.packageFs})}finally{(le=ve.releaseFs)==null||le.call(ve)}he("Manifest",{License:ye.tuple(ye.Type.NO_HINT,ge.license),Homepage:ye.tuple(ye.Type.URL,ge.raw.homepage??null)})},async(oe,pe,he)=>{if(!pe.has("cache"))return;let ve={mockedPackages:o.disabledLocators,unstablePackages:o.conditionalLocators},ge=o.storedChecksums.get(oe.locatorHash)??null,le=n.getLocatorPath(oe,ge,ve),Pe;if(le!==null)try{Pe=ae.statSync(le)}catch{}let g=typeof Pe<"u"?[Pe.size,ye.Type.SIZE]:void 0;he("Cache",{Checksum:ye.tuple(ye.Type.NO_HINT,ge),Path:ye.tuple(ye.Type.PATH,le),Size:g})}];for(let oe of w){let pe=Y.isVirtualLocator(oe);if(!this.virtuals&&pe)continue;let he={},ve={value:[oe,ye.Type.LOCATOR],children:he};if(R[Y.stringifyLocator(oe)]=ve,this.nameOnly){delete ve.children;continue}let ge=C.get(oe.locatorHash);typeof ge<"u"&&(he.Instances={label:"Instances",value:ye.tuple(ye.Type.NUMBER,ge.length)}),he.Version={label:"Version",value:ye.tuple(ye.Type.NO_HINT,oe.version)};let le=(g,De)=>{let Ce={};if(he[g]=Ce,Array.isArray(De))Ce.children=De.map(de=>({value:de}));else{let de={};Ce.children=de;for(let[ne,Z]of Object.entries(De))typeof Z>"u"||(de[ne]={label:ne,value:Z})}};if(!pe){for(let g of re)await g(oe,u,le);await r.triggerHook(g=>g.fetchPackageInfo,oe,u,le)}oe.bin.size>0&&!pe&&le("Exported Binaries",[...oe.bin.keys()].map(g=>ye.tuple(ye.Type.PATH,g)));let Pe=b.get(oe.locatorHash);typeof Pe<"u"&&Pe.length>0&&le("Dependents",Pe.map(g=>ye.tuple(ye.Type.LOCATOR,g))),oe.dependencies.size>0&&!pe&&le("Dependencies",[...oe.dependencies.values()].map(g=>{let De=o.storedResolutions.get(g.descriptorHash),Ce=typeof De<"u"?o.storedPackages.get(De)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:Ce})})),oe.peerDependencies.size>0&&pe&&le("Peer dependencies",[...oe.peerDependencies.values()].map(g=>{let De=oe.dependencies.get(g.identHash),Ce=typeof De<"u"?o.storedResolutions.get(De.descriptorHash)??null:null,de=Ce!==null?o.storedPackages.get(Ce)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:de})}))}Zo.emitTree(L,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};U0.paths=[["info"]],U0.usage=it.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});Ke();bt();_l();var sQ=tt(Xg());_t();tl();var _0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=fe.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=fe.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=fe.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=fe.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=fe.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=fe.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.cacheFolder=fe.String("--cache-folder",{hidden:!0});this.frozenLockfile=fe.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=fe.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=fe.Boolean("--non-interactive",{hidden:!0});this.preferOffline=fe.Boolean("--prefer-offline",{hidden:!0});this.production=fe.Boolean("--production",{hidden:!0});this.registry=fe.String("--registry",{hidden:!0});this.silent=fe.Boolean("--silent",{hidden:!0});this.networkTimeout=fe.String("--network-timeout",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("<cli>",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=async(C,{error:R})=>{let L=await Et.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async _=>{R?_.reportError(50,C):_.reportWarning(50,C)});return L.hasErrors()?L.exitCode():null};if(typeof this.ignoreEngines<"u"){let C=await a("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!sQ.default.VERCEL});if(C!==null)return C}if(typeof this.registry<"u"){let C=await a("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(C!==null)return C}if(typeof this.preferOffline<"u"){let C=await a("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!sQ.default.VERCEL});if(C!==null)return C}if(typeof this.production<"u"){let C=await a("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(C!==null)return C}if(typeof this.nonInteractive<"u"){let C=await a("The --non-interactive option is deprecated",{error:!o});if(C!==null)return C}if(typeof this.frozenLockfile<"u"&&(await a("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let C=await a("The cache-folder option has been deprecated; use rc settings instead",{error:!sQ.default.NETLIFY});if(C!==null)return C}let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new ot(`${ye.pretty(r,"--immutable",ye.Type.CODE)} and ${ye.pretty(r,"--immutable-cache",ye.Type.CODE)} cannot be used with ${ye.pretty(r,"--mode=update-lockfile",ye.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let C=await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{await uht(r,u)&&(R.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),R.reportSeparator())});if(C.hasErrors())return C.exitCode()}if(r.projectCwd!==null&&typeof r.sources.get("nodeLinker")>"u"){let C=r.projectCwd,R;try{R=await ae.readFilePromise(z.join(C,Lr.lockfile),"utf8")}catch{}if(R!=null&&R.includes("yarn lockfile v1")){let L=await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async _=>{_.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),_.reportSeparator(),r.use("<compat>",{nodeLinker:"node-modules"},C,{overwrite:!0}),await Xe.updateConfiguration(C,{nodeLinker:"node-modules"})});if(L.hasErrors())return L.exitCode()}}if(r.projectCwd!==null){let C=await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{var L;(L=Xe.telemetry)!=null&&L.isNew&&(R.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),R.reportInfo(65,`Run ${ye.pretty(r,"yarn config set --home enableTelemetry 0",ye.Type.CODE)} to disable`),R.reportSeparator())});if(C.hasErrors())return C.exitCode()}let{project:p,workspace:h}=await St.find(r,this.context.cwd),E=await Ur.find(r,{immutable:A,check:this.checkCache});if(!h)throw new er(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let w=r.get("enableHardenedMode");(this.refreshLockfile??w)&&(p.lockfileNeedsRefresh=!0);let v=this.checkResolutions??w;return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async C=>{await p.install({cache:E,report:C,immutable:u,checkResolutions:v,mode:this.mode})})).exitCode()}};_0.paths=[["install"],it.Default],_0.usage=it.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var cht="<<<<<<<";async function uht(t,e){if(!t.projectCwd)return!1;let r=z.join(t.projectCwd,t.get("lockfileFilename"));if(!await ae.existsPromise(r)||!(await ae.readFilePromise(r,"utf8")).includes(cht))return!1;if(e)throw new Vt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Mr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Mr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Mr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Vt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Mr.execvp("git",["show",`${A}:./${Lr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Vt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Yi(p.stdout)}catch{throw new Vt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n)if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=Y.parseDescriptor(p,!0),E=t.normalizeDependency(h),w=Y.stringifyDescriptor(E);w!==p&&(A[w]=A[p],delete A[p])}let u=Object.assign({},...n);u.__metadata.version=Math.min(0,...n.map(A=>A.__metadata.version??1/0)),u.__metadata.cacheKey=Math.min(0,...n.map(A=>A.__metadata.cacheKey??0));for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await ae.changeFilePromise(r,wa(u),{automaticNewlines:!0}),!0}Ke();bt();_t();var H0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=fe.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=fe.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let h of this.destinations){let E=z.resolve(this.context.cwd,ue.toPortablePath(h)),w=await Xe.find(E,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,E);if(o.cwd===v.cwd)throw new ot(`Invalid destination '${h}'; Can't link the project to itself`);if(!b)throw new er(v.cwd,E);if(this.all){let C=!1;for(let R of v.workspaces)R.manifest.name&&(!R.manifest.private||this.private)&&(A.push(R),C=!0);if(!C)throw new ot(`No workspace found to be linked in the target project: ${h}`)}else{if(!b.manifest.name)throw new ot(`The target workspace at '${h}' doesn't have a name and thus cannot be linked`);if(b.manifest.private&&!this.private)throw new ot(`The target workspace at '${h}' is marked private - use the --private flag to link it anyway`);A.push(b)}}for(let h of A){let E=Y.stringifyIdent(h.locator),w=this.relative?z.relative(o.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:E}},reference:`portal:${w}`})}return(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};H0.paths=[["link"]],H0.usage=it.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});_t();var q0=class extends ct{constructor(){super(...arguments);this.args=fe.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};q0.paths=[["node"]],q0.usage=it.Usage({description:"run node with the hook already setup",details:`
440 This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). 440 This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
441 441
442 The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. 442 The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.
443 `,examples:[["Run a Node script","$0 node ./my-script.js"]]});Ke();_t();var q0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Xe.findRcFiles(this.context.cwd);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{var u;for(let A of o)if(!!((u=A.data)!=null&&u.plugins))for(let p of A.data.plugins){if(!p.checksum||!p.spec.match(/^https?:/))continue;let h=await ln.get(p.spec,{configuration:r}),C=bn.makeHash(h);if(p.checksum===C)continue;let w=ye.pretty(r,p.path,ye.Type.PATH),v=ye.pretty(r,p.spec,ye.Type.URL),b=`${w} is different from the file provided by ${v}`;n.reportJson({...p,newChecksum:C}),n.reportError(0,b)}})).exitCode()}};q0.paths=[["plugin","check"]],q0.usage=it.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` 443 `,examples:[["Run a Node script","$0 node ./my-script.js"]]});Ke();_t();var j0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Xe.findRcFiles(this.context.cwd);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{var u;for(let A of o)if(!!((u=A.data)!=null&&u.plugins))for(let p of A.data.plugins){if(!p.checksum||!p.spec.match(/^https?:/))continue;let h=await ln.get(p.spec,{configuration:r}),E=bn.makeHash(h);if(p.checksum===E)continue;let w=ye.pretty(r,p.path,ye.Type.PATH),v=ye.pretty(r,p.spec,ye.Type.URL),b=`${w} is different from the file provided by ${v}`;n.reportJson({...p,newChecksum:E}),n.reportError(0,b)}})).exitCode()}};j0.paths=[["plugin","check"]],j0.usage=it.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:`
444 Check only the plugins from https. 444 Check only the plugins from https.
445 445
446 If this command detects any plugin differences in the CI environment, it will throw an error. 446 If this command detects any plugin differences in the CI environment, it will throw an error.
447 `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});Ke();Ke();bt();_t();var Cde=Ie("os");Ke();bt();_t();var gde=Ie("os");Ke();Ol();_t();var eht="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Vd(t,e){let r=await ln.get(eht,{configuration:t}),o=Yi(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Tr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var j0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Vd(r,On);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};j0.paths=[["plugin","list"]],j0.usage=it.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var tht=/^[0-9]+$/;function dde(t){return tht.test(t)?`pull/${t}/head`:t}var rht=({repository:t,branch:e},r)=>[["git","init",Ae.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",dde(e)],["git","reset","--hard","FETCH_HEAD"]],nht=({branch:t})=>[["git","fetch","origin","--depth=1",dde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],iht=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(o=>["--plugin",V.resolve(r,o)])),...e?["--no-minify"]:[],"|"]],G0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=fe.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=fe.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.installPath<"u"?V.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):V.resolve(Ae.toPortablePath((0,gde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Ct.start({configuration:r,stdout:this.context.stdout},async u=>{await N8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator(),await $1(iht(this,a),{configuration:r,context:this.context,target:a}),u.reportSeparator();let A=V.resolve(a,"packages/yarnpkg-cli/bundles/yarn.js"),p=await ae.readFilePromise(A),{bundleVersion:h}=await T8(r,null,async()=>p,{report:u});this.skipPlugins||await sht(this,h,{project:o,report:u,target:a})})).exitCode()}};G0.paths=[["set","version","from","sources"]],G0.usage=it.Usage({description:"build Yarn from master",details:` 447 `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});Ke();Ke();bt();_t();var Sde=Ie("os");Ke();bt();_t();var Ide=Ie("os");Ke();_l();_t();var Aht="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Zd(t,e){let r=await ln.get(Aht,{configuration:t}),o=Yi(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Tr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var G0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Zd(r,On);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};G0.paths=[["plugin","list"]],G0.usage=it.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var fht=/^[0-9]+$/;function wde(t){return fht.test(t)?`pull/${t}/head`:t}var pht=({repository:t,branch:e},r)=>[["git","init",ue.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",wde(e)],["git","reset","--hard","FETCH_HEAD"]],hht=({branch:t})=>[["git","fetch","origin","--depth=1",wde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],ght=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(o=>["--plugin",z.resolve(r,o)])),...e?["--no-minify"]:[],"|"]],W0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=fe.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=fe.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,Ide.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Et.start({configuration:r,stdout:this.context.stdout},async u=>{await L8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator(),await n2(ght(this,a),{configuration:r,context:this.context,target:a}),u.reportSeparator();let A=z.resolve(a,"packages/yarnpkg-cli/bundles/yarn.js"),p=await ae.readFilePromise(A),{bundleVersion:h}=await N8(r,null,async()=>p,{report:u});this.skipPlugins||await dht(this,h,{project:o,report:u,target:a})})).exitCode()}};W0.paths=[["set","version","from","sources"]],W0.usage=it.Usage({description:"build Yarn from master",details:`
448 This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. 448 This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.
449 449
450 By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. 450 By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag.
451 `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function $1(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Mr.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ye.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} 451 `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function n2(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Mr.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ye.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")}
452`);try{await Mr.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function N8(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&ae.existsSync(V.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await $1(nht(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await ae.removePromise(o),await ae.mkdirPromise(o,{recursive:!0}),await $1(rht(t,o),{configuration:e,context:t.context,target:o}))}async function sht(t,e,{project:r,report:o,target:a}){let n=await Vd(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await L8(A,t,{project:r,report:o,target:a})}Ke();Ke();bt();_t();var mde=tt(ii()),yde=Ie("url"),Ede=Ie("vm");var W0=class extends ct{constructor(){super(...arguments);this.name=fe.String();this.checksum=fe.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Ct.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await St.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.name)){let p=V.resolve(this.context.cwd,Ae.toPortablePath(this.name));a.reportInfo(0,`Reading ${ye.pretty(r,p,ye.Type.PATH)}`),u=V.relative(n.cwd,p),A=await ae.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new yde.URL(this.name)}catch{throw new Jt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=Y.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!mde.default.valid(h.reference))throw new Jt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let C=Y.stringifyIdent(h),w=await Vd(r,On);if(!Object.prototype.hasOwnProperty.call(w,C)){let v=`Couldn't find a plugin named ${Y.prettyIdent(r,h)} on the remote registry. 452`);try{await Mr.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function L8(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&ae.existsSync(z.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await n2(hht(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await ae.removePromise(o),await ae.mkdirPromise(o,{recursive:!0}),await n2(pht(t,o),{configuration:e,context:t.context,target:o}))}async function dht(t,e,{project:r,report:o,target:a}){let n=await Zd(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await O8(A,t,{project:r,report:o,target:a})}Ke();Ke();bt();_t();var Bde=tt(si()),vde=Ie("url"),Dde=Ie("vm");var Y0=class extends ct{constructor(){super(...arguments);this.name=fe.String();this.checksum=fe.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Et.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await St.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.name)){let p=z.resolve(this.context.cwd,ue.toPortablePath(this.name));a.reportInfo(0,`Reading ${ye.pretty(r,p,ye.Type.PATH)}`),u=z.relative(n.cwd,p),A=await ae.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new vde.URL(this.name)}catch{throw new Vt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=Y.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!Bde.default.valid(h.reference))throw new Vt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=Y.stringifyIdent(h),w=await Zd(r,On);if(!Object.prototype.hasOwnProperty.call(w,E)){let v=`Couldn't find a plugin named ${Y.prettyIdent(r,h)} on the remote registry.
453`;throw r.plugins.has(C)?v+=`A plugin named ${Y.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${ye.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",ye.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${ye.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",ye.Type.URL)}).`,new Jt(51,v)}u=C,p=w[C].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${C}/${h.reference}/`):On!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${On}/`))}a.reportInfo(0,`Downloading ${ye.pretty(r,p,"green")}`),A=await ln.get(p,{configuration:r})}await O8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};W0.paths=[["plugin","import"]],W0.usage=it.Usage({category:"Plugin-related commands",description:"download a plugin",details:` 453`;throw r.plugins.has(E)?v+=`A plugin named ${Y.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${ye.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",ye.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${ye.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",ye.Type.URL)}).`,new Vt(51,v)}u=E,p=w[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):On!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${On}/`))}a.reportInfo(0,`Downloading ${ye.pretty(r,p,"green")}`),A=await ln.get(p,{configuration:r})}await M8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};Y0.paths=[["plugin","import"]],Y0.usage=it.Usage({category:"Plugin-related commands",description:"download a plugin",details:`
454 This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. 454 This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.
455 455
456 Three types of plugin references are accepted: 456 Three types of plugin references are accepted:
@@ -462,23 +462,23 @@ ${p}
462 If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. 462 If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified.
463 463
464 Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). 464 Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package).
465 `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function O8(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,Ede.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,C=V.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${ye.pretty(n,h,"magenta")}`),await ae.mkdirPromise(V.dirname(C),{recursive:!0}),await ae.writeFilePromise(C,e);let w={path:h,spec:t};r&&(w.checksum=bn.makeHash(e)),await Xe.addPlugin(o.cwd,[w])}var oht=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Y0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?V.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):V.resolve(Ae.toPortablePath((0,Cde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await St.find(r,this.context.cwd),A=Y.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=Y.stringifyIdent(A),h=await Vd(r,On);if(!Object.prototype.hasOwnProperty.call(h,p))throw new Jt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let C=p;await N8(this,{configuration:r,report:n,target:o}),await L8(C,this,{project:u,report:n,target:o})})).exitCode()}};Y0.paths=[["plugin","import","from","sources"]],Y0.usage=it.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` 465 `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function M8(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,Dde.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,E=z.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${ye.pretty(n,h,"magenta")}`),await ae.mkdirPromise(z.dirname(E),{recursive:!0}),await ae.writeFilePromise(E,e);let w={path:h,spec:t};r&&(w.checksum=bn.makeHash(e)),await Xe.addPlugin(o.cwd,[w])}var mht=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],K0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,Sde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await St.find(r,this.context.cwd),A=Y.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=Y.stringifyIdent(A),h=await Zd(r,On);if(!Object.prototype.hasOwnProperty.call(h,p))throw new Vt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await L8(this,{configuration:r,report:n,target:o}),await O8(E,this,{project:u,report:n,target:o})})).exitCode()}};K0.paths=[["plugin","import","from","sources"]],K0.usage=it.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:`
466 This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. 466 This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.
467 467
468 The plugins can be referenced by their short name if sourced from the official Yarn repository. 468 The plugins can be referenced by their short name if sourced from the official Yarn repository.
469 `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function L8(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await $1(oht({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=V.resolve(n,`packages/${u}/bundles/${t}.js`),h=await ae.readFilePromise(p);await O8(t,h,{project:o,report:a})}Ke();bt();_t();var K0=class extends ct{constructor(){super(...arguments);this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=Y.parseIdent(u);if(!r.plugins.has(u))throw new ot(`${Y.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=V.resolve(o.cwd,p);ae.existsSync(h)&&(n.reportInfo(0,`Removing ${ye.pretty(r,p,ye.Type.PATH)}...`),await ae.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Xe.updateConfiguration(o.cwd,C=>{if(!Array.isArray(C.plugins))return C;let w=C.plugins.filter(v=>v.path!==p);return C.plugins.length===w.length?C:{...C,plugins:w}})})).exitCode()}};K0.paths=[["plugin","remove"]],K0.usage=it.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` 469 `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function O8(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await n2(mht({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=z.resolve(n,`packages/${u}/bundles/${t}.js`),h=await ae.readFilePromise(p);await M8(t,h,{project:o,report:a})}Ke();bt();_t();var V0=class extends ct{constructor(){super(...arguments);this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=Y.parseIdent(u);if(!r.plugins.has(u))throw new ot(`${Y.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=z.resolve(o.cwd,p);ae.existsSync(h)&&(n.reportInfo(0,`Removing ${ye.pretty(r,p,ye.Type.PATH)}...`),await ae.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Xe.updateConfiguration(o.cwd,E=>{if(!Array.isArray(E.plugins))return E;let w=E.plugins.filter(v=>v.path!==p);return E.plugins.length===w.length?E:{...E,plugins:w}})})).exitCode()}};V0.paths=[["plugin","remove"]],V0.usage=it.Usage({category:"Plugin-related commands",description:"remove a plugin",details:`
470 This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. 470 This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.
471 471
472 **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. 472 **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed.
473 `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});Ke();_t();var J0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};J0.paths=[["plugin","runtime"]],J0.usage=it.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` 473 `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});Ke();_t();var J0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};J0.paths=[["plugin","runtime"]],J0.usage=it.Usage({category:"Plugin-related commands",description:"list the active plugins",details:`
474 This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. 474 This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.
475 `,examples:[["List the currently active plugins","$0 plugin runtime"]]});Ke();Ke();_t();var V0=class extends ct{constructor(){super(...arguments);this.idents=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=new Set;for(let p of this.idents)u.add(Y.parseIdent(p).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new xi}),u.size>0)for(let p of o.storedPackages.values())u.has(p.identHash)&&o.storedBuildState.delete(p.locatorHash);else o.storedBuildState.clear();return(await Ct.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async p=>{await o.install({cache:n,report:p})})).exitCode()}};V0.paths=[["rebuild"]],V0.usage=it.Usage({description:"rebuild the project's native packages",details:` 475 `,examples:[["List the currently active plugins","$0 plugin runtime"]]});Ke();Ke();_t();var z0=class extends ct{constructor(){super(...arguments);this.idents=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=new Set;for(let p of this.idents)u.add(Y.parseIdent(p).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new xi}),u.size>0)for(let p of o.storedPackages.values())u.has(p.identHash)&&o.storedBuildState.delete(p.locatorHash);else o.storedBuildState.clear();return(await Et.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async p=>{await o.install({cache:n,report:p})})).exitCode()}};z0.paths=[["rebuild"]],z0.usage=it.Usage({description:"rebuild the project's native packages",details:`
476 This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. 476 This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.
477 477
478 Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). 478 Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).
479 479
480 By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. 480 By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.
481 `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});Ke();Ke();Ke();_t();var M8=tt(Jo());$a();var z0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,C=[];for(let E of this.patterns){let R=!1,L=Y.parseIdent(E);for(let _ of u){let J=[..._.manifest.peerDependenciesMeta.keys()];for(let re of(0,M8.default)(J,E))_.manifest.peerDependenciesMeta.delete(re),h=!0,R=!0;for(let re of A){let oe=_.manifest.getForScope(re),pe=[...oe.values()].map(he=>Y.stringifyIdent(he));for(let he of(0,M8.default)(pe,Y.stringifyIdent(L))){let{identHash:ve}=Y.parseIdent(he),ge=oe.get(ve);if(typeof ge>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");_.manifest[re].delete(ve),C.push([_,re,ge]),h=!0,R=!0}}}R||p.push(E)}let w=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",b=this.all?"any":"this";if(p.length>0)throw new ot(`${w} ${ye.prettyList(r,p,ye.Type.CODE)} ${v} match any packages referenced by ${b} workspace`);return h?(await r.triggerMultipleHooks(R=>R.afterWorkspaceDependencyRemoval,C),(await Ct.start({configuration:r,stdout:this.context.stdout},async R=>{await o.install({cache:n,report:R,mode:this.mode})})).exitCode()):0}};z0.paths=[["remove"]],z0.usage=it.Usage({description:"remove dependencies from the project",details:` 481 `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});Ke();Ke();Ke();_t();var U8=tt(Jo());tl();var X0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let C of this.patterns){let R=!1,L=Y.parseIdent(C);for(let _ of u){let V=[..._.manifest.peerDependenciesMeta.keys()];for(let re of(0,U8.default)(V,C))_.manifest.peerDependenciesMeta.delete(re),h=!0,R=!0;for(let re of A){let oe=_.manifest.getForScope(re),pe=[...oe.values()].map(he=>Y.stringifyIdent(he));for(let he of(0,U8.default)(pe,Y.stringifyIdent(L))){let{identHash:ve}=Y.parseIdent(he),ge=oe.get(ve);if(typeof ge>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");_.manifest[re].delete(ve),E.push([_,re,ge]),h=!0,R=!0}}}R||p.push(C)}let w=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",b=this.all?"any":"this";if(p.length>0)throw new ot(`${w} ${ye.prettyList(r,p,ye.Type.CODE)} ${v} match any packages referenced by ${b} workspace`);return h?(await r.triggerMultipleHooks(R=>R.afterWorkspaceDependencyRemoval,E),(await Et.start({configuration:r,stdout:this.context.stdout},async R=>{await o.install({cache:n,report:R,mode:this.mode})})).exitCode()):0}};X0.paths=[["remove"]],X0.usage=it.Usage({description:"remove dependencies from the project",details:`
482 This command will remove the packages matching the specified patterns from the current workspace. 482 This command will remove the packages matching the specified patterns from the current workspace.
483 483
484 If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: 484 If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:
@@ -488,7 +488,7 @@ ${p}
488 - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. 488 - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.
489 489
490 This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. 490 This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.
491 `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});Ke();Ke();var Ide=Ie("util"),zd=class extends ct{async execute(){let e=await Xe.find(this.context.cwd,this.context.plugins),{project:r,workspace:o}=await St.find(e,this.context.cwd);if(!o)throw new er(r.cwd,this.context.cwd);return(await Ct.start({configuration:e,stdout:this.context.stdout},async n=>{let u=o.manifest.scripts,A=Ye.sortMap(u.keys(),C=>C),p={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},h=A.reduce((C,w)=>Math.max(C,w.length),0);for(let[C,w]of u.entries())n.reportInfo(null,`${C.padEnd(h," ")} ${(0,Ide.inspect)(w,p)}`)})).exitCode()}};zd.paths=[["run"]];Ke();Ke();_t();var X0=class extends ct{constructor(){super(...arguments);this.inspect=fe.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=fe.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=fe.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=fe.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=fe.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=fe.Boolean("--silent",{hidden:!0});this.scriptName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await St.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await sn.hasPackageScript(u,this.scriptName,{project:o}))return await sn.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await sn.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await sn.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let C=(await Promise.all(o.workspaces.map(async w=>w.manifest.scripts.has(this.scriptName)?w:null))).filter(w=>w!==null);if(C.length===1)return await sn.executeWorkspaceScript(C[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new ot("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[C,w]of nC)for(let v of w)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new ot(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${C} plugin. You can install it with "yarn plugin import ${C}".`);throw new ot(`Couldn't find a script named "${this.scriptName}".`)}}};X0.paths=[["run"]],X0.usage=it.Usage({description:"run a script defined in the package.json",details:` 491 `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});Ke();Ke();var Pde=Ie("util"),$d=class extends ct{async execute(){let e=await Xe.find(this.context.cwd,this.context.plugins),{project:r,workspace:o}=await St.find(e,this.context.cwd);if(!o)throw new er(r.cwd,this.context.cwd);return(await Et.start({configuration:e,stdout:this.context.stdout},async n=>{let u=o.manifest.scripts,A=Ye.sortMap(u.keys(),E=>E),p={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},h=A.reduce((E,w)=>Math.max(E,w.length),0);for(let[E,w]of u.entries())n.reportInfo(null,`${E.padEnd(h," ")} ${(0,Pde.inspect)(w,p)}`)})).exitCode()}};$d.paths=[["run"]];Ke();Ke();_t();var Z0=class extends ct{constructor(){super(...arguments);this.inspect=fe.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=fe.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=fe.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=fe.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=fe.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=fe.Boolean("--silent",{hidden:!0});this.scriptName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await St.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await sn.hasPackageScript(u,this.scriptName,{project:o}))return await sn.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await sn.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await sn.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(o.workspaces.map(async w=>w.manifest.scripts.has(this.scriptName)?w:null))).filter(w=>w!==null);if(E.length===1)return await sn.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new ot("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,w]of lE)for(let v of w)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new ot(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new ot(`Couldn't find a script named "${this.scriptName}".`)}}};Z0.paths=[["run"]],Z0.usage=it.Usage({description:"run a script defined in the package.json",details:`
492 This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: 492 This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:
493 493
494 - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. 494 - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed.
@@ -498,32 +498,32 @@ ${p}
498 - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. 498 - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.
499 499
500 Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). 500 Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).
501 `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});Ke();Ke();_t();var Z0=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=fe.String();this.resolution=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new er(o.cwd,this.context.cwd);let u=Y.parseDescriptor(this.descriptor,!0),A=Y.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};Z0.paths=[["set","resolution"]],Z0.usage=it.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});Ke();bt();_t();var wde=tt(Jo()),$0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:h,reference:C}of u.manifest.resolutions)C.startsWith("portal:")&&A.add(h.descriptor.fullName);if(this.leadingArguments.length>0)for(let h of this.leadingArguments){let C=V.resolve(this.context.cwd,Ae.toPortablePath(h));if(Ye.isPathLike(h)){let w=await Xe.find(C,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,C);if(!b)throw new er(v.cwd,C);if(this.all){for(let E of v.workspaces)E.manifest.name&&A.add(Y.stringifyIdent(E.locator));if(A.size===0)throw new ot("No workspace found to be unlinked in the target project")}else{if(!b.manifest.name)throw new ot("The target workspace doesn't have a name and thus cannot be unlinked");A.add(Y.stringifyIdent(b.locator))}}else{let w=[...u.manifest.resolutions.map(({pattern:v})=>v.descriptor.fullName)];for(let v of(0,wde.default)(w,h))A.add(v)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:h})=>!A.has(h.descriptor.fullName)),(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};$0.paths=[["unlink"]],$0.usage=it.Usage({description:"disconnect the local project from another one",details:` 501 `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});Ke();Ke();_t();var $0=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=fe.String();this.resolution=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new er(o.cwd,this.context.cwd);let u=Y.parseDescriptor(this.descriptor,!0),A=Y.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};$0.paths=[["set","resolution"]],$0.usage=it.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});Ke();bt();_t();var xde=tt(Jo()),eh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:h,reference:E}of u.manifest.resolutions)E.startsWith("portal:")&&A.add(h.descriptor.fullName);if(this.leadingArguments.length>0)for(let h of this.leadingArguments){let E=z.resolve(this.context.cwd,ue.toPortablePath(h));if(Ye.isPathLike(h)){let w=await Xe.find(E,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,E);if(!b)throw new er(v.cwd,E);if(this.all){for(let C of v.workspaces)C.manifest.name&&A.add(Y.stringifyIdent(C.locator));if(A.size===0)throw new ot("No workspace found to be unlinked in the target project")}else{if(!b.manifest.name)throw new ot("The target workspace doesn't have a name and thus cannot be unlinked");A.add(Y.stringifyIdent(b.locator))}}else{let w=[...u.manifest.resolutions.map(({pattern:v})=>v.descriptor.fullName)];for(let v of(0,xde.default)(w,h))A.add(v)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:h})=>!A.has(h.descriptor.fullName)),(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};eh.paths=[["unlink"]],eh.usage=it.Usage({description:"disconnect the local project from another one",details:`
502 This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. 502 This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments.
503 `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});Ke();Ke();Ke();_t();var Bde=tt(Y1()),U8=tt(Jo());$a();var Yf=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.patterns=fe.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(w=>Y.stringifyIdent(w)),p=new Set;for(let w of this.patterns){if(Y.parseDescriptor(w).range!=="unknown")throw new ot("Ranges aren't allowed when using --recursive");for(let v of(0,U8.default)(A,w)){let b=Y.parseIdent(v);p.add(b.identHash)}}let h=u.filter(w=>p.has(w.identHash));for(let w of h)o.storedDescriptors.delete(w.descriptorHash),o.storedResolutions.delete(w.descriptorHash);return(await Ct.start({configuration:r,stdout:this.context.stdout},async w=>{await o.install({cache:n,report:w})})).exitCode()}async executeUpClassic(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=J1(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],C=[],w=[];for(let _ of this.patterns){let J=!1,re=Y.parseDescriptor(_);for(let oe of o.workspaces)for(let pe of["dependencies","devDependencies"]){let ve=[...oe.manifest.getForScope(pe).values()].map(ge=>Y.stringifyIdent(ge));for(let ge of(0,U8.default)(ve,Y.stringifyIdent(re))){let le=Y.parseIdent(ge),Pe=oe.manifest[pe].get(le.identHash);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let g=Y.makeDescriptor(le,re.range);C.push(Promise.resolve().then(async()=>[oe,pe,Pe,await V1(g,{project:o,workspace:oe,cache:n,target:pe,fixed:u,modifier:p,strategies:h})])),J=!0}}J||w.push(_)}if(w.length>1)throw new ot(`Patterns ${ye.prettyList(r,w,ye.Type.CODE)} don't match any packages referenced by any workspace`);if(w.length>0)throw new ot(`Pattern ${ye.prettyList(r,w,ye.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(C),b=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async _=>{for(let[,,J,{suggestions:re,rejections:oe}]of v){let pe=re.filter(he=>he.descriptor!==null);if(pe.length===0){let[he]=oe;if(typeof he>"u")throw new Error("Assertion failed: Expected an error to have been set");let ve=this.cli.error(he);o.configuration.get("enableNetwork")?_.reportError(27,`${Y.prettyDescriptor(r,J)} can't be resolved to a satisfying range 503 `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});Ke();Ke();Ke();_t();var bde=tt(z1()),_8=tt(Jo());tl();var Vf=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.patterns=fe.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(w=>Y.stringifyIdent(w)),p=new Set;for(let w of this.patterns){if(Y.parseDescriptor(w).range!=="unknown")throw new ot("Ranges aren't allowed when using --recursive");for(let v of(0,_8.default)(A,w)){let b=Y.parseIdent(v);p.add(b.identHash)}}let h=u.filter(w=>p.has(w.identHash));for(let w of h)o.storedDescriptors.delete(w.descriptorHash),o.storedResolutions.delete(w.descriptorHash);return(await Et.start({configuration:r,stdout:this.context.stdout},async w=>{await o.install({cache:n,report:w})})).exitCode()}async executeUpClassic(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=Z1(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],E=[],w=[];for(let _ of this.patterns){let V=!1,re=Y.parseDescriptor(_);for(let oe of o.workspaces)for(let pe of["dependencies","devDependencies"]){let ve=[...oe.manifest.getForScope(pe).values()].map(ge=>Y.stringifyIdent(ge));for(let ge of(0,_8.default)(ve,Y.stringifyIdent(re))){let le=Y.parseIdent(ge),Pe=oe.manifest[pe].get(le.identHash);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let g=Y.makeDescriptor(le,re.range);E.push(Promise.resolve().then(async()=>[oe,pe,Pe,await $1(g,{project:o,workspace:oe,cache:n,target:pe,fixed:u,modifier:p,strategies:h})])),V=!0}}V||w.push(_)}if(w.length>1)throw new ot(`Patterns ${ye.prettyList(r,w,ye.Type.CODE)} don't match any packages referenced by any workspace`);if(w.length>0)throw new ot(`Pattern ${ye.prettyList(r,w,ye.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(E),b=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async _=>{for(let[,,V,{suggestions:re,rejections:oe}]of v){let pe=re.filter(he=>he.descriptor!==null);if(pe.length===0){let[he]=oe;if(typeof he>"u")throw new Error("Assertion failed: Expected an error to have been set");let ve=this.cli.error(he);o.configuration.get("enableNetwork")?_.reportError(27,`${Y.prettyDescriptor(r,V)} can't be resolved to a satisfying range
504 504
505${ve}`):_.reportError(27,`${Y.prettyDescriptor(r,J)} can't be resolved to a satisfying range (note: network resolution has been disabled) 505${ve}`):_.reportError(27,`${Y.prettyDescriptor(r,V)} can't be resolved to a satisfying range (note: network resolution has been disabled)
506 506
507${ve}`)}else pe.length>1&&!A&&_.reportError(27,`${Y.prettyDescriptor(r,J)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(b.hasErrors())return b.exitCode();let E=!1,R=[];for(let[_,J,,{suggestions:re}]of v){let oe,pe=re.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(E=!0,{answer:oe}=await(0,Bde.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${Y.prettyWorkspace(r,_)} \u276F ${J}?`,choices:re.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=_.manifest[J].get(oe.identHash);if(typeof ge>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(ge.descriptorHash!==oe.descriptorHash)_.manifest[J].set(oe.identHash,oe),R.push([_,J,ge,oe]);else{let le=r.makeResolver(),Pe={project:o,resolver:le},g=r.normalizeDependency(ge),De=le.bindDescriptor(g,_.anchoredLocator,Pe);o.forgetResolution(De)}}return await r.triggerMultipleHooks(_=>_.afterWorkspaceDependencyReplacement,R),E&&this.context.stdout.write(` 507${ve}`)}else pe.length>1&&!A&&_.reportError(27,`${Y.prettyDescriptor(r,V)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(b.hasErrors())return b.exitCode();let C=!1,R=[];for(let[_,V,,{suggestions:re}]of v){let oe,pe=re.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(C=!0,{answer:oe}=await(0,bde.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${Y.prettyWorkspace(r,_)} \u276F ${V}?`,choices:re.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=_.manifest[V].get(oe.identHash);if(typeof ge>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(ge.descriptorHash!==oe.descriptorHash)_.manifest[V].set(oe.identHash,oe),R.push([_,V,ge,oe]);else{let le=r.makeResolver(),Pe={project:o,resolver:le},g=r.normalizeDependency(ge),De=le.bindDescriptor(g,_.anchoredLocator,Pe);o.forgetResolution(De)}}return await r.triggerMultipleHooks(_=>_.afterWorkspaceDependencyReplacement,R),C&&this.context.stdout.write(`
508`),(await Ct.start({configuration:r,stdout:this.context.stdout},async _=>{await o.install({cache:n,report:_,mode:this.mode})})).exitCode()}};Yf.paths=[["up"]],Yf.usage=it.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Yf.schema=[MT("recursive",Vg.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];Ke();Ke();Ke();_t();var eh=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=fe.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=Y.parseIdent(this.package).identHash,u=this.recursive?lht(o,n,{configuration:r,peers:this.peers}):aht(o,n,{configuration:r,peers:this.peers});Xo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};eh.paths=[["why"]],eh.usage=it.Usage({description:"display the reason why a package is needed",details:` 508`),(await Et.start({configuration:r,stdout:this.context.stdout},async _=>{await o.install({cache:n,report:_,mode:this.mode})})).exitCode()}};Vf.paths=[["up"]],Vf.usage=it.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Vf.schema=[UT("recursive",Zg.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];Ke();Ke();Ke();_t();var th=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=fe.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=Y.parseIdent(this.package).identHash,u=this.recursive?Cht(o,n,{configuration:r,peers:this.peers}):yht(o,n,{configuration:r,peers:this.peers});Zo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};th.paths=[["why"]],th.usage=it.Usage({description:"display the reason why a package is needed",details:`
509 This command prints the exact reasons why a package appears in the dependency tree. 509 This command prints the exact reasons why a package appears in the dependency tree.
510 510
511 If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. 511 If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree.
512 `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function aht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.storedPackages.values(),A=>Y.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let C of A.dependencies.values()){if(!o&&A.peerDependencies.has(C.identHash))continue;let w=t.storedResolutions.get(C.descriptorHash);if(!w)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(w);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==e)continue;{let E=Y.stringifyLocator(A);n[E]={value:[A,ye.Type.LOCATOR],children:p}}let b=Y.stringifyLocator(v);p[b]={value:[{descriptor:C,locator:v},ye.Type.DEPENDENT]}}}return u}function lht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.workspaces,v=>Y.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===e)return u.add(v.locatorHash),!0;let b=!1;v.identHash===e&&(b=!0);for(let E of v.dependencies.values()){if(!o&&v.peerDependencies.has(E.identHash))continue;let R=t.storedResolutions.get(E.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let L=t.storedPackages.get(R);if(!L)throw new Error("Assertion failed: The package should have been registered");A(L)&&(b=!0)}return b&&u.add(v.locatorHash),b};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},C={children:h},w=(v,b,E)=>{if(!u.has(v.locatorHash))return;let R=E!==null?ye.tuple(ye.Type.DEPENDENT,{locator:v,descriptor:E}):ye.tuple(ye.Type.LOCATOR,v),L={},_={value:R,children:L},J=Y.stringifyLocator(v);if(b[J]=_,!p.has(v.locatorHash)&&(p.add(v.locatorHash),!(E!==null&&t.tryWorkspaceByLocator(v))))for(let re of v.dependencies.values()){if(!o&&v.peerDependencies.has(re.identHash))continue;let oe=t.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=t.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");w(pe,L,re)}};for(let v of a)w(v.anchoredPackage,h,null);return C}Ke();var z8={};Yt(z8,{GitFetcher:()=>t2,GitResolver:()=>r2,default:()=>xht,gitUtils:()=>Zo});Ke();bt();var Zo={};Yt(Zo,{TreeishProtocols:()=>e2,clone:()=>V8,fetchBase:()=>Wde,fetchChangedFiles:()=>Yde,fetchChangedWorkspaces:()=>Sht,fetchRoot:()=>Gde,isGitUrl:()=>uC,lsRemote:()=>jde,normalizeLocator:()=>Y8,normalizeRepoUrl:()=>$b,resolveUrl:()=>J8,splitRepoUrl:()=>th,validateRepoUrl:()=>K8});Ke();bt();_t();var _de=tt(Ode()),Hde=tt(EU()),cC=tt(Ie("querystring")),G8=tt(ii());function j8(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function Mde(t){try{return new URL(t)}catch{return}}function vht(t){let e=j8(t,"@","#"),r=j8(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),j8(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Ude(t){return Mde(t)||Mde(vht(t))}function qde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Dht=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],e2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(e2||{});function uC(t){return t?Dht.some(e=>!!t.match(e)):!1}function th(t){t=$b(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=cC.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(e2).find(p=>Object.prototype.hasOwnProperty.call(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(e2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function $b(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=Ude(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function Y8(t){return Y.makeLocator(t,$b(t.reference))}function K8(t,{configuration:e}){let r=$b(t,{git:!0});if(!ln.getNetworkSettings(`https://${(0,_de.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Jt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function jde(t,e){let r=K8(t,{configuration:e}),o=await W8("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:qde()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function J8(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=th(t),u=await jde(r,e),A=(h,C)=>{switch(h){case"commit":{if(!C.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return cC.default.stringify({...n,commit:C})}case"head":{let w=u.get(C==="HEAD"?C:`refs/heads/${C}`);if(typeof w>"u")throw new Error(`Unknown head ("${C}")`);return cC.default.stringify({...n,commit:w})}case"tag":{let w=u.get(`refs/tags/${C}`);if(typeof w>"u")throw new Error(`Unknown tag ("${C}")`);return cC.default.stringify({...n,commit:w})}case"semver":{let w=Tr.validRange(C);if(!w)throw new Error(`Invalid range ("${C}")`);let v=new Map([...u.entries()].filter(([E])=>E.startsWith("refs/tags/")).map(([E,R])=>[G8.default.parse(E.slice(10)),R]).filter(E=>E[0]!==null)),b=G8.default.maxSatisfying([...v.keys()],w);if(b===null)throw new Error(`No matching range ("${C}")`);return cC.default.stringify({...n,commit:v.get(b)})}case null:{let w;if((w=p("commit",C))!==null||(w=p("tag",C))!==null||(w=p("head",C))!==null)return w;throw C.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${C}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${C}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,C)=>{try{return A(h,C)}catch{return null}};return`${r}#${A(o,a)}`}async function V8(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=th(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=K8(r,{configuration:e}),u=await ae.mktempPromise(),A={cwd:u,env:qde()};return await W8("cloning the repository",["clone","-c core.autocrlf=false",n,Ae.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await W8("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function Gde(t){let e,r=t;do{if(e=r,await ae.existsPromise(V.join(e,".git")))return e;r=V.dirname(e)}while(r!==e);return null}async function Wde(t,{baseRefs:e}){if(e.length===0)throw new ot("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Mr.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new ot(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Mr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Mr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function Yde(t,{base:e,project:r}){let o=Ye.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Mr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>V.resolve(t,Ae.toPortablePath(h))),{stdout:u}=await Mr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>V.resolve(t,Ae.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!V.relative(r.cwd,h).match(o)):p}async function Sht({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let r=[V.resolve(e.cwd,e.configuration.get("cacheFolder")),V.resolve(e.cwd,e.configuration.get("installStatePath")),V.resolve(e.cwd,e.configuration.get("lockfileFilename")),V.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await Gde(e.configuration.projectCwd);if(o==null)throw new ot("This command can only be run on Git repositories");let a=await Wde(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await Yde(o,{base:a.hash,project:e});return new Set(Ye.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?Ye.mapAndFilter.skip:r.some(p=>u.startsWith(p))?Ye.mapAndFilter.skip:A}))}async function W8(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Mr.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Mr.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new Jt(1,`Failed ${t}`,p=>{p.reportError(1,` ${ye.prettyField(o,{label:"Repository URL",value:ye.tuple(ye.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,C,w]=h;C=C.toLowerCase();let v=C==="error"?"Error":`${(0,Hde.default)(C)} Error`;p.reportError(1,` ${ye.prettyField(o,{label:v,value:ye.tuple(ye.Type.NO_HINT,w)})}`)}u==null||u(p)})}}var t2=class{supports(e,r){return uC(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=Y8(e),n=new Map(r.checksums);n.set(a.locatorHash,o);let u={...r,checksums:n},A=await this.downloadHosted(a,u);if(A!==null)return A;let[p,h,C]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(a,u),...r.cacheOptions});return{packageFs:p,releaseFs:h,prefixPath:Y.getIdentVendorPath(e),checksum:C}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=await V8(e.reference,r.project.configuration),a=th(e.reference),n=V.join(o,"package.tgz");await sn.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:e});let u=await ae.readFilePromise(n);return await Ye.releaseAfterUseAsync(async()=>await Vi.convertToZip(u,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1}))}};Ke();Ke();var r2=class{supportsDescriptor(e,r){return uC(e.range)}supportsLocator(e,r){return uC(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await J8(e.range,o.project.configuration);return[Y.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=th(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=th(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Pht={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[t2],resolvers:[r2]};var xht=Pht;_t();var rh=class extends ct{constructor(){super(...arguments);this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=fe.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await Zo.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let C;if(this.verbose){let w=new Set,v=new Set;for(let b of Nt.hardDependencies)for(let[E,R]of h.getForScope(b)){let L=o.tryWorkspaceByDescriptor(R);L===null?o.workspacesByIdent.has(E)&&v.add(R):w.add(L)}C={workspaceDependencies:Array.from(w).map(b=>b.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(b=>Y.stringifyDescriptor(b))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?Y.stringifyIdent(h.name):null,...C})}})).exitCode()}};rh.paths=[["workspaces","list"]],rh.usage=it.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});Ke();Ke();_t();var nh=class extends ct{constructor(){super(...arguments);this.workspaceName=fe.String();this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[Y.stringifyIdent(p.locator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new ot(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: 512 `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function yht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.storedPackages.values(),A=>Y.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let E of A.dependencies.values()){if(!o&&A.peerDependencies.has(E.identHash))continue;let w=t.storedResolutions.get(E.descriptorHash);if(!w)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(w);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==e)continue;{let C=Y.stringifyLocator(A);n[C]={value:[A,ye.Type.LOCATOR],children:p}}let b=Y.stringifyLocator(v);p[b]={value:[{descriptor:E,locator:v},ye.Type.DEPENDENT]}}}return u}function Cht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.workspaces,v=>Y.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===e)return u.add(v.locatorHash),!0;let b=!1;v.identHash===e&&(b=!0);for(let C of v.dependencies.values()){if(!o&&v.peerDependencies.has(C.identHash))continue;let R=t.storedResolutions.get(C.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let L=t.storedPackages.get(R);if(!L)throw new Error("Assertion failed: The package should have been registered");A(L)&&(b=!0)}return b&&u.add(v.locatorHash),b};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},E={children:h},w=(v,b,C)=>{if(!u.has(v.locatorHash))return;let R=C!==null?ye.tuple(ye.Type.DEPENDENT,{locator:v,descriptor:C}):ye.tuple(ye.Type.LOCATOR,v),L={},_={value:R,children:L},V=Y.stringifyLocator(v);if(b[V]=_,!p.has(v.locatorHash)&&(p.add(v.locatorHash),!(C!==null&&t.tryWorkspaceByLocator(v))))for(let re of v.dependencies.values()){if(!o&&v.peerDependencies.has(re.identHash))continue;let oe=t.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=t.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");w(pe,L,re)}};for(let v of a)w(v.anchoredPackage,h,null);return E}Ke();var X8={};Yt(X8,{GitFetcher:()=>s2,GitResolver:()=>o2,default:()=>Uht,gitUtils:()=>$o});Ke();bt();var $o={};Yt($o,{TreeishProtocols:()=>i2,clone:()=>z8,fetchBase:()=>Xde,fetchChangedFiles:()=>Zde,fetchChangedWorkspaces:()=>Oht,fetchRoot:()=>zde,isGitUrl:()=>gE,lsRemote:()=>Jde,normalizeLocator:()=>K8,normalizeRepoUrl:()=>oQ,resolveUrl:()=>J8,splitRepoUrl:()=>rh,validateRepoUrl:()=>V8});Ke();bt();_t();var Yde=tt(jde()),Kde=tt(EU()),hE=tt(Ie("querystring")),W8=tt(si());function G8(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function Gde(t){try{return new URL(t)}catch{return}}function Nht(t){let e=G8(t,"@","#"),r=G8(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),G8(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Wde(t){return Gde(t)||Gde(Nht(t))}function Vde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Lht=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],i2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(i2||{});function gE(t){return t?Lht.some(e=>!!t.match(e)):!1}function rh(t){t=oQ(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=hE.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(i2).find(p=>Object.prototype.hasOwnProperty.call(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(i2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function oQ(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=Wde(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function K8(t){return Y.makeLocator(t,oQ(t.reference))}function V8(t,{configuration:e}){let r=oQ(t,{git:!0});if(!ln.getNetworkSettings(`https://${(0,Yde.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Vt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function Jde(t,e){let r=V8(t,{configuration:e}),o=await Y8("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:Vde()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function J8(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=rh(t),u=await Jde(r,e),A=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return hE.default.stringify({...n,commit:E})}case"head":{let w=u.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof w>"u")throw new Error(`Unknown head ("${E}")`);return hE.default.stringify({...n,commit:w})}case"tag":{let w=u.get(`refs/tags/${E}`);if(typeof w>"u")throw new Error(`Unknown tag ("${E}")`);return hE.default.stringify({...n,commit:w})}case"semver":{let w=Tr.validRange(E);if(!w)throw new Error(`Invalid range ("${E}")`);let v=new Map([...u.entries()].filter(([C])=>C.startsWith("refs/tags/")).map(([C,R])=>[W8.default.parse(C.slice(10)),R]).filter(C=>C[0]!==null)),b=W8.default.maxSatisfying([...v.keys()],w);if(b===null)throw new Error(`No matching range ("${E}")`);return hE.default.stringify({...n,commit:v.get(b)})}case null:{let w;if((w=p("commit",E))!==null||(w=p("tag",E))!==null||(w=p("head",E))!==null)return w;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return A(h,E)}catch{return null}};return`${r}#${A(o,a)}`}async function z8(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=rh(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=V8(r,{configuration:e}),u=await ae.mktempPromise(),A={cwd:u,env:Vde()};return await Y8("cloning the repository",["clone","-c core.autocrlf=false",n,ue.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await Y8("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function zde(t){let e,r=t;do{if(e=r,await ae.existsPromise(z.join(e,".git")))return e;r=z.dirname(e)}while(r!==e);return null}async function Xde(t,{baseRefs:e}){if(e.length===0)throw new ot("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Mr.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new ot(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Mr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Mr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function Zde(t,{base:e,project:r}){let o=Ye.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Mr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),{stdout:u}=await Mr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!z.relative(r.cwd,h).match(o)):p}async function Oht({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let r=[z.resolve(e.cwd,e.configuration.get("cacheFolder")),z.resolve(e.cwd,e.configuration.get("installStatePath")),z.resolve(e.cwd,e.configuration.get("lockfileFilename")),z.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await zde(e.configuration.projectCwd);if(o==null)throw new ot("This command can only be run on Git repositories");let a=await Xde(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await Zde(o,{base:a.hash,project:e});return new Set(Ye.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?Ye.mapAndFilter.skip:r.some(p=>u.startsWith(p))?Ye.mapAndFilter.skip:A}))}async function Y8(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Mr.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Mr.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new Vt(1,`Failed ${t}`,p=>{p.reportError(1,` ${ye.prettyField(o,{label:"Repository URL",value:ye.tuple(ye.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,E,w]=h;E=E.toLowerCase();let v=E==="error"?"Error":`${(0,Kde.default)(E)} Error`;p.reportError(1,` ${ye.prettyField(o,{label:v,value:ye.tuple(ye.Type.NO_HINT,w)})}`)}u==null||u(p)})}}var s2=class{supports(e,r){return gE(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=K8(e),n=new Map(r.checksums);n.set(a.locatorHash,o);let u={...r,checksums:n},A=await this.downloadHosted(a,u);if(A!==null)return A;let[p,h,E]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(a,u),...r.cacheOptions});return{packageFs:p,releaseFs:h,prefixPath:Y.getIdentVendorPath(e),checksum:E}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=await z8(e.reference,r.project.configuration),a=rh(e.reference),n=z.join(o,"package.tgz");await sn.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:e});let u=await ae.readFilePromise(n);return await Ye.releaseAfterUseAsync(async()=>await Ji.convertToZip(u,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1}))}};Ke();Ke();var o2=class{supportsDescriptor(e,r){return gE(e.range)}supportsLocator(e,r){return gE(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await J8(e.range,o.project.configuration);return[Y.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=rh(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=rh(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Mht={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[s2],resolvers:[o2]};var Uht=Mht;_t();var nh=class extends ct{constructor(){super(...arguments);this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=fe.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await $o.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let w=new Set,v=new Set;for(let b of Nt.hardDependencies)for(let[C,R]of h.getForScope(b)){let L=o.tryWorkspaceByDescriptor(R);L===null?o.workspacesByIdent.has(C)&&v.add(R):w.add(L)}E={workspaceDependencies:Array.from(w).map(b=>b.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(b=>Y.stringifyDescriptor(b))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?Y.stringifyIdent(h.name):null,...E})}})).exitCode()}};nh.paths=[["workspaces","list"]],nh.usage=it.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});Ke();Ke();_t();var ih=class extends ct{constructor(){super(...arguments);this.workspaceName=fe.String();this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[Y.stringifyIdent(p.locator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new ot(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:
513 - ${p.join(` 513 - ${p.join(`
514 - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};nh.paths=[["workspace"]],nh.usage=it.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` 514 - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};ih.paths=[["workspace"]],ih.usage=it.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:`
515 This command will run a given sub-command on a single workspace. 515 This command will run a given sub-command on a single workspace.
516 `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var bht={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Kde.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[x0,b0,Q0,k0,Z0,G0,L0,rh,Yd,Kd,lC,Jd,S0,P0,F0,R0,T0,N0,O0,M0,U0,_0,$0,H0,q0,Y0,W0,K0,j0,J0,V0,z0,zd,X0,Yf,eh,nh]},Qht=bht;var rH={};Yt(rH,{default:()=>Fht});Ke();var Qt={optional:!0},Z8=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Qt}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Qt,["postcss-jsx"]:Qt,["postcss-less"]:Qt,["postcss-markdown"]:Qt,["postcss-scss"]:Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var $8;function Jde(){return typeof $8>"u"&&($8=Ie("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),$8}var eH;function Vde(){return typeof eH>"u"&&(eH=Ie("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),eH}var tH;function zde(){return typeof tH>"u"&&(tH=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),tH}var Xde=new Map([[Y.makeIdent(null,"fsevents").identHash,Jde],[Y.makeIdent(null,"resolve").identHash,Vde],[Y.makeIdent(null,"typescript").identHash,zde]]),kht={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of Z8)e(Y.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{var n;let r="compat/";if(!e.startsWith(r))return;let o=Y.parseIdent(e.slice(r.length)),a=(n=Xde.get(o.identHash))==null?void 0:n();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof Xde.get(t.identHash)>"u"?t:Y.makeDescriptor(t,Y.makeRange({protocol:"patch:",source:Y.stringifyDescriptor(t),selector:`optional!builtin<compat/${Y.stringifyIdent(t)}>`,params:null}))}},Fht=kht;var EH={};Yt(EH,{ConstraintsCheckCommand:()=>uh,ConstraintsQueryCommand:()=>lh,ConstraintsSourceCommand:()=>ch,default:()=>sgt});Ke();Ke();s2();var AC=class{constructor(e){this.project=e}createEnvironment(){let e=new n2(["cwd","ident"]),r=new n2(["type","ident"]),o={manifestUpdates:new Map,reportedErrors:new Map};for(let a of this.project.workspaces){let n=Y.stringifyIdent(a.anchoredLocator),u=a.manifest.exportTo({}),A=(C,w,{caller:v=As.getCaller()}={})=>{let b=i2(C),E=Ye.getMapWithDefault(o.manifestUpdates,a.cwd),R=Ye.getMapWithDefault(E,b),L=Ye.getSetWithDefault(R,w);v!==null&&L.add(v)},p=C=>A(C,void 0,{caller:As.getCaller()}),h=e.insert({cwd:a.cwd,ident:n,manifest:u,set:A,unset:p});for(let C of Nt.allDependencies)for(let w of a.manifest[C].values()){let v=Y.stringifyIdent(w),b=()=>{A([C,v],void 0,{caller:As.getCaller()})},E=L=>{A([C,v],L,{caller:As.getCaller()})},R=L=>{Ye.getArrayWithDefault(o.reportedErrors,a.cwd).push(L)};r.insert({workspace:h,ident:v,range:w.range,type:C,update:E,delete:b,error:R})}}return{workspaces:e,dependencies:r,result:o}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependencies:a=>e.dependencies.find(a)}},o=await this.project.loadUserConfig();return o!=null&&o.constraints?(o.constraints(r),e.result):null}};Ke();Ke();_t();var lh=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=fe.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(u2(),c2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Ct.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let C=Array.from(Object.entries(h)),w=C.length,v=C.reduce((b,[E])=>Math.max(b,E.length),0);for(let b=0;b<w;b++){let[E,R]=C[b];p.reportInfo(null,`${ngt(b,w)}${E.padEnd(v," ")} = ${rgt(R)}`)}p.reportJson(h)}})).exitCode()}};lh.paths=[["constraints","query"]],lh.usage=it.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` 516 `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var _ht={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:$de.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[b0,Q0,k0,F0,$0,W0,O0,nh,Jd,zd,pE,Xd,P0,x0,R0,T0,N0,L0,M0,U0,_0,H0,eh,q0,j0,K0,Y0,V0,G0,J0,z0,X0,$d,Z0,Vf,th,ih]},Hht=_ht;var nH={};Yt(nH,{default:()=>jht});Ke();var Qt={optional:!0},$8=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Qt}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Qt,["postcss-jsx"]:Qt,["postcss-less"]:Qt,["postcss-markdown"]:Qt,["postcss-scss"]:Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var eH;function eme(){return typeof eH>"u"&&(eH=Ie("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),eH}var tH;function tme(){return typeof tH>"u"&&(tH=Ie("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),tH}var rH;function rme(){return typeof rH>"u"&&(rH=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),rH}var nme=new Map([[Y.makeIdent(null,"fsevents").identHash,eme],[Y.makeIdent(null,"resolve").identHash,tme],[Y.makeIdent(null,"typescript").identHash,rme]]),qht={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of $8)e(Y.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{var n;let r="compat/";if(!e.startsWith(r))return;let o=Y.parseIdent(e.slice(r.length)),a=(n=nme.get(o.identHash))==null?void 0:n();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof nme.get(t.identHash)>"u"?t:Y.makeDescriptor(t,Y.makeRange({protocol:"patch:",source:Y.stringifyDescriptor(t),selector:`optional!builtin<compat/${Y.stringifyIdent(t)}>`,params:null}))}},jht=qht;var EH={};Yt(EH,{ConstraintsCheckCommand:()=>Ah,ConstraintsQueryCommand:()=>ch,ConstraintsSourceCommand:()=>uh,default:()=>dgt});Ke();Ke();c2();var dE=class{constructor(e){this.project=e}createEnvironment(){let e=new a2(["cwd","ident"]),r=new a2(["type","ident"]),o={manifestUpdates:new Map,reportedErrors:new Map};for(let a of this.project.workspaces){let n=Y.stringifyIdent(a.anchoredLocator),u=a.manifest.exportTo({}),A=(w,v,{caller:b=As.getCaller()}={})=>{let C=l2(w),R=Ye.getMapWithDefault(o.manifestUpdates,a.cwd),L=Ye.getMapWithDefault(R,C),_=Ye.getSetWithDefault(L,v);b!==null&&_.add(b)},p=w=>A(w,void 0,{caller:As.getCaller()}),h=w=>{Ye.getArrayWithDefault(o.reportedErrors,a.cwd).push(w)},E=e.insert({cwd:a.cwd,ident:n,manifest:u,set:A,unset:p,error:h});for(let w of Nt.allDependencies)for(let v of a.manifest[w].values()){let b=Y.stringifyIdent(v),C=()=>{A([w,b],void 0,{caller:As.getCaller()})},R=L=>{A([w,b],L,{caller:As.getCaller()})};r.insert({workspace:E,ident:b,range:v.range,type:w,update:R,delete:C,error:h})}}return{workspaces:e,dependencies:r,result:o}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependencies:a=>e.dependencies.find(a)}},o=await this.project.loadUserConfig();return o!=null&&o.constraints?(await o.constraints(r),e.result):null}};Ke();Ke();_t();var ch=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=fe.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(h2(),p2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Et.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let E=Array.from(Object.entries(h)),w=E.length,v=E.reduce((b,[C])=>Math.max(b,C.length),0);for(let b=0;b<w;b++){let[C,R]=E[b];p.reportInfo(null,`${hgt(b,w)}${C.padEnd(v," ")} = ${pgt(R)}`)}p.reportJson(h)}})).exitCode()}};ch.paths=[["constraints","query"]],ch.usage=it.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:`
517 This command will output all matches to the given prolog query. 517 This command will output all matches to the given prolog query.
518 `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]});function rgt(t){return typeof t!="string"?`${t}`:t.match(/^[a-zA-Z][a-zA-Z0-9_]+$/)?t:`'${t}'`}function ngt(t,e){let r=t===0,o=t===e-1;return r&&o?"":r?"\u250C ":o?"\u2514 ":"\u2502 "}Ke();_t();var ch=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also print the fact database automatically compiled from the workspace manifests"})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(u2(),c2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};ch.paths=[["constraints","source"]],ch.usage=it.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});Ke();Ke();_t();s2();var uh=class extends ct{constructor(){super(...arguments);this.fix=fe.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await o.loadUserConfig(),n;if(a!=null&&a.constraints)n=new AC(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(u2(),c2));n=await h.find(o)}let u={children:[]},A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let C=await n.process();if(!C)break;let{changedWorkspaces:w,remainingErrors:v}=eQ(o,C,{fix:this.fix}),b=[];for(let[E,R]of w){let L=E.manifest.indent;E.manifest=new Nt,E.manifest.indent=L,E.manifest.load(R),b.push(E.persistManifest())}if(!(w.size>0&&h>1)){A=!1,p=!0;for(let[E,R]of v){let L=[];for(let J of R){let re=J.text.split(/\n/);J.fixable?(re[0]=`${ye.pretty(r,"\u2699","gray")} ${re[0]}`,A=!0):p=!1,L.push({value:ye.tuple(ye.Type.NO_HINT,re[0]),children:re.slice(1).map(oe=>({value:ye.tuple(ye.Type.NO_HINT,oe)}))})}let _={value:ye.tuple(ye.Type.LOCATOR,E.anchoredLocator),children:Ye.sortMap(L,J=>J.value[1])};u.children.push(_)}}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`;await Ct.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async C=>{C.reportInfo(0,h),C.reportSeparator()})}return u.children=Ye.sortMap(u.children,h=>h.value[1]),Xo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};uh.paths=[["constraints"]],uh.usage=it.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` 518 `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]});function pgt(t){return typeof t!="string"?`${t}`:t.match(/^[a-zA-Z][a-zA-Z0-9_]+$/)?t:`'${t}'`}function hgt(t,e){let r=t===0,o=t===e-1;return r&&o?"":r?"\u250C ":o?"\u2514 ":"\u2502 "}Ke();_t();var uh=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also print the fact database automatically compiled from the workspace manifests"})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(h2(),p2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};uh.paths=[["constraints","source"]],uh.usage=it.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});Ke();Ke();_t();c2();var Ah=class extends ct{constructor(){super(...arguments);this.fix=fe.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await o.loadUserConfig(),n;if(a!=null&&a.constraints)n=new dE(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(h2(),p2));n=await h.find(o)}let u={children:[]},A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:w,remainingErrors:v}=aQ(o,E,{fix:this.fix}),b=[];for(let[C,R]of w){let L=C.manifest.indent;C.manifest=new Nt,C.manifest.indent=L,C.manifest.load(R),b.push(C.persistManifest())}if(!(w.size>0&&h>1)){A=!1,p=!0;for(let[C,R]of v){let L=[];for(let V of R){let re=V.text.split(/\n/);V.fixable?(re[0]=`${ye.pretty(r,"\u2699","gray")} ${re[0]}`,A=!0):p=!1,L.push({value:ye.tuple(ye.Type.NO_HINT,re[0]),children:re.slice(1).map(oe=>({value:ye.tuple(ye.Type.NO_HINT,oe)}))})}let _={value:ye.tuple(ye.Type.LOCATOR,C.anchoredLocator),children:Ye.sortMap(L,V=>V.value[1])};u.children.push(_)}}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`;await Et.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return u.children=Ye.sortMap(u.children,h=>h.value[1]),Zo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};Ah.paths=[["constraints"]],Ah.usage=it.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:`
519 This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. 519 This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code.
520 520
521 If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. 521 If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution.
522 522
523 For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. 523 For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints.
524 `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});s2();var igt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[lh,ch,uh],hooks:{async validateProject(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r!=null&&r.constraints)o=new AC(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(u2(),c2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=eQ(t,a);n.size!==0&&e(84,`Constraint check failed; run ${ye.pretty(t.configuration,"yarn constraints",ye.Type.CODE)} for more details`)}}},sgt=igt;var CH={};Yt(CH,{CreateCommand:()=>em,DlxCommand:()=>Ah,default:()=>agt});Ke();_t();var em=class extends ct{constructor(){super(...arguments);this.pkg=fe.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=Y.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?Y.makeIdent(a.scope,`create-${a.name}`):Y.makeIdent(null,`create-${a.name}`),u=Y.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};em.paths=[["create"]];Ke();Ke();bt();_t();var Ah=class extends ct{constructor(){super(...arguments);this.packages=fe.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){return Xe.telemetry=null,await ae.mktempPromise(async r=>{let o=V.join(r,`dlx-${process.pid}`);await ae.mkdirPromise(o),await ae.writeFilePromise(V.join(o,"package.json"),`{} 524 `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});c2();var ggt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[ch,uh,Ah],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r!=null&&r.constraints)o=new dE(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(h2(),p2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=aQ(t,a);n.size!==0&&e(84,`Constraint check failed; run ${ye.pretty(t.configuration,"yarn constraints",ye.Type.CODE)} for more details`)}}},dgt=ggt;var IH={};Yt(IH,{CreateCommand:()=>nm,DlxCommand:()=>fh,default:()=>ygt});Ke();_t();var nm=class extends ct{constructor(){super(...arguments);this.pkg=fe.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=Y.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?Y.makeIdent(a.scope,`create-${a.name}`):Y.makeIdent(null,`create-${a.name}`),u=Y.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};nm.paths=[["create"]];Ke();Ke();bt();_t();var fh=class extends ct{constructor(){super(...arguments);this.packages=fe.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){return Xe.telemetry=null,await ae.mktempPromise(async r=>{let o=z.join(r,`dlx-${process.pid}`);await ae.mkdirPromise(o),await ae.writeFilePromise(z.join(o,"package.json"),`{}
525`),await ae.writeFilePromise(V.join(o,"yarn.lock"),"");let a=V.join(o,".yarnrc.yml"),n=await Xe.findProjectCwd(this.context.cwd,Lr.lockfile),A={enableGlobalCache:!(await Xe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Ku(68),level:ye.LogLevel.Discard}]},p=n!==null?V.join(n,".yarnrc.yml"):null;p!==null&&ae.existsSync(p)?(await ae.copyFilePromise(p,a),await Xe.updateConfiguration(o,L=>{let _=Ye.toMerged(L,A);return Array.isArray(L.plugins)&&(_.plugins=L.plugins.map(J=>{let re=typeof J=="string"?J:J.path,oe=Ae.isAbsolute(re)?re:Ae.resolve(Ae.fromPortablePath(n),re);return typeof J=="string"?oe:{path:oe,spec:J.spec}})),_})):await ae.writeJsonPromise(a,A);let h=this.packages??[this.command],C=Y.parseDescriptor(this.command).name,w=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(w!==0)return w;this.quiet||this.context.stdout.write(` 525`),await ae.writeFilePromise(z.join(o,"yarn.lock"),"");let a=z.join(o,".yarnrc.yml"),n=await Xe.findProjectCwd(this.context.cwd,Lr.lockfile),A={enableGlobalCache:!(await Xe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Vu(68),level:ye.LogLevel.Discard}]},p=n!==null?z.join(n,".yarnrc.yml"):null;p!==null&&ae.existsSync(p)?(await ae.copyFilePromise(p,a),await Xe.updateConfiguration(o,L=>{let _=Ye.toMerged(L,A);return Array.isArray(L.plugins)&&(_.plugins=L.plugins.map(V=>{let re=typeof V=="string"?V:V.path,oe=ue.isAbsolute(re)?re:ue.resolve(ue.fromPortablePath(n),re);return typeof V=="string"?oe:{path:oe,spec:V.spec}})),_})):await ae.writeJsonPromise(a,A);let h=this.packages??[this.command],E=Y.parseDescriptor(this.command).name,w=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(w!==0)return w;this.quiet||this.context.stdout.write(`
526`);let v=await Xe.find(o,this.context.plugins),{project:b,workspace:E}=await St.find(v,o);if(E===null)throw new er(b.cwd,o);await b.restoreInstallState();let R=await sn.getWorkspaceAccessibleBinaries(E);return R.has(C)===!1&&R.size===1&&typeof this.packages>"u"&&(C=Array.from(R)[0][0]),await sn.executeWorkspaceAccessibleBinary(E,C,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Ah.paths=[["dlx"]],Ah.usage=it.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var ogt={commands:[em,Ah]},agt=ogt;var BH={};Yt(BH,{ExecFetcher:()=>f2,ExecResolver:()=>p2,default:()=>ugt,execUtils:()=>iQ});Ke();Ke();bt();var pA="exec:";var iQ={};Yt(iQ,{loadGeneratorFile:()=>A2,makeLocator:()=>wH,makeSpec:()=>bme,parseSpec:()=>IH});Ke();bt();function IH(t){let{params:e,selector:r}=Y.parseRange(t),o=Ae.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function bme({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function wH(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return Y.makeLocator(t,bme({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function A2(t,e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(t,{protocol:e}),n=V.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var f2=class{supports(e,r){return!!e.reference.startsWith(pA)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:pA});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await A2(e.reference,pA,r);return ae.mktempPromise(async a=>{let n=V.join(a,"generator.js");return await ae.writeFilePromise(n,o),ae.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!ae.existsSync(V.join(u,"build")))throw new Error("The script should have generated a build directory");return await Vi.makeArchiveFromDirectory(V.join(u,"build"),{prefixPath:Y.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await ae.mktempPromise(async n=>{let u=await sn.makeScriptEnv({project:a.project,binFolder:n}),A=V.join(e,"runtime.js");return await ae.mktempPromise(async p=>{let h=V.join(p,"buildfile.log"),C=V.join(e,"generator"),w=V.join(e,"build");await ae.mkdirPromise(C),await ae.mkdirPromise(w);let v={tempDir:Ae.fromPortablePath(C),buildDir:Ae.fromPortablePath(w),locator:Y.stringifyLocator(r)};await ae.writeFilePromise(A,` 526`);let v=await Xe.find(o,this.context.plugins),{project:b,workspace:C}=await St.find(v,o);if(C===null)throw new er(b.cwd,o);await b.restoreInstallState();let R=await sn.getWorkspaceAccessibleBinaries(C);return R.has(E)===!1&&R.size===1&&typeof this.packages>"u"&&(E=Array.from(R)[0][0]),await sn.executeWorkspaceAccessibleBinary(C,E,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};fh.paths=[["dlx"]],fh.usage=it.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var mgt={commands:[nm,fh]},ygt=mgt;var vH={};Yt(vH,{ExecFetcher:()=>d2,ExecResolver:()=>m2,default:()=>Igt,execUtils:()=>AQ});Ke();Ke();bt();var hA="exec:";var AQ={};Yt(AQ,{loadGeneratorFile:()=>g2,makeLocator:()=>BH,makeSpec:()=>Nme,parseSpec:()=>wH});Ke();bt();function wH(t){let{params:e,selector:r}=Y.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function Nme({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function BH(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return Y.makeLocator(t,Nme({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function g2(t,e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(t,{protocol:e}),n=z.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var d2=class{supports(e,r){return!!e.reference.startsWith(hA)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:hA});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await g2(e.reference,hA,r);return ae.mktempPromise(async a=>{let n=z.join(a,"generator.js");return await ae.writeFilePromise(n,o),ae.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!ae.existsSync(z.join(u,"build")))throw new Error("The script should have generated a build directory");return await Ji.makeArchiveFromDirectory(z.join(u,"build"),{prefixPath:Y.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await ae.mktempPromise(async n=>{let u=await sn.makeScriptEnv({project:a.project,binFolder:n}),A=z.join(e,"runtime.js");return await ae.mktempPromise(async p=>{let h=z.join(p,"buildfile.log"),E=z.join(e,"generator"),w=z.join(e,"build");await ae.mkdirPromise(E),await ae.mkdirPromise(w);let v={tempDir:ue.fromPortablePath(E),buildDir:ue.fromPortablePath(w),locator:Y.stringifyLocator(r)};await ae.writeFilePromise(A,`
527 // Expose 'Module' as a global variable 527 // Expose 'Module' as a global variable
528 Object.defineProperty(global, 'Module', { 528 Object.defineProperty(global, 'Module', {
529 get: () => require('module'), 529 get: () => require('module'),
@@ -547,127 +547,129 @@ ${ve}`)}else pe.length>1&&!A&&_.reportError(27,`${Y.prettyDescriptor(r,J)} has m
547 }, 547 },
548 enumerable: true, 548 enumerable: true,
549 }); 549 });
550 `);let b=u.NODE_OPTIONS||"",E=/\s*--require\s+\S*\.pnp\.c?js\s*/g;b=b.replace(E," ").trim(),u.NODE_OPTIONS=b;let{stdout:R,stderr:L}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${Y.stringifyLocator(r)}) 550 `);let b=u.NODE_OPTIONS||"",C=/\s*--require\s+\S*\.pnp\.c?js\s*/g;b=b.replace(C," ").trim(),u.NODE_OPTIONS=b;let{stdout:R,stderr:L}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${Y.stringifyLocator(r)})
551`,prefix:Y.prettyLocator(a.project.configuration,r),report:a.report}),{code:_}=await Mr.pipevp(process.execPath,["--require",Ae.fromPortablePath(A),Ae.fromPortablePath(o),Y.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:R,stderr:L});if(_!==0)throw ae.detachTemp(p),new Error(`Package generation failed (exit code ${_}, logs can be found here: ${ye.pretty(a.project.configuration,h,ye.Type.PATH)})`)})})}};Ke();Ke();var lgt=2,p2=class{supportsDescriptor(e,r){return!!e.range.startsWith(pA)}supportsLocator(e,r){return!!e.reference.startsWith(pA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=IH(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await A2(Y.makeRange({protocol:pA,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}}),pA,o.fetchOptions),A=bn.makeHash(`${lgt}`,u).slice(0,6);return[wH(e,{parentLocator:n,path:a,generatorHash:A,protocol:pA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var cgt={fetchers:[f2],resolvers:[p2]},ugt=cgt;var DH={};Yt(DH,{FileFetcher:()=>m2,FileResolver:()=>y2,TarballFileFetcher:()=>E2,TarballFileResolver:()=>C2,default:()=>pgt,fileUtils:()=>tm});Ke();bt();var gC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,h2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Mi="file:";var tm={};Yt(tm,{fetchArchiveFromLocator:()=>d2,makeArchiveFromLocator:()=>sQ,makeBufferFromLocator:()=>vH,makeLocator:()=>dC,makeSpec:()=>Qme,parseSpec:()=>g2});Ke();bt();function g2(t){let{params:e,selector:r}=Y.parseRange(t),o=Ae.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function Qme({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function dC(t,{parentLocator:e,path:r,hash:o,protocol:a}){return Y.makeLocator(t,Qme({parentLocator:e,path:r,hash:o,protocol:a}))}async function d2(t,e){let{parentLocator:r,path:o}=Y.parseFileStyleRange(t.reference,{protocol:Mi}),a=V.isAbsolute(o)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=V.join(n.prefixPath,o);return await Ye.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function sQ(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=Y.parseFileStyleRange(t.reference,{protocol:e}),u=V.isAbsolute(n)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=V.join(A.prefixPath,n);return await Ye.releaseAfterUseAsync(async()=>await Vi.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:Y.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function vH(t,{protocol:e,fetchOptions:r}){return(await sQ(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var m2=class{supports(e,r){return!!e.reference.startsWith(Mi)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Mi});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return sQ(e,{protocol:Mi,fetchOptions:r})}};Ke();Ke();var Agt=2,y2=class{supportsDescriptor(e,r){return e.range.match(gC)?!0:!!e.range.startsWith(Mi)}supportsLocator(e,r){return!!e.reference.startsWith(Mi)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return gC.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=g2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await vH(Y.makeLocator(e,Y.makeRange({protocol:Mi,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}})),{protocol:Mi,fetchOptions:o.fetchOptions}),A=bn.makeHash(`${Agt}`,u).slice(0,6);return[dC(e,{parentLocator:n,path:a,hash:A,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ke();var E2=class{supports(e,r){return h2.test(e.reference)?!!e.reference.startsWith(Mi):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await d2(e,r);return await Vi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();Ke();var C2=class{supportsDescriptor(e,r){return h2.test(e.range)?!!(e.range.startsWith(Mi)||gC.test(e.range)):!1}supportsLocator(e,r){return h2.test(e.reference)?!!e.reference.startsWith(Mi):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return gC.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=g2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=dC(e,{parentLocator:n,path:a,hash:"",protocol:Mi}),A=await d2(u,o.fetchOptions),p=bn.makeHash(A).slice(0,6);return[dC(e,{parentLocator:n,path:a,hash:p,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var fgt={fetchers:[E2,m2],resolvers:[C2,y2]},pgt=fgt;var xH={};Yt(xH,{GithubFetcher:()=>I2,default:()=>ggt,githubUtils:()=>oQ});Ke();bt();var oQ={};Yt(oQ,{invalidGithubUrlMessage:()=>Rme,isGithubUrl:()=>SH,parseGithubUrl:()=>PH});var kme=tt(Ie("querystring")),Fme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function SH(t){return t?Fme.some(e=>!!t.match(e)):!1}function PH(t){let e;for(let A of Fme)if(e=t.match(A),e)break;if(!e)throw new Error(Rme(t));let[,r,o,a,n="master"]=e,{commit:u}=kme.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function Rme(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var I2=class{supports(e,r){return!!SH(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await ae.mktempPromise(async a=>{let n=new An(a);await Vi.extractArchiveTo(o,n,{stripComponents:1});let u=Zo.splitRepoUrl(e.reference),A=V.join(a,"package.tgz");await sn.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await ae.readFilePromise(A);return await Vi.convertToZip(p,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=PH(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var hgt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new I2;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},ggt=hgt;var bH={};Yt(bH,{TarballHttpFetcher:()=>v2,TarballHttpResolver:()=>D2,default:()=>mgt});Ke();var w2=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,B2=/^https?:/;var v2=class{supports(e,r){return w2.test(e.reference)?!!B2.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(e.reference,{configuration:r.project.configuration});return await Vi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();var D2=class{supportsDescriptor(e,r){return w2.test(e.range)?!!B2.test(e.range):!1}supportsLocator(e,r){return w2.test(e.reference)?!!B2.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[Y.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var dgt={fetchers:[v2],resolvers:[D2]},mgt=dgt;var QH={};Yt(QH,{InitCommand:()=>fh,default:()=>Egt});Ke();Ke();bt();_t();var fh=class extends ct{constructor(){super(...arguments);this.private=fe.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=fe.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=fe.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=fe.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=fe.Boolean("-2",!1,{hidden:!0});this.yes=fe.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new ot("Cannot use the --install flag from within a project subdirectory");ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=V.join(this.context.cwd,r.get("lockfileFilename"));ae.existsSync(a)||await ae.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await ae.mktempPromise(async A=>{let{code:p}=await Mr.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await sn.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await St.find(r,this.context.cwd)).project}catch{o=null}ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Nt.tryFind(this.context.cwd),n=a??new Nt,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??Y.makeIdent(r.get("initScope"),this.name??V.basename(this.context.cwd)),n.packageManager=On&&Ye.isTaggedYarnVersion(On)?`yarn@${On}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await ae.mkdirPromise(V.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=V.join(this.context.cwd,Nt.fileName);await ae.changeFilePromise(p,`${JSON.stringify(A,null,2)} 551`,prefix:Y.prettyLocator(a.project.configuration,r),report:a.report}),{code:_}=await Mr.pipevp(process.execPath,["--require",ue.fromPortablePath(A),ue.fromPortablePath(o),Y.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:R,stderr:L});if(_!==0)throw ae.detachTemp(p),new Error(`Package generation failed (exit code ${_}, logs can be found here: ${ye.pretty(a.project.configuration,h,ye.Type.PATH)})`)})})}};Ke();Ke();var Cgt=2,m2=class{supportsDescriptor(e,r){return!!e.range.startsWith(hA)}supportsLocator(e,r){return!!e.reference.startsWith(hA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=wH(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await g2(Y.makeRange({protocol:hA,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}}),hA,o.fetchOptions),A=bn.makeHash(`${Cgt}`,u).slice(0,6);return[BH(e,{parentLocator:n,path:a,generatorHash:A,protocol:hA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Egt={fetchers:[d2],resolvers:[m2]},Igt=Egt;var SH={};Yt(SH,{FileFetcher:()=>I2,FileResolver:()=>w2,TarballFileFetcher:()=>B2,TarballFileResolver:()=>v2,default:()=>vgt,fileUtils:()=>im});Ke();bt();var EE=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,y2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Mi="file:";var im={};Yt(im,{fetchArchiveFromLocator:()=>E2,makeArchiveFromLocator:()=>fQ,makeBufferFromLocator:()=>DH,makeLocator:()=>IE,makeSpec:()=>Lme,parseSpec:()=>C2});Ke();bt();function C2(t){let{params:e,selector:r}=Y.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function Lme({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function IE(t,{parentLocator:e,path:r,hash:o,protocol:a}){return Y.makeLocator(t,Lme({parentLocator:e,path:r,hash:o,protocol:a}))}async function E2(t,e){let{parentLocator:r,path:o}=Y.parseFileStyleRange(t.reference,{protocol:Mi}),a=z.isAbsolute(o)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=z.join(n.prefixPath,o);return await Ye.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function fQ(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=Y.parseFileStyleRange(t.reference,{protocol:e}),u=z.isAbsolute(n)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=z.join(A.prefixPath,n);return await Ye.releaseAfterUseAsync(async()=>await Ji.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:Y.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function DH(t,{protocol:e,fetchOptions:r}){return(await fQ(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var I2=class{supports(e,r){return!!e.reference.startsWith(Mi)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Mi});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return fQ(e,{protocol:Mi,fetchOptions:r})}};Ke();Ke();var wgt=2,w2=class{supportsDescriptor(e,r){return e.range.match(EE)?!0:!!e.range.startsWith(Mi)}supportsLocator(e,r){return!!e.reference.startsWith(Mi)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return EE.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=C2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await DH(Y.makeLocator(e,Y.makeRange({protocol:Mi,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}})),{protocol:Mi,fetchOptions:o.fetchOptions}),A=bn.makeHash(`${wgt}`,u).slice(0,6);return[IE(e,{parentLocator:n,path:a,hash:A,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ke();var B2=class{supports(e,r){return y2.test(e.reference)?!!e.reference.startsWith(Mi):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await E2(e,r);return await Ji.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();Ke();var v2=class{supportsDescriptor(e,r){return y2.test(e.range)?!!(e.range.startsWith(Mi)||EE.test(e.range)):!1}supportsLocator(e,r){return y2.test(e.reference)?!!e.reference.startsWith(Mi):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return EE.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=C2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=IE(e,{parentLocator:n,path:a,hash:"",protocol:Mi}),A=await E2(u,o.fetchOptions),p=bn.makeHash(A).slice(0,6);return[IE(e,{parentLocator:n,path:a,hash:p,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Bgt={fetchers:[B2,I2],resolvers:[v2,w2]},vgt=Bgt;var bH={};Yt(bH,{GithubFetcher:()=>D2,default:()=>Sgt,githubUtils:()=>pQ});Ke();bt();var pQ={};Yt(pQ,{invalidGithubUrlMessage:()=>Ume,isGithubUrl:()=>PH,parseGithubUrl:()=>xH});var Ome=tt(Ie("querystring")),Mme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function PH(t){return t?Mme.some(e=>!!t.match(e)):!1}function xH(t){let e;for(let A of Mme)if(e=t.match(A),e)break;if(!e)throw new Error(Ume(t));let[,r,o,a,n="master"]=e,{commit:u}=Ome.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function Ume(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var D2=class{supports(e,r){return!!PH(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await ae.mktempPromise(async a=>{let n=new An(a);await Ji.extractArchiveTo(o,n,{stripComponents:1});let u=$o.splitRepoUrl(e.reference),A=z.join(a,"package.tgz");await sn.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await ae.readFilePromise(A);return await Ji.convertToZip(p,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=xH(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var Dgt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new D2;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},Sgt=Dgt;var QH={};Yt(QH,{TarballHttpFetcher:()=>x2,TarballHttpResolver:()=>b2,default:()=>xgt});Ke();var S2=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,P2=/^https?:/;var x2=class{supports(e,r){return S2.test(e.reference)?!!P2.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(e.reference,{configuration:r.project.configuration});return await Ji.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();var b2=class{supportsDescriptor(e,r){return S2.test(e.range)?!!P2.test(e.range):!1}supportsLocator(e,r){return S2.test(e.reference)?!!P2.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[Y.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Pgt={fetchers:[x2],resolvers:[b2]},xgt=Pgt;var kH={};Yt(kH,{InitCommand:()=>ph,default:()=>Qgt});Ke();Ke();bt();_t();var ph=class extends ct{constructor(){super(...arguments);this.private=fe.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=fe.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=fe.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=fe.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=fe.Boolean("-2",!1,{hidden:!0});this.yes=fe.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new ot("Cannot use the --install flag from within a project subdirectory");ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=z.join(this.context.cwd,r.get("lockfileFilename"));ae.existsSync(a)||await ae.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await ae.mktempPromise(async A=>{let{code:p}=await Mr.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await sn.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await St.find(r,this.context.cwd)).project}catch{o=null}ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Nt.tryFind(this.context.cwd),n=a??new Nt,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??Y.makeIdent(r.get("initScope"),this.name??z.basename(this.context.cwd)),n.packageManager=On&&Ye.isTaggedYarnVersion(On)?`yarn@${On}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await ae.mkdirPromise(z.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=z.join(this.context.cwd,Nt.fileName);await ae.changeFilePromise(p,`${JSON.stringify(A,null,2)}
552`,{automaticNewlines:!0});let h=[p],C=V.join(this.context.cwd,"README.md");if(ae.existsSync(C)||(await ae.writeFilePromise(C,`# ${Y.stringifyIdent(n.name)} 552`,{automaticNewlines:!0});let h=[p],E=z.join(this.context.cwd,"README.md");if(ae.existsSync(E)||(await ae.writeFilePromise(E,`# ${Y.stringifyIdent(n.name)}
553`),h.push(C)),!o||o.cwd===this.context.cwd){let w=V.join(this.context.cwd,Lr.lockfile);ae.existsSync(w)||(await ae.writeFilePromise(w,""),h.push(w));let b=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/zero-installs","","#!.yarn/cache",".pnp.*"].map(pe=>`${pe} 553`),h.push(E)),!o||o.cwd===this.context.cwd){let w=z.join(this.context.cwd,Lr.lockfile);ae.existsSync(w)||(await ae.writeFilePromise(w,""),h.push(w));let b=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/zero-installs","","#!.yarn/cache",".pnp.*"].map(pe=>`${pe}
554`).join(""),E=V.join(this.context.cwd,".gitignore");ae.existsSync(E)||(await ae.writeFilePromise(E,b),h.push(E));let L=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(pe=>`${pe} 554`).join(""),C=z.join(this.context.cwd,".gitignore");ae.existsSync(C)||(await ae.writeFilePromise(C,b),h.push(C));let L=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(pe=>`${pe}
555`).join(""),_=V.join(this.context.cwd,".gitattributes");ae.existsSync(_)||(await ae.writeFilePromise(_,L),h.push(_));let J={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};Ye.mergeIntoTarget(J,r.get("initEditorConfig"));let re=`root = true 555`).join(""),_=z.join(this.context.cwd,".gitattributes");ae.existsSync(_)||(await ae.writeFilePromise(_,L),h.push(_));let V={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};Ye.mergeIntoTarget(V,r.get("initEditorConfig"));let re=`root = true
556`;for(let[pe,he]of Object.entries(J)){re+=` 556`;for(let[pe,he]of Object.entries(V)){re+=`
557[${pe}] 557[${pe}]
558`;for(let[ve,ge]of Object.entries(he)){let le=ve.replace(/[A-Z]/g,Pe=>`_${Pe.toLowerCase()}`);re+=`${le} = ${ge} 558`;for(let[ve,ge]of Object.entries(he)){let le=ve.replace(/[A-Z]/g,Pe=>`_${Pe.toLowerCase()}`);re+=`${le} = ${ge}
559`}}let oe=V.join(this.context.cwd,".editorconfig");ae.existsSync(oe)||(await ae.writeFilePromise(oe,re),h.push(oe)),await this.cli.run(["install"],{quiet:!0}),ae.existsSync(V.join(this.context.cwd,".git"))||(await Mr.execvp("git",["init"],{cwd:this.context.cwd}),await Mr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Mr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};fh.paths=[["init"]],fh.usage=it.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var ygt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[fh]},Egt=ygt;var Fq={};Yt(Fq,{SearchCommand:()=>mh,UpgradeInteractiveCommand:()=>Eh,default:()=>aIt});Ke();var Tme=tt(Ie("os"));function mC({stdout:t}){if(Tme.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}_t();var Yye=tt(JH()),VH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},dmt=(0,Yye.default)(VH.appId,VH.apiKey).initIndex(VH.indexName),zH=async(t,e=0)=>await dmt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var vB=["regular","dev","peer"],mh=class extends ct{async execute(){mC(this.context);let{Gem:e}=await Promise.resolve().then(()=>(JQ(),Iq)),{ScrollableItems:r}=await Promise.resolve().then(()=>(ZQ(),XQ)),{useKeypress:o}=await Promise.resolve().then(()=>(IB(),awe)),{useMinistore:a}=await Promise.resolve().then(()=>(Pq(),Sq)),{renderForm:n}=await Promise.resolve().then(()=>(rk(),tk)),{default:u}=await Promise.resolve().then(()=>tt(mwe())),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(oc())),{default:h,useEffect:C,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),b=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),E=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),L=({hit:ge,active:le})=>{let[Pe,g]=a(ge.name,null);o({active:le},(de,ne)=>{if(ne.name!=="space")return;if(!Pe){g(vB[0]);return}let Z=vB.indexOf(Pe)+1;Z===vB.length?g(null):g(vB[Z])},[Pe,g]);let De=Y.parseIdent(ge.name),Ee=Y.prettyIdent(v,De);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ee)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},ge.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},ge.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,ge.humanDownloadsLast30Days)))},_=({name:ge,active:le})=>{let[Pe]=a(ge,null),g=Y.parseIdent(ge);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",Y.prettyIdent(v,g))),vB.map(De=>h.createElement(A,{key:De,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Pe===De})," ",h.createElement(p,{bold:!0},De)))))},J=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),oe=await n(({useSubmit:ge})=>{let le=a();ge(le);let Pe=Array.from(le.keys()).filter(H=>le.get(H)!==null),[g,De]=w(""),[Ee,de]=w(0),[ne,Z]=w([]),me=H=>{H.match(/\t| /)||De(H)},be=async()=>{de(0);let H=await zH(g);H.query===g&&Z(H.hits)},ut=async()=>{let H=await zH(g,Ee+1);H.query===g&&H.page-1===Ee&&(de(H.page),Z([...ne,...H.hits]))};return C(()=>{g?be():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(b,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:me,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(E,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(L,{key:H.name,hit:H,active:!1})),willReachEnd:ut}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(R,null)),Pe.length?Pe.map(H=>h.createElement(_,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(J,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof oe>"u")return 1;let pe=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="regular"),he=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="dev"),ve=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="peer");return pe.length&&await this.cli.run(["add",...pe]),he.length&&await this.cli.run(["add","--dev",...he]),ve&&await this.cli.run(["add","--peer",...ve]),0}};mh.paths=[["search"]],mh.usage=it.Usage({category:"Interactive commands",description:"open the search interface",details:` 559`}}let oe=z.join(this.context.cwd,".editorconfig");ae.existsSync(oe)||(await ae.writeFilePromise(oe,re),h.push(oe)),await this.cli.run(["install"],{quiet:!0}),ae.existsSync(z.join(this.context.cwd,".git"))||(await Mr.execvp("git",["init"],{cwd:this.context.cwd}),await Mr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Mr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};ph.paths=[["init"]],ph.usage=it.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var bgt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[ph]},Qgt=bgt;var Rq={};Yt(Rq,{SearchCommand:()=>yh,UpgradeInteractiveCommand:()=>Eh,default:()=>yIt});Ke();var _me=tt(Ie("os"));function wE({stdout:t}){if(_me.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}_t();var Zye=tt(JH()),zH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},Pmt=(0,Zye.default)(zH.appId,zH.apiKey).initIndex(zH.indexName),XH=async(t,e=0)=>await Pmt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var xB=["regular","dev","peer"],yh=class extends ct{async execute(){wE(this.context);let{Gem:e}=await Promise.resolve().then(()=>(tk(),wq)),{ScrollableItems:r}=await Promise.resolve().then(()=>(sk(),ik)),{useKeypress:o}=await Promise.resolve().then(()=>(DB(),pwe)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),Pq)),{renderForm:n}=await Promise.resolve().then(()=>(ck(),lk)),{default:u}=await Promise.resolve().then(()=>tt(Bwe())),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(cc())),{default:h,useEffect:E,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),b=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),C=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),L=({hit:ge,active:le})=>{let[Pe,g]=a(ge.name,null);o({active:le},(de,ne)=>{if(ne.name!=="space")return;if(!Pe){g(xB[0]);return}let Z=xB.indexOf(Pe)+1;Z===xB.length?g(null):g(xB[Z])},[Pe,g]);let De=Y.parseIdent(ge.name),Ce=Y.prettyIdent(v,De);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ce)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},ge.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},ge.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,ge.humanDownloadsLast30Days)))},_=({name:ge,active:le})=>{let[Pe]=a(ge,null),g=Y.parseIdent(ge);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",Y.prettyIdent(v,g))),xB.map(De=>h.createElement(A,{key:De,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Pe===De})," ",h.createElement(p,{bold:!0},De)))))},V=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),oe=await n(({useSubmit:ge})=>{let le=a();ge(le);let Pe=Array.from(le.keys()).filter(H=>le.get(H)!==null),[g,De]=w(""),[Ce,de]=w(0),[ne,Z]=w([]),me=H=>{H.match(/\t| /)||De(H)},be=async()=>{de(0);let H=await XH(g);H.query===g&&Z(H.hits)},ut=async()=>{let H=await XH(g,Ce+1);H.query===g&&H.page-1===Ce&&(de(H.page),Z([...ne,...H.hits]))};return E(()=>{g?be():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(b,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:me,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(C,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(L,{key:H.name,hit:H,active:!1})),willReachEnd:ut}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(R,null)),Pe.length?Pe.map(H=>h.createElement(_,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(V,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof oe>"u")return 1;let pe=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="regular"),he=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="dev"),ve=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="peer");return pe.length&&await this.cli.run(["add",...pe]),he.length&&await this.cli.run(["add","--dev",...he]),ve&&await this.cli.run(["add","--peer",...ve]),0}};yh.paths=[["search"]],yh.usage=it.Usage({category:"Interactive commands",description:"open the search interface",details:`
560 This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. 560 This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry.
561 `,examples:[["Open the search window","yarn search"]]});Ke();_t();g_();var vwe=tt(ii()),Bwe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,Dwe=(t,e)=>t.length>0?[t.slice(0,e)].concat(Dwe(t.slice(e),e)):[],Eh=class extends ct{async execute(){mC(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(wwe(),Iwe)),{Pad:r}=await Promise.resolve().then(()=>(kq(),Cwe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(ZQ(),XQ)),{useMinistore:a}=await Promise.resolve().then(()=>(Pq(),Sq)),{renderForm:n}=await Promise.resolve().then(()=>(rk(),tk)),{Box:u,Text:A}=await Promise.resolve().then(()=>tt(oc())),{default:p,useEffect:h,useRef:C,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:E}=await St.find(v,this.context.cwd),R=await Ur.find(v);if(!E)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState({restoreResolutions:!1});let L=this.context.stdout.rows-7,_=(Ee,de)=>{let ne=Bpe(Ee,de),Z="";for(let me of ne)me.added?Z+=ye.pretty(v,me.value,"green"):me.removed||(Z+=me.value);return Z},J=(Ee,de)=>{if(Ee===de)return de;let ne=Y.parseRange(Ee),Z=Y.parseRange(de),me=ne.selector.match(Bwe),be=Z.selector.match(Bwe);if(!me||!be)return _(Ee,de);let ut=["gray","red","yellow","green","magenta"],H=null,yt="";for(let Me=1;Me<ut.length;++Me)H!==null||me[Me]!==be[Me]?(H===null&&(H=ut[Me-1]),yt+=ye.pretty(v,be[Me],H)):yt+=be[Me];return yt},re=async(Ee,de,ne)=>{let Z=await Zc.fetchDescriptorFrom(Ee,ne,{project:b,cache:R,preserveModifier:de,workspace:E});return Z!==null?Z.range:Ee.range},oe=async Ee=>{let de=vwe.default.valid(Ee.range)?`^${Ee.range}`:Ee.range,[ne,Z]=await Promise.all([re(Ee,Ee.range,de).catch(()=>null),re(Ee,Ee.range,"latest").catch(()=>null)]),me=[{value:null,label:Ee.range}];return ne&&ne!==Ee.range?me.push({value:ne,label:J(Ee.range,ne)}):me.push({value:null,label:""}),Z&&Z!==ne&&Z!==Ee.range?me.push({value:Z,label:J(Ee.range,Z)}):me.push({value:null,label:""}),me},pe=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<up>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<down>")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<left>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<right>")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<enter>")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),he=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),ve=({active:Ee,descriptor:de,suggestions:ne})=>{let[Z,me]=a(de.descriptorHash,null),be=Y.stringifyIdent(de),ut=Math.max(0,45-be.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},Y.prettyIdent(v,de)),p.createElement(r,{active:Ee,length:ut})),p.createElement(e,{active:Ee,options:ne,value:Z,skewer:!0,onChange:me,sizes:[17,17,17]})))},ge=({dependencies:Ee})=>{let[de,ne]=w(Ee.map(()=>null)),Z=C(!0),me=async be=>{let ut=await oe(be);return ut.filter(H=>H.label!=="").length<=1?null:{descriptor:be,suggestions:ut}};return h(()=>()=>{Z.current=!1},[]),h(()=>{let be=Math.trunc(L*1.75),ut=Ee.slice(0,be),H=Ee.slice(be),yt=Dwe(H,L),Me=ut.map(me).reduce(async(Te,Qe)=>{await Te;let Ue=await Qe;Ue!==null&&(!Z.current||ne(je=>{let At=je.findIndex(x=>x===null),Le=[...je];return Le[At]=Ue,Le}))},Promise.resolve());yt.reduce((Te,Qe)=>Promise.all(Qe.map(Ue=>Promise.resolve().then(()=>me(Ue)))).then(async Ue=>{Ue=Ue.filter(je=>je!==null),await Te,Z.current&&ne(je=>{let At=je.findIndex(Le=>Le===null);return je.slice(0,At).concat(Ue).concat(je.slice(At+Ue.length))})}),Me).then(()=>{Z.current&&ne(Te=>Te.filter(Qe=>Qe!==null))})},[]),de.length?p.createElement(o,{radius:L>>1,children:de.map((be,ut)=>be!==null?p.createElement(ve,{key:ut,active:!1,descriptor:be.descriptor,suggestions:be.suggestions}):p.createElement(A,{key:ut},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Pe=await n(({useSubmit:Ee})=>{Ee(a());let de=new Map;for(let Z of b.workspaces)for(let me of["dependencies","devDependencies"])for(let be of Z.manifest[me].values())b.tryWorkspaceByDescriptor(be)===null&&de.set(be.descriptorHash,be);let ne=Ye.sortMap(de.values(),Z=>Y.stringifyDescriptor(Z));return p.createElement(u,{flexDirection:"column"},p.createElement(pe,null),p.createElement(he,null),p.createElement(ge,{dependencies:ne}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Pe>"u")return 1;let g=!1;for(let Ee of b.workspaces)for(let de of["dependencies","devDependencies"]){let ne=Ee.manifest[de];for(let Z of ne.values()){let me=Pe.get(Z.descriptorHash);typeof me<"u"&&me!==null&&(ne.set(Z.identHash,Y.makeDescriptor(Z,me)),g=!0)}}return g?(await Ct.start({configuration:v,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Ee=>{await b.install({cache:R,report:Ee})})).exitCode():0}};Eh.paths=[["upgrade-interactive"]],Eh.usage=it.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` 561 `,examples:[["Open the search window","yarn search"]]});Ke();_t();d_();var Qwe=tt(si()),bwe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,kwe=(t,e)=>t.length>0?[t.slice(0,e)].concat(kwe(t.slice(e),e)):[],Eh=class extends ct{async execute(){wE(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(xwe(),Pwe)),{Pad:r}=await Promise.resolve().then(()=>(Fq(),Swe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(sk(),ik)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),Pq)),{renderForm:n}=await Promise.resolve().then(()=>(ck(),lk)),{Box:u,Text:A}=await Promise.resolve().then(()=>tt(cc())),{default:p,useEffect:h,useRef:E,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:C}=await St.find(v,this.context.cwd),R=await Ur.find(v);if(!C)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState({restoreResolutions:!1});let L=this.context.stdout.rows-7,_=(Ce,de)=>{let ne=bpe(Ce,de),Z="";for(let me of ne)me.added?Z+=ye.pretty(v,me.value,"green"):me.removed||(Z+=me.value);return Z},V=(Ce,de)=>{if(Ce===de)return de;let ne=Y.parseRange(Ce),Z=Y.parseRange(de),me=ne.selector.match(bwe),be=Z.selector.match(bwe);if(!me||!be)return _(Ce,de);let ut=["gray","red","yellow","green","magenta"],H=null,yt="";for(let Me=1;Me<ut.length;++Me)H!==null||me[Me]!==be[Me]?(H===null&&(H=ut[Me-1]),yt+=ye.pretty(v,be[Me],H)):yt+=be[Me];return yt},re=async(Ce,de,ne)=>{let Z=await eu.fetchDescriptorFrom(Ce,ne,{project:b,cache:R,preserveModifier:de,workspace:C});return Z!==null?Z.range:Ce.range},oe=async Ce=>{let de=Qwe.default.valid(Ce.range)?`^${Ce.range}`:Ce.range,[ne,Z]=await Promise.all([re(Ce,Ce.range,de).catch(()=>null),re(Ce,Ce.range,"latest").catch(()=>null)]),me=[{value:null,label:Ce.range}];return ne&&ne!==Ce.range?me.push({value:ne,label:V(Ce.range,ne)}):me.push({value:null,label:""}),Z&&Z!==ne&&Z!==Ce.range?me.push({value:Z,label:V(Ce.range,Z)}):me.push({value:null,label:""}),me},pe=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<up>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<down>")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<left>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<right>")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<enter>")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),he=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),ve=({active:Ce,descriptor:de,suggestions:ne})=>{let[Z,me]=a(de.descriptorHash,null),be=Y.stringifyIdent(de),ut=Math.max(0,45-be.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},Y.prettyIdent(v,de)),p.createElement(r,{active:Ce,length:ut})),p.createElement(e,{active:Ce,options:ne,value:Z,skewer:!0,onChange:me,sizes:[17,17,17]})))},ge=({dependencies:Ce})=>{let[de,ne]=w(Ce.map(()=>null)),Z=E(!0),me=async be=>{let ut=await oe(be);return ut.filter(H=>H.label!=="").length<=1?null:{descriptor:be,suggestions:ut}};return h(()=>()=>{Z.current=!1},[]),h(()=>{let be=Math.trunc(L*1.75),ut=Ce.slice(0,be),H=Ce.slice(be),yt=kwe(H,L),Me=ut.map(me).reduce(async(Te,Qe)=>{await Te;let _e=await Qe;_e!==null&&(!Z.current||ne(qe=>{let At=qe.findIndex(x=>x===null),Oe=[...qe];return Oe[At]=_e,Oe}))},Promise.resolve());yt.reduce((Te,Qe)=>Promise.all(Qe.map(_e=>Promise.resolve().then(()=>me(_e)))).then(async _e=>{_e=_e.filter(qe=>qe!==null),await Te,Z.current&&ne(qe=>{let At=qe.findIndex(Oe=>Oe===null);return qe.slice(0,At).concat(_e).concat(qe.slice(At+_e.length))})}),Me).then(()=>{Z.current&&ne(Te=>Te.filter(Qe=>Qe!==null))})},[]),de.length?p.createElement(o,{radius:L>>1,children:de.map((be,ut)=>be!==null?p.createElement(ve,{key:ut,active:!1,descriptor:be.descriptor,suggestions:be.suggestions}):p.createElement(A,{key:ut},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Pe=await n(({useSubmit:Ce})=>{Ce(a());let de=new Map;for(let Z of b.workspaces)for(let me of["dependencies","devDependencies"])for(let be of Z.manifest[me].values())b.tryWorkspaceByDescriptor(be)===null&&de.set(be.descriptorHash,be);let ne=Ye.sortMap(de.values(),Z=>Y.stringifyDescriptor(Z));return p.createElement(u,{flexDirection:"column"},p.createElement(pe,null),p.createElement(he,null),p.createElement(ge,{dependencies:ne}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Pe>"u")return 1;let g=!1;for(let Ce of b.workspaces)for(let de of["dependencies","devDependencies"]){let ne=Ce.manifest[de];for(let Z of ne.values()){let me=Pe.get(Z.descriptorHash);typeof me<"u"&&me!==null&&(ne.set(Z.identHash,Y.makeDescriptor(Z,me)),g=!0)}}return g?(await Et.start({configuration:v,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Ce=>{await b.install({cache:R,report:Ce})})).exitCode():0}};Eh.paths=[["upgrade-interactive"]],Eh.usage=it.Usage({category:"Interactive commands",description:"open the upgrade interface",details:`
562 This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. 562 This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade.
563 `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var oIt={commands:[mh,Eh]},aIt=oIt;var Rq={};Yt(Rq,{LinkFetcher:()=>SB,LinkResolver:()=>PB,PortalFetcher:()=>xB,PortalResolver:()=>bB,default:()=>cIt});Ke();bt();var Zf="portal:",$f="link:";var SB=class{supports(e,r){return!!e.reference.startsWith($f)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:$f});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:$f}),n=V.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new ju(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0}}};Ke();bt();var PB=class{supportsDescriptor(e,r){return!!e.range.startsWith($f)}supportsLocator(e,r){return!!e.reference.startsWith($f)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice($f.length);return[Y.makeLocator(e,`${$f}${Ae.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ke();bt();var xB=class{supports(e,r){return!!e.reference.startsWith(Zf)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Zf});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Zf}),n=V.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,localPath:p}:{packageFs:new ju(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot}}};Ke();Ke();bt();var bB=class{supportsDescriptor(e,r){return!!e.range.startsWith(Zf)}supportsLocator(e,r){return!!e.reference.startsWith(Zf)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Zf.length);return[Y.makeLocator(e,`${Zf}${Ae.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var lIt={fetchers:[SB,xB],resolvers:[PB,bB]},cIt=lIt;var Aj={};Yt(Aj,{NodeModulesLinker:()=>qB,NodeModulesMode:()=>aj,PnpLooseLinker:()=>jB,default:()=>Bwt});bt();Ke();bt();bt();var Nq=(t,e)=>`${t}@${e}`,Swe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Nq(t,o)};var bwe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=dIt(t,n),p=!1,h=0;do p=Lq(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let C=QB(A);if(Lq(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: 563 `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var mIt={commands:[yh,Eh]},yIt=mIt;var Tq={};Yt(Tq,{LinkFetcher:()=>QB,LinkResolver:()=>kB,PortalFetcher:()=>FB,PortalResolver:()=>RB,default:()=>EIt});Ke();bt();var ep="portal:",tp="link:";var QB=class{supports(e,r){return!!e.reference.startsWith(tp)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:tp});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:tp}),n=z.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0}}};Ke();bt();var kB=class{supportsDescriptor(e,r){return!!e.range.startsWith(tp)}supportsLocator(e,r){return!!e.reference.startsWith(tp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(tp.length);return[Y.makeLocator(e,`${tp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ke();bt();var FB=class{supports(e,r){return!!e.reference.startsWith(ep)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:ep});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:ep}),n=z.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot}}};Ke();Ke();bt();var RB=class{supportsDescriptor(e,r){return!!e.range.startsWith(ep)}supportsLocator(e,r){return!!e.reference.startsWith(ep)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(ep.length);return[Y.makeLocator(e,`${ep}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var CIt={fetchers:[QB,FB],resolvers:[kB,RB]},EIt=CIt;var mj={};Yt(mj,{NodeModulesLinker:()=>JB,NodeModulesMode:()=>pj,PnpLooseLinker:()=>zB,default:()=>Owt});bt();Ke();bt();bt();var Lq=(t,e)=>`${t}@${e}`,Fwe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Lq(t,o)};var Nwe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=PIt(t,n),p=!1,h=0;do p=Oq(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let E=TB(A);if(Oq(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree:
564${C}, next tree: 564${E}, next tree:
565${QB(A)}`);let v=Qwe(A);if(v)throw new Error(`${v}, after hoisting finished: 565${TB(A)}`);let v=Lwe(A);if(v)throw new Error(`${v}, after hoisting finished:
566${QB(A)}`)}return n.debugLevel>=2&&console.log(QB(A)),mIt(A)},uIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},AIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let C;for(let w of t)C=w.dependencies.get(h.name),C&&r.set(C.name,C)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},Pwe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:C,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:E,hoistedTo:R}=e,L={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(C),decoupled:!0,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:new Map(E),hoistedTo:new Map(R)},_=L.dependencies.get(r);return _&&_.ident==L.ident&&L.dependencies.set(r,L),t.dependencies.set(L.name,L),L},fIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Tq=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Lq=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=yIt(u),p=fIt(u,A),h=t==u?new Map:a.fastLookupPossible?uIt(e):AIt(e),C,w=!1,v=!1,b=new Map(Array.from(p.entries()).map(([R,L])=>[R,L[0]])),E=new Map;do{let R=gIt(t,e,r,h,b,p,o,E,a);R.isGraphChanged&&(v=!0),R.anotherRoundNeeded&&(w=!0),C=!1;for(let[L,_]of p)_.length>1&&!u.dependencies.has(L)&&(b.delete(L),_.shift(),b.set(L,_[0]),C=!0)}while(C);for(let R of u.dependencies.values())if(!u.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let L=Lq(t,[...e,R],r,E,a);L.isGraphChanged&&(v=!0),L.anotherRoundNeeded&&(w=!0),r.delete(R.locator)}return{anotherRoundNeeded:w,isGraphChanged:v}},pIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},hIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let C,w=null,v=new Set;p&&(C=`${Array.from(e).map(L=>eo(L)).join("\u2192")}`);let b=r[r.length-1],R=!(o.ident===b.ident);if(p&&!R&&(w="- self-reference"),R&&(R=o.dependencyKind!==1,p&&!R&&(w="- workspace")),R&&o.dependencyKind===2&&(R=!pIt(o),p&&!R&&(w="- external soft link with unhoisted dependencies")),R&&(R=b.dependencyKind!==1||b.hoistedFrom.has(o.name)||e.size===1,p&&!R&&(w=b.reasons.get(o.name))),R&&(R=!t.peerNames.has(o.name),p&&!R&&(w=`- cannot shadow peer: ${eo(t.originalDependencies.get(o.name).locator)} at ${C}`)),R){let L=!1,_=a.get(o.name);if(L=!_||_.ident===o.ident,p&&!L&&(w=`- filled by: ${eo(_.locator)} at ${C}`),L)for(let J=r.length-1;J>=1;J--){let oe=r[J].dependencies.get(o.name);if(oe&&oe.ident!==o.ident){L=!1;let pe=A.get(b);pe||(pe=new Set,A.set(b,pe)),pe.add(o.name),p&&(w=`- filled by ${eo(oe.locator)} at ${r.slice(0,J).map(he=>eo(he.locator)).join("\u2192")}`);break}}R=L}if(R&&(R=n.get(o.name)===o.ident,p&&!R&&(w=`- filled by: ${eo(u.get(o.name)[0])} at ${C}`)),R){let L=!0,_=new Set(o.peerNames);for(let J=r.length-1;J>=1;J--){let re=r[J];for(let oe of _){if(re.peerNames.has(oe)&&re.originalDependencies.has(oe))continue;let pe=re.dependencies.get(oe);pe&&t.dependencies.get(oe)!==pe&&(J===r.length-1?v.add(pe):(v=null,L=!1,p&&(w=`- peer dependency ${eo(pe.locator)} from parent ${eo(re.locator)} was not hoisted to ${C}`))),_.delete(oe)}if(!L)break}R=L}if(R&&!h)for(let L of o.hoistedDependencies.values()){let _=a.get(L.name)||t.dependencies.get(L.name);if(!_||L.ident!==_.ident){R=!1,p&&(w=`- previously hoisted dependency mismatch, needed: ${eo(L.locator)}, available: ${eo(_==null?void 0:_.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:w}:{isHoistable:R?0:1,reason:w}},nk=t=>`${t.name}@${t.locator}`,gIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],C=new Set,w=!1,v=!1,b=(_,J,re,oe,pe)=>{if(C.has(oe))return;let he=[...J,nk(oe)],ve=[...re,nk(oe)],ge=new Map,le=new Map;for(let de of Tq(oe)){let ne=hIt(h,r,[h,..._,oe],de,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(le.set(de,ne),ne.isHoistable===2)for(let Z of ne.dependsOn){let me=ge.get(Z.name)||new Set;me.add(de.name),ge.set(Z.name,me)}}let Pe=new Set,g=(de,ne,Z)=>{if(!Pe.has(de)){Pe.add(de),le.set(de,{isHoistable:1,reason:Z});for(let me of ge.get(de.name)||[])g(oe.dependencies.get(me),ne,p.debugLevel>=2?`- peer dependency ${eo(de.locator)} from parent ${eo(oe.locator)} was not hoisted`:"")}};for(let[de,ne]of le)ne.isHoistable===1&&g(de,ne,ne.reason);let De=!1;for(let de of le.keys())if(!Pe.has(de)){v=!0;let ne=u.get(oe);ne&&ne.has(de.name)&&(w=!0),De=!0,oe.dependencies.delete(de.name),oe.hoistedDependencies.set(de.name,de),oe.reasons.delete(de.name);let Z=h.dependencies.get(de.name);if(p.debugLevel>=2){let me=Array.from(J).concat([oe.locator]).map(ut=>eo(ut)).join("\u2192"),be=h.hoistedFrom.get(de.name);be||(be=[],h.hoistedFrom.set(de.name,be)),be.push(me),oe.hoistedTo.set(de.name,Array.from(e).map(ut=>eo(ut.locator)).join("\u2192"))}if(!Z)h.ident!==de.ident&&(h.dependencies.set(de.name,de),pe.add(de));else for(let me of de.references)Z.references.add(me)}if(oe.dependencyKind===2&&De&&(w=!0),p.check){let de=Qwe(t);if(de)throw new Error(`${de}, after hoisting dependencies of ${[h,..._,oe].map(ne=>eo(ne.locator)).join("\u2192")}: 566${TB(A)}`)}return n.debugLevel>=2&&console.log(TB(A)),xIt(A)},IIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},wIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let E;for(let w of t)E=w.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},Rwe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:C,hoistedTo:R}=e,L={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:new Map(C),hoistedTo:new Map(R)},_=L.dependencies.get(r);return _&&_.ident==L.ident&&L.dependencies.set(r,L),t.dependencies.set(L.name,L),L},BIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Nq=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Oq=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=bIt(u),p=BIt(u,A),h=t==u?new Map:a.fastLookupPossible?IIt(e):wIt(e),E,w=!1,v=!1,b=new Map(Array.from(p.entries()).map(([R,L])=>[R,L[0]])),C=new Map;do{let R=SIt(t,e,r,h,b,p,o,C,a);R.isGraphChanged&&(v=!0),R.anotherRoundNeeded&&(w=!0),E=!1;for(let[L,_]of p)_.length>1&&!u.dependencies.has(L)&&(b.delete(L),_.shift(),b.set(L,_[0]),E=!0)}while(E);for(let R of u.dependencies.values())if(!u.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let L=Oq(t,[...e,R],r,C,a);L.isGraphChanged&&(v=!0),L.anotherRoundNeeded&&(w=!0),r.delete(R.locator)}return{anotherRoundNeeded:w,isGraphChanged:v}},vIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},DIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let E,w=null,v=new Set;p&&(E=`${Array.from(e).map(L=>eo(L)).join("\u2192")}`);let b=r[r.length-1],R=!(o.ident===b.ident);if(p&&!R&&(w="- self-reference"),R&&(R=o.dependencyKind!==1,p&&!R&&(w="- workspace")),R&&o.dependencyKind===2&&(R=!vIt(o),p&&!R&&(w="- external soft link with unhoisted dependencies")),R&&(R=b.dependencyKind!==1||b.hoistedFrom.has(o.name)||e.size===1,p&&!R&&(w=b.reasons.get(o.name))),R&&(R=!t.peerNames.has(o.name),p&&!R&&(w=`- cannot shadow peer: ${eo(t.originalDependencies.get(o.name).locator)} at ${E}`)),R){let L=!1,_=a.get(o.name);if(L=!_||_.ident===o.ident,p&&!L&&(w=`- filled by: ${eo(_.locator)} at ${E}`),L)for(let V=r.length-1;V>=1;V--){let oe=r[V].dependencies.get(o.name);if(oe&&oe.ident!==o.ident){L=!1;let pe=A.get(b);pe||(pe=new Set,A.set(b,pe)),pe.add(o.name),p&&(w=`- filled by ${eo(oe.locator)} at ${r.slice(0,V).map(he=>eo(he.locator)).join("\u2192")}`);break}}R=L}if(R&&(R=n.get(o.name)===o.ident,p&&!R&&(w=`- filled by: ${eo(u.get(o.name)[0])} at ${E}`)),R){let L=!0,_=new Set(o.peerNames);for(let V=r.length-1;V>=1;V--){let re=r[V];for(let oe of _){if(re.peerNames.has(oe)&&re.originalDependencies.has(oe))continue;let pe=re.dependencies.get(oe);pe&&t.dependencies.get(oe)!==pe&&(V===r.length-1?v.add(pe):(v=null,L=!1,p&&(w=`- peer dependency ${eo(pe.locator)} from parent ${eo(re.locator)} was not hoisted to ${E}`))),_.delete(oe)}if(!L)break}R=L}if(R&&!h)for(let L of o.hoistedDependencies.values()){let _=a.get(L.name)||t.dependencies.get(L.name);if(!_||L.ident!==_.ident){R=!1,p&&(w=`- previously hoisted dependency mismatch, needed: ${eo(L.locator)}, available: ${eo(_==null?void 0:_.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:w}:{isHoistable:R?0:1,reason:w}},uk=t=>`${t.name}@${t.locator}`,SIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],E=new Set,w=!1,v=!1,b=(_,V,re,oe,pe)=>{if(E.has(oe))return;let he=[...V,uk(oe)],ve=[...re,uk(oe)],ge=new Map,le=new Map;for(let de of Nq(oe)){let ne=DIt(h,r,[h,..._,oe],de,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(le.set(de,ne),ne.isHoistable===2)for(let Z of ne.dependsOn){let me=ge.get(Z.name)||new Set;me.add(de.name),ge.set(Z.name,me)}}let Pe=new Set,g=(de,ne,Z)=>{if(!Pe.has(de)){Pe.add(de),le.set(de,{isHoistable:1,reason:Z});for(let me of ge.get(de.name)||[])g(oe.dependencies.get(me),ne,p.debugLevel>=2?`- peer dependency ${eo(de.locator)} from parent ${eo(oe.locator)} was not hoisted`:"")}};for(let[de,ne]of le)ne.isHoistable===1&&g(de,ne,ne.reason);let De=!1;for(let de of le.keys())if(!Pe.has(de)){v=!0;let ne=u.get(oe);ne&&ne.has(de.name)&&(w=!0),De=!0,oe.dependencies.delete(de.name),oe.hoistedDependencies.set(de.name,de),oe.reasons.delete(de.name);let Z=h.dependencies.get(de.name);if(p.debugLevel>=2){let me=Array.from(V).concat([oe.locator]).map(ut=>eo(ut)).join("\u2192"),be=h.hoistedFrom.get(de.name);be||(be=[],h.hoistedFrom.set(de.name,be)),be.push(me),oe.hoistedTo.set(de.name,Array.from(e).map(ut=>eo(ut.locator)).join("\u2192"))}if(!Z)h.ident!==de.ident&&(h.dependencies.set(de.name,de),pe.add(de));else for(let me of de.references)Z.references.add(me)}if(oe.dependencyKind===2&&De&&(w=!0),p.check){let de=Lwe(t);if(de)throw new Error(`${de}, after hoisting dependencies of ${[h,..._,oe].map(ne=>eo(ne.locator)).join("\u2192")}:
567${QB(t)}`)}let Ee=Tq(oe);for(let de of Ee)if(Pe.has(de)){let ne=le.get(de);if((a.get(de.name)===de.ident||!oe.reasons.has(de.name))&&ne.isHoistable!==0&&oe.reasons.set(de.name,ne.reason),!de.isHoistBorder&&ve.indexOf(nk(de))<0){C.add(oe);let me=Pwe(oe,de);b([..._,oe],he,ve,me,R),C.delete(oe)}}},E,R=new Set(Tq(h)),L=Array.from(e).map(_=>nk(_));do{E=R,R=new Set;for(let _ of E){if(_.locator===h.locator||_.isHoistBorder)continue;let J=Pwe(h,_);b([],Array.from(r),L,J,R)}}while(R.size>0);return{anotherRoundNeeded:w,isGraphChanged:v}},Qwe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let C=p.get(h.name),w=()=>`${Array.from(o).concat([n]).map(v=>eo(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==C||!v||v.ident!==h.ident)&&e.push(`${w()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),b=n.hoistedTo.get(h.name),E=`${v?` hoisted from ${v.join(", ")}`:""}`,R=`${b?` hoisted to ${b}`:""}`,L=`${w()}${E}`;C?C.ident!==h.ident&&e.push(`${L} - broken require promise for ${h.name}${R}: expected ${h.ident}, but found: ${C.ident}`):e.push(`${L} - broken require promise: no required dependency ${h.name}${R} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` 567${TB(t)}`)}let Ce=Nq(oe);for(let de of Ce)if(Pe.has(de)){let ne=le.get(de);if((a.get(de.name)===de.ident||!oe.reasons.has(de.name))&&ne.isHoistable!==0&&oe.reasons.set(de.name,ne.reason),!de.isHoistBorder&&ve.indexOf(uk(de))<0){E.add(oe);let me=Rwe(oe,de);b([..._,oe],he,ve,me,R),E.delete(oe)}}},C,R=new Set(Nq(h)),L=Array.from(e).map(_=>uk(_));do{C=R,R=new Set;for(let _ of C){if(_.locator===h.locator||_.isHoistBorder)continue;let V=Rwe(h,_);b([],Array.from(r),L,V,R)}}while(R.size>0);return{anotherRoundNeeded:w,isGraphChanged:v}},Lwe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),w=()=>`${Array.from(o).concat([n]).map(v=>eo(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==E||!v||v.ident!==h.ident)&&e.push(`${w()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),b=n.hoistedTo.get(h.name),C=`${v?` hoisted from ${v.join(", ")}`:""}`,R=`${b?` hoisted to ${b}`:""}`,L=`${w()}${C}`;E?E.ident!==h.ident&&e.push(`${L} - broken require promise for ${h.name}${R}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${L} - broken require promise: no required dependency ${h.name}${R} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(`
568`)},dIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Nq(r,a),ident:Swe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,C)=>{let w=A.get(h),v=!!w;if(!w){let{name:b,identName:E,reference:R,peerNames:L,hoistPriority:_,dependencyKind:J}=h,re=e.hoistingLimits.get(C.locator);w={name:b,references:new Set([R]),locator:Nq(E,R),ident:Swe(E,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(L),reasons:new Map,decoupled:!0,isHoistBorder:re?re.has(b):!1,hoistPriority:_||0,dependencyKind:J||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,w)}if(C.dependencies.set(h.name,w),C.originalDependencies.set(h.name,w),v){let b=new Set,E=R=>{if(!b.has(R)){b.add(R),R.decoupled=!1;for(let L of R.dependencies.values())R.peerNames.has(L.name)||E(L)}};E(w)}else for(let b of h.dependencies)p(b,w)};for(let h of t.dependencies)p(h,u);return u},Oq=t=>t.substring(0,t.indexOf("@",1)),mIt=t=>{let e={name:t.name,identName:Oq(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:C,locator:w}=a;p={name:h,identName:Oq(w),references:C,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},yIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let C of A.dependencies.values()){let w=a(C);w.hoistPriority=Math.max(w.hoistPriority,C.hoistPriority),A.peerNames.has(C.name)?w.peerDependents.add(A.ident):n(A,C)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},eo=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},xwe=5e4,QB=t=>{let e=0,r=(a,n,u="")=>{if(e>xwe||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,C)=>h.name===C.name?0:h.name>C.name?1:-1),p="";n.add(a);for(let h=0;h<A.length;h++){let C=A[h];if(!a.peerNames.has(C.name)&&C!==a){let w=a.reasons.get(C.name),v=Oq(C.locator);p+=`${u}${h<A.length-1?"\u251C\u2500":"\u2514\u2500"}${(n.has(C)?">":"")+(v!==C.name?`a:${C.name}:`:"")+eo(C.locator)+(w?` ${w}`:"")} 568`)},PIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Lq(r,a),ident:Fwe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,E)=>{let w=A.get(h),v=!!w;if(!w){let{name:b,identName:C,reference:R,peerNames:L,hoistPriority:_,dependencyKind:V}=h,re=e.hoistingLimits.get(E.locator);w={name:b,references:new Set([R]),locator:Lq(C,R),ident:Fwe(C,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(L),reasons:new Map,decoupled:!0,isHoistBorder:re?re.has(b):!1,hoistPriority:_||0,dependencyKind:V||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,w)}if(E.dependencies.set(h.name,w),E.originalDependencies.set(h.name,w),v){let b=new Set,C=R=>{if(!b.has(R)){b.add(R),R.decoupled=!1;for(let L of R.dependencies.values())R.peerNames.has(L.name)||C(L)}};C(w)}else for(let b of h.dependencies)p(b,w)};for(let h of t.dependencies)p(h,u);return u},Mq=t=>t.substring(0,t.indexOf("@",1)),xIt=t=>{let e={name:t.name,identName:Mq(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:E,locator:w}=a;p={name:h,identName:Mq(w),references:E,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},bIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let E of A.dependencies.values()){let w=a(E);w.hoistPriority=Math.max(w.hoistPriority,E.hoistPriority),A.peerNames.has(E.name)?w.peerDependents.add(A.ident):n(A,E)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},eo=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},Twe=5e4,TB=t=>{let e=0,r=(a,n,u="")=>{if(e>Twe||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h<A.length;h++){let E=A[h];if(!a.peerNames.has(E.name)&&E!==a){let w=a.reasons.get(E.name),v=Mq(E.locator);p+=`${u}${h<A.length-1?"\u251C\u2500":"\u2514\u2500"}${(n.has(E)?">":"")+(v!==E.name?`a:${E.name}:`:"")+eo(E.locator)+(w?` ${w}`:"")}
569`,p+=r(C,n,`${u}${h<A.length-1?"\u2502 ":" "}`)}}return n.delete(a),p};return r(t,new Set)+(e>xwe?` 569`,p+=r(E,n,`${u}${h<A.length-1?"\u2502 ":" "}`)}}return n.delete(a),p};return r(t,new Set)+(e>Twe?`
570Tree is too large, part of the tree has been dunped 570Tree is too large, part of the tree has been dunped
571`:"")};var kB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(kB||{}),kwe="node_modules",pm="$wsroot$";var FB=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=CIt(t,e),u=null;if(a.length===0){let A=bwe(r,{hoistingLimits:o});u=wIt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},dA=t=>`${t.name}@${t.reference}`,Uq=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(V.delimiter).length,u=a.split(V.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},Fwe=(t,e)=>{let r=Y.isVirtualLocator(t)?Y.devirtualizeLocator(t):t,o=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e;return Y.areLocatorsEqual(r,o)},Mq=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=Ae.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return V.contains(o,a)===null},EIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=Ae.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,b)=>{let E=dA(v);if(p.has(E))return;p.add(E);let R=t.getPackageInformation(v);if(R){let L=b?dA(b):"";if(dA(v)!==L&&R.linkType==="SOFT"&&!Mq(R,v,t,o)){let _=Rwe(R,v,t);(!A.get(_)||v.reference.startsWith("workspace:"))&&A.set(_,v)}for(let[_,J]of R.packageDependencies)J!==null&&(R.packagePeers.has(_)||h(t.getLocator(_,J),v))}};for(let v of u)h(v,null);let C=o.split(V.sep);for(let v of A.values()){let b=t.getPackageInformation(v),R=Ae.toPortablePath(b.packageLocation.slice(0,-1)).split(V.sep).slice(C.length),L=n;for(let _ of R){let J=L.children.get(_);J||(J={children:new Map},L.children.set(_,J)),L=J}L.workspaceLocator=v}let w=(v,b)=>{if(v.workspaceLocator){let E=dA(b),R=a.get(E);R||(R=new Set,a.set(E,R)),R.add(v.workspaceLocator)}for(let E of v.children.values())w(E,v.workspaceLocator||b)};for(let v of n.children.values())w(v,n.workspaceLocator);return a},CIt=(t,e)=>{let r=[],o=!1,a=new Map,n=EIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=Ae.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},C=new Map,w=(b,E)=>`${dA(E)}:${b}`,v=(b,E,R,L,_,J,re,oe)=>{var de,ne;let pe=w(b,R),he=C.get(pe),ve=!!he;!ve&&R.name===A.name&&R.reference===A.reference&&(he=h,C.set(pe,h));let ge=Mq(E,R,t,p);if(!he){let Z=0;ge?Z=2:E.linkType==="SOFT"&&R.name.endsWith(pm)&&(Z=1),he={name:b,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:Z===1?new Set:E.packagePeers,dependencyKind:Z},C.set(pe,he)}let le;if(ge?le=2:_.linkType==="SOFT"?le=1:le=0,he.hoistPriority=Math.max(he.hoistPriority||0,le),oe&&!ge){let Z=dA({name:L.identName,reference:L.reference}),me=a.get(Z)||new Set;a.set(Z,me),me.add(he.name)}let Pe=new Map(E.packageDependencies);if(e.project){let Z=e.project.workspacesByCwd.get(Ae.toPortablePath(E.packageLocation.slice(0,-1)));if(Z){let me=new Set([...Array.from(Z.manifest.peerDependencies.values(),be=>Y.stringifyIdent(be)),...Array.from(Z.manifest.peerDependenciesMeta.keys())]);for(let be of me)Pe.has(be)||(Pe.set(be,J.get(be)||null),he.peerNames.add(be))}}let g=dA({name:R.name.replace(pm,""),reference:R.reference}),De=n.get(g);if(De)for(let Z of De)Pe.set(`${Z.name}${pm}`,Z.reference);(E!==_||E.linkType!=="SOFT"||!ge&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(re)))&&L.dependencies.add(he);let Ee=R!==A&&E.linkType==="SOFT"&&!R.name.endsWith(pm)&&!ge;if(!ve&&!Ee){let Z=new Map;for(let[me,be]of Pe)if(be!==null){let ut=t.getLocator(me,be),H=t.getLocator(me.replace(pm,""),be),yt=t.getPackageInformation(H);if(yt===null)throw new Error("Assertion failed: Expected the package to have been registered");let Me=Mq(yt,ut,t,p);if(e.validateExternalSoftLinks&&e.project&&Me){yt.packageDependencies.size>0&&(o=!0);for(let[At,Le]of yt.packageDependencies)if(Le!==null){let x=Y.parseLocator(Array.isArray(Le)?`${Le[0]}@${Le[1]}`:`${At}@${Le}`);if(dA(x)!==dA(ut)){let I=Pe.get(At);if(I){let P=Y.parseLocator(Array.isArray(I)?`${I[0]}@${I[1]}`:`${At}@${I}`);Fwe(P,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with parent dependency ${Y.prettyLocator(e.project.configuration,P)}`})}else{let P=Z.get(At);if(P){let y=P.target,F=Y.parseLocator(Array.isArray(y)?`${y[0]}@${y[1]}`:`${At}@${y}`);Fwe(F,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with dependency ${Y.prettyLocator(e.project.configuration,F)} from sibling portal ${Y.prettyIdent(e.project.configuration,Y.parseIdent(P.portal.name))}`})}else Z.set(At,{target:x.reference,portal:ut})}}}}let Te=(de=e.hoistingLimitsByCwd)==null?void 0:de.get(re),Qe=Me?re:V.relative(p,Ae.toPortablePath(yt.packageLocation))||wt.dot,Ue=(ne=e.hoistingLimitsByCwd)==null?void 0:ne.get(Qe);v(me,yt,ut,he,E,Pe,Qe,Te==="dependencies"||Ue==="dependencies"||Ue==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,wt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function Rwe(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return Ae.toPortablePath(o||t.packageLocation)}function IIt(t,e,r){let o=e.getLocator(t.name.replace(pm,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:Ae.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:Rwe(a,t,e)}}var wIt=(t,e,r)=>{let o=new Map,a=(C,w,v)=>{let{linkType:b,target:E}=IIt(C,t,r);return{locator:dA(C),nodePath:w,target:E,linkType:b,aliases:v}},n=C=>{let[w,v]=C.split("/");return v?{scope:Li(w),name:Li(v)}:{scope:null,name:Li(w)}},u=new Set,A=(C,w,v)=>{if(u.has(C))return;u.add(C);let b=Array.from(C.references).sort().join("#");for(let E of C.dependencies){let R=Array.from(E.references).sort().join("#");if(E.identName===C.identName&&R===b)continue;let L=Array.from(E.references).sort(),_={name:E.identName,reference:L[0]},{name:J,scope:re}=n(E.name),oe=re?[re,J]:[J],pe=V.join(w,kwe),he=V.join(pe,...oe),ve=`${v}/${_.name}`,ge=a(_,v,L.slice(1)),le=!1;if(ge.linkType==="SOFT"&&r.project){let g=r.project.workspacesByCwd.get(ge.target.slice(0,-1));le=!!(g&&!g.manifest.name)}let Pe=ge.linkType==="SOFT"&&he.startsWith(ge.target);if(!E.name.endsWith(pm)&&!le&&!Pe){let g=o.get(he);if(g){if(g.dirList)throw new Error(`Assertion failed: ${he} cannot merge dir node with leaf node`);{let de=Y.parseLocator(g.locator),ne=Y.parseLocator(ge.locator);if(g.linkType!==ge.linkType)throw new Error(`Assertion failed: ${he} cannot merge nodes with different link types ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/${Y.stringifyLocator(ne)}`);if(de.identHash!==ne.identHash)throw new Error(`Assertion failed: ${he} cannot merge nodes with different idents ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/s${Y.stringifyLocator(ne)}`);ge.aliases=[...ge.aliases,...g.aliases,Y.parseLocator(g.locator).reference]}}o.set(he,ge);let De=he.split("/"),Ee=De.indexOf(kwe);for(let de=De.length-1;Ee>=0&&de>Ee;de--){let ne=Ae.toPortablePath(De.slice(0,de).join(V.sep)),Z=Li(De[de]),me=o.get(ne);if(!me)o.set(ne,{dirList:new Set([Z])});else if(me.dirList){if(me.dirList.has(Z))break;me.dirList.add(Z)}}}A(E,ge.linkType==="SOFT"?ge.target:he,ve)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};Ke();Ke();bt();bt();Oc();Ol();var $q={};Yt($q,{PnpInstaller:()=>dm,PnpLinker:()=>Ch,UnplugCommand:()=>wh,default:()=>zIt,getPnpPath:()=>Ih,jsInstallUtils:()=>mA,pnpUtils:()=>HB,quotePathIfNeeded:()=>g1e});bt();var p1e=tt(ii()),h1e=Ie("url");Ke();Ke();bt();bt();var Twe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function BIt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a<n;++a)o+=ik(String(a),t[a],e,r).replace(/^ +/g,""),a+1<n&&(o+=", ");return o+="]",o}function vIt(t,e,r){let o=`${r} `,a="";a+=r,a+=`[ 571`:"")};var NB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(NB||{}),Owe="node_modules",dm="$wsroot$";var LB=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=kIt(t,e),u=null;if(a.length===0){let A=Nwe(r,{hoistingLimits:o});u=RIt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},mA=t=>`${t.name}@${t.reference}`,_q=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(z.delimiter).length,u=a.split(z.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},Mwe=(t,e)=>{let r=Y.isVirtualLocator(t)?Y.devirtualizeLocator(t):t,o=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e;return Y.areLocatorsEqual(r,o)},Uq=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=ue.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return z.contains(o,a)===null},QIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=ue.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,b)=>{let C=mA(v);if(p.has(C))return;p.add(C);let R=t.getPackageInformation(v);if(R){let L=b?mA(b):"";if(mA(v)!==L&&R.linkType==="SOFT"&&!Uq(R,v,t,o)){let _=Uwe(R,v,t);(!A.get(_)||v.reference.startsWith("workspace:"))&&A.set(_,v)}for(let[_,V]of R.packageDependencies)V!==null&&(R.packagePeers.has(_)||h(t.getLocator(_,V),v))}};for(let v of u)h(v,null);let E=o.split(z.sep);for(let v of A.values()){let b=t.getPackageInformation(v),R=ue.toPortablePath(b.packageLocation.slice(0,-1)).split(z.sep).slice(E.length),L=n;for(let _ of R){let V=L.children.get(_);V||(V={children:new Map},L.children.set(_,V)),L=V}L.workspaceLocator=v}let w=(v,b)=>{if(v.workspaceLocator){let C=mA(b),R=a.get(C);R||(R=new Set,a.set(C,R)),R.add(v.workspaceLocator)}for(let C of v.children.values())w(C,v.workspaceLocator||b)};for(let v of n.children.values())w(v,n.workspaceLocator);return a},kIt=(t,e)=>{let r=[],o=!1,a=new Map,n=QIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=ue.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,w=(b,C)=>`${mA(C)}:${b}`,v=(b,C,R,L,_,V,re,oe)=>{var de,ne;let pe=w(b,R),he=E.get(pe),ve=!!he;!ve&&R.name===A.name&&R.reference===A.reference&&(he=h,E.set(pe,h));let ge=Uq(C,R,t,p);if(!he){let Z=0;ge?Z=2:C.linkType==="SOFT"&&R.name.endsWith(dm)&&(Z=1),he={name:b,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:Z===1?new Set:C.packagePeers,dependencyKind:Z},E.set(pe,he)}let le;if(ge?le=2:_.linkType==="SOFT"?le=1:le=0,he.hoistPriority=Math.max(he.hoistPriority||0,le),oe&&!ge){let Z=mA({name:L.identName,reference:L.reference}),me=a.get(Z)||new Set;a.set(Z,me),me.add(he.name)}let Pe=new Map(C.packageDependencies);if(e.project){let Z=e.project.workspacesByCwd.get(ue.toPortablePath(C.packageLocation.slice(0,-1)));if(Z){let me=new Set([...Array.from(Z.manifest.peerDependencies.values(),be=>Y.stringifyIdent(be)),...Array.from(Z.manifest.peerDependenciesMeta.keys())]);for(let be of me)Pe.has(be)||(Pe.set(be,V.get(be)||null),he.peerNames.add(be))}}let g=mA({name:R.name.replace(dm,""),reference:R.reference}),De=n.get(g);if(De)for(let Z of De)Pe.set(`${Z.name}${dm}`,Z.reference);(C!==_||C.linkType!=="SOFT"||!ge&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(re)))&&L.dependencies.add(he);let Ce=R!==A&&C.linkType==="SOFT"&&!R.name.endsWith(dm)&&!ge;if(!ve&&!Ce){let Z=new Map;for(let[me,be]of Pe)if(be!==null){let ut=t.getLocator(me,be),H=t.getLocator(me.replace(dm,""),be),yt=t.getPackageInformation(H);if(yt===null)throw new Error("Assertion failed: Expected the package to have been registered");let Me=Uq(yt,ut,t,p);if(e.validateExternalSoftLinks&&e.project&&Me){yt.packageDependencies.size>0&&(o=!0);for(let[At,Oe]of yt.packageDependencies)if(Oe!==null){let x=Y.parseLocator(Array.isArray(Oe)?`${Oe[0]}@${Oe[1]}`:`${At}@${Oe}`);if(mA(x)!==mA(ut)){let I=Pe.get(At);if(I){let P=Y.parseLocator(Array.isArray(I)?`${I[0]}@${I[1]}`:`${At}@${I}`);Mwe(P,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with parent dependency ${Y.prettyLocator(e.project.configuration,P)}`})}else{let P=Z.get(At);if(P){let y=P.target,F=Y.parseLocator(Array.isArray(y)?`${y[0]}@${y[1]}`:`${At}@${y}`);Mwe(F,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with dependency ${Y.prettyLocator(e.project.configuration,F)} from sibling portal ${Y.prettyIdent(e.project.configuration,Y.parseIdent(P.portal.name))}`})}else Z.set(At,{target:x.reference,portal:ut})}}}}let Te=(de=e.hoistingLimitsByCwd)==null?void 0:de.get(re),Qe=Me?re:z.relative(p,ue.toPortablePath(yt.packageLocation))||wt.dot,_e=(ne=e.hoistingLimitsByCwd)==null?void 0:ne.get(Qe);v(me,yt,ut,he,C,Pe,Qe,Te==="dependencies"||_e==="dependencies"||_e==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,wt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function Uwe(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return ue.toPortablePath(o||t.packageLocation)}function FIt(t,e,r){let o=e.getLocator(t.name.replace(dm,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:ue.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:Uwe(a,t,e)}}var RIt=(t,e,r)=>{let o=new Map,a=(E,w,v)=>{let{linkType:b,target:C}=FIt(E,t,r);return{locator:mA(E),nodePath:w,target:C,linkType:b,aliases:v}},n=E=>{let[w,v]=E.split("/");return v?{scope:Li(w),name:Li(v)}:{scope:null,name:Li(w)}},u=new Set,A=(E,w,v)=>{if(u.has(E))return;u.add(E);let b=Array.from(E.references).sort().join("#");for(let C of E.dependencies){let R=Array.from(C.references).sort().join("#");if(C.identName===E.identName&&R===b)continue;let L=Array.from(C.references).sort(),_={name:C.identName,reference:L[0]},{name:V,scope:re}=n(C.name),oe=re?[re,V]:[V],pe=z.join(w,Owe),he=z.join(pe,...oe),ve=`${v}/${_.name}`,ge=a(_,v,L.slice(1)),le=!1;if(ge.linkType==="SOFT"&&r.project){let g=r.project.workspacesByCwd.get(ge.target.slice(0,-1));le=!!(g&&!g.manifest.name)}let Pe=ge.linkType==="SOFT"&&he.startsWith(ge.target);if(!C.name.endsWith(dm)&&!le&&!Pe){let g=o.get(he);if(g){if(g.dirList)throw new Error(`Assertion failed: ${he} cannot merge dir node with leaf node`);{let de=Y.parseLocator(g.locator),ne=Y.parseLocator(ge.locator);if(g.linkType!==ge.linkType)throw new Error(`Assertion failed: ${he} cannot merge nodes with different link types ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/${Y.stringifyLocator(ne)}`);if(de.identHash!==ne.identHash)throw new Error(`Assertion failed: ${he} cannot merge nodes with different idents ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/s${Y.stringifyLocator(ne)}`);ge.aliases=[...ge.aliases,...g.aliases,Y.parseLocator(g.locator).reference]}}o.set(he,ge);let De=he.split("/"),Ce=De.indexOf(Owe);for(let de=De.length-1;Ce>=0&&de>Ce;de--){let ne=ue.toPortablePath(De.slice(0,de).join(z.sep)),Z=Li(De[de]),me=o.get(ne);if(!me)o.set(ne,{dirList:new Set([Z])});else if(me.dirList){if(me.dirList.has(Z))break;me.dirList.add(Z)}}}A(C,ge.linkType==="SOFT"?ge.target:he,ve)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};Ke();Ke();bt();bt();_c();_l();var sj={};Yt(sj,{PnpInstaller:()=>Em,PnpLinker:()=>Bh,UnplugCommand:()=>Dh,default:()=>uwt,getPnpPath:()=>vh,jsInstallUtils:()=>CA,pnpUtils:()=>VB,quotePathIfNeeded:()=>S1e});bt();var v1e=tt(si()),D1e=Ie("url");Ke();Ke();bt();bt();var _we={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function TIt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a<n;++a)o+=Ak(String(a),t[a],e,r).replace(/^ +/g,""),a+1<n&&(o+=", ");return o+="]",o}function NIt(t,e,r){let o=`${r} `,a="";a+=r,a+=`[
572`;for(let n=0,u=t.length;n<u;++n)a+=o+ik(String(n),t[n],e,o).replace(/^ +/,""),n+1<u&&(a+=","),a+=` 572`;for(let n=0,u=t.length;n<u;++n)a+=o+Ak(String(n),t[n],e,o).replace(/^ +/,""),n+1<u&&(a+=","),a+=`
573`;return a+=r,a+="]",a}function DIt(t,e,r){let o=Object.keys(t),a="";a+="{";for(let n=0,u=o.length,A=0;n<u;++n){let p=o[n],h=t[p];typeof h>"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=ik(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function SIt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ 573`;return a+=r,a+="]",a}function LIt(t,e,r){let o=Object.keys(t),a="";a+="{";for(let n=0,u=o.length,A=0;n<u;++n){let p=o[n],h=t[p];typeof h>"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=Ak(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function OIt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{
574`;let u=0;for(let A=0,p=o.length;A<p;++A){let h=o[A],C=t[h];typeof C>"u"||(u!==0&&(n+=",",n+=` 574`;let u=0;for(let A=0,p=o.length;A<p;++A){let h=o[A],E=t[h];typeof E>"u"||(u!==0&&(n+=",",n+=`
575`),n+=a,n+=JSON.stringify(h),n+=": ",n+=ik(h,C,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` 575`),n+=a,n+=JSON.stringify(h),n+=": ",n+=Ak(h,E,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=`
576`),n+=r,n+="}",n}function ik(t,e,r,o){let{next:a}=Twe[r],n=a[t]||a["*"];return Nwe(e,n,o)}function Nwe(t,e,r){let{collapsed:o}=Twe[e];return Array.isArray(t)?o?BIt(t,e,r):vIt(t,e,r):typeof t=="object"&&t!==null?o?DIt(t,e,r):SIt(t,e,r):JSON.stringify(t)}function Lwe(t){return Nwe(t,"TOP_LEVEL","")}function RB(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function PIt(t){let e=new Map,r=RB(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function xIt(t){return RB(t.fallbackPool||[],([e])=>e)}function bIt(t){let e=[];for(let[r,o]of RB(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:C}]of RB(o,([w])=>w===null?"0":`1${w}`)){let w=[];r!==null&&n!==null&&!A.has(r)&&w.push([r,n]);for(let[E,R]of RB(A.entries(),([L])=>L))w.push([E,R]);let v=p&&p.size>0?Array.from(p):void 0,b=C||void 0;a.push([n,{packageLocation:u,packageDependencies:w,packagePeers:v,linkType:h,discardFromLookup:b}])}}return e}function TB(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:PIt(t),fallbackPool:xIt(t),packageRegistryData:bIt(t)}}var Uwe=tt(Mwe());function _we(t,e){return[t?`${t} 576`),n+=r,n+="}",n}function Ak(t,e,r,o){let{next:a}=_we[r],n=a[t]||a["*"];return Hwe(e,n,o)}function Hwe(t,e,r){let{collapsed:o}=_we[e];return Array.isArray(t)?o?TIt(t,e,r):NIt(t,e,r):typeof t=="object"&&t!==null?o?LIt(t,e,r):OIt(t,e,r):JSON.stringify(t)}function qwe(t){return Hwe(t,"TOP_LEVEL","")}function OB(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function MIt(t){let e=new Map,r=OB(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function UIt(t){return OB(t.fallbackPool||[],([e])=>e)}function _It(t){let e=[];for(let[r,o]of OB(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:E}]of OB(o,([w])=>w===null?"0":`1${w}`)){let w=[];r!==null&&n!==null&&!A.has(r)&&w.push([r,n]);for(let[C,R]of OB(A.entries(),([L])=>L))w.push([C,R]);let v=p&&p.size>0?Array.from(p):void 0,b=E||void 0;a.push([n,{packageLocation:u,packageDependencies:w,packagePeers:v,linkType:h,discardFromLookup:b}])}}return e}function MB(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:MIt(t),fallbackPool:UIt(t),packageRegistryData:_It(t)}}var Wwe=tt(Gwe());function Ywe(t,e){return[t?`${t}
577`:"",`/* eslint-disable */ 577`:"",`/* eslint-disable */
578`,`"use strict"; 578`,`"use strict";
579`,` 579`,`
580`,e,` 580`,e,`
581`,(0,Uwe.default)()].join("")}function QIt(t){return JSON.stringify(t,null,2)}function kIt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ 581`,(0,Wwe.default)()].join("")}function HIt(t){return JSON.stringify(t,null,2)}function qIt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\
582`)}'`}function FIt(t){return[`const RAW_RUNTIME_STATE = 582`)}'`}function jIt(t){return[`const RAW_RUNTIME_STATE =
583`,`${kIt(Lwe(t))}; 583`,`${qIt(qwe(t))};
584 584
585`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { 585`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
586`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); 586`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname});
587`,`} 587`,`}
588`].join("")}function RIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { 588`].join("")}function GIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
589`,` return hydrateRuntimeState(require(${JSON.stringify(`./${Lr.pnpData}`)}), {basePath: basePath || __dirname}); 589`,` return hydrateRuntimeState(require(${JSON.stringify(`./${Lr.pnpData}`)}), {basePath: basePath || __dirname});
590`,`} 590`,`}
591`].join("")}function Hwe(t){let e=TB(t),r=FIt(e);return _we(t.shebang,r)}function qwe(t){let e=TB(t),r=RIt(),o=_we(t.shebang,r);return{dataFile:QIt(e),loaderFile:o}}bt();function Hq(t,{basePath:e}){let r=Ae.toPortablePath(e),o=V.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([w,v])=>[w,new Map(v.map(([b,E])=>{if(w===null!=(b===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=E.discardFromLookup??!1,L={name:w,reference:b},_=n.get(E.packageLocation);_?(_.discardFromLookup=_.discardFromLookup&&R,R||(_.locator=L)):n.set(E.packageLocation,{locator:L,discardFromLookup:R});let J=null;return[b,{packageDependencies:new Map(E.packageDependencies),packagePeers:new Set(E.packagePeers),linkType:E.linkType,discardFromLookup:R,get packageLocation(){return J||(J=V.join(o,E.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([w,v])=>[w,new Set(v)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,C=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:C,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}bt();bt();var UB=Ie("module");function RC(t,e){if(typeof t=="string")return t;if(t){let r,o;if(Array.isArray(t)){for(r=0;r<t.length;r++)if(o=RC(t[r],e))return o}else for(r in t)if(e.has(r))return RC(t[r],e)}}function hm(t,e,r){throw new Error(r?`No known conditions for "${e}" entry in "${t}" package`:`Missing "${e}" export in "${t}" package`)}function TIt(t,e){return e===t?".":e[0]==="."?e:e.replace(new RegExp("^"+t+"/"),"./")}function jwe(t,e=".",r={}){let{name:o,exports:a}=t;if(a){let{browser:n,require:u,unsafe:A,conditions:p=[]}=r,h=TIt(o,e);if(h[0]!=="."&&(h="./"+h),typeof a=="string")return h==="."?a:hm(o,h);let C=new Set(["default",...p]);A||C.add(u?"require":"import"),A||C.add(n?"browser":"node");let w,v,b=!1;for(w in a){b=w[0]!==".";break}if(b)return h==="."?RC(a,C)||hm(o,h,1):hm(o,h);if(v=a[h])return RC(v,C)||hm(o,h,1);for(w in a){if(v=w[w.length-1],v==="/"&&h.startsWith(w))return(v=RC(a[w],C))?v+h.substring(w.length):hm(o,h,1);if(v==="*"&&h.startsWith(w.slice(0,-1))&&h.substring(w.length-1).length>0)return(v=RC(a[w],C))?v.replace("*",h.substring(w.length-1)):hm(o,h,1)}return hm(o,h)}}var fk=Ie("url"),Yq=Ie("util");var cu=Ie("url");var zwe=tt(Ie("assert"));var Gwe=Array.isArray,NB=JSON.stringify,qq=Object.getOwnPropertyNames,TC=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),jq=(t,e)=>RegExp.prototype.exec.call(t,e),Gq=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),LB=(t,...e)=>String.prototype.endsWith.apply(t,e),Wwe=(t,...e)=>String.prototype.includes.apply(t,e),Ywe=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),sk=(t,...e)=>String.prototype.indexOf.apply(t,e),Kwe=(t,...e)=>String.prototype.replace.apply(t,e),OB=(t,...e)=>String.prototype.slice.apply(t,e),ep=(t,...e)=>String.prototype.startsWith.apply(t,e),Jwe=Map,Vwe=JSON.parse;function ok(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var Xwe=ok("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Wq=ok("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),Zwe=ok("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!ep(r,"./");return e==="."?((0,zwe.default)(o===!1),`Invalid "exports" main target ${NB(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${NB(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),ak=ok("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error);var ck=Ie("url");function $we(t,e){let r=Object.create(null);for(let o=0;o<e.length;o++){let a=e[o];TC(t,a)&&(r[a]=t[a])}return r}var lk=new Jwe;function NIt(t,e,r,o){let a=lk.get(t);if(a!==void 0)return a;let n=o(t);if(n===void 0){let b={pjsonPath:t,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return lk.set(t,b),b}let u;try{u=Vwe(n)}catch(b){throw new ak(t,(r?`"${e}" from `:"")+(0,ck.fileURLToPath)(r||e),b.message)}let{imports:A,main:p,name:h,type:C}=$we(u,["imports","main","name","type"]),w=TC(u,"exports")?u.exports:void 0;(typeof A!="object"||A===null)&&(A=void 0),typeof p!="string"&&(p=void 0),typeof h!="string"&&(h=void 0),C!=="module"&&C!=="commonjs"&&(C="none");let v={pjsonPath:t,exists:!0,main:p,name:h,type:C,exports:w,imports:A};return lk.set(t,v),v}function e1e(t,e){let r=new URL("./package.json",t);for(;;){let n=r.pathname;if(LB(n,"node_modules/package.json"))break;let u=NIt((0,ck.fileURLToPath)(r),t,void 0,e);if(u.exists)return u;let A=r;if(r=new URL("../package.json",r),r.pathname===A.pathname)break}let o=(0,ck.fileURLToPath)(r),a={pjsonPath:o,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return lk.set(o,a),a}function LIt(t,e,r){throw new Xwe(t,e&&(0,cu.fileURLToPath)(new URL(".",e)),(0,cu.fileURLToPath)(r))}function OIt(t,e,r,o){let a=`request is not a valid subpath for the "${r?"imports":"exports"}" resolution of ${(0,cu.fileURLToPath)(e)}`;throw new Wq(t,a,o&&(0,cu.fileURLToPath)(o))}function MB(t,e,r,o,a){throw typeof e=="object"&&e!==null?e=NB(e,null,""):e=`${e}`,new Zwe((0,cu.fileURLToPath)(new URL(".",r)),t,e,o,a&&(0,cu.fileURLToPath)(a))}var t1e=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,r1e=/\*/g;function MIt(t,e,r,o,a,n,u,A){if(e!==""&&!n&&t[t.length-1]!=="/"&&MB(r,t,o,u,a),!ep(t,"./")){if(u&&!ep(t,"../")&&!ep(t,"/")){let w=!1;try{new URL(t),w=!0}catch{}if(!w)return n?Gq(r1e,t,()=>e):t+e}MB(r,t,o,u,a)}jq(t1e,OB(t,2))!==null&&MB(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,C=new URL(".",o).pathname;if(ep(h,C)||MB(r,t,o,u,a),e==="")return p;if(jq(t1e,e)!==null){let w=n?Kwe(r,"*",()=>e):r+e;OIt(w,o,u,a)}return n?new URL(Gq(r1e,p.href,()=>e)):new URL(e,p)}function UIt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function uk(t,e,r,o,a,n,u,A){if(typeof e=="string")return MIt(e,r,o,t,a,n,u,A);if(Gwe(e)){if(e.length===0)return null;let p;for(let h=0;h<e.length;h++){let C=e[h],w;try{w=uk(t,C,r,o,a,n,u,A)}catch(v){if(p=v,v.code==="ERR_INVALID_PACKAGE_TARGET")continue;throw v}if(w!==void 0){if(w===null){p=null;continue}return w}}if(p==null)return p;throw p}else if(typeof e=="object"&&e!==null){let p=qq(e);for(let h=0;h<p.length;h++){let C=p[h];if(UIt(C))throw new ak((0,cu.fileURLToPath)(t),a,'"exports" cannot contain numeric property keys.')}for(let h=0;h<p.length;h++){let C=p[h];if(C==="default"||A.has(C)){let w=e[C],v=uk(t,w,r,o,a,n,u,A);if(v===void 0)continue;return v}}return}else if(e===null)return null;MB(o,e,t,u,a)}function _It(t,e){let r=sk(t,"*"),o=sk(e,"*"),a=r===-1?t.length:r+1,n=o===-1?e.length:o+1;return a>n?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function n1e({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||ep(t,"#/")||LB(t,"/")){let u="is not a valid internal imports specifier name";throw new Wq(t,u,(0,cu.fileURLToPath)(e))}let a,n=e1e(e,o);if(n.exists){a=(0,cu.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(TC(u,t)&&!Wwe(t,"*")){let A=uk(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=qq(u);for(let C=0;C<h.length;C++){let w=h[C],v=sk(w,"*");if(v!==-1&&ep(t,OB(w,0,v))){let b=OB(w,v+1);t.length>=w.length&&LB(t,b)&&_It(A,w)===1&&Ywe(w,"*")===v&&(A=w,p=OB(t,v,t.length-b.length))}}if(A){let C=u[A],w=uk(a,C,p,A,e,!0,!0,r);if(w!=null)return w}}}LIt(t,a,e)}bt();var HIt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function Xi(t,e,r={},o){o??(o=HIt.has(t)?"MODULE_NOT_FOUND":t);let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function uu(t){return Ae.normalize(Ae.fromPortablePath(t))}bt();var s1e=Ie("module");var[Au,gm]=process.versions.node.split(".").map(t=>parseInt(t,10)),mVt=Au>16||Au===16&&gm>=12,yVt=Au>17||Au===17&&gm>=5||Au===16&&gm>=15,EVt=Au>17||Au===17&&gm>=1||Au===16&&gm>14,i1e=Au>19||Au===19&&gm>=2||Au===18&&gm>=13;var qIt=new Set(s1e.Module.builtinModules||Object.keys(process.binding("natives"))),Ak=t=>t.startsWith("node:")||qIt.has(t);function o1e(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>Ae.fromPortablePath(pi.resolveVirtual(Ae.toPortablePath(e)))),i1e)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function Kq(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],C=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Me of["react-scripts","gatsby"]){let Te=t.packageRegistry.get(Me);if(Te)for(let Qe of Te.keys()){if(Qe===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Me,reference:Qe})}}let{ignorePattern:w,packageRegistry:v,packageLocatorsByLocations:b}=t;function E(Me,Te){return{fn:Me,args:Te,error:null,result:null}}function R(Me){var At,Le,x,I;let Te=((Le=(At=process.stderr)==null?void 0:At.hasColors)==null?void 0:Le.call(At))??process.stdout.isTTY,Qe=(P,y)=>`\x1B[${P}m${y}\x1B[0m`,Ue=Me.error;console.error(Ue?Qe("31;1",`\u2716 ${(x=Me.error)==null?void 0:x.message.replace(/\n.*/s,"")}`):Qe("33;1","\u203C Resolution")),Me.args.length>0&&console.error();for(let P of Me.args)console.error(` ${Qe("37;1","In \u2190")} ${(0,Yq.inspect)(P,{colors:Te,compact:!0})}`);Me.result&&(console.error(),console.error(` ${Qe("37;1","Out \u2192")} ${(0,Yq.inspect)(Me.result,{colors:Te,compact:!0})}`));let je=((I=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:I.slice(2))??[];if(je.length>0){console.error();for(let P of je)console.error(` ${Qe("38;5;244",P)}`)}console.error()}function L(Me,Te){if(e.allowDebug===!1)return Te;if(Number.isFinite(o)){if(o>=2)return(...Qe)=>{let Ue=E(Me,Qe);try{return Ue.result=Te(...Qe)}catch(je){throw Ue.error=je}finally{R(Ue)}};if(o>=1)return(...Qe)=>{try{return Te(...Qe)}catch(Ue){let je=E(Me,Qe);throw je.error=Ue,R(je),Ue}}}return Te}function _(Me){let Te=g(Me);if(!Te)throw Xi("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Te}function J(Me){if(Me.name===null)return!0;for(let Te of t.dependencyTreeRoots)if(Te.name===Me.name&&Te.reference===Me.reference)return!0;return!1}let re=new Set(["default","node","require"]);function oe(Me,Te=re){let Qe=de(V.join(Me,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Qe===null)throw Xi("INTERNAL",`The locator that owns the "${Me}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Ue}=_(Qe),je=V.join(Ue,Lr.manifest);if(!e.fakeFs.existsSync(je))return null;let At=JSON.parse(e.fakeFs.readFileSync(je,"utf8")),Le=V.contains(Ue,Me);if(Le===null)throw Xi("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");A.test(Le)||(Le=`./${Le}`);let x;try{x=jwe(At,V.normalize(Le),{conditions:Te,unsafe:!0})}catch(I){throw Xi("EXPORTS_RESOLUTION_FAILED",I.message,{unqualifiedPath:uu(Me),locator:Qe,pkgJson:At,subpath:uu(Le),conditions:Te},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof x=="string"?V.join(Ue,x):null}function pe(Me,Te,{extensions:Qe}){let Ue;try{Te.push(Me),Ue=e.fakeFs.statSync(Me)}catch{}if(Ue&&!Ue.isDirectory())return e.fakeFs.realpathSync(Me);if(Ue&&Ue.isDirectory()){let je;try{je=JSON.parse(e.fakeFs.readFileSync(V.join(Me,Lr.manifest),"utf8"))}catch{}let At;if(je&&je.main&&(At=V.resolve(Me,je.main)),At&&At!==Me){let Le=pe(At,Te,{extensions:Qe});if(Le!==null)return Le}}for(let je=0,At=Qe.length;je<At;je++){let Le=`${Me}${Qe[je]}`;if(Te.push(Le),e.fakeFs.existsSync(Le))return Le}if(Ue&&Ue.isDirectory())for(let je=0,At=Qe.length;je<At;je++){let Le=V.format({dir:Me,name:"index",ext:Qe[je]});if(Te.push(Le),e.fakeFs.existsSync(Le))return Le}return null}function he(Me){let Te=new UB.Module(Me,null);return Te.filename=Me,Te.paths=UB.Module._nodeModulePaths(Me),Te}function ve(Me,Te){return Te.endsWith("/")&&(Te=V.join(Te,"internal.js")),UB.Module._resolveFilename(Ae.fromPortablePath(Me),he(Ae.fromPortablePath(Te)),!1,{plugnplay:!1})}function ge(Me){if(w===null)return!1;let Te=V.contains(t.basePath,Me);return Te===null?!1:!!w.test(Te.replace(/\/$/,""))}let le={std:3,resolveVirtual:1,getAllLocators:1},Pe=p;function g({name:Me,reference:Te}){let Qe=v.get(Me);if(!Qe)return null;let Ue=Qe.get(Te);return Ue||null}function De({name:Me,reference:Te}){let Qe=[];for(let[Ue,je]of v)if(Ue!==null)for(let[At,Le]of je)At===null||Le.packageDependencies.get(Me)!==Te||Ue===Me&&At===Te||Qe.push({name:Ue,reference:At});return Qe}function Ee(Me,Te){let Qe=new Map,Ue=new Set,je=Le=>{let x=JSON.stringify(Le.name);if(Ue.has(x))return;Ue.add(x);let I=De(Le);for(let P of I)if(_(P).packagePeers.has(Me))je(P);else{let F=Qe.get(P.name);typeof F>"u"&&Qe.set(P.name,F=new Set),F.add(P.reference)}};je(Te);let At=[];for(let Le of[...Qe.keys()].sort())for(let x of[...Qe.get(Le)].sort())At.push({name:Le,reference:x});return At}function de(Me,{resolveIgnored:Te=!1,includeDiscardFromLookup:Qe=!1}={}){if(ge(Me)&&!Te)return null;let Ue=V.relative(t.basePath,Me);Ue.match(n)||(Ue=`./${Ue}`),Ue.endsWith("/")||(Ue=`${Ue}/`);do{let je=b.get(Ue);if(typeof je>"u"||je.discardFromLookup&&!Qe){Ue=Ue.substring(0,Ue.lastIndexOf("/",Ue.length-2)+1);continue}return je.locator}while(Ue!=="");return null}function ne(Me){try{return e.fakeFs.readFileSync(Ae.toPortablePath(Me),"utf8")}catch(Te){if(Te.code==="ENOENT")return;throw Te}}function Z(Me,Te,{considerBuiltins:Qe=!0}={}){if(Me.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Me==="pnpapi")return Ae.toPortablePath(e.pnpapiResolution);if(Qe&&Ak(Me))return null;let Ue=uu(Me),je=Te&&uu(Te);if(Te&&ge(Te)&&(!V.isAbsolute(Me)||de(Me)===null)){let x=ve(Me,Te);if(x===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) 591`].join("")}function Kwe(t){let e=MB(t),r=jIt(e);return Ywe(t.shebang,r)}function Vwe(t){let e=MB(t),r=GIt(),o=Ywe(t.shebang,r);return{dataFile:HIt(e),loaderFile:o}}bt();function qq(t,{basePath:e}){let r=ue.toPortablePath(e),o=z.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([w,v])=>[w,new Map(v.map(([b,C])=>{if(w===null!=(b===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=C.discardFromLookup??!1,L={name:w,reference:b},_=n.get(C.packageLocation);_?(_.discardFromLookup=_.discardFromLookup&&R,R||(_.locator=L)):n.set(C.packageLocation,{locator:L,discardFromLookup:R});let V=null;return[b,{packageDependencies:new Map(C.packageDependencies),packagePeers:new Set(C.packagePeers),linkType:C.linkType,discardFromLookup:R,get packageLocation(){return V||(V=z.join(o,C.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([w,v])=>[w,new Set(v)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}bt();bt();var YB=Ie("module"),Cm=Ie("url"),Zq=Ie("util");var No=Ie("url");var Zwe=tt(Ie("assert"));var jq=Array.isArray,UB=JSON.stringify,_B=Object.getOwnPropertyNames,mm=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Gq=(t,e)=>RegExp.prototype.exec.call(t,e),Wq=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),Ih=(t,...e)=>String.prototype.endsWith.apply(t,e),Yq=(t,...e)=>String.prototype.includes.apply(t,e),Kq=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),HB=(t,...e)=>String.prototype.indexOf.apply(t,e),Jwe=(t,...e)=>String.prototype.replace.apply(t,e),wh=(t,...e)=>String.prototype.slice.apply(t,e),yA=(t,...e)=>String.prototype.startsWith.apply(t,e),zwe=Map,Xwe=JSON.parse;function qB(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var $we=qB("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Vq=qB("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),e1e=qB("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!yA(r,"./");return e==="."?((0,Zwe.default)(o===!1),`Invalid "exports" main target ${UB(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${UB(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),jB=qB("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),t1e=qB("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var pk=Ie("url");function r1e(t,e){let r=Object.create(null);for(let o=0;o<e.length;o++){let a=e[o];mm(t,a)&&(r[a]=t[a])}return r}var fk=new zwe;function WIt(t,e,r,o){let a=fk.get(t);if(a!==void 0)return a;let n=o(t);if(n===void 0){let b={pjsonPath:t,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return fk.set(t,b),b}let u;try{u=Xwe(n)}catch(b){throw new jB(t,(r?`"${e}" from `:"")+(0,pk.fileURLToPath)(r||e),b.message)}let{imports:A,main:p,name:h,type:E}=r1e(u,["imports","main","name","type"]),w=mm(u,"exports")?u.exports:void 0;(typeof A!="object"||A===null)&&(A=void 0),typeof p!="string"&&(p=void 0),typeof h!="string"&&(h=void 0),E!=="module"&&E!=="commonjs"&&(E="none");let v={pjsonPath:t,exists:!0,main:p,name:h,type:E,exports:w,imports:A};return fk.set(t,v),v}function n1e(t,e){let r=new URL("./package.json",t);for(;;){let n=r.pathname;if(Ih(n,"node_modules/package.json"))break;let u=WIt((0,pk.fileURLToPath)(r),t,void 0,e);if(u.exists)return u;let A=r;if(r=new URL("../package.json",r),r.pathname===A.pathname)break}let o=(0,pk.fileURLToPath)(r),a={pjsonPath:o,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return fk.set(o,a),a}function YIt(t,e,r){throw new $we(t,e&&(0,No.fileURLToPath)(new URL(".",e)),(0,No.fileURLToPath)(r))}function KIt(t,e,r,o){let a=`request is not a valid subpath for the "${r?"imports":"exports"}" resolution of ${(0,No.fileURLToPath)(e)}`;throw new Vq(t,a,o&&(0,No.fileURLToPath)(o))}function GB(t,e,r,o,a){throw typeof e=="object"&&e!==null?e=UB(e,null,""):e=`${e}`,new e1e((0,No.fileURLToPath)(new URL(".",r)),t,e,o,a&&(0,No.fileURLToPath)(a))}var i1e=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,s1e=/\*/g;function VIt(t,e,r,o,a,n,u,A){if(e!==""&&!n&&t[t.length-1]!=="/"&&GB(r,t,o,u,a),!yA(t,"./")){if(u&&!yA(t,"../")&&!yA(t,"/")){let w=!1;try{new URL(t),w=!0}catch{}if(!w)return n?Wq(s1e,t,()=>e):t+e}GB(r,t,o,u,a)}Gq(i1e,wh(t,2))!==null&&GB(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,E=new URL(".",o).pathname;if(yA(h,E)||GB(r,t,o,u,a),e==="")return p;if(Gq(i1e,e)!==null){let w=n?Jwe(r,"*",()=>e):r+e;KIt(w,o,u,a)}return n?new URL(Wq(s1e,p.href,()=>e)):new URL(e,p)}function JIt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function ME(t,e,r,o,a,n,u,A){if(typeof e=="string")return VIt(e,r,o,t,a,n,u,A);if(jq(e)){if(e.length===0)return null;let p;for(let h=0;h<e.length;h++){let E=e[h],w;try{w=ME(t,E,r,o,a,n,u,A)}catch(v){if(p=v,v.code==="ERR_INVALID_PACKAGE_TARGET")continue;throw v}if(w!==void 0){if(w===null){p=null;continue}return w}}if(p==null)return p;throw p}else if(typeof e=="object"&&e!==null){let p=_B(e);for(let h=0;h<p.length;h++){let E=p[h];if(JIt(E))throw new jB((0,No.fileURLToPath)(t),a,'"exports" cannot contain numeric property keys.')}for(let h=0;h<p.length;h++){let E=p[h];if(E==="default"||A.has(E)){let w=e[E],v=ME(t,w,r,o,a,n,u,A);if(v===void 0)continue;return v}}return}else if(e===null)return null;GB(o,e,t,u,a)}function a1e(t,e){let r=HB(t,"*"),o=HB(e,"*"),a=r===-1?t.length:r+1,n=o===-1?e.length:o+1;return a>n?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function zIt(t,e,r){if(typeof t=="string"||jq(t))return!0;if(typeof t!="object"||t===null)return!1;let o=_B(t),a=!1,n=0;for(let u=0;u<o.length;u++){let A=o[u],p=A===""||A[0]!==".";if(n++===0)a=p;else if(a!==p)throw new jB((0,No.fileURLToPath)(e),r,`"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.`)}return a}function Jq(t,e,r){throw new t1e((0,No.fileURLToPath)(new URL(".",e)),t,r&&(0,No.fileURLToPath)(r))}var o1e=new Set;function XIt(t,e,r){let o=(0,No.fileURLToPath)(e);o1e.has(o+"|"+t)||(o1e.add(o+"|"+t),process.emitWarning(`Use of deprecated trailing slash pattern mapping "${t}" in the "exports" field module resolution of the package at ${o}${r?` imported from ${(0,No.fileURLToPath)(r)}`:""}. Mapping specifiers ending in "/" is no longer supported.`,"DeprecationWarning","DEP0155"))}function l1e({packageJSONUrl:t,packageSubpath:e,exports:r,base:o,conditions:a}){if(zIt(r,t,o)&&(r={".":r}),mm(r,e)&&!Yq(e,"*")&&!Ih(e,"/")){let p=r[e],h=ME(t,p,"",e,o,!1,!1,a);return h==null&&Jq(e,t,o),h}let n="",u,A=_B(r);for(let p=0;p<A.length;p++){let h=A[p],E=HB(h,"*");if(E!==-1&&yA(e,wh(h,0,E))){Ih(e,"/")&&XIt(e,t,o);let w=wh(h,E+1);e.length>=h.length&&Ih(e,w)&&a1e(n,h)===1&&Kq(h,"*")===E&&(n=h,u=wh(e,E,e.length-w.length))}}if(n){let p=r[n],h=ME(t,p,u,n,o,!0,!1,a);return h==null&&Jq(e,t,o),h}Jq(e,t,o)}function c1e({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||yA(t,"#/")||Ih(t,"/")){let u="is not a valid internal imports specifier name";throw new Vq(t,u,(0,No.fileURLToPath)(e))}let a,n=n1e(e,o);if(n.exists){a=(0,No.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(mm(u,t)&&!Yq(t,"*")){let A=ME(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=_B(u);for(let E=0;E<h.length;E++){let w=h[E],v=HB(w,"*");if(v!==-1&&yA(t,wh(w,0,v))){let b=wh(w,v+1);t.length>=w.length&&Ih(t,b)&&a1e(A,w)===1&&Kq(w,"*")===v&&(A=w,p=wh(t,v,t.length-b.length))}}if(A){let E=u[A],w=ME(a,E,p,A,e,!0,!0,r);if(w!=null)return w}}}YIt(t,a,e)}bt();var ZIt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function Xi(t,e,r={},o){o??(o=ZIt.has(t)?"MODULE_NOT_FOUND":t);let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function Au(t){return ue.normalize(ue.fromPortablePath(t))}var p1e=tt(A1e());function h1e(t){return $It(),Xq[t]}var Xq;function $It(){Xq||(Xq={"--conditions":[],...f1e(ewt()),...f1e(process.execArgv)})}function f1e(t){return(0,p1e.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function ewt(){let t=[],e=twt(process.env.NODE_OPTIONS||"",t);return t.length,e}function twt(t,e){let r=[],o=!1,a=!0;for(let n=0;n<t.length;++n){let u=t[n];if(u==="\\"&&o){if(n+1===t.length)return e.push(`invalid value for NODE_OPTIONS (invalid escape)
592`),r;u=t[++n]}else if(u===" "&&!o){a=!0;continue}else if(u==='"'){o=!o;continue}a?(r.push(u),a=!1):r[r.length-1]+=u}return o&&e.push(`invalid value for NODE_OPTIONS (unterminated string)
593`),r}bt();var d1e=Ie("module");var[fu,ym]=process.versions.node.split(".").map(t=>parseInt(t,10)),DJt=fu>16||fu===16&&ym>=12,SJt=fu>17||fu===17&&ym>=5||fu===16&&ym>=15,PJt=fu>17||fu===17&&ym>=1||fu===16&&ym>14,g1e=fu>19||fu===19&&ym>=2||fu===18&&ym>=13;var rwt=new Set(d1e.Module.builtinModules||Object.keys(process.binding("natives"))),hk=t=>t.startsWith("node:")||rwt.has(t);function m1e(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>ue.fromPortablePath(pi.resolveVirtual(ue.toPortablePath(e)))),g1e)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function $q(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Me of["react-scripts","gatsby"]){let Te=t.packageRegistry.get(Me);if(Te)for(let Qe of Te.keys()){if(Qe===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Me,reference:Qe})}}let{ignorePattern:w,packageRegistry:v,packageLocatorsByLocations:b}=t;function C(Me,Te){return{fn:Me,args:Te,error:null,result:null}}function R(Me){var At,Oe,x,I;let Te=((Oe=(At=process.stderr)==null?void 0:At.hasColors)==null?void 0:Oe.call(At))??process.stdout.isTTY,Qe=(P,y)=>`\x1B[${P}m${y}\x1B[0m`,_e=Me.error;console.error(_e?Qe("31;1",`\u2716 ${(x=Me.error)==null?void 0:x.message.replace(/\n.*/s,"")}`):Qe("33;1","\u203C Resolution")),Me.args.length>0&&console.error();for(let P of Me.args)console.error(` ${Qe("37;1","In \u2190")} ${(0,Zq.inspect)(P,{colors:Te,compact:!0})}`);Me.result&&(console.error(),console.error(` ${Qe("37;1","Out \u2192")} ${(0,Zq.inspect)(Me.result,{colors:Te,compact:!0})}`));let qe=((I=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:I.slice(2))??[];if(qe.length>0){console.error();for(let P of qe)console.error(` ${Qe("38;5;244",P)}`)}console.error()}function L(Me,Te){if(e.allowDebug===!1)return Te;if(Number.isFinite(o)){if(o>=2)return(...Qe)=>{let _e=C(Me,Qe);try{return _e.result=Te(...Qe)}catch(qe){throw _e.error=qe}finally{R(_e)}};if(o>=1)return(...Qe)=>{try{return Te(...Qe)}catch(_e){let qe=C(Me,Qe);throw qe.error=_e,R(qe),_e}}}return Te}function _(Me){let Te=g(Me);if(!Te)throw Xi("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Te}function V(Me){if(Me.name===null)return!0;for(let Te of t.dependencyTreeRoots)if(Te.name===Me.name&&Te.reference===Me.reference)return!0;return!1}let re=new Set(["node","require",...h1e("--conditions")]);function oe(Me,Te=re,Qe){let _e=de(z.join(Me,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(_e===null)throw Xi("INTERNAL",`The locator that owns the "${Me}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:qe}=_(_e),At=z.join(qe,Lr.manifest);if(!e.fakeFs.existsSync(At))return null;let Oe=JSON.parse(e.fakeFs.readFileSync(At,"utf8"));if(Oe.exports==null)return null;let x=z.contains(qe,Me);if(x===null)throw Xi("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");x!=="."&&!A.test(x)&&(x=`./${x}`);try{let I=l1e({packageJSONUrl:(0,Cm.pathToFileURL)(ue.fromPortablePath(At)),packageSubpath:x,exports:Oe.exports,base:Qe?(0,Cm.pathToFileURL)(ue.fromPortablePath(Qe)):null,conditions:Te});return ue.toPortablePath((0,Cm.fileURLToPath)(I))}catch(I){throw Xi("EXPORTS_RESOLUTION_FAILED",I.message,{unqualifiedPath:Au(Me),locator:_e,pkgJson:Oe,subpath:Au(x),conditions:Te},I.code)}}function pe(Me,Te,{extensions:Qe}){let _e;try{Te.push(Me),_e=e.fakeFs.statSync(Me)}catch{}if(_e&&!_e.isDirectory())return e.fakeFs.realpathSync(Me);if(_e&&_e.isDirectory()){let qe;try{qe=JSON.parse(e.fakeFs.readFileSync(z.join(Me,Lr.manifest),"utf8"))}catch{}let At;if(qe&&qe.main&&(At=z.resolve(Me,qe.main)),At&&At!==Me){let Oe=pe(At,Te,{extensions:Qe});if(Oe!==null)return Oe}}for(let qe=0,At=Qe.length;qe<At;qe++){let Oe=`${Me}${Qe[qe]}`;if(Te.push(Oe),e.fakeFs.existsSync(Oe))return Oe}if(_e&&_e.isDirectory())for(let qe=0,At=Qe.length;qe<At;qe++){let Oe=z.format({dir:Me,name:"index",ext:Qe[qe]});if(Te.push(Oe),e.fakeFs.existsSync(Oe))return Oe}return null}function he(Me){let Te=new YB.Module(Me,null);return Te.filename=Me,Te.paths=YB.Module._nodeModulePaths(Me),Te}function ve(Me,Te){return Te.endsWith("/")&&(Te=z.join(Te,"internal.js")),YB.Module._resolveFilename(ue.fromPortablePath(Me),he(ue.fromPortablePath(Te)),!1,{plugnplay:!1})}function ge(Me){if(w===null)return!1;let Te=z.contains(t.basePath,Me);return Te===null?!1:!!w.test(Te.replace(/\/$/,""))}let le={std:3,resolveVirtual:1,getAllLocators:1},Pe=p;function g({name:Me,reference:Te}){let Qe=v.get(Me);if(!Qe)return null;let _e=Qe.get(Te);return _e||null}function De({name:Me,reference:Te}){let Qe=[];for(let[_e,qe]of v)if(_e!==null)for(let[At,Oe]of qe)At===null||Oe.packageDependencies.get(Me)!==Te||_e===Me&&At===Te||Qe.push({name:_e,reference:At});return Qe}function Ce(Me,Te){let Qe=new Map,_e=new Set,qe=Oe=>{let x=JSON.stringify(Oe.name);if(_e.has(x))return;_e.add(x);let I=De(Oe);for(let P of I)if(_(P).packagePeers.has(Me))qe(P);else{let F=Qe.get(P.name);typeof F>"u"&&Qe.set(P.name,F=new Set),F.add(P.reference)}};qe(Te);let At=[];for(let Oe of[...Qe.keys()].sort())for(let x of[...Qe.get(Oe)].sort())At.push({name:Oe,reference:x});return At}function de(Me,{resolveIgnored:Te=!1,includeDiscardFromLookup:Qe=!1}={}){if(ge(Me)&&!Te)return null;let _e=z.relative(t.basePath,Me);_e.match(n)||(_e=`./${_e}`),_e.endsWith("/")||(_e=`${_e}/`);do{let qe=b.get(_e);if(typeof qe>"u"||qe.discardFromLookup&&!Qe){_e=_e.substring(0,_e.lastIndexOf("/",_e.length-2)+1);continue}return qe.locator}while(_e!=="");return null}function ne(Me){try{return e.fakeFs.readFileSync(ue.toPortablePath(Me),"utf8")}catch(Te){if(Te.code==="ENOENT")return;throw Te}}function Z(Me,Te,{considerBuiltins:Qe=!0}={}){if(Me.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Me==="pnpapi")return ue.toPortablePath(e.pnpapiResolution);if(Qe&&hk(Me))return null;let _e=Au(Me),qe=Te&&Au(Te);if(Te&&ge(Te)&&(!z.isAbsolute(Me)||de(Me)===null)){let x=ve(Me,Te);if(x===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)
592 594
593Require request: "${Ue}" 595Require request: "${_e}"
594Required by: ${je} 596Required by: ${qe}
595`,{request:Ue,issuer:je});return Ae.toPortablePath(x)}let At,Le=Me.match(a);if(Le){if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ue,issuer:je});let[,x,I]=Le,P=de(Te);if(!P){let Ne=ve(Me,Te);if(Ne===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). 597`,{request:_e,issuer:qe});return ue.toPortablePath(x)}let At,Oe=Me.match(a);if(Oe){if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:_e,issuer:qe});let[,x,I]=Oe,P=de(Te);if(!P){let Ne=ve(Me,Te);if(Ne===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).
596 598
597Require path: "${Ue}" 599Require path: "${_e}"
598Required by: ${je} 600Required by: ${qe}
599`,{request:Ue,issuer:je});return Ae.toPortablePath(Ne)}let F=_(P).packageDependencies.get(x),z=null;if(F==null&&P.name!==null){let Ne=t.fallbackExclusionList.get(P.name);if(!Ne||!Ne.has(P.reference)){for(let ht=0,Ut=h.length;ht<Ut;++ht){let Pt=_(h[ht]).packageDependencies.get(x);if(Pt!=null){r?z=Pt:F=Pt;break}}if(t.enableTopLevelFallback&&F==null&&z===null){let ht=t.fallbackPool.get(x);ht!=null&&(z=ht)}}}let X=null;if(F===null)if(J(P))X=Xi("MISSING_PEER_DEPENDENCY",`Your application tried to access ${x} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. 601`,{request:_e,issuer:qe});return ue.toPortablePath(Ne)}let F=_(P).packageDependencies.get(x),J=null;if(F==null&&P.name!==null){let Ne=t.fallbackExclusionList.get(P.name);if(!Ne||!Ne.has(P.reference)){for(let ht=0,Ut=h.length;ht<Ut;++ht){let Pt=_(h[ht]).packageDependencies.get(x);if(Pt!=null){r?J=Pt:F=Pt;break}}if(t.enableTopLevelFallback&&F==null&&J===null){let ht=t.fallbackPool.get(x);ht!=null&&(J=ht)}}}let X=null;if(F===null)if(V(P))X=Xi("MISSING_PEER_DEPENDENCY",`Your application tried to access ${x} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.
600 602
601Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} 603Required package: ${x}${x!==_e?` (via "${_e}")`:""}
602Required by: ${je} 604Required by: ${qe}
603`,{request:Ue,issuer:je,dependencyName:x});else{let Ne=Ee(x,P);Ne.every(st=>J(st))?X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. 605`,{request:_e,issuer:qe,dependencyName:x});else{let Ne=Ce(x,P);Ne.every(st=>V(st))?X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.
604 606
605Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} 607Required package: ${x}${x!==_e?` (via "${_e}")`:""}
606Required by: ${P.name}@${P.reference} (via ${je}) 608Required by: ${P.name}@${P.reference} (via ${qe})
607${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference} 609${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference}
608`).join("")} 610`).join("")}
609`,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne}):X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. 611`,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne}):X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
610 612
611Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} 613Required package: ${x}${x!==_e?` (via "${_e}")`:""}
612Required by: ${P.name}@${P.reference} (via ${je}) 614Required by: ${P.name}@${P.reference} (via ${qe})
613 615
614${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference} 616${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference}
615`).join("")} 617`).join("")}
616`,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne})}else F===void 0&&(!Qe&&Ak(Me)?J(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. 618`,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne})}else F===void 0&&(!Qe&&hk(Me)?V(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.
617 619
618Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} 620Required package: ${x}${x!==_e?` (via "${_e}")`:""}
619Required by: ${je} 621Required by: ${qe}
620`,{request:Ue,issuer:je,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${P.name}'s dependencies, this makes the require call ambiguous and unsound. 622`,{request:_e,issuer:qe,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${P.name}'s dependencies, this makes the require call ambiguous and unsound.
621 623
622Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} 624Required package: ${x}${x!==_e?` (via "${_e}")`:""}
623Required by: ${je} 625Required by: ${qe}
624`,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x}):J(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. 626`,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x}):V(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
625 627
626Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} 628Required package: ${x}${x!==_e?` (via "${_e}")`:""}
627Required by: ${je} 629Required by: ${qe}
628`,{request:Ue,issuer:je,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. 630`,{request:_e,issuer:qe,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
629 631
630Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} 632Required package: ${x}${x!==_e?` (via "${_e}")`:""}
631Required by: ${P.name}@${P.reference} (via ${je}) 633Required by: ${P.name}@${P.reference} (via ${qe})
632`,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x}));if(F==null){if(z===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=z;let Ne=X.message.replace(/\n.*/g,"");X.message=Ne,!C.has(Ne)&&o!==0&&(C.add(Ne),process.emitWarning(X))}let $=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:x,reference:F},ie=_($);if(!ie.packageLocation)throw Xi("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. 634`,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x}));if(F==null){if(J===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=J;let Ne=X.message.replace(/\n.*/g,"");X.message=Ne,!E.has(Ne)&&o!==0&&(E.add(Ne),process.emitWarning(X))}let $=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:x,reference:F},ie=_($);if(!ie.packageLocation)throw Xi("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.
633 635
634Required package: ${$.name}@${$.reference}${$.name!==Ue?` (via "${Ue}")`:""} 636Required package: ${$.name}@${$.reference}${$.name!==_e?` (via "${_e}")`:""}
635Required by: ${P.name}@${P.reference} (via ${je}) 637Required by: ${P.name}@${P.reference} (via ${qe})
636`,{request:Ue,issuer:je,dependencyLocator:Object.assign({},$)});let ke=ie.packageLocation;I?At=V.join(ke,I):At=ke}else if(V.isAbsolute(Me))At=V.normalize(Me);else{if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ue,issuer:je});let x=V.resolve(Te);Te.match(u)?At=V.normalize(V.join(x,Me)):At=V.normalize(V.join(V.dirname(x),Me))}return V.normalize(At)}function me(Me,Te,Qe=re){if(n.test(Me))return Te;let Ue=oe(Te,Qe);return Ue?V.normalize(Ue):Te}function be(Me,{extensions:Te=Object.keys(UB.Module._extensions)}={}){let Qe=[],Ue=pe(Me,Qe,{extensions:Te});if(Ue)return V.normalize(Ue);{o1e(Qe.map(Le=>Ae.fromPortablePath(Le)));let je=uu(Me),At=de(Me);if(At){let{packageLocation:Le}=_(At),x=!0;try{e.fakeFs.accessSync(Le)}catch(I){if((I==null?void 0:I.code)==="ENOENT")x=!1;else{let P=((I==null?void 0:I.message)??I??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${P}). 638`,{request:_e,issuer:qe,dependencyLocator:Object.assign({},$)});let ke=ie.packageLocation;I?At=z.join(ke,I):At=ke}else if(z.isAbsolute(Me))At=z.normalize(Me);else{if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:_e,issuer:qe});let x=z.resolve(Te);Te.match(u)?At=z.normalize(z.join(x,Me)):At=z.normalize(z.join(z.dirname(x),Me))}return z.normalize(At)}function me(Me,Te,Qe=re,_e){if(n.test(Me))return Te;let qe=oe(Te,Qe,_e);return qe?z.normalize(qe):Te}function be(Me,{extensions:Te=Object.keys(YB.Module._extensions)}={}){let Qe=[],_e=pe(Me,Qe,{extensions:Te});if(_e)return z.normalize(_e);{m1e(Qe.map(Oe=>ue.fromPortablePath(Oe)));let qe=Au(Me),At=de(Me);if(At){let{packageLocation:Oe}=_(At),x=!0;try{e.fakeFs.accessSync(Oe)}catch(I){if((I==null?void 0:I.code)==="ENOENT")x=!1;else{let P=((I==null?void 0:I.message)??I??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${P}).
637 639
638Missing package: ${At.name}@${At.reference} 640Missing package: ${At.name}@${At.reference}
639Expected package location: ${uu(Le)} 641Expected package location: ${Au(Oe)}
640`,{unqualifiedPath:je,extensions:Te})}}if(!x){let I=Le.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`${I} 642`,{unqualifiedPath:qe,extensions:Te})}}if(!x){let I=Oe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`${I}
641 643
642Missing package: ${At.name}@${At.reference} 644Missing package: ${At.name}@${At.reference}
643Expected package location: ${uu(Le)} 645Expected package location: ${Au(Oe)}
644`,{unqualifiedPath:je,extensions:Te})}}throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. 646`,{unqualifiedPath:qe,extensions:Te})}}throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed.
645 647
646Source path: ${je} 648Source path: ${qe}
647${Qe.map(Le=>`Not found: ${uu(Le)} 649${Qe.map(Oe=>`Not found: ${Au(Oe)}
648`).join("")}`,{unqualifiedPath:je,extensions:Te})}}function ut(Me,Te,Qe){if(!Te)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let Ue=n1e({name:Me,base:(0,fk.pathToFileURL)(Ae.fromPortablePath(Te)),conditions:Qe.conditions??re,readFileSyncFn:ne});if(Ue instanceof URL)return be(Ae.toPortablePath((0,fk.fileURLToPath)(Ue)),{extensions:Qe.extensions});if(Ue.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(Ue,Te,Qe)}function H(Me,Te,Qe={}){try{if(Me.startsWith("#"))return ut(Me,Te,Qe);let{considerBuiltins:Ue,extensions:je,conditions:At}=Qe,Le=Z(Me,Te,{considerBuiltins:Ue});if(Me==="pnpapi")return Le;if(Le===null)return null;let x=()=>Te!==null?ge(Te):!1,I=(!Ue||!Ak(Me))&&!x()?me(Me,Le,At):Le;return be(I,{extensions:je})}catch(Ue){throw Object.prototype.hasOwnProperty.call(Ue,"pnpCode")&&Object.assign(Ue.data,{request:uu(Me),issuer:Te&&uu(Te)}),Ue}}function yt(Me){let Te=V.normalize(Me),Qe=pi.resolveVirtual(Te);return Qe!==Te?Qe:null}return{VERSIONS:le,topLevel:Pe,getLocator:(Me,Te)=>Array.isArray(Te)?{name:Te[0],reference:Te[1]}:{name:Me,reference:Te},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Me=[];for(let[Te,Qe]of v)for(let Ue of Qe.keys())Te!==null&&Ue!==null&&Me.push({name:Te,reference:Ue});return Me},getPackageInformation:Me=>{let Te=g(Me);if(Te===null)return null;let Qe=Ae.fromPortablePath(Te.packageLocation);return{...Te,packageLocation:Qe}},findPackageLocator:Me=>de(Ae.toPortablePath(Me)),resolveToUnqualified:L("resolveToUnqualified",(Me,Te,Qe)=>{let Ue=Te!==null?Ae.toPortablePath(Te):null,je=Z(Ae.toPortablePath(Me),Ue,Qe);return je===null?null:Ae.fromPortablePath(je)}),resolveUnqualified:L("resolveUnqualified",(Me,Te)=>Ae.fromPortablePath(be(Ae.toPortablePath(Me),Te))),resolveRequest:L("resolveRequest",(Me,Te,Qe)=>{let Ue=Te!==null?Ae.toPortablePath(Te):null,je=H(Ae.toPortablePath(Me),Ue,Qe);return je===null?null:Ae.fromPortablePath(je)}),resolveVirtual:L("resolveVirtual",Me=>{let Te=yt(Ae.toPortablePath(Me));return Te!==null?Ae.fromPortablePath(Te):null})}}bt();var a1e=(t,e,r)=>{let o=TB(t),a=Hq(o,{basePath:e}),n=Ae.join(e,Lr.pnpCjs);return Kq(a,{fakeFs:r,pnpapiResolution:n})};var Vq=tt(c1e());_t();var mA={};Yt(mA,{checkAndReportManifestCompatibility:()=>A1e,checkManifestCompatibility:()=>u1e,extractBuildScripts:()=>pk,getExtractHint:()=>zq,hasBindingGyp:()=>Xq});Ke();bt();function u1e(t){return Y.isPackageCompatible(t,As.getArchitectureSet())}function A1e(t,e,{configuration:r,report:o}){return u1e(t)?!0:(o==null||o.reportWarningOnce(76,`${Y.prettyLocator(r,t)} The ${As.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function pk(t,e,r,{configuration:o,report:a}){let n=[];for(let A of["preinstall","install","postinstall"])e.manifest.scripts.has(A)&&n.push([0,A]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&n.push([1,"node-gyp rebuild"]),n.length===0?[]:t.linkType!=="HARD"?(a==null||a.reportWarningOnce(6,`${Y.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(a==null||a.reportInfoOnce(5,`${Y.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!o.get("enableScripts")&&!r.built?(a==null||a.reportWarningOnce(4,`${Y.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`),[]):A1e(t,"build",{configuration:o,report:a})?n:[]}var GIt=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function zq(t){return t.packageFs.getExtractHint({relevantExtensions:GIt})}function Xq(t){let e=V.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var HB={};Yt(HB,{getUnpluggedPath:()=>_B});Ke();bt();function _B(t,{configuration:e}){return V.resolve(e.get("pnpUnpluggedFolder"),Y.slugifyLocator(t))}var WIt=new Set([Y.makeIdent(null,"open").identHash,Y.makeIdent(null,"opn").identHash]),Ch=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=Ih(r.project).cjs;if(!ae.existsSync(o))throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})),n={name:Y.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return Ae.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=Ih(r.project).cjs;if(!ae.existsSync(o))return null;let n=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})).findPackageLocator(Ae.fromPortablePath(e));return n?Y.makeLocator(Y.parseIdent(n.name),n.reference):null}makeInstaller(e){return new dm(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},dm=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ye.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=Y.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=Y.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,C=!p&&e.linkType!=="SOFT",w,v;if(h||C){let re=A?Y.devirtualizeLocator(e):e;w=this.customData.store.get(re.locatorHash),typeof w>"u"&&(w=await YIt(r),e.linkType==="HARD"&&this.customData.store.set(re.locatorHash,w)),w.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(re,e.version)}let b=h?pk(e,w,v,{configuration:this.opts.project.configuration,report:this.opts.report}):[],E=C?await this.unplugPackageIfNeeded(e,w,r,v,o):r.packageFs;if(V.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let R=V.resolve(E.getRealPath(),r.prefixPath),L=Zq(this.opts.project.cwd,R),_=new Map,J=new Set;if(A){for(let re of e.peerDependencies.values())_.set(Y.stringifyIdent(re),null),J.add(Y.stringifyIdent(re));if(!u){let re=Y.devirtualizeLocator(e);this.virtualTemplates.set(re.locatorHash,{location:Zq(this.opts.project.cwd,pi.resolveVirtual(R)),locator:re})}}return Ye.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:L,packageDependencies:_,packagePeers:J,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:R,buildDirective:b.length>0?b:null}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(Y.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Ih(this.opts.project);if(this.isEsmEnabled()||await ae.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await ae.removePromise(e.cjs),await ae.removePromise(e.data),await ae.removePromise(e.esmLoader),await ae.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:C,location:w}of this.virtualTemplates.values())Ye.getMapWithDefault(this.packageRegistry,Y.stringifyIdent(C)).set(C.reference,{packageLocation:w,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:C})=>({name:Y.stringifyIdent(C),reference:C.reference})),a=r!=="none",n=[],u=new Map,A=Ye.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let C of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(C)&&n.push({name:Y.stringifyIdent(C),reference:C.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=Ih(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await ae.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=Hwe(e);await ae.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await ae.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=qwe(e);await ae.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await ae.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await ae.changeFilePromise(r.esmLoader,(0,Vq.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await ae.removePromise(a);else for(let n of await ae.readdirPromise(a)){let u=V.resolve(a,n);this.unpluggedPaths.has(u)||await ae.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=V.join(a.cwd,"node_modules");if(o&&o.test(V.relative(this.opts.project.cwd,a.cwd))||!ae.existsSync(n))continue;let u=await ae.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(V.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:WIt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(pk(e,r,o,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,o){let a=_B(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new qu(a,{baseFs:r.packageFs,pathUtils:V}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=V.join(a,r.prefixPath,".ready");await ae.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await ae.mkdirPromise(a,{recursive:!0}),await ae.copyPromise(a,wt.dot,{baseFs:r.packageFs,overwrite:!1}),await ae.writeFilePromise(n,""))})),new An(a))}getPackageInformation(e){let r=Y.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${Y.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${Y.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=Ye.getMapWithDefault(this.packageRegistry,"@@disk"),o=Zq(this.opts.project.cwd,e);return Ye.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function Zq(t,e){let r=V.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function YIt(t){let e=await Nt.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Nt,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:zq(t),hasBindingGyp:Xq(t)}}}Ke();Ke();_t();var f1e=tt(Jo());var wh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new ot("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(b=>{let E=Y.parseDescriptor(b),R=E.range!=="unknown"?E:Y.makeDescriptor(E,"*");if(!Tr.validRange(R.range))throw new ot(`The range of the descriptor patterns must be a valid semver range (${Y.prettyDescriptor(r,R)})`);return L=>{let _=Y.stringifyIdent(L);return!f1e.default.isMatch(_,Y.stringifyIdent(R))||L.version&&!Tr.satisfiesWithPrereleases(L.version,R.range)?!1:(u.delete(b),!0)}}),p=()=>{let b=[];for(let E of o.storedPackages.values())!o.tryWorkspaceByLocator(E)&&!Y.isVirtualLocator(E)&&A.some(R=>R(E))&&b.push(E);return b},h=b=>{let E=new Set,R=[],L=(_,J)=>{if(!E.has(_.locatorHash)&&(E.add(_.locatorHash),!o.tryWorkspaceByLocator(_)&&A.some(re=>re(_))&&R.push(_),!(J>0&&!this.recursive)))for(let re of _.dependencies.values()){let oe=o.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=o.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");L(pe,J+1)}};for(let _ of b)L(_.anchoredPackage,0);return R},C,w;if(this.all&&this.recursive?(C=p(),w="the project"):this.all?(C=h(o.workspaces),w="any workspace"):(C=h([a]),w="this workspace"),u.size>1)throw new ot(`Patterns ${ye.prettyList(r,u,ye.Type.CODE)} don't match any packages referenced by ${w}`);if(u.size>0)throw new ot(`Pattern ${ye.prettyList(r,u,ye.Type.CODE)} doesn't match any packages referenced by ${w}`);return C=Ye.sortMap(C,b=>Y.stringifyLocator(b)),(await Ct.start({configuration:r,stdout:this.context.stdout,json:this.json},async b=>{for(let E of C){let R=E.version??"unknown",L=o.topLevelWorkspace.manifest.ensureDependencyMeta(Y.makeDescriptor(E,R));L.unplugged=!0,b.reportInfo(0,`Will unpack ${Y.prettyLocator(r,E)} to ${ye.pretty(r,_B(E,{configuration:r}),ye.Type.PATH)}`),b.reportJson({locator:Y.stringifyLocator(E),version:R})}await o.topLevelWorkspace.persistManifest(),b.reportSeparator(),await o.install({cache:n,report:b})})).exitCode()}};wh.paths=[["unplug"]],wh.usage=it.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Ih=t=>({cjs:V.join(t.cwd,Lr.pnpCjs),data:V.join(t.cwd,Lr.pnpData),esmLoader:V.join(t.cwd,Lr.pnpEsmLoader)}),g1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function KIt(t,e,r){let o=Ih(t),a=`--require ${g1e(Ae.fromPortablePath(o.cjs))}`;if(ae.existsSync(o.esmLoader)&&(a=`${a} --experimental-loader ${(0,h1e.pathToFileURL)(Ae.fromPortablePath(o.esmLoader)).href}`),o.cjs.includes(" ")&&p1e.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(ae.existsSync(o.cjs)){let n=e.NODE_OPTIONS||"",u=/\s*--require\s+\S*\.pnp\.c?js\s*/g,A=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;n=n.replace(u," ").replace(A," ").trim(),n=n?`${a} ${n}`:a,e.NODE_OPTIONS=n}}async function JIt(t,e){let r=Ih(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var VIt={hooks:{populateYarnPaths:JIt,setupScriptEnvironment:KIt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[Ch],commands:[wh]},zIt=VIt;var B1e=tt(C1e());_t();var oj=tt(Ie("crypto")),v1e=tt(Ie("fs")),D1e=1,vi="node_modules",hk=".bin",S1e=".yarn-state.yml",pwt=1e3,aj=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(aj||{}),qB=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await sj(r.project,{unrollAliases:!0}));if(a===null)throw new ot("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(Y.stringifyLocator(e));if(!n){let p=new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(V.sep).length-h.split(V.sep).length),A=V.join(r.project.configuration.startingCwd,vi);return u.find(p=>V.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await sj(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=gk(V.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return Y.parseLocator(A)}makeInstaller(e){return new ij(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},ij=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=V.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await hwt(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!Y.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let n=new Map,u=new Set;n.has(Y.stringifyIdent(e))||n.set(Y.stringifyIdent(e),e.reference);let A=e;if(Y.isVirtualLocator(e)){A=Y.devirtualizeLocator(e);for(let C of e.peerDependencies.values())n.set(Y.stringifyIdent(C),null),u.add(Y.stringifyIdent(C))}let p={packageLocation:`${Ae.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildDirective:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new pi({baseFs:new Ll({maxOpenFiles:80,readOnlyArchives:!0})}),r=await sj(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{var E;let b=this.opts.project.configuration.get("nmHoistingLimits");try{b=Ye.validateEnum(kB,((E=v.manifest.installConfig)==null?void 0:E.hoistingLimits)??b)}catch{let L=Y.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${L}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(kB).join(", ")}, using default: "${b}"`)}return[v.relativeCwd,b]})),n=new Map(this.opts.project.workspaces.map(v=>{var E;let b=this.opts.project.configuration.get("nmSelfReferences");return b=((E=v.manifest.installConfig)==null?void 0:E.selfReferences)??b,[v.relativeCwd,b]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,b)=>Array.isArray(b)?{name:b[0],reference:b[1]}:{name:v,reference:b},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let b=v.anchoredLocator;return{name:Y.stringifyIdent(v.locator),reference:b.reference}}),getPackageInformation:v=>{let b=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:Y.makeLocator(Y.parseIdent(v.name),v.reference),E=this.localStore.get(b.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return E.pnpNode},findPackageLocator:v=>{let b=this.opts.project.tryWorkspaceByCwd(Ae.toPortablePath(v));if(b!==null){let E=b.anchoredLocator;return{name:Y.stringifyIdent(E),reference:E.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:v=>Ae.fromPortablePath(pi.resolveVirtual(Ae.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=FB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:b}of p)this.opts.report.reportError(v,b);return}let C=Uq(A);await Cwt(r,C,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let b=Y.parseLocator(v),E=this.localStore.get(b.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: Expected the slot to exist");return E.customPackageData.manifest}});let w=[];for(let[v,b]of C.entries()){if(Q1e(v))continue;let E=Y.parseLocator(v),R=this.localStore.get(E.locatorHash);if(typeof R>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(R.pkg))continue;let L=mA.extractBuildScripts(R.pkg,R.customPackageData,R.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});L.length!==0&&w.push({buildLocations:b.locations,locatorHash:E.locatorHash,buildDirective:L})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ye.pretty(this.opts.project.configuration,"--preserve-symlinks",ye.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:w}}};async function hwt(t,e){let r=await Nt.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Nt,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:mA.hasBindingGyp(e)}}}async function gwt(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will 650`).join("")}`,{unqualifiedPath:qe,extensions:Te})}}function ut(Me,Te,Qe){if(!Te)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let _e=c1e({name:Me,base:(0,Cm.pathToFileURL)(ue.fromPortablePath(Te)),conditions:Qe.conditions??re,readFileSyncFn:ne});if(_e instanceof URL)return be(ue.toPortablePath((0,Cm.fileURLToPath)(_e)),{extensions:Qe.extensions});if(_e.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(_e,Te,Qe)}function H(Me,Te,Qe={}){try{if(Me.startsWith("#"))return ut(Me,Te,Qe);let{considerBuiltins:_e,extensions:qe,conditions:At}=Qe,Oe=Z(Me,Te,{considerBuiltins:_e});if(Me==="pnpapi")return Oe;if(Oe===null)return null;let x=()=>Te!==null?ge(Te):!1,I=(!_e||!hk(Me))&&!x()?me(Me,Oe,At,Te):Oe;return be(I,{extensions:qe})}catch(_e){throw Object.prototype.hasOwnProperty.call(_e,"pnpCode")&&Object.assign(_e.data,{request:Au(Me),issuer:Te&&Au(Te)}),_e}}function yt(Me){let Te=z.normalize(Me),Qe=pi.resolveVirtual(Te);return Qe!==Te?Qe:null}return{VERSIONS:le,topLevel:Pe,getLocator:(Me,Te)=>Array.isArray(Te)?{name:Te[0],reference:Te[1]}:{name:Me,reference:Te},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Me=[];for(let[Te,Qe]of v)for(let _e of Qe.keys())Te!==null&&_e!==null&&Me.push({name:Te,reference:_e});return Me},getPackageInformation:Me=>{let Te=g(Me);if(Te===null)return null;let Qe=ue.fromPortablePath(Te.packageLocation);return{...Te,packageLocation:Qe}},findPackageLocator:Me=>de(ue.toPortablePath(Me)),resolveToUnqualified:L("resolveToUnqualified",(Me,Te,Qe)=>{let _e=Te!==null?ue.toPortablePath(Te):null,qe=Z(ue.toPortablePath(Me),_e,Qe);return qe===null?null:ue.fromPortablePath(qe)}),resolveUnqualified:L("resolveUnqualified",(Me,Te)=>ue.fromPortablePath(be(ue.toPortablePath(Me),Te))),resolveRequest:L("resolveRequest",(Me,Te,Qe)=>{let _e=Te!==null?ue.toPortablePath(Te):null,qe=H(ue.toPortablePath(Me),_e,Qe);return qe===null?null:ue.fromPortablePath(qe)}),resolveVirtual:L("resolveVirtual",Me=>{let Te=yt(ue.toPortablePath(Me));return Te!==null?ue.fromPortablePath(Te):null})}}bt();var y1e=(t,e,r)=>{let o=MB(t),a=qq(o,{basePath:e}),n=ue.join(e,Lr.pnpCjs);return $q(a,{fakeFs:r,pnpapiResolution:n})};var tj=tt(E1e());_t();var CA={};Yt(CA,{checkAndReportManifestCompatibility:()=>w1e,checkManifestCompatibility:()=>I1e,extractBuildScripts:()=>gk,getExtractHint:()=>rj,hasBindingGyp:()=>nj});Ke();bt();function I1e(t){return Y.isPackageCompatible(t,As.getArchitectureSet())}function w1e(t,e,{configuration:r,report:o}){return I1e(t)?!0:(o==null||o.reportWarningOnce(76,`${Y.prettyLocator(r,t)} The ${As.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function gk(t,e,r,{configuration:o,report:a}){let n=[];for(let A of["preinstall","install","postinstall"])e.manifest.scripts.has(A)&&n.push([0,A]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&n.push([1,"node-gyp rebuild"]),n.length===0?[]:t.linkType!=="HARD"?(a==null||a.reportWarningOnce(6,`${Y.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(a==null||a.reportInfoOnce(5,`${Y.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!o.get("enableScripts")&&!r.built?(a==null||a.reportWarningOnce(4,`${Y.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`),[]):w1e(t,"build",{configuration:o,report:a})?n:[]}var iwt=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rj(t){return t.packageFs.getExtractHint({relevantExtensions:iwt})}function nj(t){let e=z.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var VB={};Yt(VB,{getUnpluggedPath:()=>KB});Ke();bt();function KB(t,{configuration:e}){return z.resolve(e.get("pnpUnpluggedFolder"),Y.slugifyLocator(t))}var swt=new Set([Y.makeIdent(null,"open").identHash,Y.makeIdent(null,"opn").identHash]),Bh=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=vh(r.project).cjs;if(!ae.existsSync(o))throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})),n={name:Y.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return ue.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=vh(r.project).cjs;if(!ae.existsSync(o))return null;let n=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})).findPackageLocator(ue.fromPortablePath(e));return n?Y.makeLocator(Y.parseIdent(n.name),n.reference):null}makeInstaller(e){return new Em(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Em=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ye.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=Y.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=Y.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,E=!p&&e.linkType!=="SOFT",w,v;if(h||E){let re=A?Y.devirtualizeLocator(e):e;w=this.customData.store.get(re.locatorHash),typeof w>"u"&&(w=await owt(r),e.linkType==="HARD"&&this.customData.store.set(re.locatorHash,w)),w.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(re,e.version)}let b=h?gk(e,w,v,{configuration:this.opts.project.configuration,report:this.opts.report}):[],C=E?await this.unplugPackageIfNeeded(e,w,r,v,o):r.packageFs;if(z.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let R=z.resolve(C.getRealPath(),r.prefixPath),L=ij(this.opts.project.cwd,R),_=new Map,V=new Set;if(A){for(let re of e.peerDependencies.values())_.set(Y.stringifyIdent(re),null),V.add(Y.stringifyIdent(re));if(!u){let re=Y.devirtualizeLocator(e);this.virtualTemplates.set(re.locatorHash,{location:ij(this.opts.project.cwd,pi.resolveVirtual(R)),locator:re})}}return Ye.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:L,packageDependencies:_,packagePeers:V,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:R,buildDirective:b.length>0?b:null}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(Y.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=vh(this.opts.project);if(this.isEsmEnabled()||await ae.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await ae.removePromise(e.cjs),await ae.removePromise(e.data),await ae.removePromise(e.esmLoader),await ae.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:E,location:w}of this.virtualTemplates.values())Ye.getMapWithDefault(this.packageRegistry,Y.stringifyIdent(E)).set(E.reference,{packageLocation:w,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:E})=>({name:Y.stringifyIdent(E),reference:E.reference})),a=r!=="none",n=[],u=new Map,A=Ye.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let E of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(E)&&n.push({name:Y.stringifyIdent(E),reference:E.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=vh(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await ae.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=Kwe(e);await ae.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await ae.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=Vwe(e);await ae.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await ae.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await ae.changeFilePromise(r.esmLoader,(0,tj.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await ae.removePromise(a);else for(let n of await ae.readdirPromise(a)){let u=z.resolve(a,n);this.unpluggedPaths.has(u)||await ae.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=z.join(a.cwd,"node_modules");if(o&&o.test(z.relative(this.opts.project.cwd,a.cwd))||!ae.existsSync(n))continue;let u=await ae.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(z.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:swt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(gk(e,r,o,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,o){let a=KB(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new ju(a,{baseFs:r.packageFs,pathUtils:z}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=z.join(a,r.prefixPath,".ready");await ae.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await ae.mkdirPromise(a,{recursive:!0}),await ae.copyPromise(a,wt.dot,{baseFs:r.packageFs,overwrite:!1}),await ae.writeFilePromise(n,""))})),new An(a))}getPackageInformation(e){let r=Y.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${Y.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${Y.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=Ye.getMapWithDefault(this.packageRegistry,"@@disk"),o=ij(this.opts.project.cwd,e);return Ye.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function ij(t,e){let r=z.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function owt(t){let e=await Nt.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Nt,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rj(t),hasBindingGyp:nj(t)}}}Ke();Ke();_t();var B1e=tt(Jo());var Dh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new ot("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(b=>{let C=Y.parseDescriptor(b),R=C.range!=="unknown"?C:Y.makeDescriptor(C,"*");if(!Tr.validRange(R.range))throw new ot(`The range of the descriptor patterns must be a valid semver range (${Y.prettyDescriptor(r,R)})`);return L=>{let _=Y.stringifyIdent(L);return!B1e.default.isMatch(_,Y.stringifyIdent(R))||L.version&&!Tr.satisfiesWithPrereleases(L.version,R.range)?!1:(u.delete(b),!0)}}),p=()=>{let b=[];for(let C of o.storedPackages.values())!o.tryWorkspaceByLocator(C)&&!Y.isVirtualLocator(C)&&A.some(R=>R(C))&&b.push(C);return b},h=b=>{let C=new Set,R=[],L=(_,V)=>{if(!C.has(_.locatorHash)&&(C.add(_.locatorHash),!o.tryWorkspaceByLocator(_)&&A.some(re=>re(_))&&R.push(_),!(V>0&&!this.recursive)))for(let re of _.dependencies.values()){let oe=o.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=o.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");L(pe,V+1)}};for(let _ of b)L(_.anchoredPackage,0);return R},E,w;if(this.all&&this.recursive?(E=p(),w="the project"):this.all?(E=h(o.workspaces),w="any workspace"):(E=h([a]),w="this workspace"),u.size>1)throw new ot(`Patterns ${ye.prettyList(r,u,ye.Type.CODE)} don't match any packages referenced by ${w}`);if(u.size>0)throw new ot(`Pattern ${ye.prettyList(r,u,ye.Type.CODE)} doesn't match any packages referenced by ${w}`);return E=Ye.sortMap(E,b=>Y.stringifyLocator(b)),(await Et.start({configuration:r,stdout:this.context.stdout,json:this.json},async b=>{for(let C of E){let R=C.version??"unknown",L=o.topLevelWorkspace.manifest.ensureDependencyMeta(Y.makeDescriptor(C,R));L.unplugged=!0,b.reportInfo(0,`Will unpack ${Y.prettyLocator(r,C)} to ${ye.pretty(r,KB(C,{configuration:r}),ye.Type.PATH)}`),b.reportJson({locator:Y.stringifyLocator(C),version:R})}await o.topLevelWorkspace.persistManifest(),b.reportSeparator(),await o.install({cache:n,report:b})})).exitCode()}};Dh.paths=[["unplug"]],Dh.usage=it.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var vh=t=>({cjs:z.join(t.cwd,Lr.pnpCjs),data:z.join(t.cwd,Lr.pnpData),esmLoader:z.join(t.cwd,Lr.pnpEsmLoader)}),S1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function awt(t,e,r){let o=vh(t),a=`--require ${S1e(ue.fromPortablePath(o.cjs))}`;if(ae.existsSync(o.esmLoader)&&(a=`${a} --experimental-loader ${(0,D1e.pathToFileURL)(ue.fromPortablePath(o.esmLoader)).href}`),o.cjs.includes(" ")&&v1e.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(ae.existsSync(o.cjs)){let n=e.NODE_OPTIONS||"",u=/\s*--require\s+\S*\.pnp\.c?js\s*/g,A=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;n=n.replace(u," ").replace(A," ").trim(),n=n?`${a} ${n}`:a,e.NODE_OPTIONS=n}}async function lwt(t,e){let r=vh(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var cwt={hooks:{populateYarnPaths:lwt,setupScriptEnvironment:awt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[Bh],commands:[Dh]},uwt=cwt;var T1e=tt(k1e());_t();var fj=tt(Ie("crypto")),N1e=tt(Ie("fs")),L1e=1,vi="node_modules",dk=".bin",O1e=".yarn-state.yml",Pwt=1e3,pj=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(pj||{}),JB=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Aj(r.project,{unrollAliases:!0}));if(a===null)throw new ot("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(Y.stringifyLocator(e));if(!n){let p=new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(z.sep).length-h.split(z.sep).length),A=z.join(r.project.configuration.startingCwd,vi);return u.find(p=>z.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Aj(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=mk(z.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return Y.parseLocator(A)}makeInstaller(e){return new uj(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},uj=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=z.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await xwt(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!Y.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let n=new Map,u=new Set;n.has(Y.stringifyIdent(e))||n.set(Y.stringifyIdent(e),e.reference);let A=e;if(Y.isVirtualLocator(e)){A=Y.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(Y.stringifyIdent(E),null),u.add(Y.stringifyIdent(E))}let p={packageLocation:`${ue.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildDirective:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new pi({baseFs:new Ul({maxOpenFiles:80,readOnlyArchives:!0})}),r=await Aj(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{var C;let b=this.opts.project.configuration.get("nmHoistingLimits");try{b=Ye.validateEnum(NB,((C=v.manifest.installConfig)==null?void 0:C.hoistingLimits)??b)}catch{let L=Y.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${L}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(NB).join(", ")}, using default: "${b}"`)}return[v.relativeCwd,b]})),n=new Map(this.opts.project.workspaces.map(v=>{var C;let b=this.opts.project.configuration.get("nmSelfReferences");return b=((C=v.manifest.installConfig)==null?void 0:C.selfReferences)??b,[v.relativeCwd,b]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,b)=>Array.isArray(b)?{name:b[0],reference:b[1]}:{name:v,reference:b},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let b=v.anchoredLocator;return{name:Y.stringifyIdent(v.locator),reference:b.reference}}),getPackageInformation:v=>{let b=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:Y.makeLocator(Y.parseIdent(v.name),v.reference),C=this.localStore.get(b.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return C.pnpNode},findPackageLocator:v=>{let b=this.opts.project.tryWorkspaceByCwd(ue.toPortablePath(v));if(b!==null){let C=b.anchoredLocator;return{name:Y.stringifyIdent(C),reference:C.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:v=>ue.fromPortablePath(pi.resolveVirtual(ue.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=LB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:b}of p)this.opts.report.reportError(v,b);return}let E=_q(A);await Twt(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let b=Y.parseLocator(v),C=this.localStore.get(b.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");return C.customPackageData.manifest}});let w=[];for(let[v,b]of E.entries()){if(H1e(v))continue;let C=Y.parseLocator(v),R=this.localStore.get(C.locatorHash);if(typeof R>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(R.pkg))continue;let L=CA.extractBuildScripts(R.pkg,R.customPackageData,R.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});L.length!==0&&w.push({buildLocations:b.locations,locatorHash:C.locatorHash,buildDirective:L})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ye.pretty(this.opts.project.configuration,"--preserve-symlinks",ye.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:w}}};async function xwt(t,e){let r=await Nt.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Nt,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:CA.hasBindingGyp(e)}}}async function bwt(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will
649`,n+=`# cause your node_modules installation to become invalidated. 651`,n+=`# cause your node_modules installation to become invalidated.
650`,n+=` 652`,n+=`
651`,n+=`__metadata: 653`,n+=`__metadata:
652`,n+=` version: ${D1e} 654`,n+=` version: ${L1e}
653`,n+=` nmMode: ${o.value} 655`,n+=` nmMode: ${o.value}
654`;let u=Array.from(e.keys()).sort(),A=Y.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let C of u){let w=e.get(C);n+=` 656`;let u=Array.from(e.keys()).sort(),A=Y.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of u){let w=e.get(E);n+=`
655`,n+=`${JSON.stringify(C)}: 657`,n+=`${JSON.stringify(E)}:
656`,n+=` locations: 658`,n+=` locations:
657`;for(let v of w.locations){let b=V.contains(t.cwd,v);if(b===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(b)} 659`;for(let v of w.locations){let b=z.contains(t.cwd,v);if(b===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(b)}
658`}if(w.aliases.length>0){n+=` aliases: 660`}if(w.aliases.length>0){n+=` aliases:
659`;for(let v of w.aliases)n+=` - ${JSON.stringify(v)} 661`;for(let v of w.aliases)n+=` - ${JSON.stringify(v)}
660`}if(C===A&&r.size>0){n+=` bin: 662`}if(E===A&&r.size>0){n+=` bin:
661`;for(let[v,b]of r){let E=V.contains(t.cwd,v);if(E===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(E)}: 663`;for(let[v,b]of r){let C=z.contains(t.cwd,v);if(C===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(C)}:
662`;for(let[R,L]of b){let _=V.relative(V.join(v,vi),L);n+=` ${JSON.stringify(R)}: ${JSON.stringify(_)} 664`;for(let[R,L]of b){let _=z.relative(z.join(v,vi),L);n+=` ${JSON.stringify(R)}: ${JSON.stringify(_)}
663`}}}}let p=t.cwd,h=V.join(p,vi,S1e);a&&await ae.removePromise(h),await ae.changeFilePromise(h,n,{automaticNewlines:!0})}async function sj(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=V.join(r,vi,S1e),a;try{a=await ae.statPromise(o)}catch{}if(!a)return null;let n=Yi(await ae.readFilePromise(o,"utf8"));if(n.__metadata.version>D1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,C]of Object.entries(n)){let w=C.locations.map(b=>V.join(r,b)),v=C.bin;if(v)for(let[b,E]of Object.entries(v)){let R=V.join(r,Ae.toPortablePath(b)),L=Ye.getMapWithDefault(p,R);for(let[_,J]of Object.entries(E))L.set(Li(_),Ae.toPortablePath([R,vi,J].join(V.sep)))}if(A.set(h,{target:wt.dot,linkType:"HARD",locations:w,aliases:C.aliases||[]}),e&&C.aliases)for(let b of C.aliases){let{scope:E,name:R}=Y.parseLocator(h),L=Y.makeLocator(Y.makeIdent(E,R),b),_=Y.stringifyLocator(L);A.set(_,{target:wt.dot,linkType:"HARD",locations:w,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:P1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var LC=async(t,e)=>{if(t.split(V.sep).indexOf(vi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let o=e.allowSymlink?await ae.statPromise(t):await ae.lstatPromise(t);if(e.allowSymlink&&!o.isDirectory()||!e.allowSymlink&&o.isSymbolicLink()){await ae.unlinkPromise(t);return}}let r=await ae.readdirPromise(t,{withFileTypes:!0});for(let o of r){let a=V.join(t,Li(o.name));o.isDirectory()?(o.name!==vi||e&&e.innerLoop)&&await LC(a,{innerLoop:!0,contentsOnly:!1}):await ae.unlinkPromise(a)}e.contentsOnly||await ae.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},I1e=4,gk=(t,{skipPrefix:e})=>{let r=V.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(V.sep).filter(p=>p!==""),a=o.indexOf(vi),n=o.slice(0,a).join(V.sep),u=V.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},P1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&V.contains(e,n.target)!==null){let A=Ye.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=gk(u,{skipPrefix:e}),h=Ye.getFactoryWithDefault(r,A,o);for(let C=0;C<p.length;++C){let w=p[C];if(w!=="."){let v=Ye.getFactoryWithDefault(h.children,w,o);h.children.set(w,v),h=v}C===p.length-1&&(h.locator=a,h.linkType=n.linkType)}}}return r},lj=async(t,e,r)=>{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await ae.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await ae.symlinkPromise(t,e,"junction");return}}await ae.symlinkPromise(V.relative(V.dirname(e),t),e)};async function x1e(t,e,r){let o=V.join(t,Li(`${oj.default.randomBytes(16).toString("hex")}.tmp`));try{await ae.writeFilePromise(o,r);try{await ae.linkPromise(o,e)}catch{}}finally{await ae.unlinkPromise(o)}}async function dwt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===b1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=V.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await ae.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs<r.mtimeMs-pwt))if(await bn.checksumFile(A,{baseFs:ae,algorithm:"sha1"})!==r.digest){let w=V.join(o,Li(`${oj.default.randomBytes(16).toString("hex")}.tmp`));await ae.renamePromise(A,w);let v=await a.readFilePromise(t);await ae.writeFilePromise(w,v);try{await ae.linkPromise(w,A),r.mtimeMs=new Date().getTime(),await ae.unlinkPromise(w)}catch{}}else r.mtimeMs||(r.mtimeMs=Math.ceil(h.mtimeMs));await ae.linkPromise(A,e),p=!0}catch{p=!1}if(!p){let h=await a.readFilePromise(t);await x1e(o,A,h),r.mtimeMs=new Date().getTime();try{await ae.linkPromise(A,e)}catch(C){C&&C.code&&C.code=="EXDEV"&&(n.value="hardlinks-local",await a.copyFilePromise(t,e))}}}else await a.copyFilePromise(t,e);let u=r.mode&511;u!==420&&await ae.chmodPromise(e,u)}}var b1e=(o=>(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(b1e||{}),mwt=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await ae.mkdirPromise(t,{recursive:!0});let A=async(C=wt.dot)=>{let w=V.join(e,C),v=await r.readdirPromise(w,{withFileTypes:!0}),b=new Map;for(let E of v){let R=V.join(C,E.name),L,_=V.join(w,E.name);if(E.isFile()){if(L={kind:"file",mode:(await r.lstatPromise(_)).mode},a.value==="hardlinks-global"){let J=await bn.checksumFile(_,{baseFs:r,algorithm:"sha1"});L.digest=J}}else if(E.isDirectory())L={kind:"directory"};else if(E.isSymbolicLink())L={kind:"symlink",symlinkTo:await r.readlinkPromise(_)};else throw new Error(`Unsupported file type (file: ${_}, mode: 0o${await r.statSync(_).mode.toString(8).padStart(6,"0")})`);if(b.set(R,L),E.isDirectory()&&R!==vi){let J=await A(R);for(let[re,oe]of J)b.set(re,oe)}}return b},p;if(a.value==="hardlinks-global"&&o&&u){let C=V.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await ae.readFilePromise(C,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[C,w]of p){let v=V.join(e,C),b=V.join(t,C);if(w.kind==="directory")await ae.mkdirPromise(b,{recursive:!0});else if(w.kind==="file"){let E=w.mtimeMs;await dwt({srcPath:v,dstPath:b,entry:w,nmMode:a,baseFs:r,globalHardlinksStore:o}),w.mtimeMs!==E&&(h=!0)}else w.kind==="symlink"&&await lj(V.resolve(V.dirname(b),w.symlinkTo),b,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let C=V.join(o,u.substring(0,2),`${u.substring(2)}.json`);await ae.removePromise(C),await x1e(o,C,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function ywt(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,C,w,v,b)=>{let E=!0,R=V.join(h,C),L=new Set;if(C===vi||C.startsWith("@")){let J;try{J=ae.statSync(R)}catch{}E=!!J,J?J.mtimeMs>r?(A=!0,L=new Set(ae.readdirSync(R))):L=new Set(w.children.get(C).children.keys()):A=!0;let re=e.get(h);if(re){let oe=V.join(h,vi,hk),pe;try{pe=ae.statSync(oe)}catch{}if(!pe)A=!0;else if(pe.mtimeMs>r){A=!0;let he=new Set(ae.readdirSync(oe)),ve=new Map;n.set(h,ve);for(let[ge,le]of re)he.has(ge)&&ve.set(ge,le)}else n.set(h,re)}}else E=b.has(C);let _=w.children.get(C);if(E){let{linkType:J,locator:re}=_,oe={children:new Map,linkType:J,locator:re};if(v.children.set(C,oe),re){let pe=Ye.getSetWithDefault(u,re);pe.add(R),u.set(re,pe)}for(let pe of _.children.keys())p(R,pe,_,oe,L)}else _.locator&&o.storedBuildState.delete(Y.parseLocator(_.locator).locatorHash)};for(let[h,C]of t){let{linkType:w,locator:v}=C,b={children:new Map,linkType:w,locator:v};if(a.set(h,b),v){let E=Ye.getSetWithDefault(u,C.locator);E.add(h),u.set(C.locator,E)}C.children.has(vi)&&p(h,vi,C,b,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function Q1e(t){let e=Y.parseDescriptor(t);return Y.isVirtualDescriptor(e)&&(e=Y.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Ewt(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=Q1e(A)?null:await o(A,p[0]),C=new Map;if(h)for(let[w,v]of h.bin){let b=V.join(p[0],v);v!==""&&ae.existsSync(b)&&C.set(w,v)}a.set(A,C)}let n=new Map,u=(A,p,h)=>{let C=new Map,w=V.contains(r,A);if(h.locator&&w!==null){let v=a.get(h.locator);for(let[b,E]of v){let R=V.join(A,Ae.toPortablePath(E));C.set(Li(b),R)}for(let[b,E]of h.children){let R=V.join(A,b),L=u(R,R,E);L.size>0&&n.set(A,new Map([...n.get(A)||new Map,...L]))}}else for(let[v,b]of h.children){let E=u(V.join(A,v),p,b);for(let[R,L]of E)C.set(R,L)}return C};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var w1e=(t,e)=>{if(!t||!e)return t===e;let r=Y.parseLocator(t);Y.isVirtualLocator(r)&&(r=Y.devirtualizeLocator(r));let o=Y.parseLocator(e);return Y.isVirtualLocator(o)&&(o=Y.devirtualizeLocator(o)),Y.areLocatorsEqual(r,o)};function cj(t){return V.join(t.get("globalFolder"),"store")}async function Cwt(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=V.join(o.cwd,vi),{locationTree:p,binSymlinks:h,locatorLocations:C,installChangedByUser:w}=ywt(t.locationTree,t.binSymlinks,t.mtimeMs,o),v=P1e(e,{skipPrefix:o.cwd}),b=[],E=async({srcDir:le,dstDir:Pe,linkType:g,globalHardlinksStore:De,nmMode:Ee,windowsLinkType:de,packageChecksum:ne})=>{let Z=(async()=>{try{g==="SOFT"?(await ae.mkdirPromise(V.dirname(Pe),{recursive:!0}),await lj(V.resolve(le),Pe,de)):await mwt(Pe,le,{baseFs:r,globalHardlinksStore:De,nmMode:Ee,windowsLinkType:de,packageChecksum:ne})}catch(me){throw me.message=`While persisting ${le} -> ${Pe} ${me.message}`,me}finally{oe.tick()}})().then(()=>b.splice(b.indexOf(Z),1));b.push(Z),b.length>I1e&&await Promise.race(b)},R=async(le,Pe,g)=>{let De=(async()=>{let Ee=async(de,ne,Z)=>{try{Z.innerLoop||await ae.mkdirPromise(ne,{recursive:!0});let me=await ae.readdirPromise(de,{withFileTypes:!0});for(let be of me){if(!Z.innerLoop&&be.name===hk)continue;let ut=V.join(de,be.name),H=V.join(ne,be.name);be.isDirectory()?(be.name!==vi||Z&&Z.innerLoop)&&(await ae.mkdirPromise(H,{recursive:!0}),await Ee(ut,H,{...Z,innerLoop:!0})):ve.value==="hardlinks-local"||ve.value==="hardlinks-global"?await ae.linkPromise(ut,H):await ae.copyFilePromise(ut,H,v1e.default.constants.COPYFILE_FICLONE)}}catch(me){throw Z.innerLoop||(me.message=`While cloning ${de} -> ${ne} ${me.message}`),me}finally{Z.innerLoop||oe.tick()}};await Ee(le,Pe,g)})().then(()=>b.splice(b.indexOf(De),1));b.push(De),b.length>I1e&&await Promise.race(b)},L=async(le,Pe,g)=>{if(g)for(let[De,Ee]of Pe.children){let de=g.children.get(De);await L(V.join(le,De),Ee,de)}else{Pe.children.has(vi)&&await LC(V.join(le,vi),{contentsOnly:!1});let De=V.basename(le)===vi&&v.has(V.join(V.dirname(le),V.sep));await LC(le,{contentsOnly:le===A,allowSymlink:De})}};for(let[le,Pe]of p){let g=v.get(le);for(let[De,Ee]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De),ne=V.join(le,De);await L(ne,Ee,de)}}let _=async(le,Pe,g)=>{if(g){w1e(Pe.locator,g.locator)||await LC(le,{contentsOnly:Pe.linkType==="HARD"});for(let[De,Ee]of Pe.children){let de=g.children.get(De);await _(V.join(le,De),Ee,de)}}else{Pe.children.has(vi)&&await LC(V.join(le,vi),{contentsOnly:!0});let De=V.basename(le)===vi&&v.has(V.join(V.dirname(le),V.sep));await LC(le,{contentsOnly:Pe.linkType==="HARD",allowSymlink:De})}};for(let[le,Pe]of v){let g=p.get(le);for(let[De,Ee]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De);await _(V.join(le,De),Ee,de)}}let J=new Map,re=[];for(let[le,Pe]of C)for(let g of Pe){let{locationRoot:De,segments:Ee}=gk(g,{skipPrefix:o.cwd}),de=v.get(De),ne=De;if(de){for(let Z of Ee)if(ne=V.join(ne,Z),de=de.children.get(Z),!de)break;if(de){let Z=w1e(de.locator,le),me=e.get(de.locator),be=me.target,ut=ne,H=me.linkType;if(Z)J.has(be)||J.set(be,ut);else if(be!==ut){let yt=Y.parseLocator(de.locator);Y.isVirtualLocator(yt)&&(yt=Y.devirtualizeLocator(yt)),re.push({srcDir:be,dstDir:ut,linkType:H,realLocatorHash:yt.locatorHash})}}}}for(let[le,{locations:Pe}]of e.entries())for(let g of Pe){let{locationRoot:De,segments:Ee}=gk(g,{skipPrefix:o.cwd}),de=p.get(De),ne=v.get(De),Z=De,me=e.get(le),be=Y.parseLocator(le);Y.isVirtualLocator(be)&&(be=Y.devirtualizeLocator(be));let ut=be.locatorHash,H=me.target,yt=g;if(H===yt)continue;let Me=me.linkType;for(let Te of Ee)ne=ne.children.get(Te);if(!de)re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});else for(let Te of Ee)if(Z=V.join(Z,Te),de=de.children.get(Te),!de){re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});break}}let oe=Vs.progressViaCounter(re.length),pe=a.reportProgress(oe),he=o.configuration.get("nmMode"),ve={value:he},ge=o.configuration.get("winLinkType");try{let le=ve.value==="hardlinks-global"?`${cj(o.configuration)}/v1`:null;if(le&&!await ae.existsPromise(le)){await ae.mkdirpPromise(le);for(let g=0;g<256;g++)await ae.mkdirPromise(V.join(le,g.toString(16).padStart(2,"0")))}for(let g of re)(g.linkType==="SOFT"||!J.has(g.srcDir))&&(J.set(g.srcDir,g.dstDir),await E({...g,globalHardlinksStore:le,nmMode:ve,windowsLinkType:ge,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(b),b.length=0;for(let g of re){let De=J.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==De&&await R(De,g.dstDir,{nmMode:ve})}await Promise.all(b),await ae.mkdirPromise(A,{recursive:!0});let Pe=await Ewt(e,v,o.cwd,{loadManifest:n});await Iwt(h,Pe,o.cwd,ge),await gwt(o,e,Pe,ve,{installChangedByUser:w}),he=="hardlinks-global"&&ve.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{pe.stop()}}async function Iwt(t,e,r,o){for(let a of t.keys()){if(V.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=V.join(a,vi,hk);await ae.removePromise(n)}}for(let[a,n]of e){if(V.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=V.join(a,vi,hk),A=t.get(a)||new Map;await ae.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await ae.removePromise(V.join(u,p)),process.platform==="win32"&&await ae.removePromise(V.join(u,Li(`${p}.cmd`))));for(let[p,h]of n){let C=A.get(p),w=V.join(u,p);C!==h&&(process.platform==="win32"?await(0,B1e.default)(Ae.fromPortablePath(h),Ae.fromPortablePath(w),{createPwshFile:!1}):(await ae.removePromise(w),await lj(h,w,o),V.contains(r,await ae.realpathPromise(h))!==null&&await ae.chmodPromise(h,493)))}}}Ke();bt();Oc();var jB=class extends Ch{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new uj(r)}},uj=class extends dm{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new pi({baseFs:new Ll({maxOpenFiles:80,readOnlyArchives:!0})}),a=a1e(r,this.opts.project.cwd,o),{tree:n,errors:u}=FB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:w,text:v}of u)this.opts.report.reportError(w,v);return}let A=new Map;r.fallbackPool=A;let p=(w,v)=>{let b=Y.parseLocator(v.locator),E=Y.stringifyIdent(b);E===w?A.set(w,b.reference):A.set(w,[E,b.reference])},h=V.join(this.opts.project.cwd,Lr.nodeModules),C=n.get(h);if(!(typeof C>"u")){if("target"in C)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let w of C.dirList){let v=V.join(h,w),b=n.get(v);if(typeof b>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in b)p(w,b);else for(let E of b.dirList){let R=V.join(v,E),L=n.get(R);if(typeof L>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in L)p(`${w}/${E}`,L);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var wwt={hooks:{cleanGlobalArtifacts:async t=>{let e=cj(t);await ae.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[qB,jB]},Bwt=wwt;var l9={};Yt(l9,{NpmHttpFetcher:()=>WB,NpmRemapResolver:()=>YB,NpmSemverFetcher:()=>gl,NpmSemverResolver:()=>KB,NpmTagResolver:()=>JB,default:()=>kBt,npmConfigUtils:()=>Gn,npmHttpUtils:()=>an,npmPublishUtils:()=>JC});Ke();var N1e=tt(ii());var _n="npm:";var an={};Yt(an,{AuthType:()=>T1e,customPackageError:()=>rp,del:()=>xwt,get:()=>fu,getIdentUrl:()=>vh,handleInvalidAuthenticationError:()=>Bh,post:()=>Swt,put:()=>Pwt});Ke();Ke();var hj=tt(Y1()),R1e=Ie("url");var Gn={};Yt(Gn,{RegistryType:()=>k1e,getAuditRegistry:()=>vwt,getAuthConfiguration:()=>pj,getDefaultRegistry:()=>GB,getPublishRegistry:()=>Dwt,getRegistryConfiguration:()=>F1e,getScopeConfiguration:()=>fj,getScopeRegistry:()=>tp,normalizeRegistry:()=>yA});var k1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(k1e||{});function yA(t){return t.replace(/\/$/,"")}function vwt({configuration:t}){return GB({configuration:t,type:"npmAuditRegistry"})}function Dwt(t,{configuration:e}){var r;return(r=t.publishConfig)!=null&&r.registry?yA(t.publishConfig.registry):t.name?tp(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):GB({configuration:e,type:"npmPublishRegistry"})}function tp(t,{configuration:e,type:r="npmRegistryServer"}){let o=fj(t,{configuration:e});if(o===null)return GB({configuration:e,type:r});let a=o.get(r);return a===null?GB({configuration:e,type:r}):yA(a)}function GB({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return yA(r!==null?r:t.get("npmRegistryServer"))}function F1e(t,{configuration:e}){let r=e.get("npmRegistries"),o=yA(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function fj(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function pj(t,{configuration:e,ident:r}){let o=r&&fj(r.scope,{configuration:e});return(o==null?void 0:o.get("npmAuthIdent"))||(o==null?void 0:o.get("npmAuthToken"))?o:F1e(t,{configuration:e})||e}var T1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(T1e||{});async function Bh(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){var n,u;if(mk(t))throw new Jt(41,"Invalid OTP token");if(((n=t.originalError)==null?void 0:n.name)==="HTTPError"&&((u=t.originalError)==null?void 0:u.response.statusCode)===401)throw new Jt(41,`Invalid authentication (${typeof e!="string"?`as ${await Qwt(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function rp(t,e){var o;let r=(o=t.response)==null?void 0:o.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${ye.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function vh(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function fu(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){if(o&&typeof n>"u"&&(n=tp(o.scope,{configuration:e})),o&&o.scope&&typeof a>"u"&&(a=1),typeof n!="string")throw new Error("Assertion failed: The registry should be a string");let A=await dk(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await ln.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Bh(p,{registry:n,configuration:e,headers:r}),p}}async function Swt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=tp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let C=await dk(A,{authType:u,configuration:o,ident:n});C&&(a={...a,authorization:C}),p&&(a={...a,...OC(p)});try{return await ln.post(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!mk(w)||p)throw await Bh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await gj(w,{configuration:o});let v={...a,...OC(p)};try{return await ln.post(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Bh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function Pwt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=tp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let C=await dk(A,{authType:u,configuration:o,ident:n});C&&(a={...a,authorization:C}),p&&(a={...a,...OC(p)});try{return await ln.put(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!mk(w))throw await Bh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await gj(w,{configuration:o});let v={...a,...OC(p)};try{return await ln.put(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Bh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function xwt(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){if(a&&typeof u>"u"&&(u=tp(a.scope,{configuration:r})),typeof u!="string")throw new Error("Assertion failed: The registry should be a string");let h=await dk(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...OC(A)});try{return await ln.del(u+t,{configuration:r,headers:o,...p})}catch(C){if(!mk(C)||A)throw await Bh(C,{attemptedAs:e,registry:u,configuration:r,headers:o}),C;A=await gj(C,{configuration:r});let w={...o,...OC(A)};try{return await ln.del(`${u}${t}`,{configuration:r,headers:w,...p})}catch(v){throw await Bh(v,{attemptedAs:e,registry:u,configuration:r,headers:o}),v}}}async function dk(t,{authType:e=2,configuration:r,ident:o}){let a=pj(t,{configuration:r,ident:o}),n=bwt(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new Jt(33,"No authentication configured for request");return null}function bwt(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function Qwt(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await ln.get(new R1e.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function gj(t,{configuration:e}){var a;let r=(a=t.originalError)==null?void 0:a.response.headers["npm-notice"];if(r&&(await Ct.start({configuration:e,stdout:process.stdout,includeFooter:!1},async n=>{if(n.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,ye.pretty(e,"$1",ye.Type.URL))),!process.env.YARN_IS_TEST_ENV){let u=r.match(/open (https?:\/\/\S+)/i);if(u&&As.openUrl){let{openNow:A}=await(0,hj.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});A&&(await As.openUrl(u[1])||(n.reportSeparator(),n.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` 665`}}}}let p=t.cwd,h=z.join(p,vi,O1e);a&&await ae.removePromise(h),await ae.changeFilePromise(h,n,{automaticNewlines:!0})}async function Aj(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=z.join(r,vi,O1e),a;try{a=await ae.statPromise(o)}catch{}if(!a)return null;let n=Yi(await ae.readFilePromise(o,"utf8"));if(n.__metadata.version>L1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let w=E.locations.map(b=>z.join(r,b)),v=E.bin;if(v)for(let[b,C]of Object.entries(v)){let R=z.join(r,ue.toPortablePath(b)),L=Ye.getMapWithDefault(p,R);for(let[_,V]of Object.entries(C))L.set(Li(_),ue.toPortablePath([R,vi,V].join(z.sep)))}if(A.set(h,{target:wt.dot,linkType:"HARD",locations:w,aliases:E.aliases||[]}),e&&E.aliases)for(let b of E.aliases){let{scope:C,name:R}=Y.parseLocator(h),L=Y.makeLocator(Y.makeIdent(C,R),b),_=Y.stringifyLocator(L);A.set(_,{target:wt.dot,linkType:"HARD",locations:w,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:M1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var _E=async(t,e)=>{if(t.split(z.sep).indexOf(vi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let o=e.allowSymlink?await ae.statPromise(t):await ae.lstatPromise(t);if(e.allowSymlink&&!o.isDirectory()||!e.allowSymlink&&o.isSymbolicLink()){await ae.unlinkPromise(t);return}}let r=await ae.readdirPromise(t,{withFileTypes:!0});for(let o of r){let a=z.join(t,Li(o.name));o.isDirectory()?(o.name!==vi||e&&e.innerLoop)&&await _E(a,{innerLoop:!0,contentsOnly:!1}):await ae.unlinkPromise(a)}e.contentsOnly||await ae.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},F1e=4,mk=(t,{skipPrefix:e})=>{let r=z.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(z.sep).filter(p=>p!==""),a=o.indexOf(vi),n=o.slice(0,a).join(z.sep),u=z.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},M1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&z.contains(e,n.target)!==null){let A=Ye.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=mk(u,{skipPrefix:e}),h=Ye.getFactoryWithDefault(r,A,o);for(let E=0;E<p.length;++E){let w=p[E];if(w!=="."){let v=Ye.getFactoryWithDefault(h.children,w,o);h.children.set(w,v),h=v}E===p.length-1&&(h.locator=a,h.linkType=n.linkType)}}}return r},hj=async(t,e,r)=>{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await ae.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await ae.symlinkPromise(t,e,"junction");return}}await ae.symlinkPromise(z.relative(z.dirname(e),t),e)};async function U1e(t,e,r){let o=z.join(t,Li(`${fj.default.randomBytes(16).toString("hex")}.tmp`));try{await ae.writeFilePromise(o,r);try{await ae.linkPromise(o,e)}catch{}}finally{await ae.unlinkPromise(o)}}async function Qwt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===_1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=z.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await ae.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs<r.mtimeMs-Pwt))if(await bn.checksumFile(A,{baseFs:ae,algorithm:"sha1"})!==r.digest){let w=z.join(o,Li(`${fj.default.randomBytes(16).toString("hex")}.tmp`));await ae.renamePromise(A,w);let v=await a.readFilePromise(t);await ae.writeFilePromise(w,v);try{await ae.linkPromise(w,A),r.mtimeMs=new Date().getTime(),await ae.unlinkPromise(w)}catch{}}else r.mtimeMs||(r.mtimeMs=Math.ceil(h.mtimeMs));await ae.linkPromise(A,e),p=!0}catch{p=!1}if(!p){let h=await a.readFilePromise(t);await U1e(o,A,h),r.mtimeMs=new Date().getTime();try{await ae.linkPromise(A,e)}catch(E){E&&E.code&&E.code=="EXDEV"&&(n.value="hardlinks-local",await a.copyFilePromise(t,e))}}}else await a.copyFilePromise(t,e);let u=r.mode&511;u!==420&&await ae.chmodPromise(e,u)}}var _1e=(o=>(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(_1e||{}),kwt=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await ae.mkdirPromise(t,{recursive:!0});let A=async(E=wt.dot)=>{let w=z.join(e,E),v=await r.readdirPromise(w,{withFileTypes:!0}),b=new Map;for(let C of v){let R=z.join(E,C.name),L,_=z.join(w,C.name);if(C.isFile()){if(L={kind:"file",mode:(await r.lstatPromise(_)).mode},a.value==="hardlinks-global"){let V=await bn.checksumFile(_,{baseFs:r,algorithm:"sha1"});L.digest=V}}else if(C.isDirectory())L={kind:"directory"};else if(C.isSymbolicLink())L={kind:"symlink",symlinkTo:await r.readlinkPromise(_)};else throw new Error(`Unsupported file type (file: ${_}, mode: 0o${await r.statSync(_).mode.toString(8).padStart(6,"0")})`);if(b.set(R,L),C.isDirectory()&&R!==vi){let V=await A(R);for(let[re,oe]of V)b.set(re,oe)}}return b},p;if(a.value==="hardlinks-global"&&o&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await ae.readFilePromise(E,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[E,w]of p){let v=z.join(e,E),b=z.join(t,E);if(w.kind==="directory")await ae.mkdirPromise(b,{recursive:!0});else if(w.kind==="file"){let C=w.mtimeMs;await Qwt({srcPath:v,dstPath:b,entry:w,nmMode:a,baseFs:r,globalHardlinksStore:o}),w.mtimeMs!==C&&(h=!0)}else w.kind==="symlink"&&await hj(z.resolve(z.dirname(b),w.symlinkTo),b,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);await ae.removePromise(E),await U1e(o,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function Fwt(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,E,w,v,b)=>{let C=!0,R=z.join(h,E),L=new Set;if(E===vi||E.startsWith("@")){let V;try{V=ae.statSync(R)}catch{}C=!!V,V?V.mtimeMs>r?(A=!0,L=new Set(ae.readdirSync(R))):L=new Set(w.children.get(E).children.keys()):A=!0;let re=e.get(h);if(re){let oe=z.join(h,vi,dk),pe;try{pe=ae.statSync(oe)}catch{}if(!pe)A=!0;else if(pe.mtimeMs>r){A=!0;let he=new Set(ae.readdirSync(oe)),ve=new Map;n.set(h,ve);for(let[ge,le]of re)he.has(ge)&&ve.set(ge,le)}else n.set(h,re)}}else C=b.has(E);let _=w.children.get(E);if(C){let{linkType:V,locator:re}=_,oe={children:new Map,linkType:V,locator:re};if(v.children.set(E,oe),re){let pe=Ye.getSetWithDefault(u,re);pe.add(R),u.set(re,pe)}for(let pe of _.children.keys())p(R,pe,_,oe,L)}else _.locator&&o.storedBuildState.delete(Y.parseLocator(_.locator).locatorHash)};for(let[h,E]of t){let{linkType:w,locator:v}=E,b={children:new Map,linkType:w,locator:v};if(a.set(h,b),v){let C=Ye.getSetWithDefault(u,E.locator);C.add(h),u.set(E.locator,C)}E.children.has(vi)&&p(h,vi,E,b,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function H1e(t){let e=Y.parseDescriptor(t);return Y.isVirtualDescriptor(e)&&(e=Y.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Rwt(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=H1e(A)?null:await o(A,p[0]),E=new Map;if(h)for(let[w,v]of h.bin){let b=z.join(p[0],v);v!==""&&ae.existsSync(b)&&E.set(w,v)}a.set(A,E)}let n=new Map,u=(A,p,h)=>{let E=new Map,w=z.contains(r,A);if(h.locator&&w!==null){let v=a.get(h.locator);for(let[b,C]of v){let R=z.join(A,ue.toPortablePath(C));E.set(Li(b),R)}for(let[b,C]of h.children){let R=z.join(A,b),L=u(R,R,C);L.size>0&&n.set(A,new Map([...n.get(A)||new Map,...L]))}}else for(let[v,b]of h.children){let C=u(z.join(A,v),p,b);for(let[R,L]of C)E.set(R,L)}return E};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var R1e=(t,e)=>{if(!t||!e)return t===e;let r=Y.parseLocator(t);Y.isVirtualLocator(r)&&(r=Y.devirtualizeLocator(r));let o=Y.parseLocator(e);return Y.isVirtualLocator(o)&&(o=Y.devirtualizeLocator(o)),Y.areLocatorsEqual(r,o)};function gj(t){return z.join(t.get("globalFolder"),"store")}async function Twt(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=z.join(o.cwd,vi),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:w}=Fwt(t.locationTree,t.binSymlinks,t.mtimeMs,o),v=M1e(e,{skipPrefix:o.cwd}),b=[],C=async({srcDir:le,dstDir:Pe,linkType:g,globalHardlinksStore:De,nmMode:Ce,windowsLinkType:de,packageChecksum:ne})=>{let Z=(async()=>{try{g==="SOFT"?(await ae.mkdirPromise(z.dirname(Pe),{recursive:!0}),await hj(z.resolve(le),Pe,de)):await kwt(Pe,le,{baseFs:r,globalHardlinksStore:De,nmMode:Ce,windowsLinkType:de,packageChecksum:ne})}catch(me){throw me.message=`While persisting ${le} -> ${Pe} ${me.message}`,me}finally{oe.tick()}})().then(()=>b.splice(b.indexOf(Z),1));b.push(Z),b.length>F1e&&await Promise.race(b)},R=async(le,Pe,g)=>{let De=(async()=>{let Ce=async(de,ne,Z)=>{try{Z.innerLoop||await ae.mkdirPromise(ne,{recursive:!0});let me=await ae.readdirPromise(de,{withFileTypes:!0});for(let be of me){if(!Z.innerLoop&&be.name===dk)continue;let ut=z.join(de,be.name),H=z.join(ne,be.name);be.isDirectory()?(be.name!==vi||Z&&Z.innerLoop)&&(await ae.mkdirPromise(H,{recursive:!0}),await Ce(ut,H,{...Z,innerLoop:!0})):ve.value==="hardlinks-local"||ve.value==="hardlinks-global"?await ae.linkPromise(ut,H):await ae.copyFilePromise(ut,H,N1e.default.constants.COPYFILE_FICLONE)}}catch(me){throw Z.innerLoop||(me.message=`While cloning ${de} -> ${ne} ${me.message}`),me}finally{Z.innerLoop||oe.tick()}};await Ce(le,Pe,g)})().then(()=>b.splice(b.indexOf(De),1));b.push(De),b.length>F1e&&await Promise.race(b)},L=async(le,Pe,g)=>{if(g)for(let[De,Ce]of Pe.children){let de=g.children.get(De);await L(z.join(le,De),Ce,de)}else{Pe.children.has(vi)&&await _E(z.join(le,vi),{contentsOnly:!1});let De=z.basename(le)===vi&&v.has(z.join(z.dirname(le),z.sep));await _E(le,{contentsOnly:le===A,allowSymlink:De})}};for(let[le,Pe]of p){let g=v.get(le);for(let[De,Ce]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De),ne=z.join(le,De);await L(ne,Ce,de)}}let _=async(le,Pe,g)=>{if(g){R1e(Pe.locator,g.locator)||await _E(le,{contentsOnly:Pe.linkType==="HARD"});for(let[De,Ce]of Pe.children){let de=g.children.get(De);await _(z.join(le,De),Ce,de)}}else{Pe.children.has(vi)&&await _E(z.join(le,vi),{contentsOnly:!0});let De=z.basename(le)===vi&&v.has(z.join(z.dirname(le),z.sep));await _E(le,{contentsOnly:Pe.linkType==="HARD",allowSymlink:De})}};for(let[le,Pe]of v){let g=p.get(le);for(let[De,Ce]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De);await _(z.join(le,De),Ce,de)}}let V=new Map,re=[];for(let[le,Pe]of E)for(let g of Pe){let{locationRoot:De,segments:Ce}=mk(g,{skipPrefix:o.cwd}),de=v.get(De),ne=De;if(de){for(let Z of Ce)if(ne=z.join(ne,Z),de=de.children.get(Z),!de)break;if(de){let Z=R1e(de.locator,le),me=e.get(de.locator),be=me.target,ut=ne,H=me.linkType;if(Z)V.has(be)||V.set(be,ut);else if(be!==ut){let yt=Y.parseLocator(de.locator);Y.isVirtualLocator(yt)&&(yt=Y.devirtualizeLocator(yt)),re.push({srcDir:be,dstDir:ut,linkType:H,realLocatorHash:yt.locatorHash})}}}}for(let[le,{locations:Pe}]of e.entries())for(let g of Pe){let{locationRoot:De,segments:Ce}=mk(g,{skipPrefix:o.cwd}),de=p.get(De),ne=v.get(De),Z=De,me=e.get(le),be=Y.parseLocator(le);Y.isVirtualLocator(be)&&(be=Y.devirtualizeLocator(be));let ut=be.locatorHash,H=me.target,yt=g;if(H===yt)continue;let Me=me.linkType;for(let Te of Ce)ne=ne.children.get(Te);if(!de)re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});else for(let Te of Ce)if(Z=z.join(Z,Te),de=de.children.get(Te),!de){re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});break}}let oe=Js.progressViaCounter(re.length),pe=a.reportProgress(oe),he=o.configuration.get("nmMode"),ve={value:he},ge=o.configuration.get("winLinkType");try{let le=ve.value==="hardlinks-global"?`${gj(o.configuration)}/v1`:null;if(le&&!await ae.existsPromise(le)){await ae.mkdirpPromise(le);for(let g=0;g<256;g++)await ae.mkdirPromise(z.join(le,g.toString(16).padStart(2,"0")))}for(let g of re)(g.linkType==="SOFT"||!V.has(g.srcDir))&&(V.set(g.srcDir,g.dstDir),await C({...g,globalHardlinksStore:le,nmMode:ve,windowsLinkType:ge,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(b),b.length=0;for(let g of re){let De=V.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==De&&await R(De,g.dstDir,{nmMode:ve})}await Promise.all(b),await ae.mkdirPromise(A,{recursive:!0});let Pe=await Rwt(e,v,o.cwd,{loadManifest:n});await Nwt(h,Pe,o.cwd,ge),await bwt(o,e,Pe,ve,{installChangedByUser:w}),he=="hardlinks-global"&&ve.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{pe.stop()}}async function Nwt(t,e,r,o){for(let a of t.keys()){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=z.join(a,vi,dk);await ae.removePromise(n)}}for(let[a,n]of e){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=z.join(a,vi,dk),A=t.get(a)||new Map;await ae.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await ae.removePromise(z.join(u,p)),process.platform==="win32"&&await ae.removePromise(z.join(u,Li(`${p}.cmd`))));for(let[p,h]of n){let E=A.get(p),w=z.join(u,p);E!==h&&(process.platform==="win32"?await(0,T1e.default)(ue.fromPortablePath(h),ue.fromPortablePath(w),{createPwshFile:!1}):(await ae.removePromise(w),await hj(h,w,o),z.contains(r,await ae.realpathPromise(h))!==null&&await ae.chmodPromise(h,493)))}}}Ke();bt();_c();var zB=class extends Bh{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new dj(r)}},dj=class extends Em{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new pi({baseFs:new Ul({maxOpenFiles:80,readOnlyArchives:!0})}),a=y1e(r,this.opts.project.cwd,o),{tree:n,errors:u}=LB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:w,text:v}of u)this.opts.report.reportError(w,v);return}let A=new Map;r.fallbackPool=A;let p=(w,v)=>{let b=Y.parseLocator(v.locator),C=Y.stringifyIdent(b);C===w?A.set(w,b.reference):A.set(w,[C,b.reference])},h=z.join(this.opts.project.cwd,Lr.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let w of E.dirList){let v=z.join(h,w),b=n.get(v);if(typeof b>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in b)p(w,b);else for(let C of b.dirList){let R=z.join(v,C),L=n.get(R);if(typeof L>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in L)p(`${w}/${C}`,L);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var Lwt={hooks:{cleanGlobalArtifacts:async t=>{let e=gj(t);await ae.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[JB,zB]},Owt=Lwt;var hG={};Yt(hG,{NpmHttpFetcher:()=>ZB,NpmRemapResolver:()=>$B,NpmSemverFetcher:()=>yl,NpmSemverResolver:()=>ev,NpmTagResolver:()=>tv,default:()=>WBt,npmConfigUtils:()=>Wn,npmHttpUtils:()=>an,npmPublishUtils:()=>ZE});Ke();var Y1e=tt(si());var _n="npm:";var an={};Yt(an,{AuthType:()=>W1e,customPackageError:()=>np,del:()=>qwt,get:()=>pu,getIdentUrl:()=>Ph,handleInvalidAuthenticationError:()=>Sh,post:()=>_wt,put:()=>Hwt});Ke();Ke();var Ej=tt(z1()),G1e=Ie("url");var Wn={};Yt(Wn,{RegistryType:()=>q1e,getAuditRegistry:()=>Mwt,getAuthConfiguration:()=>Cj,getDefaultRegistry:()=>XB,getPublishRegistry:()=>Uwt,getRegistryConfiguration:()=>j1e,getScopeConfiguration:()=>yj,getScopeRegistry:()=>rp,normalizeRegistry:()=>EA});var q1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(q1e||{});function EA(t){return t.replace(/\/$/,"")}function Mwt({configuration:t}){return XB({configuration:t,type:"npmAuditRegistry"})}function Uwt(t,{configuration:e}){var r;return(r=t.publishConfig)!=null&&r.registry?EA(t.publishConfig.registry):t.name?rp(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):XB({configuration:e,type:"npmPublishRegistry"})}function rp(t,{configuration:e,type:r="npmRegistryServer"}){let o=yj(t,{configuration:e});if(o===null)return XB({configuration:e,type:r});let a=o.get(r);return a===null?XB({configuration:e,type:r}):EA(a)}function XB({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return EA(r!==null?r:t.get("npmRegistryServer"))}function j1e(t,{configuration:e}){let r=e.get("npmRegistries"),o=EA(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function yj(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function Cj(t,{configuration:e,ident:r}){let o=r&&yj(r.scope,{configuration:e});return(o==null?void 0:o.get("npmAuthIdent"))||(o==null?void 0:o.get("npmAuthToken"))?o:j1e(t,{configuration:e})||e}var W1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(W1e||{});async function Sh(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){var n,u;if(Ck(t))throw new Vt(41,"Invalid OTP token");if(((n=t.originalError)==null?void 0:n.name)==="HTTPError"&&((u=t.originalError)==null?void 0:u.response.statusCode)===401)throw new Vt(41,`Invalid authentication (${typeof e!="string"?`as ${await Gwt(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function np(t,e){var o;let r=(o=t.response)==null?void 0:o.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${ye.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function Ph(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function pu(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){if(o&&typeof n>"u"&&(n=rp(o.scope,{configuration:e})),o&&o.scope&&typeof a>"u"&&(a=1),typeof n!="string")throw new Error("Assertion failed: The registry should be a string");let A=await yk(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await ln.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Sh(p,{registry:n,configuration:e,headers:r}),p}}async function _wt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=rp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let E=await yk(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...HE(p)});try{return await ln.post(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!Ck(w)||p)throw await Sh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await Ij(w,{configuration:o});let v={...a,...HE(p)};try{return await ln.post(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Sh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function Hwt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=rp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let E=await yk(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...HE(p)});try{return await ln.put(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!Ck(w))throw await Sh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await Ij(w,{configuration:o});let v={...a,...HE(p)};try{return await ln.put(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Sh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function qwt(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){if(a&&typeof u>"u"&&(u=rp(a.scope,{configuration:r})),typeof u!="string")throw new Error("Assertion failed: The registry should be a string");let h=await yk(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...HE(A)});try{return await ln.del(u+t,{configuration:r,headers:o,...p})}catch(E){if(!Ck(E)||A)throw await Sh(E,{attemptedAs:e,registry:u,configuration:r,headers:o}),E;A=await Ij(E,{configuration:r});let w={...o,...HE(A)};try{return await ln.del(`${u}${t}`,{configuration:r,headers:w,...p})}catch(v){throw await Sh(v,{attemptedAs:e,registry:u,configuration:r,headers:o}),v}}}async function yk(t,{authType:e=2,configuration:r,ident:o}){let a=Cj(t,{configuration:r,ident:o}),n=jwt(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new Vt(33,"No authentication configured for request");return null}function jwt(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function Gwt(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await ln.get(new G1e.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function Ij(t,{configuration:e}){var a;let r=(a=t.originalError)==null?void 0:a.response.headers["npm-notice"];if(r&&(await Et.start({configuration:e,stdout:process.stdout,includeFooter:!1},async n=>{if(n.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,ye.pretty(e,"$1",ye.Type.URL))),!process.env.YARN_IS_TEST_ENV){let u=r.match(/open (https?:\/\/\S+)/i);if(u&&As.openUrl){let{openNow:A}=await(0,Ej.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});A&&(await As.openUrl(u[1])||(n.reportSeparator(),n.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(`
664`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,hj.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` 666`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,Ej.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(`
665`),o}function mk(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(a=>a.toLowerCase())).includes("otp")}catch{return!1}}function OC(t){return{["npm-otp"]:t}}var WB=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o,params:a}=Y.parseRange(e.reference);return!(!N1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=Y.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await fu(o.__archiveUrl,{customErrorMessage:rp,configuration:r.project.configuration,ident:e});return await Vi.convertToZip(a,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();var YB=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!Y.tryParseDescriptor(e.range.slice(_n.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};Ke();Ke();var L1e=tt(ii()),O1e=Ie("url");var gl=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let o=new O1e.URL(e.reference);return!(!L1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await fu(gl.getLocatorUrl(e),{customErrorMessage:rp,configuration:r.project.configuration,ident:e})}catch{o=await fu(gl.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:rp,configuration:r.project.configuration,ident:e})}return await Vi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=tp(e.scope,{configuration:o}),n=gl.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Tr.clean(e.reference.slice(_n.length));if(r===null)throw new Jt(10,"The npm semver resolver got selected, but the version isn't semver");return`${vh(e)}/-/${e.name}-${r}.tgz`}};Ke();Ke();Ke();var M1e=tt(ii());var yk=Y.makeIdent(null,"node-gyp"),kwt=/\b(node-gyp|prebuild-install)\b/,KB=class{supportsDescriptor(e,r){return e.range.startsWith(_n)?!!Tr.validRange(e.range.slice(_n.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o}=Y.parseRange(e.reference);return!!M1e.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Tr.validRange(e.range.slice(_n.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);let n=await fu(vh(e),{customErrorMessage:rp,configuration:o.project.configuration,ident:e,jsonResponse:!0}),u=Ye.mapAndFilter(Object.keys(n.versions),h=>{try{let C=new Tr.SemVer(h);if(a.test(C))return C}catch{}return Ye.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,C)=>-h.compare(C)),p.map(h=>{let C=Y.makeLocator(e,`${_n}${h.raw}`),w=n.versions[h.raw].dist.tarball;return gl.isConventionalTarballUrl(C,w,{configuration:o.project.configuration})?C:Y.bindLocator(C,{__archiveUrl:w})})}async getSatisfying(e,r,o,a){let n=Tr.validRange(e.range.slice(_n.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);return{locators:Ye.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return Ye.mapAndFilter.skip;let h=Y.tryParseRange(p.reference,{requireProtocol:_n});if(!h)return Ye.mapAndFilter.skip;let C=new Tr.SemVer(h.selector);return n.test(C)?{locator:p,version:C}:Ye.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=Y.parseRange(e.reference),a=Tr.clean(o);if(a===null)throw new Jt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await fu(vh(e),{customErrorMessage:rp,configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"versions"))throw new Jt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(n.versions,a))throw new Jt(16,`Registry failed to return reference "${a}"`);let u=new Nt;if(u.load(n.versions[a]),!u.dependencies.has(yk.identHash)&&!u.peerDependencies.has(yk.identHash)){for(let A of u.scripts.values())if(A.match(kwt)){u.dependencies.set(yk.identHash,Y.makeDescriptor(yk,"latest")),r.report.reportWarningOnce(32,`${Y.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof u.raw.deprecated=="string"&&u.raw.deprecated!==""){let A=Y.prettyLocator(r.project.configuration,e),p=u.raw.deprecated.match(/\S/)?`${A} is deprecated: ${u.raw.deprecated}`:`${A} is deprecated`;r.report.reportWarningOnce(61,p)}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ke();Ke();var U1e=tt(ii());var JB=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!DE.test(e.range.slice(_n.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(_n.length),n=await fu(vh(e),{configuration:o.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"dist-tags"))throw new Jt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.prototype.hasOwnProperty.call(u,a))throw new Jt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=Y.makeLocator(e,`${_n}${A}`),h=n.versions[A].dist.tarball;return gl.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[Y.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){var u;let n=[];for(let A of o){if(A.identHash!==e.identHash)continue;let p=Y.tryParseRange(A.reference,{requireProtocol:_n});if(!(!p||!U1e.default.valid(p.selector))){if((u=p.params)!=null&&u.__archiveUrl){let h=Y.makeRange({protocol:_n,selector:p.selector,source:null,params:null}),[C]=await this.getCandidates(Y.makeDescriptor(e,h),r,a);if(A.reference!==C.reference)continue}n.push(A)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var JC={};Yt(JC,{getGitHead:()=>bBt,makePublishBody:()=>xBt});Ke();Ke();var n9={};Yt(n9,{PackCommand:()=>Rh,default:()=>uBt,packUtils:()=>IA});Ke();Ke();Ke();bt();_t();var IA={};Yt(IA,{genPackList:()=>Hk,genPackStream:()=>r9,genPackageManifest:()=>dBe,hasPackScripts:()=>e9,prepareForPack:()=>t9});Ke();bt();var $j=tt(Jo()),hBe=tt(uBe()),gBe=Ie("zlib"),$2t=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],eBt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function e9(t){return!!(sn.hasWorkspaceScript(t,"prepack")||sn.hasWorkspaceScript(t,"postpack"))}async function t9(t,{report:e},r){await sn.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=V.join(t.cwd,Nt.fileName);await ae.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:ae}),await r()}finally{await sn.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function r9(t,e){var n;typeof e>"u"&&(e=await Hk(t));let r=new Set;for(let u of((n=t.manifest.publishConfig)==null?void 0:n.executableFiles)??new Set)r.add(V.normalize(u));for(let u of t.manifest.bin.values())r.add(V.normalize(u));let o=hBe.default.pack();process.nextTick(async()=>{for(let u of e){let A=V.normalize(u),p=V.resolve(t.cwd,A),h=V.join("package",A),C=await ae.lstatPromise(p),w={name:h,mtime:new Date(Ii.SAFE_TIME*1e3)},v=r.has(A)?493:420,b,E,R=new Promise((_,J)=>{b=_,E=J}),L=_=>{_?E(_):b()};if(C.isFile()){let _;A==="package.json"?_=Buffer.from(JSON.stringify(await dBe(t),null,2)):_=await ae.readFilePromise(p),o.entry({...w,mode:v,type:"file"},_,L)}else C.isSymbolicLink()?o.entry({...w,mode:v,type:"symlink",linkname:await ae.readlinkPromise(p)},L):L(new Error(`Unsupported file type ${C.mode} for ${Ae.fromPortablePath(A)}`));await R}o.finalize()});let a=(0,gBe.createGzip)();return o.pipe(a),a}async function dBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function Hk(t){var w,v,b,E;let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let R of eBt)o.reject.push(R);for(let R of $2t)o.accept.push(R);o.reject.push(r.get("rcFilename"));let a=R=>{if(R===null||!R.startsWith(`${t.cwd}/`))return;let L=V.relative(t.cwd,R),_=V.resolve(wt.root,L);o.reject.push(_)};a(V.resolve(e.cwd,r.get("lockfileFilename"))),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(R=>R.populateYarnPaths,e,R=>{a(R)});for(let R of e.workspaces){let L=V.relative(t.cwd,R.cwd);L!==""&&!L.match(/^(\.\.)?\//)&&o.reject.push(`/${L}`)}let n={accept:[],reject:[]},u=((w=t.manifest.publishConfig)==null?void 0:w.main)??t.manifest.main,A=((v=t.manifest.publishConfig)==null?void 0:v.module)??t.manifest.module,p=((b=t.manifest.publishConfig)==null?void 0:b.browser)??t.manifest.browser,h=((E=t.manifest.publishConfig)==null?void 0:E.bin)??t.manifest.bin;u!=null&&n.accept.push(V.resolve(wt.root,u)),A!=null&&n.accept.push(V.resolve(wt.root,A)),typeof p=="string"&&n.accept.push(V.resolve(wt.root,p));for(let R of h.values())n.accept.push(V.resolve(wt.root,R));if(p instanceof Map)for(let[R,L]of p.entries())n.accept.push(V.resolve(wt.root,R)),typeof L=="string"&&n.accept.push(V.resolve(wt.root,L));let C=t.manifest.files!==null;if(C){n.reject.push("/*");for(let R of t.manifest.files)mBe(n.accept,R,{cwd:wt.root})}return await tBt(t.cwd,{hasExplicitFileList:C,globalList:o,ignoreList:n})}async function tBt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new ju(t),u=[[wt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!fBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let C=await n.readdirPromise(A),w=!1,v=!1;if(!e||A!==wt.root)for(let R of C)w=w||R===".gitignore",v=v||R===".npmignore";let b=v?await ABe(n,A,".npmignore"):w?await ABe(n,A,".gitignore"):null,E=b!==null?[b].concat(p):p;fBe(A,{globalList:r,ignoreLists:p})&&(E=[...p,{accept:[],reject:["**/*"]}]);for(let R of C)u.push([V.resolve(A,R),E])}else(h.isFile()||h.isSymbolicLink())&&a.push(V.relative(wt.root,A))}return a.sort()}async function ABe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(V.join(e,r),"utf8");for(let n of a.split(/\n/g))mBe(o.reject,n,{cwd:e});return o}function rBt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=V.resolve(e,t)),r&&(t=`!${t}`),t}function mBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(rBt(o,{cwd:r}))}function fBe(t,{globalList:e,ignoreLists:r}){let o=_k(t,e.accept);if(o!==0)return o===2;let a=_k(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=_k(t,n.accept);if(u!==0)return u===2;let A=_k(t,n.reject);if(A!==0)return A===1}return!1}function _k(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a][0]!=="!"?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a].slice(1)));return pBe(t,o)?2:pBe(t,r)?1:0}function pBe(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a].includes("/")?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a]));return!!($j.default.isMatch(t,r,{dot:!0,nocase:!0})||$j.default.isMatch(t,o,{dot:!0,basename:!0,nocase:!0}))}var Rh=class extends ct{constructor(){super(...arguments);this.installIfNeeded=fe.Boolean("--install-if-needed",!1,{description:"Run a preliminary `yarn install` if the package contains build scripts"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the file paths without actually generating the package archive"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.out=fe.String("-o,--out",{description:"Create the archive at the specified path"});this.filename=fe.String("--filename",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await e9(a)&&(this.installIfNeeded?await o.install({cache:await Ur.find(r),report:new xi}):await o.restoreInstallState());let n=this.out??this.filename,u=typeof n<"u"?V.resolve(this.context.cwd,nBt(n,{workspace:a})):V.resolve(a.cwd,"package.tgz");return(await Ct.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await t9(a,{report:p},async()=>{p.reportJson({base:Ae.fromPortablePath(a.cwd)});let h=await Hk(a);for(let C of h)p.reportInfo(null,Ae.fromPortablePath(C)),p.reportJson({location:Ae.fromPortablePath(C)});if(!this.dryRun){let C=await r9(a,h),w=ae.createWriteStream(u);C.pipe(w),await new Promise(v=>{w.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${ye.pretty(r,u,ye.Type.PATH)}`),p.reportJson({output:Ae.fromPortablePath(u)}))})).exitCode()}};Rh.paths=[["pack"]],Rh.usage=it.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function nBt(t,{workspace:e}){let r=t.replace("%s",iBt(e)).replace("%v",sBt(e));return Ae.toPortablePath(r)}function iBt(t){return t.manifest.name!==null?Y.slugifyIdent(t.manifest.name):"package"}function sBt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var oBt=["dependencies","devDependencies","peerDependencies"],aBt="workspace:",lBt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of oBt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=Y.parseRange(a.range);if(u.protocol===aBt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Jt(21,`${Y.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;Y.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?Y.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][Y.stringifyIdent(a)]=A}}},cBt={hooks:{beforeWorkspacePacking:lBt},commands:[Rh]},uBt=cBt;var SBe=Ie("crypto"),PBe=tt(DBe()),xBe=Ie("url");async function xBt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.project.configuration,A=t.manifest.name,p=t.manifest.version,h=Y.stringifyIdent(A),C=(0,SBe.createHash)("sha1").update(e).digest("hex"),w=PBe.default.fromData(e).toString();typeof r>"u"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:u.get("npmPublishAccess")!==null?r=u.get("npmPublishAccess"):A.scope?r="restricted":r="public");let v=await IA.genPackageManifest(t),b=`${h}-${p}.tgz`,E=new xBe.URL(`${yA(a)}/${h}/-/${b}`);return{_id:h,_attachments:{[b]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:h,access:r,["dist-tags"]:{[o]:p},versions:{[p]:{...v,_id:`${h}@${p}`,name:h,version:p,gitHead:n,dist:{shasum:C,integrity:w,tarball:E.toString()}}}}}async function bBt(t){try{let{stdout:e}=await Mr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var a9={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},bBe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},QBt={configuration:{...a9,...bBe,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...a9,...bBe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:yA,valueDefinition:{description:"",type:"SHAPE",properties:{...a9}}}},fetchers:[WB,gl],resolvers:[YB,KB,JB]},kBt=QBt;var d9={};Yt(d9,{NpmAuditCommand:()=>Nh,NpmInfoCommand:()=>Lh,NpmLoginCommand:()=>Oh,NpmLogoutCommand:()=>Mh,NpmPublishCommand:()=>Uh,NpmTagAddCommand:()=>Hh,NpmTagListCommand:()=>_h,NpmTagRemoveCommand:()=>qh,NpmWhoamiCommand:()=>jh,default:()=>_Bt,npmAuditUtils:()=>Gk});Ke();_t();var uv=tt(Jo());$a();var qk=(o=>(o.All="all",o.Production="production",o.Development="development",o))(qk||{}),jk=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(jk||{});var Gk={};Yt(Gk,{allSeverities:()=>VC,getDependencies:()=>f9,getReportTree:()=>u9,getRequires:()=>A9,isError:()=>c9});Ke();var VC=["info","low","moderate","high","critical"];function kBe(t,e){let r=[],o=new Set,a=u=>{o.has(u)||(o.add(u),r.push(u))};for(let u of e)a(u);let n=new Set;for(;r.length>0;){let u=r.shift(),A=t.storedResolutions.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let p=t.storedPackages.get(A);if(!!p){n.add(u);for(let h of p.dependencies.values())a(h.descriptorHash)}}return n}function FBt(t,e){return new Set([...t].filter(r=>!e.has(r)))}function RBt(t,e,{all:r}){let o=r?t.workspaces:[e],a=o.map(v=>v.manifest),n=new Set(a.map(v=>[...v.dependencies].map(([b,E])=>b)).flat()),u=new Set(a.map(v=>[...v.devDependencies].map(([b,E])=>b)).flat()),A=o.map(v=>[...v.anchoredPackage.dependencies.values()]).flat(),p=A.filter(v=>n.has(v.identHash)).map(v=>v.descriptorHash),h=A.filter(v=>u.has(v.identHash)).map(v=>v.descriptorHash),C=kBe(t,p),w=kBe(t,h);return FBt(w,C)}function FBe(t){let e={};for(let r of t)e[Y.stringifyIdent(r)]=Y.parseRange(r.range).selector;return e}function RBe(t){if(typeof t>"u")return new Set(VC);let e=VC.indexOf(t),r=VC.slice(e);return new Set(r)}function TBt(t,e){let r=RBe(e),o={};for(let a of r)o[a]=t[a];return o}function c9(t,e){let r=TBt(t,e);for(let o of Object.keys(r))if(r[o]??0>0)return!0;return!1}function u9(t,e){var n;let r={},o={children:r},a=Object.values(t.advisories);if(e!=null){let u=RBe(e);a=a.filter(A=>u.has(A.severity))}for(let u of Ye.sortMap(a,A=>A.module_name))r[u.module_name]={label:u.module_name,value:ye.tuple(ye.Type.RANGE,u.findings.map(A=>A.version).join(", ")),children:{ID:{label:"ID",value:ye.tuple(ye.Type.NUMBER,u.id)},Issue:{label:"Issue",value:ye.tuple(ye.Type.NO_HINT,u.title)},URL:{label:"URL",value:ye.tuple(ye.Type.URL,u.url)},Severity:{label:"Severity",value:ye.tuple(ye.Type.NO_HINT,u.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ye.tuple(ye.Type.RANGE,u.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ye.tuple(ye.Type.RANGE,u.patched_versions)},Via:{label:"Via",value:ye.tuple(ye.Type.NO_HINT,Array.from(new Set(u.findings.map(A=>A.paths).flat().map(A=>A.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ye.tuple(ye.Type.NO_HINT,(n=u.recommendation)==null?void 0:n.replace(/\n/g," "))}}};return o}function A9(t,e,{all:r,environment:o}){let a=r?t.workspaces:[e],n=["all","production"].includes(o),u=[];if(n)for(let h of a)for(let C of h.manifest.dependencies.values())u.push(C);let A=["all","development"].includes(o),p=[];if(A)for(let h of a)for(let C of h.manifest.devDependencies.values())p.push(C);return FBe([...u,...p].filter(h=>Y.parseRange(h.range).protocol===null))}function f9(t,e,{all:r}){let o=RBt(t,e,{all:r}),a={};for(let n of t.storedPackages.values())a[Y.stringifyIdent(n)]={version:n.version??"0.0.0",integrity:n.identHash,requires:FBe(n.dependencies.values()),dev:o.has(Y.convertLocatorToDescriptor(n).descriptorHash)};return a}var Nh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=fe.String("--environment","all",{description:"Which environments to cover",validator:Gs(qk)});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=fe.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Gs(jk)});this.excludes=fe.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=fe.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=A9(o,a,{all:this.all,environment:this.environment}),u=f9(o,a,{all:this.all});if(!this.recursive)for(let E of Object.keys(u))Object.prototype.hasOwnProperty.call(n,E)?u[E].requires={}:delete u[E];let A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes]));if(A){for(let E of Object.keys(n))uv.default.isMatch(E,A)&&delete n[E];for(let E of Object.keys(u))uv.default.isMatch(E,A)&&delete u[E];for(let E of Object.keys(u))for(let R of Object.keys(u[E].requires))uv.default.isMatch(R,A)&&delete u[E].requires[R]}let p={requires:n,dependencies:u},h=Gn.getAuditRegistry({configuration:r}),C,w=await fA.start({configuration:r,stdout:this.context.stdout},async()=>{C=await an.post("/-/npm/v1/security/audits/quick",p,{authType:an.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h})});if(w.hasErrors())return w.exitCode();let v=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(v){for(let E of Object.keys(C.advisories))if(uv.default.isMatch(E,v)){let R=C.advisories[E];C.metadata.vulnerabilities[R.severity]-=1,delete C.advisories[E]}}let b=c9(C.metadata.vulnerabilities,this.severity);return!this.json&&b?(Xo.emitTree(u9(C,this.severity),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ct.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(C),b||E.reportInfo(1,"No audit suggestions")}),b?1:0)}};Nh.paths=[["npm","audit"]],Nh.usage=it.Usage({description:"perform a vulnerability audit against the installed packages",details:` 667`),o}function Ck(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(a=>a.toLowerCase())).includes("otp")}catch{return!1}}function HE(t){return{["npm-otp"]:t}}var ZB=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o,params:a}=Y.parseRange(e.reference);return!(!Y1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=Y.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await pu(o.__archiveUrl,{customErrorMessage:np,configuration:r.project.configuration,ident:e});return await Ji.convertToZip(a,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();var $B=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!Y.tryParseDescriptor(e.range.slice(_n.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};Ke();Ke();var K1e=tt(si()),V1e=Ie("url");var yl=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let o=new V1e.URL(e.reference);return!(!K1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await pu(yl.getLocatorUrl(e),{customErrorMessage:np,configuration:r.project.configuration,ident:e})}catch{o=await pu(yl.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:np,configuration:r.project.configuration,ident:e})}return await Ji.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=rp(e.scope,{configuration:o}),n=yl.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Tr.clean(e.reference.slice(_n.length));if(r===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");return`${Ph(e)}/-/${e.name}-${r}.tgz`}};Ke();Ke();Ke();var J1e=tt(si());var Ek=Y.makeIdent(null,"node-gyp"),Wwt=/\b(node-gyp|prebuild-install)\b/,ev=class{supportsDescriptor(e,r){return e.range.startsWith(_n)?!!Tr.validRange(e.range.slice(_n.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o}=Y.parseRange(e.reference);return!!J1e.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Tr.validRange(e.range.slice(_n.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);let n=await pu(Ph(e),{customErrorMessage:np,configuration:o.project.configuration,ident:e,jsonResponse:!0}),u=Ye.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new Tr.SemVer(h);if(a.test(E))return E}catch{}return Ye.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=Y.makeLocator(e,`${_n}${h.raw}`),w=n.versions[h.raw].dist.tarball;return yl.isConventionalTarballUrl(E,w,{configuration:o.project.configuration})?E:Y.bindLocator(E,{__archiveUrl:w})})}async getSatisfying(e,r,o,a){let n=Tr.validRange(e.range.slice(_n.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);return{locators:Ye.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return Ye.mapAndFilter.skip;let h=Y.tryParseRange(p.reference,{requireProtocol:_n});if(!h)return Ye.mapAndFilter.skip;let E=new Tr.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:Ye.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=Y.parseRange(e.reference),a=Tr.clean(o);if(a===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await pu(Ph(e),{customErrorMessage:np,configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(n.versions,a))throw new Vt(16,`Registry failed to return reference "${a}"`);let u=new Nt;if(u.load(n.versions[a]),!u.dependencies.has(Ek.identHash)&&!u.peerDependencies.has(Ek.identHash)){for(let A of u.scripts.values())if(A.match(Wwt)){u.dependencies.set(Ek.identHash,Y.makeDescriptor(Ek,"latest")),r.report.reportWarningOnce(32,`${Y.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof u.raw.deprecated=="string"&&u.raw.deprecated!==""){let A=Y.prettyLocator(r.project.configuration,e),p=u.raw.deprecated.match(/\S/)?`${A} is deprecated: ${u.raw.deprecated}`:`${A} is deprecated`;r.report.reportWarningOnce(61,p)}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ke();Ke();var z1e=tt(si());var tv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!QC.test(e.range.slice(_n.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(_n.length),n=await pu(Ph(e),{configuration:o.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"dist-tags"))throw new Vt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.prototype.hasOwnProperty.call(u,a))throw new Vt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=Y.makeLocator(e,`${_n}${A}`),h=n.versions[A].dist.tarball;return yl.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[Y.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){var u;let n=[];for(let A of o){if(A.identHash!==e.identHash)continue;let p=Y.tryParseRange(A.reference,{requireProtocol:_n});if(!(!p||!z1e.default.valid(p.selector))){if((u=p.params)!=null&&u.__archiveUrl){let h=Y.makeRange({protocol:_n,selector:p.selector,source:null,params:null}),[E]=await this.getCandidates(Y.makeDescriptor(e,h),r,a);if(A.reference!==E.reference)continue}n.push(A)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var ZE={};Yt(ZE,{getGitHead:()=>jBt,makePublishBody:()=>qBt});Ke();Ke();var cG={};Yt(cG,{PackCommand:()=>Lh,default:()=>vBt,packUtils:()=>BA});Ke();Ke();Ke();bt();_t();var BA={};Yt(BA,{genPackList:()=>jk,genPackStream:()=>lG,genPackageManifest:()=>PBe,hasPackScripts:()=>oG,prepareForPack:()=>aG});Ke();bt();var sG=tt(Jo()),DBe=tt(IBe()),SBe=Ie("zlib"),pBt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],hBt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function oG(t){return!!(sn.hasWorkspaceScript(t,"prepack")||sn.hasWorkspaceScript(t,"postpack"))}async function aG(t,{report:e},r){await sn.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=z.join(t.cwd,Nt.fileName);await ae.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:ae}),await r()}finally{await sn.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function lG(t,e){var n;typeof e>"u"&&(e=await jk(t));let r=new Set;for(let u of((n=t.manifest.publishConfig)==null?void 0:n.executableFiles)??new Set)r.add(z.normalize(u));for(let u of t.manifest.bin.values())r.add(z.normalize(u));let o=DBe.default.pack();process.nextTick(async()=>{for(let u of e){let A=z.normalize(u),p=z.resolve(t.cwd,A),h=z.join("package",A),E=await ae.lstatPromise(p),w={name:h,mtime:new Date(Ii.SAFE_TIME*1e3)},v=r.has(A)?493:420,b,C,R=new Promise((_,V)=>{b=_,C=V}),L=_=>{_?C(_):b()};if(E.isFile()){let _;A==="package.json"?_=Buffer.from(JSON.stringify(await PBe(t),null,2)):_=await ae.readFilePromise(p),o.entry({...w,mode:v,type:"file"},_,L)}else E.isSymbolicLink()?o.entry({...w,mode:v,type:"symlink",linkname:await ae.readlinkPromise(p)},L):L(new Error(`Unsupported file type ${E.mode} for ${ue.fromPortablePath(A)}`));await R}o.finalize()});let a=(0,SBe.createGzip)();return o.pipe(a),a}async function PBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function jk(t){var w,v,b,C;let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let R of hBt)o.reject.push(R);for(let R of pBt)o.accept.push(R);o.reject.push(r.get("rcFilename"));let a=R=>{if(R===null||!R.startsWith(`${t.cwd}/`))return;let L=z.relative(t.cwd,R),_=z.resolve(wt.root,L);o.reject.push(_)};a(z.resolve(e.cwd,r.get("lockfileFilename"))),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(R=>R.populateYarnPaths,e,R=>{a(R)});for(let R of e.workspaces){let L=z.relative(t.cwd,R.cwd);L!==""&&!L.match(/^(\.\.)?\//)&&o.reject.push(`/${L}`)}let n={accept:[],reject:[]},u=((w=t.manifest.publishConfig)==null?void 0:w.main)??t.manifest.main,A=((v=t.manifest.publishConfig)==null?void 0:v.module)??t.manifest.module,p=((b=t.manifest.publishConfig)==null?void 0:b.browser)??t.manifest.browser,h=((C=t.manifest.publishConfig)==null?void 0:C.bin)??t.manifest.bin;u!=null&&n.accept.push(z.resolve(wt.root,u)),A!=null&&n.accept.push(z.resolve(wt.root,A)),typeof p=="string"&&n.accept.push(z.resolve(wt.root,p));for(let R of h.values())n.accept.push(z.resolve(wt.root,R));if(p instanceof Map)for(let[R,L]of p.entries())n.accept.push(z.resolve(wt.root,R)),typeof L=="string"&&n.accept.push(z.resolve(wt.root,L));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let R of t.manifest.files)xBe(n.accept,R,{cwd:wt.root})}return await gBt(t.cwd,{hasExplicitFileList:E,globalList:o,ignoreList:n})}async function gBt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new Gu(t),u=[[wt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!BBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(A),w=!1,v=!1;if(!e||A!==wt.root)for(let R of E)w=w||R===".gitignore",v=v||R===".npmignore";let b=v?await wBe(n,A,".npmignore"):w?await wBe(n,A,".gitignore"):null,C=b!==null?[b].concat(p):p;BBe(A,{globalList:r,ignoreLists:p})&&(C=[...p,{accept:[],reject:["**/*"]}]);for(let R of E)u.push([z.resolve(A,R),C])}else(h.isFile()||h.isSymbolicLink())&&a.push(z.relative(wt.root,A))}return a.sort()}async function wBe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(z.join(e,r),"utf8");for(let n of a.split(/\n/g))xBe(o.reject,n,{cwd:e});return o}function dBt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=z.resolve(e,t)),r&&(t=`!${t}`),t}function xBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(dBt(o,{cwd:r}))}function BBe(t,{globalList:e,ignoreLists:r}){let o=qk(t,e.accept);if(o!==0)return o===2;let a=qk(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=qk(t,n.accept);if(u!==0)return u===2;let A=qk(t,n.reject);if(A!==0)return A===1}return!1}function qk(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a][0]!=="!"?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a].slice(1)));return vBe(t,o)?2:vBe(t,r)?1:0}function vBe(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a].includes("/")?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a]));return!!(sG.default.isMatch(t,r,{dot:!0,nocase:!0})||sG.default.isMatch(t,o,{dot:!0,basename:!0,nocase:!0}))}var Lh=class extends ct{constructor(){super(...arguments);this.installIfNeeded=fe.Boolean("--install-if-needed",!1,{description:"Run a preliminary `yarn install` if the package contains build scripts"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the file paths without actually generating the package archive"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.out=fe.String("-o,--out",{description:"Create the archive at the specified path"});this.filename=fe.String("--filename",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await oG(a)&&(this.installIfNeeded?await o.install({cache:await Ur.find(r),report:new xi}):await o.restoreInstallState());let n=this.out??this.filename,u=typeof n<"u"?z.resolve(this.context.cwd,mBt(n,{workspace:a})):z.resolve(a.cwd,"package.tgz");return(await Et.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await aG(a,{report:p},async()=>{p.reportJson({base:ue.fromPortablePath(a.cwd)});let h=await jk(a);for(let E of h)p.reportInfo(null,ue.fromPortablePath(E)),p.reportJson({location:ue.fromPortablePath(E)});if(!this.dryRun){let E=await lG(a,h),w=ae.createWriteStream(u);E.pipe(w),await new Promise(v=>{w.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${ye.pretty(r,u,ye.Type.PATH)}`),p.reportJson({output:ue.fromPortablePath(u)}))})).exitCode()}};Lh.paths=[["pack"]],Lh.usage=it.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function mBt(t,{workspace:e}){let r=t.replace("%s",yBt(e)).replace("%v",CBt(e));return ue.toPortablePath(r)}function yBt(t){return t.manifest.name!==null?Y.slugifyIdent(t.manifest.name):"package"}function CBt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var EBt=["dependencies","devDependencies","peerDependencies"],IBt="workspace:",wBt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of EBt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=Y.parseRange(a.range);if(u.protocol===IBt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Vt(21,`${Y.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;Y.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?Y.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][Y.stringifyIdent(a)]=A}}},BBt={hooks:{beforeWorkspacePacking:wBt},commands:[Lh]},vBt=BBt;var OBe=Ie("crypto"),MBe=tt(LBe()),UBe=Ie("url");async function qBt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.project.configuration,A=t.manifest.name,p=t.manifest.version,h=Y.stringifyIdent(A),E=(0,OBe.createHash)("sha1").update(e).digest("hex"),w=MBe.default.fromData(e).toString();typeof r>"u"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:u.get("npmPublishAccess")!==null?r=u.get("npmPublishAccess"):A.scope?r="restricted":r="public");let v=await BA.genPackageManifest(t),b=`${h}-${p}.tgz`,C=new UBe.URL(`${EA(a)}/${h}/-/${b}`);return{_id:h,_attachments:{[b]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:h,access:r,["dist-tags"]:{[o]:p},versions:{[p]:{...v,_id:`${h}@${p}`,name:h,version:p,gitHead:n,dist:{shasum:E,integrity:w,tarball:C.toString()}}}}}async function jBt(t){try{let{stdout:e}=await Mr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var pG={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},_Be={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},GBt={configuration:{...pG,..._Be,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...pG,..._Be}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:EA,valueDefinition:{description:"",type:"SHAPE",properties:{...pG}}}},fetchers:[ZB,yl],resolvers:[$B,ev,tv]},WBt=GBt;var wG={};Yt(wG,{NpmAuditCommand:()=>Mh,NpmInfoCommand:()=>Uh,NpmLoginCommand:()=>_h,NpmLogoutCommand:()=>Hh,NpmPublishCommand:()=>qh,NpmTagAddCommand:()=>Gh,NpmTagListCommand:()=>jh,NpmTagRemoveCommand:()=>Wh,NpmWhoamiCommand:()=>Yh,default:()=>evt,npmAuditUtils:()=>Yk});Ke();_t();var mv=tt(Jo());tl();var Gk=(o=>(o.All="all",o.Production="production",o.Development="development",o))(Gk||{}),Wk=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(Wk||{});var Yk={};Yt(Yk,{allSeverities:()=>$E,getDependencies:()=>yG,getReportTree:()=>dG,getRequires:()=>mG,isError:()=>gG});Ke();var $E=["info","low","moderate","high","critical"];function qBe(t,e){let r=[],o=new Set,a=u=>{o.has(u)||(o.add(u),r.push(u))};for(let u of e)a(u);let n=new Set;for(;r.length>0;){let u=r.shift(),A=t.storedResolutions.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let p=t.storedPackages.get(A);if(!!p){n.add(u);for(let h of p.dependencies.values())a(h.descriptorHash)}}return n}function YBt(t,e){return new Set([...t].filter(r=>!e.has(r)))}function KBt(t,e,{all:r}){let o=r?t.workspaces:[e],a=o.map(v=>v.manifest),n=new Set(a.map(v=>[...v.dependencies].map(([b,C])=>b)).flat()),u=new Set(a.map(v=>[...v.devDependencies].map(([b,C])=>b)).flat()),A=o.map(v=>[...v.anchoredPackage.dependencies.values()]).flat(),p=A.filter(v=>n.has(v.identHash)).map(v=>v.descriptorHash),h=A.filter(v=>u.has(v.identHash)).map(v=>v.descriptorHash),E=qBe(t,p),w=qBe(t,h);return YBt(w,E)}function jBe(t){let e={};for(let r of t)e[Y.stringifyIdent(r)]=Y.parseRange(r.range).selector;return e}function GBe(t){if(typeof t>"u")return new Set($E);let e=$E.indexOf(t),r=$E.slice(e);return new Set(r)}function VBt(t,e){let r=GBe(e),o={};for(let a of r)o[a]=t[a];return o}function gG(t,e){let r=VBt(t,e);for(let o of Object.keys(r))if(r[o]??0>0)return!0;return!1}function dG(t,e){var n;let r={},o={children:r},a=Object.values(t.advisories);if(e!=null){let u=GBe(e);a=a.filter(A=>u.has(A.severity))}for(let u of Ye.sortMap(a,A=>A.module_name))r[u.module_name]={label:u.module_name,value:ye.tuple(ye.Type.RANGE,u.findings.map(A=>A.version).join(", ")),children:{ID:{label:"ID",value:ye.tuple(ye.Type.NUMBER,u.id)},Issue:{label:"Issue",value:ye.tuple(ye.Type.NO_HINT,u.title)},URL:{label:"URL",value:ye.tuple(ye.Type.URL,u.url)},Severity:{label:"Severity",value:ye.tuple(ye.Type.NO_HINT,u.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ye.tuple(ye.Type.RANGE,u.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ye.tuple(ye.Type.RANGE,u.patched_versions)},Via:{label:"Via",value:ye.tuple(ye.Type.NO_HINT,Array.from(new Set(u.findings.map(A=>A.paths).flat().map(A=>A.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ye.tuple(ye.Type.NO_HINT,(n=u.recommendation)==null?void 0:n.replace(/\n/g," "))}}};return o}function mG(t,e,{all:r,environment:o}){let a=r?t.workspaces:[e],n=["all","production"].includes(o),u=[];if(n)for(let h of a)for(let E of h.manifest.dependencies.values())u.push(E);let A=["all","development"].includes(o),p=[];if(A)for(let h of a)for(let E of h.manifest.devDependencies.values())p.push(E);return jBe([...u,...p].filter(h=>Y.parseRange(h.range).protocol===null))}function yG(t,e,{all:r}){let o=KBt(t,e,{all:r}),a={};for(let n of t.storedPackages.values())a[Y.stringifyIdent(n)]={version:n.version??"0.0.0",integrity:n.identHash,requires:jBe(n.dependencies.values()),dev:o.has(Y.convertLocatorToDescriptor(n).descriptorHash)};return a}var Mh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=fe.String("--environment","all",{description:"Which environments to cover",validator:Gs(Gk)});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=fe.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Gs(Wk)});this.excludes=fe.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=fe.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=mG(o,a,{all:this.all,environment:this.environment}),u=yG(o,a,{all:this.all});if(!this.recursive)for(let C of Object.keys(u))Object.prototype.hasOwnProperty.call(n,C)?u[C].requires={}:delete u[C];let A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes]));if(A){for(let C of Object.keys(n))mv.default.isMatch(C,A)&&delete n[C];for(let C of Object.keys(u))mv.default.isMatch(C,A)&&delete u[C];for(let C of Object.keys(u))for(let R of Object.keys(u[C].requires))mv.default.isMatch(R,A)&&delete u[C].requires[R]}let p={requires:n,dependencies:u},h=Wn.getAuditRegistry({configuration:r}),E,w=await pA.start({configuration:r,stdout:this.context.stdout},async()=>{E=await an.post("/-/npm/v1/security/audits/quick",p,{authType:an.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h})});if(w.hasErrors())return w.exitCode();let v=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(v){for(let C of Object.keys(E.advisories))if(mv.default.isMatch(C,v)){let R=E.advisories[C],L=0;R.findings.forEach(_=>L+=_.paths.length),E.metadata.vulnerabilities[R.severity]-=L,delete E.advisories[C]}}let b=gG(E.metadata.vulnerabilities,this.severity);return!this.json&&b?(Zo.emitTree(dG(E,this.severity),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Et.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(E),b||C.reportInfo(1,"No audit suggestions")}),b?1:0)}};Mh.paths=[["npm","audit"]],Mh.usage=it.Usage({description:"perform a vulnerability audit against the installed packages",details:`
666 This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). 668 This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).
667 669
668 For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. 670 For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`.
669 671
670 Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${VC.map(r=>`\`${r}\``).join(", ")}. 672 Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${$E.map(r=>`\`${r}\``).join(", ")}.
671 673
672 If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. 674 If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.
673 675
@@ -676,32 +678,32 @@ ${Qe.map(Le=>`Not found: ${uu(Le)}
676 If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. 678 If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option.
677 679
678 To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why <package>\` to get more information as to who depends on them. 680 To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why <package>\` to get more information as to who depends on them.
679 `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});Ke();Ke();bt();_t();var p9=tt(ii()),h9=Ie("util"),Lh=class extends ct{constructor(){super(...arguments);this.fields=fe.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Ct.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let C;if(h==="."){let oe=o.topLevelWorkspace;if(!oe.manifest.name)throw new ot(`Missing ${ye.pretty(r,"name",ye.Type.CODE)} field in ${Ae.fromPortablePath(V.join(oe.cwd,Lr.manifest))}`);C=Y.makeDescriptor(oe.manifest.name,"unknown")}else C=Y.parseDescriptor(h);let w=an.getIdentUrl(C),v=g9(await an.get(w,{configuration:r,ident:C,jsonResponse:!0,customErrorMessage:an.customPackageError})),b=Object.keys(v.versions).sort(p9.default.compareLoose),R=v["dist-tags"].latest||b[b.length-1],L=Tr.validRange(C.range);if(L){let oe=p9.default.maxSatisfying(b,L);oe!==null?R=oe:(p.reportWarning(0,`Unmet range ${Y.prettyRange(r,C.range)}; falling back to the latest version`),u=!0)}else Object.prototype.hasOwnProperty.call(v["dist-tags"],C.range)?R=v["dist-tags"][C.range]:C.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${Y.prettyRange(r,C.range)}; falling back to the latest version`),u=!0);let _=v.versions[R],J={...v,..._,version:R,versions:b},re;if(a!==null){re={};for(let oe of a){let pe=J[oe];if(typeof pe<"u")re[oe]=pe;else{p.reportWarning(1,`The ${ye.pretty(r,oe,ye.Type.CODE)} field doesn't exist inside ${Y.prettyIdent(r,C)}'s information`),u=!0;continue}}}else this.json||(delete J.dist,delete J.readme,delete J.users),re=J;p.reportJson(re),this.json||n.push(re)}});h9.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` 681 `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});Ke();Ke();bt();_t();var CG=tt(si()),EG=Ie("util"),Uh=class extends ct{constructor(){super(...arguments);this.fields=fe.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Et.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let oe=o.topLevelWorkspace;if(!oe.manifest.name)throw new ot(`Missing ${ye.pretty(r,"name",ye.Type.CODE)} field in ${ue.fromPortablePath(z.join(oe.cwd,Lr.manifest))}`);E=Y.makeDescriptor(oe.manifest.name,"unknown")}else E=Y.parseDescriptor(h);let w=an.getIdentUrl(E),v=IG(await an.get(w,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:an.customPackageError})),b=Object.keys(v.versions).sort(CG.default.compareLoose),R=v["dist-tags"].latest||b[b.length-1],L=Tr.validRange(E.range);if(L){let oe=CG.default.maxSatisfying(b,L);oe!==null?R=oe:(p.reportWarning(0,`Unmet range ${Y.prettyRange(r,E.range)}; falling back to the latest version`),u=!0)}else Object.prototype.hasOwnProperty.call(v["dist-tags"],E.range)?R=v["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${Y.prettyRange(r,E.range)}; falling back to the latest version`),u=!0);let _=v.versions[R],V={...v,..._,version:R,versions:b},re;if(a!==null){re={};for(let oe of a){let pe=V[oe];if(typeof pe<"u")re[oe]=pe;else{p.reportWarning(1,`The ${ye.pretty(r,oe,ye.Type.CODE)} field doesn't exist inside ${Y.prettyIdent(r,E)}'s information`),u=!0;continue}}}else this.json||(delete V.dist,delete V.readme,delete V.users),re=V;p.reportJson(re),this.json||n.push(re)}});EG.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(`
680`),this.context.stdout.write(`${(0,h9.inspect)(p,{depth:1/0,colors:!0,compact:!1})} 682`),this.context.stdout.write(`${(0,EG.inspect)(p,{depth:1/0,colors:!0,compact:!1})}
681`);return A.exitCode()}};Lh.paths=[["npm","info"]],Lh.usage=it.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function g9(t){if(Array.isArray(t)){let e=[];for(let r of t)r=g9(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=g9(t[r]);o&&(e[r]=o)}return e}else return t||null}Ke();Ke();_t();var TBe=tt(Y1()),Oh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Wk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ct.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await LBt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=`/-/user/org.couchdb.user:${encodeURIComponent(u.name)}`,p=await an.put(A,u,{attemptedAs:u.name,configuration:r,registry:o,jsonResponse:!0,authType:an.AuthType.NO_AUTH});return await NBt(o,p.token,{configuration:r,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};Oh.paths=[["npm","login"]],Oh.usage=it.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Wk({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?Gn.getScopeRegistry(t,{configuration:r,type:Gn.RegistryType.PUBLISH_REGISTRY}):t?Gn.getScopeRegistry(t,{configuration:r}):e?Gn.getPublishRegistry((await iC(r,o)).manifest,{configuration:r}):Gn.getDefaultRegistry({configuration:r})}async function NBt(t,e,{configuration:r,scope:o}){let a=u=>A=>{let p=Ye.isIndexableObject(A)?A:{},h=p[u],C=Ye.isIndexableObject(h)?h:{};return{...p,[u]:{...C,npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Xe.updateHomeConfiguration(n)}async function LBt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${ye.pretty(t,e,ye.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:u,password:A}=await(0,TBe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),{name:u,password:A}}Ke();Ke();_t();var zC=new Set(["npmAuthIdent","npmAuthToken"]),Mh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=fe.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await Wk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Xe.find(this.context.cwd,this.context.plugins),A=Y.makeIdent(this.scope??null,"pkg");return!Gn.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await MBt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await NBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await Wk({configuration:r,cwd:this.context.cwd,publish:this.publish});await NBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Mh.paths=[["npm","logout"]],Mh.usage=it.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function OBt(t,e){let r=t[e];if(!Ye.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...zC].every(n=>!o.has(n)))return!1;for(let n of zC)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of zC)delete a[n];return t[e]=a,!0}async function MBt(){let t=e=>{let r=!1,o=Ye.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))OBt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Xe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function NBe(t,e){return await Xe.updateHomeConfiguration({[t]:r=>{let o=Ye.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(o,e))return r;let a=o[e],n=Ye.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...zC].every(p=>!u.has(p)))return r;for(let p of zC)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of zC)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}Ke();_t();var Uh=class extends ct{constructor(){super(...arguments);this.access=fe.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=fe.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=fe.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=fe.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);if(a.manifest.private)throw new ot("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new ot("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=Gn.getPublishRegistry(a.manifest,{configuration:r});return(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{var C,w;if(this.tolerateRepublish)try{let v=await an.get(an.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(v,"versions"))throw new Jt(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(v.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(v){if(((w=(C=v.originalError)==null?void 0:C.response)==null?void 0:w.statusCode)!==404)throw v}await sn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await IA.prepareForPack(a,{report:h},async()=>{let v=await IA.genPackList(a);for(let _ of v)h.reportInfo(null,_);let b=await IA.genPackStream(a,v),E=await Ye.bufferStream(b),R=await JC.getGitHead(a.cwd),L=await JC.makePublishBody(a,E,{access:this.access,tag:this.tag,registry:A,gitHead:R});await an.put(an.getIdentUrl(n),L,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};Uh.paths=[["npm","publish"]],Uh.usage=it.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});Ke();_t();var LBe=tt(ii());Ke();bt();_t();var _h=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n;if(typeof this.package<"u")n=Y.parseIdent(this.package);else{if(!a)throw new er(o.cwd,this.context.cwd);if(!a.manifest.name)throw new ot(`Missing 'name' field in ${Ae.fromPortablePath(V.join(a.cwd,Lr.manifest))}`);n=a.manifest.name}let u=await Av(n,r),p={children:Ye.sortMap(Object.entries(u),([h])=>h).map(([h,C])=>({value:ye.tuple(ye.Type.RESOLUTION,{descriptor:Y.makeDescriptor(n,h),locator:Y.makeLocator(n,C)})}))};return Xo.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};_h.paths=[["npm","tag","list"]],_h.usage=it.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` 683`);return A.exitCode()}};Uh.paths=[["npm","info"]],Uh.usage=it.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function IG(t){if(Array.isArray(t)){let e=[];for(let r of t)r=IG(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=IG(t[r]);o&&(e[r]=o)}return e}else return t||null}Ke();Ke();_t();var WBe=tt(z1()),_h=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Kk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Et.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await zBt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=`/-/user/org.couchdb.user:${encodeURIComponent(u.name)}`,p=await an.put(A,u,{attemptedAs:u.name,configuration:r,registry:o,jsonResponse:!0,authType:an.AuthType.NO_AUTH});return await JBt(o,p.token,{configuration:r,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};_h.paths=[["npm","login"]],_h.usage=it.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Kk({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?Wn.getScopeRegistry(t,{configuration:r,type:Wn.RegistryType.PUBLISH_REGISTRY}):t?Wn.getScopeRegistry(t,{configuration:r}):e?Wn.getPublishRegistry((await cE(r,o)).manifest,{configuration:r}):Wn.getDefaultRegistry({configuration:r})}async function JBt(t,e,{configuration:r,scope:o}){let a=u=>A=>{let p=Ye.isIndexableObject(A)?A:{},h=p[u],E=Ye.isIndexableObject(h)?h:{};return{...p,[u]:{...E,npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Xe.updateHomeConfiguration(n)}async function zBt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${ye.pretty(t,e,ye.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:u,password:A}=await(0,WBe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),{name:u,password:A}}Ke();Ke();_t();var eI=new Set(["npmAuthIdent","npmAuthToken"]),Hh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=fe.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await Kk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Xe.find(this.context.cwd,this.context.plugins),A=Y.makeIdent(this.scope??null,"pkg");return!Wn.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await ZBt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await YBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await Kk({configuration:r,cwd:this.context.cwd,publish:this.publish});await YBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Hh.paths=[["npm","logout"]],Hh.usage=it.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function XBt(t,e){let r=t[e];if(!Ye.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...eI].every(n=>!o.has(n)))return!1;for(let n of eI)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of eI)delete a[n];return t[e]=a,!0}async function ZBt(){let t=e=>{let r=!1,o=Ye.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))XBt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Xe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function YBe(t,e){return await Xe.updateHomeConfiguration({[t]:r=>{let o=Ye.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(o,e))return r;let a=o[e],n=Ye.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...eI].every(p=>!u.has(p)))return r;for(let p of eI)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of eI)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}Ke();_t();var qh=class extends ct{constructor(){super(...arguments);this.access=fe.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=fe.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=fe.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=fe.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);if(a.manifest.private)throw new ot("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new ot("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=Wn.getPublishRegistry(a.manifest,{configuration:r});return(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{var E,w;if(this.tolerateRepublish)try{let v=await an.get(an.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(v,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(v.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(v){if(((w=(E=v.originalError)==null?void 0:E.response)==null?void 0:w.statusCode)!==404)throw v}await sn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await BA.prepareForPack(a,{report:h},async()=>{let v=await BA.genPackList(a);for(let _ of v)h.reportInfo(null,_);let b=await BA.genPackStream(a,v),C=await Ye.bufferStream(b),R=await ZE.getGitHead(a.cwd),L=await ZE.makePublishBody(a,C,{access:this.access,tag:this.tag,registry:A,gitHead:R});await an.put(an.getIdentUrl(n),L,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};qh.paths=[["npm","publish"]],qh.usage=it.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});Ke();_t();var KBe=tt(si());Ke();bt();_t();var jh=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n;if(typeof this.package<"u")n=Y.parseIdent(this.package);else{if(!a)throw new er(o.cwd,this.context.cwd);if(!a.manifest.name)throw new ot(`Missing 'name' field in ${ue.fromPortablePath(z.join(a.cwd,Lr.manifest))}`);n=a.manifest.name}let u=await yv(n,r),p={children:Ye.sortMap(Object.entries(u),([h])=>h).map(([h,E])=>({value:ye.tuple(ye.Type.RESOLUTION,{descriptor:Y.makeDescriptor(n,h),locator:Y.makeLocator(n,E)})}))};return Zo.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};jh.paths=[["npm","tag","list"]],jh.usage=it.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:`
682 This command will list all tags of a package from the npm registry. 684 This command will list all tags of a package from the npm registry.
683 685
684 If the package is not specified, Yarn will default to the current workspace. 686 If the package is not specified, Yarn will default to the current workspace.
685 `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function Av(t,e){let r=`/-/package${an.getIdentUrl(t)}/dist-tags`;return an.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:an.customPackageError})}var Hh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseDescriptor(this.package,!0),u=n.range;if(!LBe.default.valid(u))throw new ot(`The range ${ye.pretty(r,n.range,ye.Type.RANGE)} must be a valid semver version`);let A=Gn.getPublishRegistry(a.manifest,{configuration:r}),p=ye.pretty(r,n,ye.Type.IDENT),h=ye.pretty(r,u,ye.Type.RANGE),C=ye.pretty(r,this.tag,ye.Type.CODE);return(await Ct.start({configuration:r,stdout:this.context.stdout},async v=>{let b=await Av(n,r);Object.prototype.hasOwnProperty.call(b,this.tag)&&b[this.tag]===u&&v.reportWarning(0,`Tag ${C} is already set to version ${h}`);let E=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.put(E,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${C} added to version ${h} of package ${p}`)})).exitCode()}};Hh.paths=[["npm","tag","add"]],Hh.usage=it.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` 687 `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function yv(t,e){let r=`/-/package${an.getIdentUrl(t)}/dist-tags`;return an.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:an.customPackageError})}var Gh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseDescriptor(this.package,!0),u=n.range;if(!KBe.default.valid(u))throw new ot(`The range ${ye.pretty(r,n.range,ye.Type.RANGE)} must be a valid semver version`);let A=Wn.getPublishRegistry(a.manifest,{configuration:r}),p=ye.pretty(r,n,ye.Type.IDENT),h=ye.pretty(r,u,ye.Type.RANGE),E=ye.pretty(r,this.tag,ye.Type.CODE);return(await Et.start({configuration:r,stdout:this.context.stdout},async v=>{let b=await yv(n,r);Object.prototype.hasOwnProperty.call(b,this.tag)&&b[this.tag]===u&&v.reportWarning(0,`Tag ${E} is already set to version ${h}`);let C=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.put(C,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};Gh.paths=[["npm","tag","add"]],Gh.usage=it.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:`
686 This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. 688 This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.
687 `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});Ke();_t();var qh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){if(this.tag==="latest")throw new ot("The 'latest' tag cannot be removed.");let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseIdent(this.package),u=Gn.getPublishRegistry(a.manifest,{configuration:r}),A=ye.pretty(r,this.tag,ye.Type.CODE),p=ye.pretty(r,n,ye.Type.IDENT),h=await Av(n,r);if(!Object.prototype.hasOwnProperty.call(h,this.tag))throw new ot(`${A} is not a tag of package ${p}`);return(await Ct.start({configuration:r,stdout:this.context.stdout},async w=>{let v=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),w.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};qh.paths=[["npm","tag","remove"]],qh.usage=it.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` 689 `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});Ke();_t();var Wh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){if(this.tag==="latest")throw new ot("The 'latest' tag cannot be removed.");let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseIdent(this.package),u=Wn.getPublishRegistry(a.manifest,{configuration:r}),A=ye.pretty(r,this.tag,ye.Type.CODE),p=ye.pretty(r,n,ye.Type.IDENT),h=await yv(n,r);if(!Object.prototype.hasOwnProperty.call(h,this.tag))throw new ot(`${A} is not a tag of package ${p}`);return(await Et.start({configuration:r,stdout:this.context.stdout},async w=>{let v=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),w.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};Wh.paths=[["npm","tag","remove"]],Wh.usage=it.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:`
688 This command will remove a tag from a package from the npm registry. 690 This command will remove a tag from a package from the npm registry.
689 `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});Ke();Ke();_t();var jh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=Gn.getScopeRegistry(this.scope,{configuration:r,type:Gn.RegistryType.PUBLISH_REGISTRY}):this.scope?o=Gn.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=Gn.getPublishRegistry((await iC(r,this.context.cwd)).manifest,{configuration:r}):o=Gn.getDefaultRegistry({configuration:r}),(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{var A,p;let u;try{u=await an.get("/-/whoami",{configuration:r,registry:o,authType:an.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?Y.makeIdent(this.scope,""):void 0})}catch(h){if(((A=h.response)==null?void 0:A.statusCode)===401||((p=h.response)==null?void 0:p.statusCode)===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw h}n.reportInfo(0,u.username)})).exitCode()}};jh.paths=[["npm","whoami"]],jh.usage=it.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var UBt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[Nh,Lh,Oh,Mh,Uh,Hh,_h,qh,jh]},_Bt=UBt;var B9={};Yt(B9,{PatchCommand:()=>Yh,PatchCommitCommand:()=>Wh,PatchFetcher:()=>dv,PatchResolver:()=>mv,default:()=>ivt,patchUtils:()=>Bm});Ke();Ke();bt();Oc();var Bm={};Yt(Bm,{applyPatchFile:()=>Kk,diffFolders:()=>I9,ensureUnpatchedDescriptor:()=>m9,ensureUnpatchedLocator:()=>Vk,extractPackageToDisk:()=>C9,extractPatchFlags:()=>jBe,isParentRequired:()=>E9,isPatchDescriptor:()=>Jk,isPatchLocator:()=>Gh,loadPatchFiles:()=>gv,makeDescriptor:()=>zk,makeLocator:()=>y9,makePatchHash:()=>w9,parseDescriptor:()=>pv,parseLocator:()=>hv,parsePatchFile:()=>fv,unpatchDescriptor:()=>tvt,unpatchLocator:()=>rvt});Ke();bt();Ke();bt();var HBt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function XC(t){return V.relative(wt.root,V.resolve(wt.root,Ae.toPortablePath(t)))}function qBt(t){let e=t.trim().match(HBt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var jBt=420,GBt=493;var OBe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),WBt=t=>({header:qBt(t),parts:[]}),YBt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function KBt(t){let e=[],r=OBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=OBe()}for(let p=0;p<t.length;p++){let h=t[p];if(o==="parsing header")if(h.startsWith("@@"))o="parsing hunks",r.hunks=[],p-=1;else if(h.startsWith("diff --git ")){r&&r.diffLineFromPath&&A();let C=h.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!C)throw new Error(`Bad diff line: ${h}`);r.diffLineFromPath=C[1],r.diffLineToPath=C[2]}else if(h.startsWith("old mode "))r.oldMode=h.slice(9).trim();else if(h.startsWith("new mode "))r.newMode=h.slice(9).trim();else if(h.startsWith("deleted file mode "))r.deletedFileMode=h.slice(18).trim();else if(h.startsWith("new file mode "))r.newFileMode=h.slice(14).trim();else if(h.startsWith("rename from "))r.renameFrom=h.slice(12).trim();else if(h.startsWith("rename to "))r.renameTo=h.slice(10).trim();else if(h.startsWith("index ")){let C=h.match(/(\w+)\.\.(\w+)/);if(!C)continue;r.beforeHash=C[1],r.afterHash=C[2]}else h.startsWith("semver exclusivity ")?r.semverExclusivity=h.slice(19).trim():h.startsWith("--- ")?r.fromPath=h.slice(6).trim():h.startsWith("+++ ")&&(r.toPath=h.slice(6).trim());else{let C=YBt[h[0]]||null;switch(C){case"header":u(),a=WBt(h);break;case null:o="parsing header",A(),p-=1;break;case"pragma":{if(!h.startsWith("\\ No newline at end of file"))throw new Error(`Unrecognized pragma in patch file: ${h}`);if(!n)throw new Error("Bad parser state: No newline at EOF pragma encountered without context");n.noNewlineAtEndOfFile=!0}break;case"context":case"deletion":case"insertion":{if(!a)throw new Error("Bad parser state: Hunk lines encountered before hunk header");n&&n.type!==C&&(a.parts.push(n),n=null),n||(n={type:C,lines:[],noNewlineAtEndOfFile:!1}),n.lines.push(h.slice(1))}break;default:Ye.assertNever(C);break}}}A();for(let{hunks:p}of e)if(p)for(let h of p)VBt(h);return e}function JBt(t){let e=[];for(let r of t){let{semverExclusivity:o,diffLineFromPath:a,diffLineToPath:n,oldMode:u,newMode:A,deletedFileMode:p,newFileMode:h,renameFrom:C,renameTo:w,beforeHash:v,afterHash:b,fromPath:E,toPath:R,hunks:L}=r,_=C?"rename":p?"file deletion":h?"file creation":L&&L.length>0?"patch":"mode change",J=null;switch(_){case"rename":{if(!C||!w)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:XC(C),toPath:XC(w)}),J=w}break;case"file deletion":{let re=a||E;if(!re)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:L&&L[0]||null,path:XC(re),mode:Yk(p),hash:v})}break;case"file creation":{let re=n||R;if(!re)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:L&&L[0]||null,path:XC(re),mode:Yk(h),hash:b})}break;case"patch":case"mode change":J=R||n;break;default:Ye.assertNever(_);break}J&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:XC(J),oldMode:Yk(u),newMode:Yk(A)}),J&&L&&L.length&&e.push({type:"patch",semverExclusivity:o,path:XC(J),hunks:L,beforeHash:v,afterHash:b})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Yk(t){let e=parseInt(t,8)&511;if(e!==jBt&&e!==GBt)throw new Error(`Unexpected file mode string: ${t}`);return e}function fv(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),JBt(KBt(e))}function VBt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:Ye.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}Ke();bt();var ZC=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function $C(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function Kk(t,{baseFs:e=new xn,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Tr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await $C(e,V.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await $C(e,V.dirname(a.fromPath),async()=>{await $C(e,V.dirname(a.toPath),async()=>{await $C(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` 691 `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});Ke();Ke();_t();var Yh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=Wn.getScopeRegistry(this.scope,{configuration:r,type:Wn.RegistryType.PUBLISH_REGISTRY}):this.scope?o=Wn.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=Wn.getPublishRegistry((await cE(r,this.context.cwd)).manifest,{configuration:r}):o=Wn.getDefaultRegistry({configuration:r}),(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{var A,p;let u;try{u=await an.get("/-/whoami",{configuration:r,registry:o,authType:an.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?Y.makeIdent(this.scope,""):void 0})}catch(h){if(((A=h.response)==null?void 0:A.statusCode)===401||((p=h.response)==null?void 0:p.statusCode)===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw h}n.reportInfo(0,u.username)})).exitCode()}};Yh.paths=[["npm","whoami"]],Yh.usage=it.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var $Bt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[Mh,Uh,_h,Hh,qh,Gh,jh,Wh,Yh]},evt=$Bt;var bG={};Yt(bG,{PatchCommand:()=>Jh,PatchCommitCommand:()=>Vh,PatchFetcher:()=>Bv,PatchResolver:()=>vv,default:()=>yvt,patchUtils:()=>Pm});Ke();Ke();bt();_c();var Pm={};Yt(Pm,{applyPatchFile:()=>Jk,diffFolders:()=>PG,ensureUnpatchedDescriptor:()=>BG,ensureUnpatchedLocator:()=>Xk,extractPackageToDisk:()=>SG,extractPatchFlags:()=>eve,isParentRequired:()=>DG,isPatchDescriptor:()=>zk,isPatchLocator:()=>Kh,loadPatchFiles:()=>wv,makeDescriptor:()=>Zk,makeLocator:()=>vG,makePatchHash:()=>xG,parseDescriptor:()=>Ev,parseLocator:()=>Iv,parsePatchFile:()=>Cv,unpatchDescriptor:()=>gvt,unpatchLocator:()=>dvt});Ke();bt();Ke();bt();var tvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function tI(t){return z.relative(wt.root,z.resolve(wt.root,ue.toPortablePath(t)))}function rvt(t){let e=t.trim().match(tvt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var nvt=420,ivt=493;var VBe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),svt=t=>({header:rvt(t),parts:[]}),ovt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function avt(t){let e=[],r=VBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=VBe()}for(let p=0;p<t.length;p++){let h=t[p];if(o==="parsing header")if(h.startsWith("@@"))o="parsing hunks",r.hunks=[],p-=1;else if(h.startsWith("diff --git ")){r&&r.diffLineFromPath&&A();let E=h.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!E)throw new Error(`Bad diff line: ${h}`);r.diffLineFromPath=E[1],r.diffLineToPath=E[2]}else if(h.startsWith("old mode "))r.oldMode=h.slice(9).trim();else if(h.startsWith("new mode "))r.newMode=h.slice(9).trim();else if(h.startsWith("deleted file mode "))r.deletedFileMode=h.slice(18).trim();else if(h.startsWith("new file mode "))r.newFileMode=h.slice(14).trim();else if(h.startsWith("rename from "))r.renameFrom=h.slice(12).trim();else if(h.startsWith("rename to "))r.renameTo=h.slice(10).trim();else if(h.startsWith("index ")){let E=h.match(/(\w+)\.\.(\w+)/);if(!E)continue;r.beforeHash=E[1],r.afterHash=E[2]}else h.startsWith("semver exclusivity ")?r.semverExclusivity=h.slice(19).trim():h.startsWith("--- ")?r.fromPath=h.slice(6).trim():h.startsWith("+++ ")&&(r.toPath=h.slice(6).trim());else{let E=ovt[h[0]]||null;switch(E){case"header":u(),a=svt(h);break;case null:o="parsing header",A(),p-=1;break;case"pragma":{if(!h.startsWith("\\ No newline at end of file"))throw new Error(`Unrecognized pragma in patch file: ${h}`);if(!n)throw new Error("Bad parser state: No newline at EOF pragma encountered without context");n.noNewlineAtEndOfFile=!0}break;case"context":case"deletion":case"insertion":{if(!a)throw new Error("Bad parser state: Hunk lines encountered before hunk header");n&&n.type!==E&&(a.parts.push(n),n=null),n||(n={type:E,lines:[],noNewlineAtEndOfFile:!1}),n.lines.push(h.slice(1))}break;default:Ye.assertNever(E);break}}}A();for(let{hunks:p}of e)if(p)for(let h of p)cvt(h);return e}function lvt(t){let e=[];for(let r of t){let{semverExclusivity:o,diffLineFromPath:a,diffLineToPath:n,oldMode:u,newMode:A,deletedFileMode:p,newFileMode:h,renameFrom:E,renameTo:w,beforeHash:v,afterHash:b,fromPath:C,toPath:R,hunks:L}=r,_=E?"rename":p?"file deletion":h?"file creation":L&&L.length>0?"patch":"mode change",V=null;switch(_){case"rename":{if(!E||!w)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:tI(E),toPath:tI(w)}),V=w}break;case"file deletion":{let re=a||C;if(!re)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:L&&L[0]||null,path:tI(re),mode:Vk(p),hash:v})}break;case"file creation":{let re=n||R;if(!re)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:L&&L[0]||null,path:tI(re),mode:Vk(h),hash:b})}break;case"patch":case"mode change":V=R||n;break;default:Ye.assertNever(_);break}V&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:tI(V),oldMode:Vk(u),newMode:Vk(A)}),V&&L&&L.length&&e.push({type:"patch",semverExclusivity:o,path:tI(V),hunks:L,beforeHash:v,afterHash:b})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Vk(t){let e=parseInt(t,8)&511;if(e!==nvt&&e!==ivt)throw new Error(`Unexpected file mode string: ${t}`);return e}function Cv(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),lvt(avt(e))}function cvt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:Ye.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}Ke();bt();var rI=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function nI(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function Jk(t,{baseFs:e=new xn,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Tr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await nI(e,z.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await nI(e,z.dirname(a.fromPath),async()=>{await nI(e,z.dirname(a.toPath),async()=>{await nI(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(`
690`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` 692`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":`
691`):"";await e.mkdirpPromise(V.dirname(a.path),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,Ii.SAFE_TIME,Ii.SAFE_TIME)}break;case"patch":await $C(e,a.path,async()=>{await ZBt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(MBe(a.newMode)!==MBe(u))continue;await $C(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:Ye.assertNever(a);break}}function MBe(t){return(t&64)>0}function UBe(t){return t.replace(/\s+$/,"")}function XBt(t,e){return UBe(t)===UBe(e)}async function ZBt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let w of t){let v=Math.max(h,w.header.patched.start+p),b=Math.max(0,v-h),E=Math.max(0,u.length-v-w.header.original.length),R=Math.max(b,E),L=0,_=0,J=null;for(;L<=R;){if(L<=b&&(_=v-L,J=_Be(w,u,_),J!==null)){L=-L;break}if(L<=E&&(_=v+L,J=_Be(w,u,_),J!==null))break;L+=1}if(J===null)throw new ZC(t.indexOf(w),w);A.push(J),p+=L,h=_+w.header.original.length}if(o)return;let C=0;for(let w of A)for(let v of w)switch(v.type){case"splice":{let b=v.index+C;u.splice(b,v.numToDelete,...v.linesToInsert),C+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:Ye.assertNever(v);break}await r.writeFilePromise(e,u.join(` 693`):"";await e.mkdirpPromise(z.dirname(a.path),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,Ii.SAFE_TIME,Ii.SAFE_TIME)}break;case"patch":await nI(e,a.path,async()=>{await fvt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(JBe(a.newMode)!==JBe(u))continue;await nI(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:Ye.assertNever(a);break}}function JBe(t){return(t&64)>0}function zBe(t){return t.replace(/\s+$/,"")}function Avt(t,e){return zBe(t)===zBe(e)}async function fvt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let w of t){let v=Math.max(h,w.header.patched.start+p),b=Math.max(0,v-h),C=Math.max(0,u.length-v-w.header.original.length),R=Math.max(b,C),L=0,_=0,V=null;for(;L<=R;){if(L<=b&&(_=v-L,V=XBe(w,u,_),V!==null)){L=-L;break}if(L<=C&&(_=v+L,V=XBe(w,u,_),V!==null))break;L+=1}if(V===null)throw new rI(t.indexOf(w),w);A.push(V),p+=L,h=_+w.header.original.length}if(o)return;let E=0;for(let w of A)for(let v of w)switch(v.type){case"splice":{let b=v.index+E;u.splice(b,v.numToDelete,...v.linesToInsert),E+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:Ye.assertNever(v);break}await r.writeFilePromise(e,u.join(`
692`),{mode:a})}function _Be(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!XBt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:Ye.assertNever(a.type);break}return o}var evt=/^builtin<([^>]+)>$/;function eI(t,e){let{protocol:r,source:o,selector:a,params:n}=Y.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(C=>Ae.toPortablePath(C)):[],A=n&&typeof n.locator=="string"?Y.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function Jk(t){return t.range.startsWith("patch:")}function Gh(t){return t.reference.startsWith("patch:")}function pv(t){let{sourceItem:e,...r}=eI(t.range,Y.parseDescriptor);return{...r,sourceDescriptor:e}}function hv(t){let{sourceItem:e,...r}=eI(t.reference,Y.parseLocator);return{...r,sourceLocator:e}}function tvt(t){let{sourceItem:e}=eI(t.range,Y.parseDescriptor);return e}function rvt(t){let{sourceItem:e}=eI(t.reference,Y.parseLocator);return e}function m9(t){if(!Jk(t))return t;let{sourceItem:e}=eI(t.range,Y.parseDescriptor);return e}function Vk(t){if(!Gh(t))return t;let{sourceItem:e}=eI(t.reference,Y.parseLocator);return e}function HBe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:Y.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return Y.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function zk(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return Y.makeDescriptor(t,HBe({parentLocator:e,sourceItem:r,patchPaths:o},Y.stringifyDescriptor))}function y9(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return Y.makeLocator(t,HBe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},Y.stringifyLocator))}function qBe({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(evt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):V.isAbsolute(a)?t(a):e(a)}function jBe(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function E9(t){return qBe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function gv(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await Ye.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=jBe(u),p=await qBe({onAbsolute:async h=>await ae.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(V.join(a.prefixPath,h),"utf8")},onProject:async h=>await ae.readFilePromise(V.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(C=>C.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` 694`),{mode:a})}function XBe(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!Avt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:Ye.assertNever(a.type);break}return o}var hvt=/^builtin<([^>]+)>$/;function iI(t,e){let{protocol:r,source:o,selector:a,params:n}=Y.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(E=>ue.toPortablePath(E)):[],A=n&&typeof n.locator=="string"?Y.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function zk(t){return t.range.startsWith("patch:")}function Kh(t){return t.reference.startsWith("patch:")}function Ev(t){let{sourceItem:e,...r}=iI(t.range,Y.parseDescriptor);return{...r,sourceDescriptor:e}}function Iv(t){let{sourceItem:e,...r}=iI(t.reference,Y.parseLocator);return{...r,sourceLocator:e}}function gvt(t){let{sourceItem:e}=iI(t.range,Y.parseDescriptor);return e}function dvt(t){let{sourceItem:e}=iI(t.reference,Y.parseLocator);return e}function BG(t){if(!zk(t))return t;let{sourceItem:e}=iI(t.range,Y.parseDescriptor);return e}function Xk(t){if(!Kh(t))return t;let{sourceItem:e}=iI(t.reference,Y.parseLocator);return e}function ZBe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:Y.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return Y.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function Zk(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return Y.makeDescriptor(t,ZBe({parentLocator:e,sourceItem:r,patchPaths:o},Y.stringifyDescriptor))}function vG(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return Y.makeLocator(t,ZBe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},Y.stringifyLocator))}function $Be({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(hvt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):z.isAbsolute(a)?t(a):e(a)}function eve(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function DG(t){return $Be({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function wv(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await Ye.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=eve(u),p=await $Be({onAbsolute:async h=>await ae.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(z.join(a.prefixPath,h),"utf8")},onProject:async h=>await ae.readFilePromise(z.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,`
693`));return n}async function C9(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=Vk(t),n=r.storedChecksums,u=new xi,A=await ae.mktempPromise(),p=V.join(A,"source"),h=V.join(A,"user"),C=V.join(A,".yarn-patch.json"),w=r.configuration.makeFetcher(),v=[];try{let b,E;if(t.locatorHash===a.locatorHash){let R=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u});v.push(()=>{var L;return(L=R.releaseFs)==null?void 0:L.call(R)}),b=R,E=R}else b=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=b.releaseFs)==null?void 0:R.call(b)}),E=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=E.releaseFs)==null?void 0:R.call(E)});await Promise.all([ae.copyPromise(p,b.prefixPath,{baseFs:b.packageFs}),ae.copyPromise(h,E.prefixPath,{baseFs:E.packageFs}),ae.writeJsonPromise(C,{locator:Y.stringifyLocator(t),version:o.version})])}finally{for(let b of v)b()}return ae.detachTemp(A),h}async function I9(t,e){let r=Ae.fromPortablePath(t).replace(/\\/g,"/"),o=Ae.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Mr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:Ae.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. 695`));return n}async function SG(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=Xk(t),n=r.storedChecksums,u=new xi,A=await ae.mktempPromise(),p=z.join(A,"source"),h=z.join(A,"user"),E=z.join(A,".yarn-patch.json"),w=r.configuration.makeFetcher(),v=[];try{let b,C;if(t.locatorHash===a.locatorHash){let R=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u});v.push(()=>{var L;return(L=R.releaseFs)==null?void 0:L.call(R)}),b=R,C=R}else b=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=b.releaseFs)==null?void 0:R.call(b)}),C=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=C.releaseFs)==null?void 0:R.call(C)});await Promise.all([ae.copyPromise(p,b.prefixPath,{baseFs:b.packageFs}),ae.copyPromise(h,C.prefixPath,{baseFs:C.packageFs}),ae.writeJsonPromise(E,{locator:Y.stringifyLocator(t),version:o.version})])}finally{for(let b of v)b()}return ae.detachTemp(A),h}async function PG(t,e){let r=ue.fromPortablePath(t).replace(/\\/g,"/"),o=ue.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Mr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:ue.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.
694The following error was reported by 'git': 696The following error was reported by 'git':
695${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${Ye.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ye.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(Ye.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Ye.escapeRegExp(`${o}/`),"g"),"")}function w9(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=fv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Tr.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return bn.makeHash(`${3}`,...r).slice(0,6)}Ke();function GBe(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${ye.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${ye.pretty(e,a,ye.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${ye.pretty(e,a,ye.Type.ADDED)}`);break;default:Ye.assertNever(o.type)}}var dv=class{supports(e,r){return!!Gh(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=hv(e),A=await gv(o,u,r),p=await ae.mktempPromise(),h=V.join(p,"current.zip"),C=await r.fetcher.fetch(a,r),w=Y.getIdentVendorPath(e),v=new os(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await Ye.releaseAfterUseAsync(async()=>{await v.copyPromise(w,C.prefixPath,{baseFs:C.packageFs,stableSort:!0})},C.releaseFs),v.saveAndClose();for(let{source:b,optional:E}of A){if(b===null)continue;let R=new os(h,{level:r.project.configuration.get("compressionLevel")}),L=new An(V.resolve(wt.root,w),{baseFs:R});try{await Kk(fv(b),{baseFs:L,version:n})}catch(_){if(!(_ instanceof ZC))throw _;let J=r.project.configuration.get("enableInlineHunks"),re=!J&&!E?" (set enableInlineHunks for details)":"",oe=`${Y.prettyLocator(r.project.configuration,e)}: ${_.message}${re}`,pe=he=>{!J||GBe(_.hunk,{configuration:r.project.configuration,report:he})};if(R.discardAndClose(),E){r.report.reportWarningOnce(66,oe,{reportExtra:pe});continue}else throw new Jt(66,oe,pe)}R.saveAndClose()}return new os(h,{level:r.project.configuration.get("compressionLevel")})}};Ke();var mv=class{supportsDescriptor(e,r){return!!Jk(e)}supportsLocator(e,r){return!!Gh(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=pv(e);return a.every(n=>!E9(n))?e:Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=pv(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=pv(e),u=await gv(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=w9(u,A.version);return[y9(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=hv(e);return{...await r.resolver.resolve(o,r),...e}}};Ke();bt();_t();var Wh=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=V.resolve(this.context.cwd,Ae.toPortablePath(this.patchFolder)),u=V.join(n,"../source"),A=V.join(n,"../.yarn-patch.json");if(!ae.existsSync(u))throw new ot("The argument folder didn't get created by 'yarn patch'");let p=await I9(u,n),h=await ae.readJsonPromise(A),C=Y.parseLocator(h.locator,!0);if(!o.storedPackages.has(C.locatorHash))throw new ot("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let w=r.get("patchFolder"),v=V.join(w,`${Y.slugifyLocator(C)}.patch`);await ae.mkdirPromise(w,{recursive:!0}),await ae.writeFilePromise(v,p);let b=[],E=new Map;for(let R of o.storedPackages.values()){if(Y.isVirtualLocator(R))continue;let L=R.dependencies.get(C.identHash);if(!L)continue;let _=Y.ensureDevirtualizedDescriptor(L),J=m9(_),re=o.storedResolutions.get(J.descriptorHash);if(!re)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(re))throw new Error("Assertion failed: Expected the package to have been registered");let pe=o.tryWorkspaceByLocator(R);if(pe)b.push(pe);else{let he=o.originalPackages.get(R.locatorHash);if(!he)throw new Error("Assertion failed: Expected the original package to have been registered");let ve=he.dependencies.get(L.identHash);if(!ve)throw new Error("Assertion failed: Expected the original dependency to have been registered");E.set(ve.descriptorHash,ve)}}for(let R of b)for(let L of Nt.hardDependencies){let _=R.manifest[L].get(C.identHash);if(!_)continue;let J=zk(_,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(C),patchPaths:[V.join(Lr.home,V.relative(o.cwd,v))]});R.manifest[L].set(_.identHash,J)}for(let R of E.values()){let L=zk(R,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(C),patchPaths:[V.join(Lr.home,V.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:Y.stringifyIdent(L),description:R.range}},reference:L.range})}await o.persist()}};Wh.paths=[["patch-commit"]],Wh.usage=it.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});Ke();bt();_t();var Yh=class extends ct{constructor(){super(...arguments);this.update=fe.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=Y.parseLocator(this.package);if(u.reference==="unknown"){let A=Ye.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?Ye.mapAndFilter.skip:Y.isVirtualLocator(p)?Ye.mapAndFilter.skip:Gh(p)!==this.update?Ye.mapAndFilter.skip:p);if(A.length===0)throw new ot("No package found in the project for the given locator");if(A.length>1)throw new ot(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why <package>\` to get more information as to who depends on them): 697${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${Ye.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ye.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(Ye.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Ye.escapeRegExp(`${o}/`),"g"),"")}function xG(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=Cv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Tr.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return bn.makeHash(`${3}`,...r).slice(0,6)}Ke();function tve(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${ye.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${ye.pretty(e,a,ye.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${ye.pretty(e,a,ye.Type.ADDED)}`);break;default:Ye.assertNever(o.type)}}var Bv=class{supports(e,r){return!!Kh(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=Iv(e),A=await wv(o,u,r),p=await ae.mktempPromise(),h=z.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),w=Y.getIdentVendorPath(e),v=new os(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await Ye.releaseAfterUseAsync(async()=>{await v.copyPromise(w,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),v.saveAndClose();for(let{source:b,optional:C}of A){if(b===null)continue;let R=new os(h,{level:r.project.configuration.get("compressionLevel")}),L=new An(z.resolve(wt.root,w),{baseFs:R});try{await Jk(Cv(b),{baseFs:L,version:n})}catch(_){if(!(_ instanceof rI))throw _;let V=r.project.configuration.get("enableInlineHunks"),re=!V&&!C?" (set enableInlineHunks for details)":"",oe=`${Y.prettyLocator(r.project.configuration,e)}: ${_.message}${re}`,pe=he=>{!V||tve(_.hunk,{configuration:r.project.configuration,report:he})};if(R.discardAndClose(),C){r.report.reportWarningOnce(66,oe,{reportExtra:pe});continue}else throw new Vt(66,oe,pe)}R.saveAndClose()}return new os(h,{level:r.project.configuration.get("compressionLevel")})}};Ke();var vv=class{supportsDescriptor(e,r){return!!zk(e)}supportsLocator(e,r){return!!Kh(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=Ev(e);return a.every(n=>!DG(n))?e:Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=Ev(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=Ev(e),u=await wv(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=xG(u,A.version);return[vG(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=Iv(e);return{...await r.resolver.resolve(o,r),...e}}};Ke();bt();_t();var Vh=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=z.resolve(this.context.cwd,ue.toPortablePath(this.patchFolder)),u=z.join(n,"../source"),A=z.join(n,"../.yarn-patch.json");if(!ae.existsSync(u))throw new ot("The argument folder didn't get created by 'yarn patch'");let p=await PG(u,n),h=await ae.readJsonPromise(A),E=Y.parseLocator(h.locator,!0);if(!o.storedPackages.has(E.locatorHash))throw new ot("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let w=r.get("patchFolder"),v=z.join(w,`${Y.slugifyLocator(E)}.patch`);await ae.mkdirPromise(w,{recursive:!0}),await ae.writeFilePromise(v,p);let b=[],C=new Map;for(let R of o.storedPackages.values()){if(Y.isVirtualLocator(R))continue;let L=R.dependencies.get(E.identHash);if(!L)continue;let _=Y.ensureDevirtualizedDescriptor(L),V=BG(_),re=o.storedResolutions.get(V.descriptorHash);if(!re)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(re))throw new Error("Assertion failed: Expected the package to have been registered");let pe=o.tryWorkspaceByLocator(R);if(pe)b.push(pe);else{let he=o.originalPackages.get(R.locatorHash);if(!he)throw new Error("Assertion failed: Expected the original package to have been registered");let ve=he.dependencies.get(L.identHash);if(!ve)throw new Error("Assertion failed: Expected the original dependency to have been registered");C.set(ve.descriptorHash,ve)}}for(let R of b)for(let L of Nt.hardDependencies){let _=R.manifest[L].get(E.identHash);if(!_)continue;let V=Zk(_,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(E),patchPaths:[z.join(Lr.home,z.relative(o.cwd,v))]});R.manifest[L].set(_.identHash,V)}for(let R of C.values()){let L=Zk(R,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(E),patchPaths:[z.join(Lr.home,z.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:Y.stringifyIdent(L),description:R.range}},reference:L.range})}await o.persist()}};Vh.paths=[["patch-commit"]],Vh.usage=it.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});Ke();bt();_t();var Jh=class extends ct{constructor(){super(...arguments);this.update=fe.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=Y.parseLocator(this.package);if(u.reference==="unknown"){let A=Ye.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?Ye.mapAndFilter.skip:Y.isVirtualLocator(p)?Ye.mapAndFilter.skip:Kh(p)!==this.update?Ye.mapAndFilter.skip:p);if(A.length===0)throw new ot("No package found in the project for the given locator");if(A.length>1)throw new ot(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why <package>\` to get more information as to who depends on them):
696${A.map(p=>` 698${A.map(p=>`
697- ${Y.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new ot("No package found in the project for the given locator");await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=Vk(u),h=await C9(u,{cache:n,project:o});A.reportJson({locator:Y.stringifyLocator(p),path:Ae.fromPortablePath(h)});let C=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${Y.prettyLocator(r,p)} got extracted with success${C}!`),A.reportInfo(0,`You can now edit the following folder: ${ye.pretty(r,Ae.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${ye.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${Ae.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Yh.paths=[["patch"]],Yh.usage=it.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var nvt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Wh,Yh],fetchers:[dv],resolvers:[mv]},ivt=nvt;var S9={};Yt(S9,{PnpmLinker:()=>yv,default:()=>cvt});Ke();bt();_t();var yv=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=V.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new v9(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},v9=class{constructor(e){this.opts=e;this.asyncActions=new Ye.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=sD(ae,{indexPath:V.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=V.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?V.join(a,Lr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildDirective:null}}async installPackageHard(e,r,o){let a=svt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,Y.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await ae.mkdirPromise(n,{recursive:!0}),await ae.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e,p={manifest:await Nt.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Nt,misc:{hasBindingGyp:mA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),C=mA.extractBuildScripts(e,p,h,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:C}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!WBe(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(e.locatorHash,async n=>{await ae.mkdirPromise(a,{recursive:!0});let u=await ovt(a),A=new Map(u),p=[n],h=(w,v)=>{let b=v;WBe(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),b=Y.devirtualizeLocator(v));let E=this.customData.pathsByLocator.get(b.locatorHash);if(typeof E>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(v)})`);let R=Y.stringifyIdent(w),L=V.join(a,R),_=V.relative(V.dirname(L),E.packageLocation),J=A.get(R);A.delete(R),p.push(Promise.resolve().then(async()=>{if(J){if(J.isSymbolicLink()&&await ae.readlinkPromise(L)===_)return;await ae.removePromise(L)}await ae.mkdirpPromise(V.dirname(L)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await ae.symlinkPromise(E.packageLocation,L,"junction"):await ae.symlinkPromise(_,L)}))},C=!1;for(let[w,v]of r)w.identHash===e.identHash&&(C=!0),h(w,v);!C&&!this.opts.project.tryWorkspaceByLocator(e)&&h(Y.convertLocatorToDescriptor(e),e),p.push(avt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=KBe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await ae.removePromise(e);else{let r;try{r=new Set(await ae.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=V.contains(e,o);if(a===null)continue;let[n]=a.split(V.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await ae.removePromise(V.join(e,o))}))}return await this.asyncActions.wait(),await D9(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await D9(YBe(this.opts.project)),{customData:this.customData}}};function YBe(t){return V.join(t.cwd,Lr.nodeModules)}function KBe(t){return V.join(YBe(t),".store")}function svt(t,{project:e}){let r=Y.slugifyLocator(t),o=KBe(e),a=V.join(o,r,"package"),n=V.join(o,r,Lr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function WBe(t,{project:e}){return!Y.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function ovt(t){let e=new Map,r=[];try{r=await ae.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await ae.readdirPromise(V.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function avt(t,e){var a;let r=[],o=new Set;for(let n of e.keys()){r.push(ae.removePromise(V.join(t,n)));let u=(a=Y.tryParseIdent(n))==null?void 0:a.scope;u&&o.add(`@${u}`)}return Promise.all(r).then(()=>Promise.all([...o].map(n=>D9(V.join(t,n)))))}async function D9(t){try{await ae.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var lvt={linkers:[yv]},cvt=lvt;var F9={};Yt(F9,{StageCommand:()=>Kh,default:()=>Cvt,stageUtils:()=>Cv});Ke();bt();_t();Ke();bt();var Cv={};Yt(Cv,{ActionType:()=>P9,checkConsensus:()=>Xk,expandDirectory:()=>b9,findConsensus:()=>Q9,findVcsRoot:()=>Ev,genCommitMessage:()=>k9,getCommitPrefix:()=>JBe,isYarnFile:()=>x9});bt();var P9=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(P9||{});async function Ev(t,{marker:e}){do if(!ae.existsSync(V.join(t,e)))t=V.dirname(t);else return t;while(t!=="/");return null}function x9(t,{roots:e,names:r}){if(r.has(V.basename(t)))return!0;do if(!e.has(t))t=V.dirname(t);else return!0;while(t!=="/");return!1}function b9(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=ae.readdirSync(o);for(let n of a){let u=V.resolve(o,n);ae.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function Xk(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function Q9(t){let e=Xk(t,/^(\w\(\w+\):\s*)?\w+s/),r=Xk(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=Xk(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function JBe(t){return t.useComponent?"chore(yarn): ":""}var uvt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function k9(t,e){let r=JBe(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=uvt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,C]=a.shift();p.push(C)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var Avt="Commit generated via `yarn stage`",fvt=11;async function VBe(t){let{code:e,stdout:r}=await Mr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function pvt(t,e){let r=[],o=e.filter(h=>V.basename(h.path)==="package.json");for(let{action:h,path:C}of o){let w=V.relative(t,C);if(h===4){let v=await VBe(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),E=await Nt.fromText(b),R=await Nt.fromFile(C),L=new Map([...R.dependencies,...R.devDependencies]),_=new Map([...E.dependencies,...E.devDependencies]);for(let[J,re]of _){let oe=Y.stringifyIdent(re),pe=L.get(J);pe?pe.range!==re.range&&r.push([4,`${oe} to ${pe.range}`]):r.push([3,oe])}for(let[J,re]of L)_.has(J)||r.push([2,Y.stringifyIdent(re)])}else if(h===0){let v=await Nt.fromFile(C);v.name?r.push([0,Y.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await VBe(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),E=await Nt.fromText(b);E.name?r.push([1,Y.stringifyIdent(E.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Mr.execvp("git",["log",`-${fvt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=Q9(u);return k9(A,r)}var hvt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},gvt={[0]:["A "],[4]:["M "],[1]:["D "]},zBe={async findRoot(t){return await Ev(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Mr.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o!=null&&o.staged?gvt:hvt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),C=V.resolve(t,p.slice(3));if(!(o!=null&&o.staged)&&h==="?? "&&p.endsWith("/"))return b9(C).map(w=>({action:0,path:w}));{let v=[0,4,1].find(b=>u[b].includes(h));return v!==void 0?[{action:v,path:C}]:[]}})).filter(p=>x9(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await pvt(t,e)},async makeStage(t,e){let r=e.map(o=>Ae.fromPortablePath(o.path));await Mr.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>Ae.fromPortablePath(a.path));await Mr.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Mr.execvp("git",["commit","-m",`${r} 699- ${Y.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new ot("No package found in the project for the given locator");await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=Xk(u),h=await SG(u,{cache:n,project:o});A.reportJson({locator:Y.stringifyLocator(p),path:ue.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${Y.prettyLocator(r,p)} got extracted with success${E}!`),A.reportInfo(0,`You can now edit the following folder: ${ye.pretty(r,ue.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${ye.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${ue.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Jh.paths=[["patch"]],Jh.usage=it.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var mvt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Vh,Jh],fetchers:[Bv],resolvers:[vv]},yvt=mvt;var FG={};Yt(FG,{PnpmLinker:()=>Dv,default:()=>Bvt});Ke();bt();_t();var Dv=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=z.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new QG(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},QG=class{constructor(e){this.opts=e;this.asyncActions=new Ye.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=fD(ae,{indexPath:z.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=z.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?z.join(a,Lr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildDirective:null}}async installPackageHard(e,r,o){let a=Cvt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,Y.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await ae.mkdirPromise(n,{recursive:!0}),await ae.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e,p={manifest:await Nt.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Nt,misc:{hasBindingGyp:CA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),E=CA.extractBuildScripts(e,p,h,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!rve(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(e.locatorHash,async n=>{await ae.mkdirPromise(a,{recursive:!0});let u=await Evt(a),A=new Map(u),p=[n],h=(w,v)=>{let b=v;rve(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),b=Y.devirtualizeLocator(v));let C=this.customData.pathsByLocator.get(b.locatorHash);if(typeof C>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(v)})`);let R=Y.stringifyIdent(w),L=z.join(a,R),_=z.relative(z.dirname(L),C.packageLocation),V=A.get(R);A.delete(R),p.push(Promise.resolve().then(async()=>{if(V){if(V.isSymbolicLink()&&await ae.readlinkPromise(L)===_)return;await ae.removePromise(L)}await ae.mkdirpPromise(z.dirname(L)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await ae.symlinkPromise(C.packageLocation,L,"junction"):await ae.symlinkPromise(_,L)}))},E=!1;for(let[w,v]of r)w.identHash===e.identHash&&(E=!0),h(w,v);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(Y.convertLocatorToDescriptor(e),e),p.push(Ivt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=ive(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await ae.removePromise(e);else{let r;try{r=new Set(await ae.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=z.contains(e,o);if(a===null)continue;let[n]=a.split(z.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await ae.removePromise(z.join(e,o))}))}return await this.asyncActions.wait(),await kG(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await kG(nve(this.opts.project)),{customData:this.customData}}};function nve(t){return z.join(t.cwd,Lr.nodeModules)}function ive(t){return z.join(nve(t),".store")}function Cvt(t,{project:e}){let r=Y.slugifyLocator(t),o=ive(e),a=z.join(o,r,"package"),n=z.join(o,r,Lr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function rve(t,{project:e}){return!Y.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Evt(t){let e=new Map,r=[];try{r=await ae.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await ae.readdirPromise(z.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function Ivt(t,e){var a;let r=[],o=new Set;for(let n of e.keys()){r.push(ae.removePromise(z.join(t,n)));let u=(a=Y.tryParseIdent(n))==null?void 0:a.scope;u&&o.add(`@${u}`)}return Promise.all(r).then(()=>Promise.all([...o].map(n=>kG(z.join(t,n)))))}async function kG(t){try{await ae.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var wvt={linkers:[Dv]},Bvt=wvt;var MG={};Yt(MG,{StageCommand:()=>zh,default:()=>Tvt,stageUtils:()=>Pv});Ke();bt();_t();Ke();bt();var Pv={};Yt(Pv,{ActionType:()=>RG,checkConsensus:()=>$k,expandDirectory:()=>NG,findConsensus:()=>LG,findVcsRoot:()=>Sv,genCommitMessage:()=>OG,getCommitPrefix:()=>sve,isYarnFile:()=>TG});bt();var RG=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(RG||{});async function Sv(t,{marker:e}){do if(!ae.existsSync(z.join(t,e)))t=z.dirname(t);else return t;while(t!=="/");return null}function TG(t,{roots:e,names:r}){if(r.has(z.basename(t)))return!0;do if(!e.has(t))t=z.dirname(t);else return!0;while(t!=="/");return!1}function NG(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=ae.readdirSync(o);for(let n of a){let u=z.resolve(o,n);ae.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function $k(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function LG(t){let e=$k(t,/^(\w\(\w+\):\s*)?\w+s/),r=$k(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=$k(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function sve(t){return t.useComponent?"chore(yarn): ":""}var vvt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function OG(t,e){let r=sve(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=vvt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var Dvt="Commit generated via `yarn stage`",Svt=11;async function ove(t){let{code:e,stdout:r}=await Mr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function Pvt(t,e){let r=[],o=e.filter(h=>z.basename(h.path)==="package.json");for(let{action:h,path:E}of o){let w=z.relative(t,E);if(h===4){let v=await ove(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),C=await Nt.fromText(b),R=await Nt.fromFile(E),L=new Map([...R.dependencies,...R.devDependencies]),_=new Map([...C.dependencies,...C.devDependencies]);for(let[V,re]of _){let oe=Y.stringifyIdent(re),pe=L.get(V);pe?pe.range!==re.range&&r.push([4,`${oe} to ${pe.range}`]):r.push([3,oe])}for(let[V,re]of L)_.has(V)||r.push([2,Y.stringifyIdent(re)])}else if(h===0){let v=await Nt.fromFile(E);v.name?r.push([0,Y.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await ove(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),C=await Nt.fromText(b);C.name?r.push([1,Y.stringifyIdent(C.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Mr.execvp("git",["log",`-${Svt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=LG(u);return OG(A,r)}var xvt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},bvt={[0]:["A "],[4]:["M "],[1]:["D "]},ave={async findRoot(t){return await Sv(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Mr.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o!=null&&o.staged?bvt:xvt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=z.resolve(t,p.slice(3));if(!(o!=null&&o.staged)&&h==="?? "&&p.endsWith("/"))return NG(E).map(w=>({action:0,path:w}));{let v=[0,4,1].find(b=>u[b].includes(h));return v!==void 0?[{action:v,path:E}]:[]}})).filter(p=>TG(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await Pvt(t,e)},async makeStage(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Mr.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>ue.fromPortablePath(a.path));await Mr.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Mr.execvp("git",["commit","-m",`${r}
698 700
699${Avt} 701${Dvt}
700`,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>Ae.fromPortablePath(o.path));await Mr.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var XBe={async findRoot(t){return await Ev(t,{marker:".hg"})},async filterChanges(t,e,r){return[]},async genCommitMessage(t,e){return""},async makeStage(t,e){},async makeCommit(t,e,r){},async makeReset(t,e){},async makeUpdate(t,e){}};var dvt=[zBe,XBe],Kh=class extends ct{constructor(){super(...arguments);this.commit=fe.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=fe.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=fe.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),{driver:a,root:n}=await mvt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(w=>w.populateYarnPaths,o,w=>{u.push(w)});let A=new Set;for(let w of u)for(let v of yvt(n,w))A.add(v);let p=new Set([r.get("rcFilename"),r.get("lockfileFilename"),"package.json"]),h=await a.filterChanges(n,A,p),C=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${C} 702`,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Mr.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var lve={async findRoot(t){return await Sv(t,{marker:".hg"})},async filterChanges(t,e,r){return[]},async genCommitMessage(t,e){return""},async makeStage(t,e){},async makeCommit(t,e,r){},async makeReset(t,e){},async makeUpdate(t,e){}};var Qvt=[ave,lve],zh=class extends ct{constructor(){super(...arguments);this.commit=fe.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=fe.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=fe.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),{driver:a,root:n}=await kvt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(w=>w.populateYarnPaths,o,w=>{u.push(w)});let A=new Set;for(let w of u)for(let v of Fvt(n,w))A.add(v);let p=new Set([r.get("rcFilename"),r.get("lockfileFilename"),"package.json"]),h=await a.filterChanges(n,A,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E}
701`);else for(let w of h)this.context.stdout.write(`${Ae.fromPortablePath(w.path)} 703`);else for(let w of h)this.context.stdout.write(`${ue.fromPortablePath(w.path)}
702`);else if(this.reset){let w=await a.filterChanges(n,A,p,{staged:!0});w.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,w)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,C):(await a.makeStage(n,h),this.context.stdout.write(C))}};Kh.paths=[["stage"]],Kh.usage=it.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function mvt(t){let e=null,r=null;for(let o of dvt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new ot("No stage driver has been found for your current project");return{driver:e,root:r}}function yvt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=ae.statSync(e)}catch{break}if(o.isSymbolicLink())e=V.resolve(V.dirname(e),ae.readlinkSync(e));else break}return r}var Evt={commands:[Kh]},Cvt=Evt;var R9={};Yt(R9,{default:()=>xvt});Ke();Ke();bt();var eve=tt(ii());Ke();var ZBe=tt(JH()),Ivt="e8e1bd300d860104bb8c58453ffa1eb4",wvt="OFCNCOG2CU",$Be=async(t,e)=>{var n;let r=Y.stringifyIdent(t),a=Bvt(e).initIndex("npm-search");try{return((n=(await a.getObject(r,{attributesToRetrieve:["types"]})).types)==null?void 0:n.ts)==="definitely-typed"}catch{return!1}},Bvt=t=>(0,ZBe.default)(wvt,Ivt,{requester:{async send(r){try{let o=await ln.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var tve=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,vvt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??ae.existsSync(V.join(a.cwd,"tsconfig.json"))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new xi};if(!await $Be(r,n))return;let C=tve(r),w=Y.parseRange(r.range).selector;if(!Tr.validRange(w)){let L=n.normalizeDependency(r),_=await A.getCandidates(L,{},p);w=Y.parseRange(_[0].reference).selector}let v=eve.default.coerce(w);if(v===null)return;let b=`${Zc.Modifier.CARET}${v.major}`,E=Y.makeDescriptor(Y.makeIdent("types",C),b),R=Ye.mapAndFind(a.workspaces,L=>{var oe,pe;let _=(oe=L.manifest.dependencies.get(r.identHash))==null?void 0:oe.descriptorHash,J=(pe=L.manifest.devDependencies.get(r.identHash))==null?void 0:pe.descriptorHash;if(_!==r.descriptorHash&&J!==r.descriptorHash)return Ye.mapAndFind.skip;let re=[];for(let he of Nt.allDependencies){let ve=L.manifest[he].get(E.identHash);typeof ve>"u"||re.push([he,ve])}return re.length===0?Ye.mapAndFind.skip:re});if(typeof R<"u")for(let[L,_]of R)t.manifest[L].set(_.identHash,_);else{try{let L=n.normalizeDependency(E);if((await A.getCandidates(L,{},p)).length===0)return}catch{return}t.manifest[Zc.Target.DEVELOPMENT].set(E.identHash,E)}},Dvt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??ae.existsSync(V.join(o.cwd,"tsconfig.json"))))return;let u=tve(r),A=Y.makeIdent("types",u);for(let p of Nt.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},Svt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},Pvt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:vvt,afterWorkspaceDependencyRemoval:Dvt,beforeWorkspacePacking:Svt}},xvt=Pvt;var M9={};Yt(M9,{VersionApplyCommand:()=>Jh,VersionCheckCommand:()=>Vh,VersionCommand:()=>zh,default:()=>Kvt,versionUtils:()=>iI});Ke();Ke();_t();var iI={};Yt(iI,{Decision:()=>rI,applyPrerelease:()=>ave,applyReleases:()=>O9,applyStrategy:()=>$k,clearVersionFiles:()=>T9,getUndecidedDependentWorkspaces:()=>wv,getUndecidedWorkspaces:()=>Zk,openVersionFile:()=>nI,requireMoreDecisions:()=>Gvt,resolveVersionFiles:()=>Iv,suggestStrategy:()=>L9,updateVersionFiles:()=>N9,validateReleaseDecision:()=>tI});Ke();bt();Ol();_t();var ove=tt(sve()),vA=tt(ii()),jvt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,rI=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(rI||{});function tI(t){let e=vA.default.valid(t);return e||Ye.validateEnum((0,ove.default)(rI,"UNDECIDED"),t)}async function Iv(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return r;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=V.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A);for(let[h,C]of Object.entries(p.releases||{})){if(C==="decline")continue;let w=Y.parseIdent(h),v=t.tryWorkspaceByIdent(w);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${V.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Y.prettyLocator(t.configuration,v.anchoredLocator)})`);let b=v.manifest.raw.stableVersion??v.manifest.version,E=r.get(v),R=$k(b,tI(C));if(R===null)throw new Error(`Assertion failed: Expected ${b} to support being bumped via strategy ${C}`);let L=typeof E<"u"?vA.default.gt(R,E)?R:E:R;r.set(v,L)}}return e&&(r=new Map([...r].map(([n,u])=>[n,ave(u,{current:n.manifest.version,prerelease:e})]))),r}async function T9(t){let e=t.configuration.get("deferredVersionFolder");!ae.existsSync(e)||await ae.removePromise(e)}async function N9(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=V.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A),h=p==null?void 0:p.releases;if(!!h){for(let C of Object.keys(h)){let w=Y.parseIdent(C),v=t.tryWorkspaceByIdent(w);(v===null||r.has(v))&&delete p.releases[C]}Object.keys(p.releases).length>0?await ae.changeFilePromise(u,Ia(new Ia.PreserveOrdering(p))):await ae.unlinkPromise(u)}}}async function nI(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let o=await Zo.fetchRoot(r.projectCwd),a=o!==null?await Zo.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await Zo.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(b=>V.contains(u,b)!==null);if(A.length>1)throw new ot(`Your current branch contains multiple versioning files; this isn't supported: 704`);else if(this.reset){let w=await a.filterChanges(n,A,p,{staged:!0});w.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,w)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};zh.paths=[["stage"]],zh.usage=it.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function kvt(t){let e=null,r=null;for(let o of Qvt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new ot("No stage driver has been found for your current project");return{driver:e,root:r}}function Fvt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=ae.statSync(e)}catch{break}if(o.isSymbolicLink())e=z.resolve(z.dirname(e),ae.readlinkSync(e));else break}return r}var Rvt={commands:[zh]},Tvt=Rvt;var UG={};Yt(UG,{default:()=>qvt});Ke();Ke();bt();var Ave=tt(si());Ke();var cve=tt(JH()),Nvt="e8e1bd300d860104bb8c58453ffa1eb4",Lvt="OFCNCOG2CU",uve=async(t,e)=>{var n;let r=Y.stringifyIdent(t),a=Ovt(e).initIndex("npm-search");try{return((n=(await a.getObject(r,{attributesToRetrieve:["types"]})).types)==null?void 0:n.ts)==="definitely-typed"}catch{return!1}},Ovt=t=>(0,cve.default)(Lvt,Nvt,{requester:{async send(r){try{let o=await ln.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var fve=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,Mvt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??ae.existsSync(z.join(a.cwd,"tsconfig.json"))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new xi};if(!await uve(r,n))return;let E=fve(r),w=Y.parseRange(r.range).selector;if(!Tr.validRange(w)){let L=n.normalizeDependency(r),_=await A.getCandidates(L,{},p);w=Y.parseRange(_[0].reference).selector}let v=Ave.default.coerce(w);if(v===null)return;let b=`${eu.Modifier.CARET}${v.major}`,C=Y.makeDescriptor(Y.makeIdent("types",E),b),R=Ye.mapAndFind(a.workspaces,L=>{var oe,pe;let _=(oe=L.manifest.dependencies.get(r.identHash))==null?void 0:oe.descriptorHash,V=(pe=L.manifest.devDependencies.get(r.identHash))==null?void 0:pe.descriptorHash;if(_!==r.descriptorHash&&V!==r.descriptorHash)return Ye.mapAndFind.skip;let re=[];for(let he of Nt.allDependencies){let ve=L.manifest[he].get(C.identHash);typeof ve>"u"||re.push([he,ve])}return re.length===0?Ye.mapAndFind.skip:re});if(typeof R<"u")for(let[L,_]of R)t.manifest[L].set(_.identHash,_);else{try{let L=n.normalizeDependency(C);if((await A.getCandidates(L,{},p)).length===0)return}catch{return}t.manifest[eu.Target.DEVELOPMENT].set(C.identHash,C)}},Uvt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??ae.existsSync(z.join(o.cwd,"tsconfig.json"))))return;let u=fve(r),A=Y.makeIdent("types",u);for(let p of Nt.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},_vt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},Hvt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:Mvt,afterWorkspaceDependencyRemoval:Uvt,beforeWorkspacePacking:_vt}},qvt=Hvt;var GG={};Yt(GG,{VersionApplyCommand:()=>Xh,VersionCheckCommand:()=>Zh,VersionCommand:()=>$h,default:()=>aDt,versionUtils:()=>lI});Ke();Ke();_t();var lI={};Yt(lI,{Decision:()=>oI,applyPrerelease:()=>yve,applyReleases:()=>jG,applyStrategy:()=>tF,clearVersionFiles:()=>_G,getUndecidedDependentWorkspaces:()=>bv,getUndecidedWorkspaces:()=>eF,openVersionFile:()=>aI,requireMoreDecisions:()=>iDt,resolveVersionFiles:()=>xv,suggestStrategy:()=>qG,updateVersionFiles:()=>HG,validateReleaseDecision:()=>sI});Ke();bt();_l();_t();var mve=tt(dve()),SA=tt(si()),nDt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,oI=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(oI||{});function sI(t){let e=SA.default.valid(t);return e||Ye.validateEnum((0,mve.default)(oI,"UNDECIDED"),t)}async function xv(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return r;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let w=Y.parseIdent(h),v=t.tryWorkspaceByIdent(w);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${z.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Y.prettyLocator(t.configuration,v.anchoredLocator)})`);let b=v.manifest.raw.stableVersion??v.manifest.version,C=r.get(v),R=tF(b,sI(E));if(R===null)throw new Error(`Assertion failed: Expected ${b} to support being bumped via strategy ${E}`);let L=typeof C<"u"?SA.default.gt(R,C)?R:C:R;r.set(v,L)}}return e&&(r=new Map([...r].map(([n,u])=>[n,yve(u,{current:n.manifest.version,prerelease:e})]))),r}async function _G(t){let e=t.configuration.get("deferredVersionFolder");!ae.existsSync(e)||await ae.removePromise(e)}async function HG(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A),h=p==null?void 0:p.releases;if(!!h){for(let E of Object.keys(h)){let w=Y.parseIdent(E),v=t.tryWorkspaceByIdent(w);(v===null||r.has(v))&&delete p.releases[E]}Object.keys(p.releases).length>0?await ae.changeFilePromise(u,wa(new wa.PreserveOrdering(p))):await ae.unlinkPromise(u)}}}async function aI(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let o=await $o.fetchRoot(r.projectCwd),a=o!==null?await $o.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await $o.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(b=>z.contains(u,b)!==null);if(A.length>1)throw new ot(`Your current branch contains multiple versioning files; this isn't supported:
703- ${A.map(b=>Ae.fromPortablePath(b)).join(` 705- ${A.map(b=>ue.fromPortablePath(b)).join(`
704- `)}`);let p=new Set(Ye.mapAndFilter(n,b=>{let E=t.tryWorkspaceByFilePath(b);return E===null?Ye.mapAndFilter.skip:E}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:V.join(u,`${bn.makeHash(Math.random().toString()).slice(0,8)}.yml`),C=ae.existsSync(h)?await ae.readFilePromise(h,"utf8"):"{}",w=Yi(C),v=new Map;for(let b of w.declined||[]){let E=Y.parseIdent(b),R=t.getWorkspaceByIdent(E);v.set(R,"decline")}for(let[b,E]of Object.entries(w.releases||{})){let R=Y.parseIdent(b),L=t.getWorkspaceByIdent(R);v.set(L,tI(E))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(b=>b.manifest.version!==null)),releases:v,async saveAll(){let b={},E=[],R=[];for(let L of t.workspaces){if(L.manifest.version===null)continue;let _=Y.stringifyIdent(L.locator),J=v.get(L);J==="decline"?E.push(_):typeof J<"u"?b[_]=tI(J):p.has(L)&&R.push(_)}await ae.mkdirPromise(V.dirname(h),{recursive:!0}),await ae.changeFilePromise(h,Ia(new Ia.PreserveOrdering({releases:Object.keys(b).length>0?b:void 0,declined:E.length>0?E:void 0,undecided:R.length>0?R:void 0})))}}}function Gvt(t){return Zk(t).size>0||wv(t).length>0}function Zk(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function wv(t,{include:e=new Set}={}){let r=[],o=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u==="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Nt.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function L9(t,e){let r=vA.default.clean(e);for(let o of Object.values(rI))if(o!=="undecided"&&o!=="decline"&&vA.default.inc(t,o)===r)return o;return null}function $k(t,e){if(vA.default.valid(e))return e;if(t===null)throw new ot(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!vA.default.valid(t))throw new ot(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=vA.default.inc(t,e);if(r===null)throw new ot(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function O9(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of Nt.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;Ye.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,vA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?Y.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${Y.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:Ae.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,C,w]of p){let v=h.manifest[C].get(w);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let b=v.range,E=!1;if(b.startsWith(oi.protocol)&&(b=b.slice(oi.protocol.length),E=!0,b===a.relativeCwd))continue;let R=b.match(jvt);if(!R){r.reportWarning(0,`Couldn't auto-upgrade range ${b} (in ${Y.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let L=`${R[1]}${n}`;E&&(L=`${oi.protocol}${L}`);let _=Y.makeDescriptor(v,L);h.manifest[C].set(w,_)}}}var Wvt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function ave(t,{current:e,prerelease:r}){let o=new vA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=Wvt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let C=u?h.extract(a):null;C!==null&&typeof C[0]=="number"?(n.push(h.generate(C[0])),a=C[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var Jh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=fe.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=fe.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await Iv(o,{prerelease:p}),C=new Map;if(this.all)C=h;else{let w=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of w){let b=h.get(v);typeof b<"u"&&C.set(v,b)}}if(C.size===0){let w=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${w}`);return}O9(o,C,{report:A}),this.dryRun||(p||(this.all?await T9(o):await N9(o,[...C.keys()])),A.reportSeparator(),await o.install({cache:n,report:A}))})).exitCode()}};Jh.paths=[["version","apply"]],Jh.usage=it.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` 706- `)}`);let p=new Set(Ye.mapAndFilter(n,b=>{let C=t.tryWorkspaceByFilePath(b);return C===null?Ye.mapAndFilter.skip:C}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:z.join(u,`${bn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=ae.existsSync(h)?await ae.readFilePromise(h,"utf8"):"{}",w=Yi(E),v=new Map;for(let b of w.declined||[]){let C=Y.parseIdent(b),R=t.getWorkspaceByIdent(C);v.set(R,"decline")}for(let[b,C]of Object.entries(w.releases||{})){let R=Y.parseIdent(b),L=t.getWorkspaceByIdent(R);v.set(L,sI(C))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(b=>b.manifest.version!==null)),releases:v,async saveAll(){let b={},C=[],R=[];for(let L of t.workspaces){if(L.manifest.version===null)continue;let _=Y.stringifyIdent(L.locator),V=v.get(L);V==="decline"?C.push(_):typeof V<"u"?b[_]=sI(V):p.has(L)&&R.push(_)}await ae.mkdirPromise(z.dirname(h),{recursive:!0}),await ae.changeFilePromise(h,wa(new wa.PreserveOrdering({releases:Object.keys(b).length>0?b:void 0,declined:C.length>0?C:void 0,undecided:R.length>0?R:void 0})))}}}function iDt(t){return eF(t).size>0||bv(t).length>0}function eF(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function bv(t,{include:e=new Set}={}){let r=[],o=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u==="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Nt.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function qG(t,e){let r=SA.default.clean(e);for(let o of Object.values(oI))if(o!=="undecided"&&o!=="decline"&&SA.default.inc(t,o)===r)return o;return null}function tF(t,e){if(SA.default.valid(e))return e;if(t===null)throw new ot(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!SA.default.valid(t))throw new ot(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=SA.default.inc(t,e);if(r===null)throw new ot(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function jG(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of Nt.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;Ye.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,SA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?Y.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${Y.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:ue.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,E,w]of p){let v=h.manifest[E].get(w);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let b=v.range,C=!1;if(b.startsWith(Gn.protocol)&&(b=b.slice(Gn.protocol.length),C=!0,b===a.relativeCwd))continue;let R=b.match(nDt);if(!R){r.reportWarning(0,`Couldn't auto-upgrade range ${b} (in ${Y.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let L=`${R[1]}${n}`;C&&(L=`${Gn.protocol}${L}`);let _=Y.makeDescriptor(v,L);h.manifest[E].set(w,_)}}}var sDt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function yve(t,{current:e,prerelease:r}){let o=new SA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=sDt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let E=u?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var Xh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=fe.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=fe.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await xv(o,{prerelease:p}),E=new Map;if(this.all)E=h;else{let w=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of w){let b=h.get(v);typeof b<"u"&&E.set(v,b)}}if(E.size===0){let w=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${w}`);return}jG(o,E,{report:A}),this.dryRun||(p||(this.all?await _G(o):await HG(o,[...E.keys()])),A.reportSeparator(),await o.install({cache:n,report:A}))})).exitCode()}};Xh.paths=[["version","apply"]],Xh.usage=it.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:`
705 This command will apply the deferred version changes and remove their definitions from the repository. 707 This command will apply the deferred version changes and remove their definitions from the repository.
706 708
707 Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. 709 Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is.
@@ -712,7 +714,7 @@ ${Avt}
712 - \`--all\` to apply the version bump on all packages in the repository 714 - \`--all\` to apply the version bump on all packages in the repository
713 715
714 Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. 716 Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump.
715 `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});Ke();bt();_t();var eF=tt(ii());var Vh=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){mC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(JQ(),Iq)),{ScrollableItems:o}=await Promise.resolve().then(()=>(ZQ(),XQ)),{FocusRequest:a}=await Promise.resolve().then(()=>(Bq(),cwe)),{useListInput:n}=await Promise.resolve().then(()=>(zQ(),uwe)),{renderForm:u}=await Promise.resolve().then(()=>(rk(),tk)),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(oc())),{default:h,useCallback:C,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:E}=await St.find(v,this.context.cwd);if(!E)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState();let R=await nI(b);if(R===null||R.releaseRoots.size===0)return 0;if(R.root===null)throw new ot("This command can only be run on Git repositories");let L=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<left>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<right>")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),_=({workspace:ve,active:ge,decision:le,setDecision:Pe})=>{let g=ve.manifest.raw.stableVersion??ve.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${Y.prettyLocator(v,ve.anchoredLocator)})`);if(eF.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let De=["undecided","decline","patch","minor","major"];n(le,De,{active:ge,minus:"left",plus:"right",set:Pe});let Ee=le==="undecided"?h.createElement(p,{color:"yellow"},g):le==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},eF.default.valid(le)?le:eF.default.inc(g,le)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,Y.prettyLocator(v,ve.anchoredLocator)," - ",Ee)),h.createElement(A,null,De.map(de=>h.createElement(A,{key:de,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:de===le})," ",de)))))},J=ve=>{let ge=new Set(R.releaseRoots),le=new Map([...ve].filter(([Pe])=>ge.has(Pe)));for(;;){let Pe=wv({project:R.project,releases:le}),g=!1;if(Pe.length>0){for(let[De]of Pe)if(!ge.has(De)){ge.add(De),g=!0;let Ee=ve.get(De);typeof Ee<"u"&&le.set(De,Ee)}}if(!g)break}return{relevantWorkspaces:ge,relevantReleases:le}},re=()=>{let[ve,ge]=w(()=>new Map(R.releases)),le=C((Pe,g)=>{let De=new Map(ve);g!=="undecided"?De.set(Pe,g):De.delete(Pe);let{relevantReleases:Ee}=J(De);ge(Ee)},[ve,ge]);return[ve,le]},oe=({workspaces:ve,releases:ge})=>{let le=[];le.push(`${ve.size} total`);let Pe=0,g=0;for(let De of ve){let Ee=ge.get(De);typeof Ee>"u"?g+=1:Ee!=="decline"&&(Pe+=1)}return le.push(`${Pe} release${Pe===1?"":"s"}`),le.push(`${g} remaining`),h.createElement(p,{color:"yellow"},le.join(", "))},he=await u(({useSubmit:ve})=>{let[ge,le]=re();ve(ge);let{relevantWorkspaces:Pe}=J(ge),g=new Set([...Pe].filter(ne=>!R.releaseRoots.has(ne))),[De,Ee]=w(0),de=C(ne=>{switch(ne){case a.BEFORE:Ee(De-1);break;case a.AFTER:Ee(De+1);break}},[De,Ee]);return h.createElement(A,{flexDirection:"column"},h.createElement(L,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...R.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},Ae.fromPortablePath(R.root)),Ae.sep,Ae.relative(Ae.fromPortablePath(R.root),Ae.fromPortablePath(ne)))))),R.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:R.releaseRoots,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===0,radius:1,size:2,onFocusRequest:de},[...R.releaseRoots].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<tab>")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:g,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===1,radius:2,size:2,onFocusRequest:de},[...g].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))):null)},{versionFile:R},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof he>"u")return 1;R.releases.clear();for(let[ve,ge]of he)R.releases.set(ve,ge);await R.saveAll()}async executeStandard(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Ct.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await nI(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new ot("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${ye.pretty(r,A.baseHash.slice(0,7),"yellow")} ${ye.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${ye.pretty(r,Ae.fromPortablePath(A.root),"gray")}${Ae.sep}${Ae.relative(Ae.fromPortablePath(A.root),Ae.fromPortablePath(v))}`)}let p=!1,h=!1,C=Zk(A);if(C.size>0){p||u.reportSeparator();for(let v of C)u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let w=wv(A);for(let[v,b]of w)h||u.reportSeparator(),u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${Y.prettyWorkspace(r,b)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};Vh.paths=[["version","check"]],Vh.usage=it.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});Ke();_t();var tF=tt(ii());var zh=class extends ct{constructor(){super(...arguments);this.deferred=fe.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=fe.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=tF.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let C=L9(a.manifest.version,this.strategy);C!==null?p=C:p=this.strategy}else p=this.strategy;else{let C=a.manifest.version;if(!A){if(C===null)throw new ot("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof C!="string"||!tF.default.valid(C))throw new ot(`Can't bump the version (${C}) if it's not valid semver`)}p=tI(this.strategy)}if(!n){let w=(await Iv(o)).get(a);if(typeof w<"u"&&p!=="decline"){let v=$k(a.manifest.version,p);if(tF.default.lt(v,w))throw new ot(`Can't bump the version to one that would be lower than the current deferred one (${w})`)}}let h=await nI(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};zh.paths=[["version"]],zh.usage=it.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var Yvt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[Jh,Vh,zh]},Kvt=Yvt;var U9={};Yt(U9,{WorkspacesFocusCommand:()=>Xh,WorkspacesForeachCommand:()=>Zh,default:()=>zvt});Ke();Ke();_t();var Xh=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=fe.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=fe.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new er(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(p=>o.getWorkspaceByIdent(Y.parseIdent(p))));for(let p of u)for(let h of this.production?["dependencies"]:Nt.hardDependencies)for(let C of p.manifest.getForScope(h).values()){let w=o.tryWorkspaceByDescriptor(C);w!==null&&u.add(w)}for(let p of o.workspaces)u.has(p)?this.production&&p.manifest.devDependencies.clear():(p.manifest.installConfig=p.manifest.installConfig||{},p.manifest.installConfig.selfReferences=!1,p.manifest.dependencies.clear(),p.manifest.devDependencies.clear(),p.manifest.peerDependencies.clear(),p.manifest.scripts.clear());return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async p=>{await o.install({cache:n,report:p,persistProject:!1})})).exitCode()}};Xh.paths=[["workspaces","focus"]],Xh.usage=it.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});Ke();Ke();Ke();_t();var rF=tt(Jo()),cve=tt($g());$a();var Zh=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=fe.Array("--from",[],{description:"An array of glob pattern idents from which to base any recursion"});this.all=fe.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=fe.Boolean("-v,--verbose",{description:"Prefix each output line with the name of the originating workspace"});this.parallel=fe.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=fe.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=fe.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:NT([Gs(["unlimited"]),Xg(TT(),[OT(),LT(1)])])});this.topological=fe.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=fe.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=fe.Array("--include",[],{description:"An array of glob pattern idents; only matching workspaces will be traversed"});this.exclude=fe.Array("--exclude",[],{description:"An array of glob pattern idents; matching workspaces won't be traversed"});this.publicOnly=fe.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!this.all&&!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new ot("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=this.all?o.topLevelWorkspace:a,p=this.since?Array.from(await Zo.fetchChangedWorkspaces({ref:this.since,project:o})):[A,...this.from.length>0?A.getRecursiveWorkspaceChildren():[]],h=le=>rF.default.isMatch(Y.stringifyIdent(le.locator),this.from),C=this.from.length>0?p.filter(h):p,w=new Set([...C,...C.map(le=>[...this.recursive?this.since?le.getRecursiveWorkspaceDependents():le.getRecursiveWorkspaceDependencies():le.getRecursiveWorkspaceChildren()]).flat()]),v=[],b=!1;if(u!=null&&u.includes(":")){for(let le of o.workspaces)if(le.manifest.scripts.has(u)&&(b=!b,b===!1))break}for(let le of w)u&&!le.manifest.scripts.has(u)&&!b&&!(await sn.getWorkspaceAccessibleBinaries(le)).has(u)||u===process.env.npm_lifecycle_event&&le.cwd===a.cwd||this.include.length>0&&!rF.default.isMatch(Y.stringifyIdent(le.locator),this.include)||this.exclude.length>0&&rF.default.isMatch(Y.stringifyIdent(le.locator),this.exclude)||this.publicOnly&&le.manifest.private===!0||v.push(le);let E=this.verbose??this.context.stdout.isTTY,R=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(As.availableParallelism()/2):1,L=R===1?!1:this.parallel,_=L?this.interlaced:!0,J=(0,cve.default)(R),re=new Map,oe=new Set,pe=0,he=null,ve=!1,ge=await Ct.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async le=>{let Pe=async(g,{commandIndex:De})=>{if(ve)return-1;!L&&E&&De>1&&le.reportSeparator();let Ee=Jvt(g,{configuration:r,verbose:E,commandIndex:De}),[de,ne]=lve(le,{prefix:Ee,interlaced:_}),[Z,me]=lve(le,{prefix:Ee,interlaced:_});try{E&&le.reportInfo(null,`${Ee} Process started`);let be=Date.now(),ut=await this.cli.run([this.commandName,...this.args],{cwd:g.cwd,stdout:de,stderr:Z})||0;de.end(),Z.end(),await ne,await me;let H=Date.now();if(E){let yt=r.get("enableTimers")?`, completed in ${ye.pretty(r,H-be,ye.Type.DURATION)}`:"";le.reportInfo(null,`${Ee} Process exited (exit code ${ut})${yt}`)}return ut===130&&(ve=!0,he=ut),ut}catch(be){throw de.end(),Z.end(),await ne,await me,be}};for(let g of v)re.set(g.anchoredLocator.locatorHash,g);for(;re.size>0&&!le.hasErrors();){let g=[];for(let[de,ne]of re){if(oe.has(ne.anchoredDescriptor.descriptorHash))continue;let Z=!0;if(this.topological||this.topologicalDev){let me=this.topologicalDev?new Map([...ne.manifest.dependencies,...ne.manifest.devDependencies]):ne.manifest.dependencies;for(let be of me.values()){let ut=o.tryWorkspaceByDescriptor(be);if(Z=ut===null||!re.has(ut.anchoredLocator.locatorHash),!Z)break}}if(!!Z&&(oe.add(ne.anchoredDescriptor.descriptorHash),g.push(J(async()=>{let me=await Pe(ne,{commandIndex:++pe});return re.delete(de),oe.delete(ne.anchoredDescriptor.descriptorHash),me})),!L))break}if(g.length===0){let de=Array.from(re.values()).map(ne=>Y.prettyLocator(r,ne.anchoredLocator)).join(", ");le.reportError(3,`Dependency cycle detected (${de})`);return}let Ee=(await Promise.all(g)).find(de=>de!==0);he===null&&(he=typeof Ee<"u"?1:he),(this.topological||this.topologicalDev)&&typeof Ee<"u"&&le.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return he!==null?he:ge.exitCode()}};Zh.paths=[["workspaces","foreach"]],Zh.usage=it.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag (automatically enabled in interactive terminal environments) will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]});function lve(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new Ye.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new Ye.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function Jvt(t,{configuration:e,commandIndex:r,verbose:o}){if(!o)return null;let n=`[${Y.stringifyIdent(t.locator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return ye.pretty(e,n,A)}var Vvt={commands:[Xh,Zh]},zvt=Vvt;var qb=()=>({modules:new Map([["@yarnpkg/cli",H1],["@yarnpkg/core",_1],["@yarnpkg/fslib",TI],["@yarnpkg/libzip",LI],["@yarnpkg/parsers",GI],["@yarnpkg/shell",E1],["clipanion",$I],["semver",Xvt],["typanion",Go],["@yarnpkg/plugin-essentials",X8],["@yarnpkg/plugin-compat",rH],["@yarnpkg/plugin-constraints",EH],["@yarnpkg/plugin-dlx",CH],["@yarnpkg/plugin-exec",BH],["@yarnpkg/plugin-file",DH],["@yarnpkg/plugin-git",z8],["@yarnpkg/plugin-github",xH],["@yarnpkg/plugin-http",bH],["@yarnpkg/plugin-init",QH],["@yarnpkg/plugin-interactive-tools",Fq],["@yarnpkg/plugin-link",Rq],["@yarnpkg/plugin-nm",Aj],["@yarnpkg/plugin-npm",l9],["@yarnpkg/plugin-npm-cli",d9],["@yarnpkg/plugin-pack",n9],["@yarnpkg/plugin-patch",B9],["@yarnpkg/plugin-pnp",$q],["@yarnpkg/plugin-pnpm",S9],["@yarnpkg/plugin-stage",F9],["@yarnpkg/plugin-typescript",R9],["@yarnpkg/plugin-version",M9],["@yarnpkg/plugin-workspace-tools",U9]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});Hb({binaryVersion:On||"<unknown>",pluginConfiguration:qb()});})(); 717 `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});Ke();bt();_t();var rF=tt(si());var Zh=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){wE(this.context);let{Gem:r}=await Promise.resolve().then(()=>(tk(),wq)),{ScrollableItems:o}=await Promise.resolve().then(()=>(sk(),ik)),{FocusRequest:a}=await Promise.resolve().then(()=>(vq(),gwe)),{useListInput:n}=await Promise.resolve().then(()=>(nk(),dwe)),{renderForm:u}=await Promise.resolve().then(()=>(ck(),lk)),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(cc())),{default:h,useCallback:E,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:C}=await St.find(v,this.context.cwd);if(!C)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState();let R=await aI(b);if(R===null||R.releaseRoots.size===0)return 0;if(R.root===null)throw new ot("This command can only be run on Git repositories");let L=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<left>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<right>")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),_=({workspace:ve,active:ge,decision:le,setDecision:Pe})=>{let g=ve.manifest.raw.stableVersion??ve.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${Y.prettyLocator(v,ve.anchoredLocator)})`);if(rF.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let De=["undecided","decline","patch","minor","major"];n(le,De,{active:ge,minus:"left",plus:"right",set:Pe});let Ce=le==="undecided"?h.createElement(p,{color:"yellow"},g):le==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},rF.default.valid(le)?le:rF.default.inc(g,le)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,Y.prettyLocator(v,ve.anchoredLocator)," - ",Ce)),h.createElement(A,null,De.map(de=>h.createElement(A,{key:de,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:de===le})," ",de)))))},V=ve=>{let ge=new Set(R.releaseRoots),le=new Map([...ve].filter(([Pe])=>ge.has(Pe)));for(;;){let Pe=bv({project:R.project,releases:le}),g=!1;if(Pe.length>0){for(let[De]of Pe)if(!ge.has(De)){ge.add(De),g=!0;let Ce=ve.get(De);typeof Ce<"u"&&le.set(De,Ce)}}if(!g)break}return{relevantWorkspaces:ge,relevantReleases:le}},re=()=>{let[ve,ge]=w(()=>new Map(R.releases)),le=E((Pe,g)=>{let De=new Map(ve);g!=="undecided"?De.set(Pe,g):De.delete(Pe);let{relevantReleases:Ce}=V(De);ge(Ce)},[ve,ge]);return[ve,le]},oe=({workspaces:ve,releases:ge})=>{let le=[];le.push(`${ve.size} total`);let Pe=0,g=0;for(let De of ve){let Ce=ge.get(De);typeof Ce>"u"?g+=1:Ce!=="decline"&&(Pe+=1)}return le.push(`${Pe} release${Pe===1?"":"s"}`),le.push(`${g} remaining`),h.createElement(p,{color:"yellow"},le.join(", "))},he=await u(({useSubmit:ve})=>{let[ge,le]=re();ve(ge);let{relevantWorkspaces:Pe}=V(ge),g=new Set([...Pe].filter(ne=>!R.releaseRoots.has(ne))),[De,Ce]=w(0),de=E(ne=>{switch(ne){case a.BEFORE:Ce(De-1);break;case a.AFTER:Ce(De+1);break}},[De,Ce]);return h.createElement(A,{flexDirection:"column"},h.createElement(L,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...R.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},ue.fromPortablePath(R.root)),ue.sep,ue.relative(ue.fromPortablePath(R.root),ue.fromPortablePath(ne)))))),R.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:R.releaseRoots,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===0,radius:1,size:2,onFocusRequest:de},[...R.releaseRoots].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<tab>")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:g,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===1,radius:2,size:2,onFocusRequest:de},[...g].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))):null)},{versionFile:R},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof he>"u")return 1;R.releases.clear();for(let[ve,ge]of he)R.releases.set(ve,ge);await R.saveAll()}async executeStandard(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Et.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await aI(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new ot("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${ye.pretty(r,A.baseHash.slice(0,7),"yellow")} ${ye.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${ye.pretty(r,ue.fromPortablePath(A.root),"gray")}${ue.sep}${ue.relative(ue.fromPortablePath(A.root),ue.fromPortablePath(v))}`)}let p=!1,h=!1,E=eF(A);if(E.size>0){p||u.reportSeparator();for(let v of E)u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let w=bv(A);for(let[v,b]of w)h||u.reportSeparator(),u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${Y.prettyWorkspace(r,b)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};Zh.paths=[["version","check"]],Zh.usage=it.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});Ke();_t();var nF=tt(si());var $h=class extends ct{constructor(){super(...arguments);this.deferred=fe.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=fe.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=nF.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let E=qG(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!A){if(E===null)throw new ot("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!nF.default.valid(E))throw new ot(`Can't bump the version (${E}) if it's not valid semver`)}p=sI(this.strategy)}if(!n){let w=(await xv(o)).get(a);if(typeof w<"u"&&p!=="decline"){let v=tF(a.manifest.version,p);if(nF.default.lt(v,w))throw new ot(`Can't bump the version to one that would be lower than the current deferred one (${w})`)}}let h=await aI(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};$h.paths=[["version"]],$h.usage=it.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var oDt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[Xh,Zh,$h]},aDt=oDt;var WG={};Yt(WG,{WorkspacesFocusCommand:()=>eg,WorkspacesForeachCommand:()=>tg,default:()=>uDt});Ke();Ke();_t();var eg=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=fe.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=fe.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new er(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(p=>o.getWorkspaceByIdent(Y.parseIdent(p))));for(let p of u)for(let h of this.production?["dependencies"]:Nt.hardDependencies)for(let E of p.manifest.getForScope(h).values()){let w=o.tryWorkspaceByDescriptor(E);w!==null&&u.add(w)}for(let p of o.workspaces)u.has(p)?this.production&&p.manifest.devDependencies.clear():(p.manifest.installConfig=p.manifest.installConfig||{},p.manifest.installConfig.selfReferences=!1,p.manifest.dependencies.clear(),p.manifest.devDependencies.clear(),p.manifest.peerDependencies.clear(),p.manifest.scripts.clear());return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async p=>{await o.install({cache:n,report:p,persistProject:!1})})).exitCode()}};eg.paths=[["workspaces","focus"]],eg.usage=it.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});Ke();Ke();Ke();_t();var xm=tt(Jo()),Eve=tt(rd());tl();var tg=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=fe.Array("--from",[],{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=fe.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=fe.Boolean("-v,--verbose",{description:"Prefix each output line with the name of the originating workspace"});this.parallel=fe.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=fe.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=fe.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:LT([Gs(["unlimited"]),ed(NT(),[MT(),OT(1)])])});this.topological=fe.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=fe.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=fe.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=fe.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=fe.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!this.all&&!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new ot("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=this.all?o.topLevelWorkspace:a,p=this.since?Array.from(await $o.fetchChangedWorkspaces({ref:this.since,project:o})):[A,...this.from.length>0?A.getRecursiveWorkspaceChildren():[]],h=le=>xm.default.isMatch(Y.stringifyIdent(le.locator),this.from)||xm.default.isMatch(le.relativeCwd,this.from),E=this.from.length>0?p.filter(h):p,w=new Set([...E,...E.map(le=>[...this.recursive?this.since?le.getRecursiveWorkspaceDependents():le.getRecursiveWorkspaceDependencies():le.getRecursiveWorkspaceChildren()]).flat()]),v=[],b=!1;if(u!=null&&u.includes(":")){for(let le of o.workspaces)if(le.manifest.scripts.has(u)&&(b=!b,b===!1))break}for(let le of w)u&&!le.manifest.scripts.has(u)&&!b&&!(await sn.getWorkspaceAccessibleBinaries(le)).has(u)||u===process.env.npm_lifecycle_event&&le.cwd===a.cwd||this.include.length>0&&!xm.default.isMatch(Y.stringifyIdent(le.locator),this.include)&&!xm.default.isMatch(le.relativeCwd,this.include)||this.exclude.length>0&&(xm.default.isMatch(Y.stringifyIdent(le.locator),this.exclude)||xm.default.isMatch(le.relativeCwd,this.exclude))||this.publicOnly&&le.manifest.private===!0||v.push(le);let C=this.verbose??this.context.stdout.isTTY,R=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(As.availableParallelism()/2):1,L=R===1?!1:this.parallel,_=L?this.interlaced:!0,V=(0,Eve.default)(R),re=new Map,oe=new Set,pe=0,he=null,ve=!1,ge=await Et.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async le=>{let Pe=async(g,{commandIndex:De})=>{if(ve)return-1;!L&&C&&De>1&&le.reportSeparator();let Ce=lDt(g,{configuration:r,verbose:C,commandIndex:De}),[de,ne]=Cve(le,{prefix:Ce,interlaced:_}),[Z,me]=Cve(le,{prefix:Ce,interlaced:_});try{C&&le.reportInfo(null,`${Ce} Process started`);let be=Date.now(),ut=await this.cli.run([this.commandName,...this.args],{cwd:g.cwd,stdout:de,stderr:Z})||0;de.end(),Z.end(),await ne,await me;let H=Date.now();if(C){let yt=r.get("enableTimers")?`, completed in ${ye.pretty(r,H-be,ye.Type.DURATION)}`:"";le.reportInfo(null,`${Ce} Process exited (exit code ${ut})${yt}`)}return ut===130&&(ve=!0,he=ut),ut}catch(be){throw de.end(),Z.end(),await ne,await me,be}};for(let g of v)re.set(g.anchoredLocator.locatorHash,g);for(;re.size>0&&!le.hasErrors();){let g=[];for(let[de,ne]of re){if(oe.has(ne.anchoredDescriptor.descriptorHash))continue;let Z=!0;if(this.topological||this.topologicalDev){let me=this.topologicalDev?new Map([...ne.manifest.dependencies,...ne.manifest.devDependencies]):ne.manifest.dependencies;for(let be of me.values()){let ut=o.tryWorkspaceByDescriptor(be);if(Z=ut===null||!re.has(ut.anchoredLocator.locatorHash),!Z)break}}if(!!Z&&(oe.add(ne.anchoredDescriptor.descriptorHash),g.push(V(async()=>{let me=await Pe(ne,{commandIndex:++pe});return re.delete(de),oe.delete(ne.anchoredDescriptor.descriptorHash),me})),!L))break}if(g.length===0){let de=Array.from(re.values()).map(ne=>Y.prettyLocator(r,ne.anchoredLocator)).join(", ");le.reportError(3,`Dependency cycle detected (${de})`);return}let Ce=(await Promise.all(g)).find(de=>de!==0);he===null&&(he=typeof Ce<"u"?1:he),(this.topological||this.topologicalDev)&&typeof Ce<"u"&&le.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return he!==null?he:ge.exitCode()}};tg.paths=[["workspaces","foreach"]],tg.usage=it.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag (automatically enabled in interactive terminal environments) will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]});function Cve(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new Ye.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new Ye.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function lDt(t,{configuration:e,commandIndex:r,verbose:o}){if(!o)return null;let n=`[${Y.stringifyIdent(t.locator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return ye.pretty(e,n,A)}var cDt={commands:[eg,tg]},uDt=cDt;var Jb=()=>({modules:new Map([["@yarnpkg/cli",W1],["@yarnpkg/core",G1],["@yarnpkg/fslib",MI],["@yarnpkg/libzip",_I],["@yarnpkg/parsers",VI],["@yarnpkg/shell",B1],["clipanion",nw],["semver",ADt],["typanion",Wo],["@yarnpkg/plugin-essentials",Z8],["@yarnpkg/plugin-compat",nH],["@yarnpkg/plugin-constraints",EH],["@yarnpkg/plugin-dlx",IH],["@yarnpkg/plugin-exec",vH],["@yarnpkg/plugin-file",SH],["@yarnpkg/plugin-git",X8],["@yarnpkg/plugin-github",bH],["@yarnpkg/plugin-http",QH],["@yarnpkg/plugin-init",kH],["@yarnpkg/plugin-interactive-tools",Rq],["@yarnpkg/plugin-link",Tq],["@yarnpkg/plugin-nm",mj],["@yarnpkg/plugin-npm",hG],["@yarnpkg/plugin-npm-cli",wG],["@yarnpkg/plugin-pack",cG],["@yarnpkg/plugin-patch",bG],["@yarnpkg/plugin-pnp",sj],["@yarnpkg/plugin-pnpm",FG],["@yarnpkg/plugin-stage",MG],["@yarnpkg/plugin-typescript",UG],["@yarnpkg/plugin-version",GG],["@yarnpkg/plugin-workspace-tools",WG]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});Vb({binaryVersion:On||"<unknown>",pluginConfiguration:Jb()});})();
716/* 718/*
717object-assign 719object-assign
718(c) Sindre Sorhus 720(c) Sindre Sorhus
@@ -781,6 +783,29 @@ object-assign
781 */ 783 */
782/** 784/**
783 @license 785 @license
786 Copyright Joyent, Inc. and other Node contributors.
787
788 Permission is hereby granted, free of charge, to any person obtaining a
789 copy of this software and associated documentation files (the
790 "Software"), to deal in the Software without restriction, including
791 without limitation the rights to use, copy, modify, merge, publish,
792 distribute, sublicense, and/or sell copies of the Software, and to permit
793 persons to whom the Software is furnished to do so, subject to the
794 following conditions:
795
796 The above copyright notice and this permission notice shall be included
797 in all copies or substantial portions of the Software.
798
799 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
800 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
801 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
802 NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
803 DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
804 OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
805 USE OR OTHER DEALINGS IN THE SOFTWARE.
806*/
807/**
808 @license
784 Copyright Node.js contributors. All rights reserved. 809 Copyright Node.js contributors. All rights reserved.
785 810
786 Permission is hereby granted, free of charge, to any person obtaining a copy 811 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -801,6 +826,30 @@ object-assign
801 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 826 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
802 IN THE SOFTWARE. 827 IN THE SOFTWARE.
803*/ 828*/
829/**
830 @license
831 The MIT License (MIT)
832
833 Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
834
835 Permission is hereby granted, free of charge, to any person obtaining a copy
836 of this software and associated documentation files (the "Software"), to deal
837 in the Software without restriction, including without limitation the rights
838 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
839 copies of the Software, and to permit persons to whom the Software is
840 furnished to do so, subject to the following conditions:
841
842 The above copyright notice and this permission notice shall be included in
843 all copies or substantial portions of the Software.
844
845 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
846 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
847 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
848 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
849 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
850 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
851 THE SOFTWARE.
852*/
804/** @license React v0.18.0 853/** @license React v0.18.0
805 * scheduler.production.min.js 854 * scheduler.production.min.js
806 * 855 *
diff --git a/.yarn/sdks/eslint/package.json b/.yarn/sdks/eslint/package.json
index 1769894e..a244033a 100644
--- a/.yarn/sdks/eslint/package.json
+++ b/.yarn/sdks/eslint/package.json
@@ -1,6 +1,6 @@
1{ 1{
2 "name": "eslint", 2 "name": "eslint",
3 "version": "8.29.0-sdk", 3 "version": "8.37.0-sdk",
4 "main": "./lib/api.js", 4 "main": "./lib/api.js",
5 "type": "commonjs" 5 "type": "commonjs"
6} 6}
diff --git a/.yarn/sdks/typescript/lib/tsserver.js b/.yarn/sdks/typescript/lib/tsserver.js
index 0fb2ac10..bbb1e465 100644
--- a/.yarn/sdks/typescript/lib/tsserver.js
+++ b/.yarn/sdks/typescript/lib/tsserver.js
@@ -109,6 +109,8 @@ const moduleWrapper = tsserver => {
109 str = `zip:${str}`; 109 str = `zip:${str}`;
110 } break; 110 } break;
111 } 111 }
112 } else {
113 str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`);
112 } 114 }
113 } 115 }
114 116
diff --git a/.yarn/sdks/typescript/lib/tsserverlibrary.js b/.yarn/sdks/typescript/lib/tsserverlibrary.js
index e7033a81..a68f028f 100644
--- a/.yarn/sdks/typescript/lib/tsserverlibrary.js
+++ b/.yarn/sdks/typescript/lib/tsserverlibrary.js
@@ -109,6 +109,8 @@ const moduleWrapper = tsserver => {
109 str = `zip:${str}`; 109 str = `zip:${str}`;
110 } break; 110 } break;
111 } 111 }
112 } else {
113 str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`);
112 } 114 }
113 } 115 }
114 116
diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json
index 176c2069..f1d7ffa4 100644
--- a/.yarn/sdks/typescript/package.json
+++ b/.yarn/sdks/typescript/package.json
@@ -1,6 +1,6 @@
1{ 1{
2 "name": "typescript", 2 "name": "typescript",
3 "version": "4.9.3-sdk", 3 "version": "5.0.3-sdk",
4 "main": "./lib/typescript.js", 4 "main": "./lib/typescript.js",
5 "type": "commonjs" 5 "type": "commonjs"
6} 6}
diff --git a/.yarnrc.yml b/.yarnrc.yml
index f02aeec9..37765fad 100644
--- a/.yarnrc.yml
+++ b/.yarnrc.yml
@@ -5,6 +5,9 @@ enableTelemetry: 0
5nodeLinker: pnp 5nodeLinker: pnp
6 6
7packageExtensions: 7packageExtensions:
8 "notistack@*":
9 peerDependencies:
10 "csstype": "*"
8 "@xstate/cli@*": 11 "@xstate/cli@*":
9 peerDependencies: 12 peerDependencies:
10 prettier: "*" 13 prettier: "*"
@@ -12,4 +15,4 @@ packageExtensions:
12 peerDependencies: 15 peerDependencies:
13 "@babel/core": "*" 16 "@babel/core": "*"
14 17
15yarnPath: .yarn/releases/yarn-4.0.0-rc.37.cjs 18yarnPath: .yarn/releases/yarn-4.0.0-rc.42.cjs
diff --git a/gradle.properties b/gradle.properties
index 3733420b..8faaa0eb 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,6 @@
1file.encoding=UTF-8 1file.encoding=UTF-8
2frontend.nodeVersion=18.13.0 2frontend.nodeVersion=18.15.0
3frontend.yarnVersion=4.0.0-rc.37 3frontend.yarnVersion=4.0.0-rc.42
4frontend.yarn1Version=1.22.19 4frontend.yarn1Version=1.22.19
5group=tools.refinery 5group=tools.refinery
6systemProp.sonar.projectKey=graphs4value_refinery 6systemProp.sonar.projectKey=graphs4value_refinery
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 9340f5c8..a797905b 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,23 +1,23 @@
1[versions] 1[versions]
2eclipseCollections = "11.1.0" 2eclipseCollections = "12.0.0.M1"
3jetty = "12.0.0.alpha3" 3jetty = "12.0.0.beta0"
4jmh = "1.36" 4jmh = "1.36"
5junit = "5.9.2" 5junit = "5.9.2"
6mockito = "5.1.1" 6mockito = "5.2.0"
7mwe2 = "2.14.0" 7mwe2 = "2.14.0"
8slf4j = "2.0.6" 8slf4j = "2.0.7"
9xtext = "2.30.0.M2" 9xtext = "2.30.0"
10 10
11[libraries] 11[libraries]
12jetbrainsAnnotations = { group = "org.jetbrains", name = "annotations", version = "24.0.0"} 12jetbrainsAnnotations = { group = "org.jetbrains", name = "annotations", version = "24.0.1"}
13eclipseCollections = { group = "org.eclipse.collections", name = "eclipse-collections", version.ref = "eclipseCollections" } 13eclipseCollections = { group = "org.eclipse.collections", name = "eclipse-collections", version.ref = "eclipseCollections" }
14eclipseCollections-api = { group = "org.eclipse.collections", name = "eclipse-collections-api", version.ref = "eclipseCollections" } 14eclipseCollections-api = { group = "org.eclipse.collections", name = "eclipse-collections-api", version.ref = "eclipseCollections" }
15ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version = "2.29.0" } 15ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version = "2.33.0" }
16ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version = "2.17.0" } 16ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version = "2.18.0" }
17ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version = "2.32.0" } 17ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version = "2.33.0" }
18gradlePlugin-frontend = { group = "org.siouan", name = "frontend-gradle-plugin-jdk11", version = "6.0.0" } 18gradlePlugin-frontend = { group = "org.siouan", name = "frontend-gradle-plugin-jdk11", version = "6.0.0" }
19gradlePlugin-shadow = { group = "gradle.plugin.com.github.johnrengelman", name = "shadow", version = "7.1.0" } 19gradlePlugin-shadow = { group = "com.github.johnrengelman", name = "shadow", version = "8.1.1" }
20gradlePlugin-sonarqube = { group = "org.sonarsource.scanner.gradle", name = "sonarqube-gradle-plugin", version = "3.3" } 20gradlePlugin-sonarqube = { group = "org.sonarsource.scanner.gradle", name = "sonarqube-gradle-plugin", version = "4.0.0.2929" }
21hamcrest = { group = "org.hamcrest", name = "hamcrest", version = "2.2" } 21hamcrest = { group = "org.hamcrest", name = "hamcrest", version = "2.2" }
22jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" } 22jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" }
23jetty-servlet = { group = "org.eclipse.jetty.ee10", name = "jetty-ee10-servlet", version.ref = "jetty" } 23jetty-servlet = { group = "org.eclipse.jetty.ee10", name = "jetty-ee10-servlet", version.ref = "jetty" }
@@ -48,4 +48,4 @@ xtext-xbase = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase", v
48xtext-xbase-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase.ide", version.ref = "xtext" } 48xtext-xbase-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase.ide", version.ref = "xtext" }
49 49
50[plugins] 50[plugins]
51versions = { id = "com.github.ben-manes.versions", version = "0.45.0" } 51versions = { id = "com.github.ben-manes.versions", version = "0.46.0" }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f398c33c..bdc9a83b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
1distributionBase=GRADLE_USER_HOME 1distributionBase=GRADLE_USER_HOME
2distributionPath=wrapper/dists 2distributionPath=wrapper/dists
3distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip 3distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
4networkTimeout=10000 4networkTimeout=10000
5zipStoreBase=GRADLE_USER_HOME 5zipStoreBase=GRADLE_USER_HOME
6zipStorePath=wrapper/dists 6zipStorePath=wrapper/dists
diff --git a/package.json b/package.json
index 88a4b2a6..e3443202 100644
--- a/package.json
+++ b/package.json
@@ -8,9 +8,9 @@
8 "scripts": { 8 "scripts": {
9 "frontend": "yarn workspace @refinery/frontend" 9 "frontend": "yarn workspace @refinery/frontend"
10 }, 10 },
11 "packageManager": "yarn@4.0.0-rc.37", 11 "packageManager": "yarn@4.0.0-rc.42",
12 "devDependencies": { 12 "devDependencies": {
13 "eslint": "^8.33.0", 13 "eslint": "^8.37.0",
14 "typescript": "4.9.5" 14 "typescript": "5.0.3"
15 } 15 }
16} 16}
diff --git a/settings.gradle b/settings.gradle
index 3149380d..81bcb53b 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -7,7 +7,9 @@ include 'language-model'
7include 'language-semantics' 7include 'language-semantics'
8include 'language-web' 8include 'language-web'
9include 'store' 9include 'store'
10include 'store-query'
10include 'store-query-viatra' 11include 'store-query-viatra'
12include 'store-reasoning'
11 13
12for (project in rootProject.children) { 14for (project in rootProject.children) {
13 def projectName = project.name 15 def projectName = project.name
diff --git a/subprojects/frontend/package.json b/subprojects/frontend/package.json
index a9153cd4..a761e74c 100644
--- a/subprojects/frontend/package.json
+++ b/subprojects/frontend/package.json
@@ -2,6 +2,7 @@
2 "name": "@refinery/frontend", 2 "name": "@refinery/frontend",
3 "version": "0.0.0", 3 "version": "0.0.0",
4 "description": "Web frontend for Refinery", 4 "description": "Web frontend for Refinery",
5 "type": "module",
5 "private": true, 6 "private": true,
6 "scripts": { 7 "scripts": {
7 "build": "cross-env MODE=production vite build", 8 "build": "cross-env MODE=production vite build",
@@ -23,60 +24,61 @@
23 }, 24 },
24 "homepage": "https://refinery.tools", 25 "homepage": "https://refinery.tools",
25 "dependencies": { 26 "dependencies": {
26 "@codemirror/autocomplete": "^6.4.0", 27 "@codemirror/autocomplete": "^6.4.2",
27 "@codemirror/commands": "^6.2.0", 28 "@codemirror/commands": "^6.2.2",
28 "@codemirror/language": "^6.4.0", 29 "@codemirror/language": "^6.6.0",
29 "@codemirror/lint": "^6.1.0", 30 "@codemirror/lint": "^6.2.0",
30 "@codemirror/search": "^6.2.3", 31 "@codemirror/search": "^6.3.0",
31 "@codemirror/state": "^6.2.0", 32 "@codemirror/state": "^6.2.0",
32 "@codemirror/view": "^6.7.3", 33 "@codemirror/view": "^6.9.3",
33 "@emotion/react": "^11.10.5", 34 "@emotion/react": "^11.10.6",
34 "@emotion/styled": "^11.10.5", 35 "@emotion/styled": "^11.10.6",
35 "@fontsource/inter": "^4.5.15", 36 "@fontsource/inter": "^4.5.15",
36 "@fontsource/jetbrains-mono": "^4.5.12", 37 "@fontsource/jetbrains-mono": "^4.5.12",
37 "@lezer/common": "^1.0.2", 38 "@lezer/common": "^1.0.2",
38 "@lezer/highlight": "^1.1.3", 39 "@lezer/highlight": "^1.1.4",
39 "@lezer/lr": "^1.3.3", 40 "@lezer/lr": "^1.3.3",
40 "@material-icons/svg": "^1.0.33", 41 "@material-icons/svg": "^1.0.33",
41 "@mui/icons-material": "5.11.0", 42 "@mui/icons-material": "5.11.11",
42 "@mui/material": "5.11.7", 43 "@mui/material": "5.11.15",
43 "@vitejs/plugin-react-swc": "^3.1.0", 44 "@vitejs/plugin-react-swc": "^3.2.0",
44 "ansi-styles": "^6.2.1", 45 "ansi-styles": "^6.2.1",
46 "csstype": "^3.1.1",
45 "escape-string-regexp": "^5.0.0", 47 "escape-string-regexp": "^5.0.0",
46 "lodash-es": "^4.17.21", 48 "lodash-es": "^4.17.21",
47 "loglevel": "^1.8.1", 49 "loglevel": "^1.8.1",
48 "loglevel-plugin-prefix": "^0.8.4", 50 "loglevel-plugin-prefix": "^0.8.4",
49 "mobx": "^6.7.0", 51 "mobx": "^6.9.0",
50 "mobx-react-lite": "^3.4.0", 52 "mobx-react-lite": "^3.4.3",
51 "ms": "^2.1.3", 53 "ms": "^2.1.3",
52 "nanoid": "^4.0.0", 54 "nanoid": "^4.0.2",
53 "notistack": "^2.0.8", 55 "notistack": "^3.0.1",
54 "react": "^18.2.0", 56 "react": "^18.2.0",
55 "react-dom": "^18.2.0", 57 "react-dom": "^18.2.0",
56 "xstate": "^4.35.4", 58 "xstate": "^4.37.1",
57 "zod": "^3.20.2" 59 "zod": "^3.21.4"
58 }, 60 },
59 "devDependencies": { 61 "devDependencies": {
60 "@lezer/generator": "^1.2.2", 62 "@lezer/generator": "^1.2.2",
61 "@tsconfig/node18-strictest-esm": "^1.0.1", 63 "@tsconfig/strictest": "^2.0.0",
62 "@types/eslint": "^8.21.0", 64 "@types/eslint": "^8.37.0",
63 "@types/html-minifier-terser": "^7.0.0", 65 "@types/html-minifier-terser": "^7.0.0",
64 "@types/lodash-es": "^4.17.6", 66 "@types/lodash-es": "^4.17.7",
65 "@types/micromatch": "^4.0.2", 67 "@types/micromatch": "^4.0.2",
66 "@types/ms": "^0.7.31", 68 "@types/ms": "^0.7.31",
67 "@types/node": "^18.11.18", 69 "@types/node": "^18.15.11",
68 "@types/prettier": "^2.7.2", 70 "@types/prettier": "^2.7.2",
69 "@types/react": "^18.0.27", 71 "@types/react": "^18.0.31",
70 "@types/react-dom": "^18.0.10", 72 "@types/react-dom": "^18.0.11",
71 "@typescript-eslint/eslint-plugin": "^5.50.0", 73 "@typescript-eslint/eslint-plugin": "^5.57.0",
72 "@typescript-eslint/parser": "^5.50.0", 74 "@typescript-eslint/parser": "^5.57.0",
73 "@xstate/cli": "^0.4.2", 75 "@xstate/cli": "^0.4.2",
74 "cross-env": "^7.0.3", 76 "cross-env": "^7.0.3",
75 "eslint": "^8.33.0", 77 "eslint": "^8.37.0",
76 "eslint-config-airbnb": "^19.0.4", 78 "eslint-config-airbnb": "^19.0.4",
77 "eslint-config-airbnb-typescript": "^17.0.0", 79 "eslint-config-airbnb-typescript": "^17.0.0",
78 "eslint-config-prettier": "^8.6.0", 80 "eslint-config-prettier": "^8.8.0",
79 "eslint-import-resolver-typescript": "^3.5.3", 81 "eslint-import-resolver-typescript": "^3.5.4",
80 "eslint-plugin-import": "^2.27.5", 82 "eslint-plugin-import": "^2.27.5",
81 "eslint-plugin-jsx-a11y": "^6.7.1", 83 "eslint-plugin-jsx-a11y": "^6.7.1",
82 "eslint-plugin-mobx": "^0.0.9", 84 "eslint-plugin-mobx": "^0.0.9",
@@ -85,10 +87,10 @@
85 "eslint-plugin-react-hooks": "^4.6.0", 87 "eslint-plugin-react-hooks": "^4.6.0",
86 "html-minifier-terser": "^7.1.0", 88 "html-minifier-terser": "^7.1.0",
87 "micromatch": "^4.0.5", 89 "micromatch": "^4.0.5",
88 "prettier": "^2.8.3", 90 "prettier": "^2.8.7",
89 "typescript": "4.9.5", 91 "typescript": "5.0.3",
90 "vite": "^4.1.1", 92 "vite": "^4.2.1",
91 "vite-plugin-pwa": "^0.14.1", 93 "vite-plugin-pwa": "^0.14.7",
92 "workbox-window": "^6.5.4" 94 "workbox-window": "^6.5.4"
93 } 95 }
94} 96}
diff --git a/subprojects/frontend/src/Refinery.tsx b/subprojects/frontend/src/Refinery.tsx
index 93a82ee1..f0162349 100644
--- a/subprojects/frontend/src/Refinery.tsx
+++ b/subprojects/frontend/src/Refinery.tsx
@@ -8,7 +8,6 @@ import EditorPane from './editor/EditorPane';
8 8
9export default function Refinery(): JSX.Element { 9export default function Refinery(): JSX.Element {
10 return ( 10 return (
11 // @ts-expect-error -- notistack has problems with `exactOptionalPropertyTypes
12 <SnackbarProvider TransitionComponent={Grow}> 11 <SnackbarProvider TransitionComponent={Grow}>
13 <UpdateNotification /> 12 <UpdateNotification />
14 <Stack direction="column" height="100%" overflow="auto"> 13 <Stack direction="column" height="100%" overflow="auto">
diff --git a/subprojects/frontend/src/UpdateNotification.tsx b/subprojects/frontend/src/UpdateNotification.tsx
index 07f7f5f7..5c8c2d01 100644
--- a/subprojects/frontend/src/UpdateNotification.tsx
+++ b/subprojects/frontend/src/UpdateNotification.tsx
@@ -32,14 +32,14 @@ export default observer(function UpdateNotification(): null {
32 return enqueueLater('Failed to download update', { 32 return enqueueLater('Failed to download update', {
33 variant: 'error', 33 variant: 'error',
34 action: ( 34 action: (
35 <> 35 <ContrastThemeProvider>
36 <Button color="inherit" onClick={() => pwaStore.checkForUpdates()}> 36 <Button color="inherit" onClick={() => pwaStore.checkForUpdates()}>
37 Try again 37 Try again
38 </Button> 38 </Button>
39 <Button color="inherit" onClick={() => pwaStore.dismissError()}> 39 <Button color="inherit" onClick={() => pwaStore.dismissError()}>
40 Dismiss 40 Dismiss
41 </Button> 41 </Button>
42 </> 42 </ContrastThemeProvider>
43 ), 43 ),
44 }); 44 });
45 } 45 }
diff --git a/subprojects/frontend/src/editor/scrollbarViewPlugin.ts b/subprojects/frontend/src/editor/scrollbarViewPlugin.ts
index f54251a9..f44034fd 100644
--- a/subprojects/frontend/src/editor/scrollbarViewPlugin.ts
+++ b/subprojects/frontend/src/editor/scrollbarViewPlugin.ts
@@ -266,7 +266,6 @@ export default function scrollbarViewPlugin(
266 if (firstRunTimeout !== undefined) { 266 if (firstRunTimeout !== undefined) {
267 clearTimeout(firstRunTimeout); 267 clearTimeout(firstRunTimeout);
268 } 268 }
269 // @ts-expect-error `@types/node` typings should not be in effect here.
270 firstRunTimeout = setTimeout(() => { 269 firstRunTimeout = setTimeout(() => {
271 spacer.style.minHeight = `${scrollHeight}px`; 270 spacer.style.minHeight = `${scrollHeight}px`;
272 firstRun = false; 271 firstRun = false;
diff --git a/subprojects/frontend/src/theme/ThemeProvider.tsx b/subprojects/frontend/src/theme/ThemeProvider.tsx
index 7bda1ede..ff97d524 100644
--- a/subprojects/frontend/src/theme/ThemeProvider.tsx
+++ b/subprojects/frontend/src/theme/ThemeProvider.tsx
@@ -6,7 +6,6 @@ import {
6 type ThemeOptions, 6 type ThemeOptions,
7 ThemeProvider as MaterialUiThemeProvider, 7 ThemeProvider as MaterialUiThemeProvider,
8 type TypographyStyle, 8 type TypographyStyle,
9 useTheme,
10 type CSSObject, 9 type CSSObject,
11} from '@mui/material/styles'; 10} from '@mui/material/styles';
12import { observer } from 'mobx-react-lite'; 11import { observer } from 'mobx-react-lite';
@@ -350,15 +349,14 @@ export function ContrastThemeProvider({
350}: { 349}: {
351 children?: ReactNode; 350 children?: ReactNode;
352}): JSX.Element { 351}): JSX.Element {
353 const theme = useTheme();
354 const contrastTheme = useContext(ContrastThemeContext); 352 const contrastTheme = useContext(ContrastThemeContext);
355 if (!contrastTheme) { 353 if (!contrastTheme) {
356 throw new Error('ContrastThemeProvider must be used within ThemeProvider'); 354 throw new Error('ContrastThemeProvider must be used within ThemeProvider');
357 } 355 }
358 return ( 356 return (
359 <ThemeAndContrastThemeProvider theme={contrastTheme} contrastTheme={theme}> 357 <MaterialUiThemeProvider theme={contrastTheme}>
360 {children} 358 {children}
361 </ThemeAndContrastThemeProvider> 359 </MaterialUiThemeProvider>
362 ); 360 );
363} 361}
364 362
@@ -378,7 +376,7 @@ const ThemeProvider = observer(function ThemeProvider({
378 return ( 376 return (
379 <ThemeAndContrastThemeProvider 377 <ThemeAndContrastThemeProvider
380 theme={darkMode ? darkTheme : lightTheme} 378 theme={darkMode ? darkTheme : lightTheme}
381 contrastTheme={darkMode ? lightTheme : darkTheme} 379 contrastTheme={darkTheme}
382 > 380 >
383 {children} 381 {children}
384 </ThemeAndContrastThemeProvider> 382 </ThemeAndContrastThemeProvider>
diff --git a/subprojects/frontend/src/utils/PendingTask.ts b/subprojects/frontend/src/utils/PendingTask.ts
index fd52cef1..d0b24c1f 100644
--- a/subprojects/frontend/src/utils/PendingTask.ts
+++ b/subprojects/frontend/src/utils/PendingTask.ts
@@ -20,7 +20,6 @@ export default class PendingTask<T> {
20 ) { 20 ) {
21 this.resolveCallback = resolveCallback; 21 this.resolveCallback = resolveCallback;
22 this.rejectCallback = rejectCallback; 22 this.rejectCallback = rejectCallback;
23 // @ts-expect-error See https://github.com/mobxjs/mobx/issues/3582 on `@types/node` pollution
24 this.timeout = setTimeout(() => { 23 this.timeout = setTimeout(() => {
25 if (!this.resolved) { 24 if (!this.resolved) {
26 this.reject(new TimeoutError()); 25 this.reject(new TimeoutError());
diff --git a/subprojects/frontend/src/utils/useDelayedSnackbar.ts b/subprojects/frontend/src/utils/useDelayedSnackbar.ts
index 54716c0c..03ad6caa 100644
--- a/subprojects/frontend/src/utils/useDelayedSnackbar.ts
+++ b/subprojects/frontend/src/utils/useDelayedSnackbar.ts
@@ -21,7 +21,6 @@ export default function useDelayedSnackbar(
21 delay = defaultDelay, 21 delay = defaultDelay,
22 ) => { 22 ) => {
23 let key: SnackbarKey | undefined; 23 let key: SnackbarKey | undefined;
24 // @ts-expect-error See https://github.com/mobxjs/mobx/issues/3582 on `@types/node` pollution
25 let timeout: number | undefined = setTimeout(() => { 24 let timeout: number | undefined = setTimeout(() => {
26 timeout = undefined; 25 timeout = undefined;
27 key = enqueueSnackbar(message, options); 26 key = enqueueSnackbar(message, options);
diff --git a/subprojects/frontend/src/xtext/webSocketMachine.ts b/subprojects/frontend/src/xtext/webSocketMachine.ts
index 216ed86a..fc53fef3 100644
--- a/subprojects/frontend/src/xtext/webSocketMachine.ts
+++ b/subprojects/frontend/src/xtext/webSocketMachine.ts
@@ -1,5 +1,5 @@
1import ms from 'ms'; 1import ms from 'ms';
2import { actions, assign, createMachine, RaiseAction } from 'xstate'; 2import { actions, assign, createMachine } from 'xstate';
3 3
4const { raise } = actions; 4const { raise } = actions;
5 5
@@ -217,16 +217,15 @@ export default createMachine(
217 ...context, 217 ...context,
218 errors: [], 218 errors: [],
219 })), 219 })),
220 // Workaround from https://github.com/statelyai/xstate/issues/1414#issuecomment-699972485
221 raiseTimeoutError: raise({ 220 raiseTimeoutError: raise({
222 type: 'ERROR', 221 type: 'ERROR',
223 message: 'Open timeout', 222 message: 'Open timeout',
224 }) as RaiseAction<WebSocketEvent>, 223 }),
225 raisePromiseRejectionError: (_context, { data }) => 224 raisePromiseRejectionError: (_context, { data }) =>
226 raise({ 225 raise<WebSocketContext, WebSocketEvent>({
227 type: 'ERROR', 226 type: 'ERROR',
228 message: data, 227 message: String(data),
229 }) as RaiseAction<WebSocketEvent>, 228 }),
230 }, 229 },
231 }, 230 },
232); 231);
diff --git a/subprojects/frontend/tsconfig.base.json b/subprojects/frontend/tsconfig.base.json
index 585866f1..b960e93c 100644
--- a/subprojects/frontend/tsconfig.base.json
+++ b/subprojects/frontend/tsconfig.base.json
@@ -1,7 +1,10 @@
1{ 1{
2 "extends": "@tsconfig/node18-strictest-esm/tsconfig.json", 2 "extends": "@tsconfig/strictest",
3 "compilerOptions": { 3 "compilerOptions": {
4 "useDefineForClassFields": true, 4 "useDefineForClassFields": true,
5 "verbatimModuleSyntax": false,
5 "isolatedModules": true, 6 "isolatedModules": true,
7 "module": "es2022",
8 "moduleResolution": "node"
6 } 9 }
7} 10}
diff --git a/subprojects/language-model/META-INF/MANIFEST.MF b/subprojects/language-model/META-INF/MANIFEST.MF
index a9c6340a..5d36a475 100644
--- a/subprojects/language-model/META-INF/MANIFEST.MF
+++ b/subprojects/language-model/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@ Bundle-Version: 0.0.0.qualifier
7Bundle-ClassPath: . 7Bundle-ClassPath: .
8Bundle-Vendor: %providerName 8Bundle-Vendor: %providerName
9Bundle-Localization: plugin 9Bundle-Localization: plugin
10Bundle-RequiredExecutionEnvironment: JavaSE-17 10Bundle-RequiredExecutionEnvironment: J2SE-1.5
11Export-Package: tools.refinery.language.model, 11Export-Package: tools.refinery.language.model,
12 tools.refinery.language.model.problem, 12 tools.refinery.language.model.problem,
13 tools.refinery.language.model.problem.impl, 13 tools.refinery.language.model.problem.impl,
diff --git a/subprojects/store-query-viatra/build.gradle b/subprojects/store-query-viatra/build.gradle
index c12b48fe..13a7544f 100644
--- a/subprojects/store-query-viatra/build.gradle
+++ b/subprojects/store-query-viatra/build.gradle
@@ -10,7 +10,7 @@ configurations.testRuntimeClasspath {
10dependencies { 10dependencies {
11 implementation libs.ecore 11 implementation libs.ecore
12 api libs.viatra 12 api libs.viatra
13 api project(':refinery-store') 13 api project(':refinery-store-query')
14 testImplementation libs.slf4j.simple 14 testImplementation libs.slf4j.simple
15 testImplementation libs.slf4j.log4j 15 testImplementation libs.slf4j.log4j
16} 16}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java
index efc6146c..7ae86f9f 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java
@@ -4,7 +4,8 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions;
4import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; 4import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory;
5import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 5import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
6import tools.refinery.store.model.ModelStore; 6import tools.refinery.store.model.ModelStore;
7import tools.refinery.store.query.DNF; 7import tools.refinery.store.query.dnf.AnyQuery;
8import tools.refinery.store.query.dnf.Dnf;
8import tools.refinery.store.query.ModelQueryBuilder; 9import tools.refinery.store.query.ModelQueryBuilder;
9 10
10import java.util.Collection; 11import java.util.Collection;
@@ -23,25 +24,25 @@ public interface ViatraModelQueryBuilder extends ModelQueryBuilder {
23 ViatraModelQueryBuilder searchBackend(IQueryBackendFactory queryBackendFactory); 24 ViatraModelQueryBuilder searchBackend(IQueryBackendFactory queryBackendFactory);
24 25
25 @Override 26 @Override
26 default ViatraModelQueryBuilder queries(DNF... queries) { 27 default ViatraModelQueryBuilder queries(AnyQuery... queries) {
27 ModelQueryBuilder.super.queries(queries); 28 ModelQueryBuilder.super.queries(queries);
28 return this; 29 return this;
29 } 30 }
30 31
31 @Override 32 @Override
32 default ViatraModelQueryBuilder queries(Collection<DNF> queries) { 33 default ViatraModelQueryBuilder queries(Collection<? extends AnyQuery> queries) {
33 ModelQueryBuilder.super.queries(queries); 34 ModelQueryBuilder.super.queries(queries);
34 return this; 35 return this;
35 } 36 }
36 37
37 @Override 38 @Override
38 ViatraModelQueryBuilder query(DNF query); 39 ViatraModelQueryBuilder query(AnyQuery query);
39 40
40 ViatraModelQueryBuilder query(DNF query, QueryEvaluationHint queryEvaluationHint); 41 ViatraModelQueryBuilder query(AnyQuery query, QueryEvaluationHint queryEvaluationHint);
41 42
42 ViatraModelQueryBuilder computeHint(Function<DNF, QueryEvaluationHint> computeHint); 43 ViatraModelQueryBuilder computeHint(Function<Dnf, QueryEvaluationHint> computeHint);
43 44
44 ViatraModelQueryBuilder hint(DNF dnf, QueryEvaluationHint queryEvaluationHint); 45 ViatraModelQueryBuilder hint(Dnf dnf, QueryEvaluationHint queryEvaluationHint);
45 46
46 @Override 47 @Override
47 ViatraModelQueryStoreAdapter createStoreAdapter(ModelStore store); 48 ViatraModelQueryStoreAdapter createStoreAdapter(ModelStore store);
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java
index 039f46fa..8be30fee 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java
@@ -7,62 +7,92 @@ import org.eclipse.viatra.query.runtime.internal.apiimpl.ViatraQueryEngineImpl;
7import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend; 7import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend;
8import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; 8import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory;
9import tools.refinery.store.model.Model; 9import tools.refinery.store.model.Model;
10import tools.refinery.store.query.DNF; 10import tools.refinery.store.model.ModelListener;
11import tools.refinery.store.query.AnyResultSet;
12import tools.refinery.store.query.EmptyResultSet;
11import tools.refinery.store.query.ResultSet; 13import tools.refinery.store.query.ResultSet;
14import tools.refinery.store.query.dnf.AnyQuery;
15import tools.refinery.store.query.dnf.FunctionalQuery;
16import tools.refinery.store.query.dnf.Query;
17import tools.refinery.store.query.dnf.RelationalQuery;
12import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 18import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
19import tools.refinery.store.query.viatra.internal.matcher.FunctionalViatraMatcher;
20import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher;
21import tools.refinery.store.query.viatra.internal.matcher.RelationalViatraMatcher;
13 22
14import java.lang.invoke.MethodHandle; 23import java.lang.invoke.MethodHandle;
15import java.lang.invoke.MethodHandles; 24import java.lang.invoke.MethodHandles;
16import java.util.Collection; 25import java.util.Collection;
17import java.util.Collections; 26import java.util.Collections;
18import java.util.HashMap; 27import java.util.LinkedHashMap;
19import java.util.Map; 28import java.util.Map;
20 29
21public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter { 30public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter, ModelListener {
22 private static final String DELAY_MESSAGE_DELIVERY_FIELD_NAME = "delayMessageDelivery"; 31 private static final String DELAY_MESSAGE_DELIVERY_FIELD_NAME = "delayMessageDelivery";
32 private static final MethodHandle SET_UPDATE_PROPAGATION_DELAYED_HANDLE;
23 private static final String QUERY_BACKENDS_FIELD_NAME = "queryBackends"; 33 private static final String QUERY_BACKENDS_FIELD_NAME = "queryBackends";
34 private static final MethodHandle GET_QUERY_BACKENDS_HANDLE;
24 35
25 private final Model model; 36 private final Model model;
26 private final ViatraModelQueryStoreAdapterImpl storeAdapter; 37 private final ViatraModelQueryStoreAdapterImpl storeAdapter;
27 private final ViatraQueryEngineImpl queryEngine; 38 private final ViatraQueryEngineImpl queryEngine;
28 private final MethodHandle setUpdatePropagationDelayedHandle; 39 private final Map<AnyQuery, AnyResultSet> resultSets;
29 private final MethodHandle getQueryBackendsHandle;
30 private final Map<DNF, ResultSet> resultSets;
31 private boolean pendingChanges; 40 private boolean pendingChanges;
32 41
33 ViatraModelQueryAdapterImpl(Model model, ViatraModelQueryStoreAdapterImpl storeAdapter) { 42 static {
34 this.model = model;
35 this.storeAdapter = storeAdapter;
36 var scope = new RelationalScope(this);
37 queryEngine = (ViatraQueryEngineImpl) AdvancedViatraQueryEngine.createUnmanagedEngine(scope);
38
39 try { 43 try {
40 var lookup = MethodHandles.privateLookupIn(ViatraQueryEngineImpl.class, MethodHandles.lookup()); 44 var lookup = MethodHandles.privateLookupIn(ViatraQueryEngineImpl.class, MethodHandles.lookup());
41 setUpdatePropagationDelayedHandle = lookup.findSetter(ViatraQueryEngineImpl.class, 45 SET_UPDATE_PROPAGATION_DELAYED_HANDLE = lookup.findSetter(ViatraQueryEngineImpl.class,
42 DELAY_MESSAGE_DELIVERY_FIELD_NAME, Boolean.TYPE); 46 DELAY_MESSAGE_DELIVERY_FIELD_NAME, Boolean.TYPE);
43 getQueryBackendsHandle = lookup.findGetter(ViatraQueryEngineImpl.class, QUERY_BACKENDS_FIELD_NAME, 47 GET_QUERY_BACKENDS_HANDLE = lookup.findGetter(ViatraQueryEngineImpl.class, QUERY_BACKENDS_FIELD_NAME,
44 Map.class); 48 Map.class);
45 } catch (IllegalAccessException | NoSuchFieldException e) { 49 } catch (IllegalAccessException | NoSuchFieldException e) {
46 throw new IllegalStateException("Cannot access private members of %s" 50 throw new IllegalStateException("Cannot access private members of %s"
47 .formatted(ViatraQueryEngineImpl.class.getName()), e); 51 .formatted(ViatraQueryEngineImpl.class.getName()), e);
48 } 52 }
53 }
54
55 ViatraModelQueryAdapterImpl(Model model, ViatraModelQueryStoreAdapterImpl storeAdapter) {
56 this.model = model;
57 this.storeAdapter = storeAdapter;
58 var scope = new RelationalScope(this);
59 queryEngine = (ViatraQueryEngineImpl) AdvancedViatraQueryEngine.createUnmanagedEngine(scope,
60 storeAdapter.getEngineOptions());
49 61
50 var querySpecifications = storeAdapter.getQuerySpecifications(); 62 var querySpecifications = storeAdapter.getQuerySpecifications();
51 GenericQueryGroup.of( 63 GenericQueryGroup.of(
52 Collections.<IQuerySpecification<?>>unmodifiableCollection(querySpecifications.values()).stream() 64 Collections.<IQuerySpecification<?>>unmodifiableCollection(querySpecifications.values()).stream()
53 ).prepare(queryEngine); 65 ).prepare(queryEngine);
54 resultSets = new HashMap<>(querySpecifications.size()); 66 var vacuousQueries = storeAdapter.getVacuousQueries();
67 resultSets = new LinkedHashMap<>(querySpecifications.size() + vacuousQueries.size());
55 for (var entry : querySpecifications.entrySet()) { 68 for (var entry : querySpecifications.entrySet()) {
56 var matcher = queryEngine.getMatcher(entry.getValue()); 69 var rawPatternMatcher = queryEngine.getMatcher(entry.getValue());
57 resultSets.put(entry.getKey(), matcher); 70 var query = entry.getKey();
71 resultSets.put(query, createResultSet((Query<?>) query, rawPatternMatcher));
72 }
73 for (var vacuousQuery : vacuousQueries) {
74 resultSets.put(vacuousQuery, new EmptyResultSet<>(this, (Query<?>) vacuousQuery));
58 } 75 }
59 76
60 setUpdatePropagationDelayed(true); 77 setUpdatePropagationDelayed(true);
78 model.addListener(this);
79 }
80
81 private <T> ResultSet<T> createResultSet(Query<T> query, RawPatternMatcher matcher) {
82 if (query instanceof RelationalQuery relationalQuery) {
83 @SuppressWarnings("unchecked")
84 var resultSet = (ResultSet<T>) new RelationalViatraMatcher(this, relationalQuery, matcher);
85 return resultSet;
86 } else if (query instanceof FunctionalQuery<T> functionalQuery) {
87 return new FunctionalViatraMatcher<>(this, functionalQuery, matcher);
88 } else {
89 throw new IllegalArgumentException("Unknown query: " + query);
90 }
61 } 91 }
62 92
63 private void setUpdatePropagationDelayed(boolean value) { 93 private void setUpdatePropagationDelayed(boolean value) {
64 try { 94 try {
65 setUpdatePropagationDelayedHandle.invokeExact(queryEngine, value); 95 SET_UPDATE_PROPAGATION_DELAYED_HANDLE.invokeExact(queryEngine, value);
66 } catch (Error e) { 96 } catch (Error e) {
67 // Fatal JVM errors should not be wrapped. 97 // Fatal JVM errors should not be wrapped.
68 throw e; 98 throw e;
@@ -74,7 +104,7 @@ public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter {
74 private Collection<IQueryBackend> getQueryBackends() { 104 private Collection<IQueryBackend> getQueryBackends() {
75 try { 105 try {
76 @SuppressWarnings("unchecked") 106 @SuppressWarnings("unchecked")
77 var backendMap = (Map<IQueryBackendFactory, IQueryBackend>) getQueryBackendsHandle.invokeExact(queryEngine); 107 var backendMap = (Map<IQueryBackendFactory, IQueryBackend>) GET_QUERY_BACKENDS_HANDLE.invokeExact(queryEngine);
78 return backendMap.values(); 108 return backendMap.values();
79 } catch (Error e) { 109 } catch (Error e) {
80 // Fatal JVM errors should not be wrapped. 110 // Fatal JVM errors should not be wrapped.
@@ -95,12 +125,14 @@ public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter {
95 } 125 }
96 126
97 @Override 127 @Override
98 public ResultSet getResultSet(DNF query) { 128 public <T> ResultSet<T> getResultSet(Query<T> query) {
99 var resultSet = resultSets.get(query); 129 var resultSet = resultSets.get(query);
100 if (resultSet == null) { 130 if (resultSet == null) {
101 throw new IllegalArgumentException("No matcher for query %s in model".formatted(query.name())); 131 throw new IllegalArgumentException("No matcher for query %s in model".formatted(query.name()));
102 } 132 }
103 return resultSet; 133 @SuppressWarnings("unchecked")
134 var typedResultSet = (ResultSet<T>) resultSet;
135 return typedResultSet;
104 } 136 }
105 137
106 @Override 138 @Override
@@ -132,4 +164,9 @@ public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter {
132 } 164 }
133 pendingChanges = false; 165 pendingChanges = false;
134 } 166 }
167
168 @Override
169 public void afterRestore() {
170 flushChanges();
171 }
135} 172}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java
index 9f1e55b1..bfabf26e 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java
@@ -2,34 +2,40 @@ package tools.refinery.store.query.viatra.internal;
2 2
3import org.eclipse.viatra.query.runtime.api.IQuerySpecification; 3import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
4import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; 4import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions;
5import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchGenericBackendFactory; 5import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHintOptions;
6import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; 6import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory;
7import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 7import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
8import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory; 8import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory;
9import tools.refinery.store.adapter.AbstractModelAdapterBuilder; 9import tools.refinery.store.adapter.AbstractModelAdapterBuilder;
10import tools.refinery.store.model.ModelStore; 10import tools.refinery.store.model.ModelStore;
11import tools.refinery.store.model.ModelStoreBuilder; 11import tools.refinery.store.model.ModelStoreBuilder;
12import tools.refinery.store.query.DNF; 12import tools.refinery.store.query.dnf.AnyQuery;
13import tools.refinery.store.query.dnf.Dnf;
13import tools.refinery.store.query.viatra.ViatraModelQueryBuilder; 14import tools.refinery.store.query.viatra.ViatraModelQueryBuilder;
14import tools.refinery.store.query.viatra.internal.pquery.DNF2PQuery; 15import tools.refinery.store.query.viatra.internal.localsearch.FlatCostFunction;
15import tools.refinery.store.query.viatra.internal.pquery.RawPatternMatcher; 16import tools.refinery.store.query.viatra.internal.localsearch.RelationalLocalSearchBackendFactory;
17import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher;
18import tools.refinery.store.query.viatra.internal.pquery.Dnf2PQuery;
16 19
17import java.util.Collections; 20import java.util.*;
18import java.util.LinkedHashMap;
19import java.util.Map;
20import java.util.function.Function; 21import java.util.function.Function;
21 22
22public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder implements ViatraModelQueryBuilder { 23public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder implements ViatraModelQueryBuilder {
23 private ViatraQueryEngineOptions.Builder engineOptionsBuilder; 24 private ViatraQueryEngineOptions.Builder engineOptionsBuilder;
24 private final DNF2PQuery dnf2PQuery = new DNF2PQuery(); 25 private QueryEvaluationHint defaultHint = new QueryEvaluationHint(Map.of(
25 private final Map<DNF, IQuerySpecification<RawPatternMatcher>> querySpecifications = new LinkedHashMap<>(); 26 // Use a cost function that ignores the initial (empty) model but allows higher arity input keys.
27 LocalSearchHintOptions.PLANNER_COST_FUNCTION, new FlatCostFunction()
28 ), (IQueryBackendFactory) null);
29 private final Dnf2PQuery dnf2PQuery = new Dnf2PQuery();
30 private final Set<AnyQuery> vacuousQueries = new LinkedHashSet<>();
31 private final Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> querySpecifications = new LinkedHashMap<>();
26 32
27 public ViatraModelQueryBuilderImpl(ModelStoreBuilder storeBuilder) { 33 public ViatraModelQueryBuilderImpl(ModelStoreBuilder storeBuilder) {
28 super(storeBuilder); 34 super(storeBuilder);
29 engineOptionsBuilder = new ViatraQueryEngineOptions.Builder() 35 engineOptionsBuilder = new ViatraQueryEngineOptions.Builder()
30 .withDefaultBackend(ReteBackendFactory.INSTANCE) 36 .withDefaultBackend(ReteBackendFactory.INSTANCE)
31 .withDefaultCachingBackend(ReteBackendFactory.INSTANCE) 37 .withDefaultCachingBackend(ReteBackendFactory.INSTANCE)
32 .withDefaultSearchBackend(LocalSearchGenericBackendFactory.INSTANCE); 38 .withDefaultSearchBackend(RelationalLocalSearchBackendFactory.INSTANCE);
33 } 39 }
34 40
35 @Override 41 @Override
@@ -40,7 +46,7 @@ public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder imp
40 46
41 @Override 47 @Override
42 public ViatraModelQueryBuilder defaultHint(QueryEvaluationHint queryEvaluationHint) { 48 public ViatraModelQueryBuilder defaultHint(QueryEvaluationHint queryEvaluationHint) {
43 engineOptionsBuilder.withDefaultHint(queryEvaluationHint); 49 defaultHint = defaultHint.overrideBy(queryEvaluationHint);
44 return this; 50 return this;
45 } 51 }
46 52
@@ -63,44 +69,68 @@ public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder imp
63 } 69 }
64 70
65 @Override 71 @Override
66 public ViatraModelQueryBuilder query(DNF query) { 72 public ViatraModelQueryBuilder query(AnyQuery query) {
67 if (querySpecifications.containsKey(query)) { 73 if (querySpecifications.containsKey(query) || vacuousQueries.contains(query)) {
68 throw new IllegalArgumentException("%s was already added to the query engine".formatted(query.name())); 74 // Ignore duplicate queries.
75 return this;
76 }
77 var dnf = query.getDnf();
78 var reduction = dnf.getReduction();
79 switch (reduction) {
80 case NOT_REDUCIBLE -> {
81 var pQuery = dnf2PQuery.translate(dnf);
82 querySpecifications.put(query, pQuery.build());
83 }
84 case ALWAYS_FALSE -> vacuousQueries.add(query);
85 case ALWAYS_TRUE -> throw new IllegalArgumentException(
86 "Query %s is relationally unsafe (it matches every tuple)".formatted(query.name()));
87 default -> throw new IllegalArgumentException("Unknown reduction: " + reduction);
69 } 88 }
70 var pQuery = dnf2PQuery.translate(query);
71 querySpecifications.put(query, pQuery.build());
72 return this; 89 return this;
73 } 90 }
74 91
75 @Override 92 @Override
76 public ViatraModelQueryBuilder query(DNF query, QueryEvaluationHint queryEvaluationHint) { 93 public ViatraModelQueryBuilder query(AnyQuery query, QueryEvaluationHint queryEvaluationHint) {
94 hint(query.getDnf(), queryEvaluationHint);
77 query(query); 95 query(query);
78 hint(query, queryEvaluationHint);
79 return this; 96 return this;
80 } 97 }
81 98
82 @Override 99 @Override
83 public ViatraModelQueryBuilder computeHint(Function<DNF, QueryEvaluationHint> computeHint) { 100 public ViatraModelQueryBuilder computeHint(Function<Dnf, QueryEvaluationHint> computeHint) {
84 dnf2PQuery.setComputeHint(computeHint); 101 dnf2PQuery.setComputeHint(computeHint);
85 return this; 102 return this;
86 } 103 }
87 104
88 @Override 105 @Override
89 public ViatraModelQueryBuilder hint(DNF dnf, QueryEvaluationHint queryEvaluationHint) { 106 public ViatraModelQueryBuilder hint(Dnf dnf, QueryEvaluationHint queryEvaluationHint) {
90 var pQuery = dnf2PQuery.getAlreadyTranslated(dnf); 107 dnf2PQuery.hint(dnf, queryEvaluationHint);
91 if (pQuery == null) {
92 throw new IllegalArgumentException(
93 "Cannot specify hint for %s, because it was not added to the query engine".formatted(dnf.name()));
94 }
95 pQuery.setEvaluationHints(pQuery.getEvaluationHints().overrideBy(queryEvaluationHint));
96 return this; 108 return this;
97 } 109 }
98 110
99 @Override 111 @Override
100 public ViatraModelQueryStoreAdapterImpl createStoreAdapter(ModelStore store) { 112 public ViatraModelQueryStoreAdapterImpl createStoreAdapter(ModelStore store) {
101 validateSymbols(store); 113 validateSymbols(store);
102 return new ViatraModelQueryStoreAdapterImpl(store, engineOptionsBuilder.build(), dnf2PQuery.getRelationViews(), 114 dnf2PQuery.assertNoUnusedHints();
103 Collections.unmodifiableMap(querySpecifications)); 115 return new ViatraModelQueryStoreAdapterImpl(store, buildEngineOptions(), dnf2PQuery.getRelationViews(),
116 Collections.unmodifiableMap(querySpecifications), Collections.unmodifiableSet(vacuousQueries));
117 }
118
119 private ViatraQueryEngineOptions buildEngineOptions() {
120 // Workaround: manually override the default backend, because {@link ViatraQueryEngineOptions.Builder}
121 // ignores all backend requirements except {@code SPECIFIC}.
122 switch (defaultHint.getQueryBackendRequirementType()) {
123 case SPECIFIC -> engineOptionsBuilder.withDefaultBackend(defaultHint.getQueryBackendFactory());
124 case DEFAULT_CACHING -> engineOptionsBuilder.withDefaultBackend(
125 engineOptionsBuilder.build().getDefaultCachingBackendFactory());
126 case DEFAULT_SEARCH -> engineOptionsBuilder.withDefaultBackend(
127 engineOptionsBuilder.build().getDefaultSearchBackendFactory());
128 case UNSPECIFIED -> {
129 // Nothing to do, leave the default backend unchanged.
130 }
131 }
132 engineOptionsBuilder.withDefaultHint(defaultHint);
133 return engineOptionsBuilder.build();
104 } 134 }
105 135
106 private void validateSymbols(ModelStore store) { 136 private void validateSymbols(ModelStore store) {
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java
index 394e407e..04c48c43 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java
@@ -5,27 +5,34 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions;
5import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; 5import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
6import tools.refinery.store.model.Model; 6import tools.refinery.store.model.Model;
7import tools.refinery.store.model.ModelStore; 7import tools.refinery.store.model.ModelStore;
8import tools.refinery.store.query.DNF; 8import tools.refinery.store.query.dnf.AnyQuery;
9import tools.refinery.store.query.viatra.ViatraModelQueryStoreAdapter; 9import tools.refinery.store.query.viatra.ViatraModelQueryStoreAdapter;
10import tools.refinery.store.query.viatra.internal.pquery.RawPatternMatcher; 10import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher;
11import tools.refinery.store.query.view.AnyRelationView; 11import tools.refinery.store.query.view.AnyRelationView;
12 12
13import java.util.Collection; 13import java.util.*;
14import java.util.Map;
15 14
16public class ViatraModelQueryStoreAdapterImpl implements ViatraModelQueryStoreAdapter { 15public class ViatraModelQueryStoreAdapterImpl implements ViatraModelQueryStoreAdapter {
17 private final ModelStore store; 16 private final ModelStore store;
18 private final ViatraQueryEngineOptions engineOptions; 17 private final ViatraQueryEngineOptions engineOptions;
19 private final Map<AnyRelationView, IInputKey> inputKeys; 18 private final Map<AnyRelationView, IInputKey> inputKeys;
20 private final Map<DNF, IQuerySpecification<RawPatternMatcher>> querySpecifications; 19 private final Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> querySpecifications;
20 private final Set<AnyQuery> vacuousQueries;
21 private final Set<AnyQuery> allQueries;
21 22
22 ViatraModelQueryStoreAdapterImpl(ModelStore store, ViatraQueryEngineOptions engineOptions, 23 ViatraModelQueryStoreAdapterImpl(ModelStore store, ViatraQueryEngineOptions engineOptions,
23 Map<AnyRelationView, IInputKey> inputKeys, 24 Map<AnyRelationView, IInputKey> inputKeys,
24 Map<DNF, IQuerySpecification<RawPatternMatcher>> querySpecifications) { 25 Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> querySpecifications,
26 Set<AnyQuery> vacuousQueries) {
25 this.store = store; 27 this.store = store;
26 this.engineOptions = engineOptions; 28 this.engineOptions = engineOptions;
27 this.inputKeys = inputKeys; 29 this.inputKeys = inputKeys;
28 this.querySpecifications = querySpecifications; 30 this.querySpecifications = querySpecifications;
31 this.vacuousQueries = vacuousQueries;
32 var mutableAllQueries = new LinkedHashSet<AnyQuery>(querySpecifications.size() + vacuousQueries.size());
33 mutableAllQueries.addAll(querySpecifications.keySet());
34 mutableAllQueries.addAll(vacuousQueries);
35 this.allQueries = Collections.unmodifiableSet(mutableAllQueries);
29 } 36 }
30 37
31 @Override 38 @Override
@@ -42,14 +49,18 @@ public class ViatraModelQueryStoreAdapterImpl implements ViatraModelQueryStoreAd
42 } 49 }
43 50
44 @Override 51 @Override
45 public Collection<DNF> getQueries() { 52 public Collection<AnyQuery> getQueries() {
46 return querySpecifications.keySet(); 53 return allQueries;
47 } 54 }
48 55
49 Map<DNF, IQuerySpecification<RawPatternMatcher>> getQuerySpecifications() { 56 Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> getQuerySpecifications() {
50 return querySpecifications; 57 return querySpecifications;
51 } 58 }
52 59
60 Set<AnyQuery> getVacuousQueries() {
61 return vacuousQueries;
62 }
63
53 @Override 64 @Override
54 public ViatraQueryEngineOptions getEngineOptions() { 65 public ViatraQueryEngineOptions getEngineOptions() {
55 return engineOptions; 66 return engineOptions;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java
index cba3fa08..d2c6beb4 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java
@@ -3,6 +3,8 @@ package tools.refinery.store.query.viatra.internal.context;
3import org.eclipse.viatra.query.runtime.matchers.context.AbstractQueryMetaContext; 3import org.eclipse.viatra.query.runtime.matchers.context.AbstractQueryMetaContext;
4import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; 4import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
5import org.eclipse.viatra.query.runtime.matchers.context.InputKeyImplication; 5import org.eclipse.viatra.query.runtime.matchers.context.InputKeyImplication;
6import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
7import tools.refinery.store.query.term.DataSort;
6import tools.refinery.store.query.viatra.internal.pquery.RelationViewWrapper; 8import tools.refinery.store.query.viatra.internal.pquery.RelationViewWrapper;
7import tools.refinery.store.query.view.AnyRelationView; 9import tools.refinery.store.query.view.AnyRelationView;
8 10
@@ -37,6 +39,9 @@ public class RelationalQueryMetaContext extends AbstractQueryMetaContext {
37 39
38 @Override 40 @Override
39 public Collection<InputKeyImplication> getImplications(IInputKey implyingKey) { 41 public Collection<InputKeyImplication> getImplications(IInputKey implyingKey) {
42 if (implyingKey instanceof JavaTransitiveInstancesKey) {
43 return List.of();
44 }
40 var relationView = checkKey(implyingKey); 45 var relationView = checkKey(implyingKey);
41 var relationViewImplications = relationView.getImpliedRelationViews(); 46 var relationViewImplications = relationView.getImpliedRelationViews();
42 var inputKeyImplications = new HashSet<InputKeyImplication>(relationViewImplications.size()); 47 var inputKeyImplications = new HashSet<InputKeyImplication>(relationViewImplications.size());
@@ -52,11 +57,25 @@ public class RelationalQueryMetaContext extends AbstractQueryMetaContext {
52 relationViewImplication.impliedIndices())); 57 relationViewImplication.impliedIndices()));
53 } 58 }
54 } 59 }
60 var sorts = relationView.getSorts();
61 int arity = relationView.arity();
62 for (int i = 0; i < arity; i++) {
63 var sort = sorts.get(i);
64 if (sort instanceof DataSort<?> dataSort) {
65 var javaTransitiveInstancesKey = new JavaTransitiveInstancesKey(dataSort.type());
66 var javaImplication = new InputKeyImplication(implyingKey, javaTransitiveInstancesKey,
67 List.of(i));
68 inputKeyImplications.add(javaImplication);
69 }
70 }
55 return inputKeyImplications; 71 return inputKeyImplications;
56 } 72 }
57 73
58 @Override 74 @Override
59 public Map<Set<Integer>, Set<Integer>> getFunctionalDependencies(IInputKey key) { 75 public Map<Set<Integer>, Set<Integer>> getFunctionalDependencies(IInputKey key) {
76 if (key instanceof JavaTransitiveInstancesKey) {
77 return Map.of();
78 }
60 var relationView = checkKey(key); 79 var relationView = checkKey(key);
61 var functionalDependencies = relationView.getFunctionalDependencies(); 80 var functionalDependencies = relationView.getFunctionalDependencies();
62 var flattened = new HashMap<Set<Integer>, Set<Integer>>(functionalDependencies.size()); 81 var flattened = new HashMap<Set<Integer>, Set<Integer>>(functionalDependencies.size());
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java
index 01d20d3e..854817b1 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java
@@ -54,7 +54,8 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext {
54 54
55 @Override 55 @Override
56 public boolean isIndexed(IInputKey key, IndexingService service) { 56 public boolean isIndexed(IInputKey key, IndexingService service) {
57 if (key instanceof AnyRelationView relationalKey) { 57 if (key instanceof RelationViewWrapper wrapper) {
58 var relationalKey = wrapper.getWrappedKey();
58 return this.modelUpdateListener.containsRelationView(relationalKey); 59 return this.modelUpdateListener.containsRelationView(relationalKey);
59 } else { 60 } else {
60 return false; 61 return false;
@@ -83,10 +84,7 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext {
83 84
84 @Override 85 @Override
85 public int countTuples(IInputKey key, TupleMask seedMask, ITuple seed) { 86 public int countTuples(IInputKey key, TupleMask seedMask, ITuple seed) {
86 var relationViewKey = checkKey(key); 87 Iterator<Object[]> iterator = enumerate(key, seedMask, seed).iterator();
87 Iterable<Object[]> allObjects = relationViewKey.getAll(model);
88 Iterable<Object[]> filteredBySeed = filter(allObjects, objectArray -> isMatching(objectArray, seedMask, seed));
89 Iterator<Object[]> iterator = filteredBySeed.iterator();
90 int result = 0; 88 int result = 0;
91 while (iterator.hasNext()) { 89 while (iterator.hasNext()) {
92 iterator.next(); 90 iterator.next();
@@ -102,13 +100,25 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext {
102 100
103 @Override 101 @Override
104 public Iterable<Tuple> enumerateTuples(IInputKey key, TupleMask seedMask, ITuple seed) { 102 public Iterable<Tuple> enumerateTuples(IInputKey key, TupleMask seedMask, ITuple seed) {
103 var filteredBySeed = enumerate(key, seedMask, seed);
104 return map(filteredBySeed, Tuples::flatTupleOf);
105 }
106
107 @Override
108 public Iterable<?> enumerateValues(IInputKey key, TupleMask seedMask, ITuple seed) {
109 var index = seedMask.getFirstOmittedIndex().orElseThrow(
110 () -> new IllegalArgumentException("Seed mask does not omit a value"));
111 var filteredBySeed = enumerate(key, seedMask, seed);
112 return map(filteredBySeed, array -> array[index]);
113 }
114
115 private Iterable<Object[]> enumerate(IInputKey key, TupleMask seedMask, ITuple seed) {
105 var relationViewKey = checkKey(key); 116 var relationViewKey = checkKey(key);
106 Iterable<Object[]> allObjects = relationViewKey.getAll(model); 117 Iterable<Object[]> allObjects = relationViewKey.getAll(model);
107 Iterable<Object[]> filteredBySeed = filter(allObjects, objectArray -> isMatching(objectArray, seedMask, seed)); 118 return filter(allObjects, objectArray -> isMatching(objectArray, seedMask, seed));
108 return map(filteredBySeed, Tuples::flatTupleOf);
109 } 119 }
110 120
111 private boolean isMatching(Object[] tuple, TupleMask seedMask, ITuple seed) { 121 private static boolean isMatching(Object[] tuple, TupleMask seedMask, ITuple seed) {
112 for (int i = 0; i < seedMask.indices.length; i++) { 122 for (int i = 0; i < seedMask.indices.length; i++) {
113 final Object seedElement = seed.get(i); 123 final Object seedElement = seed.get(i);
114 final Object tupleElement = tuple[seedMask.indices[i]]; 124 final Object tupleElement = tuple[seedMask.indices[i]];
@@ -120,11 +130,6 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext {
120 } 130 }
121 131
122 @Override 132 @Override
123 public Iterable<?> enumerateValues(IInputKey key, TupleMask seedMask, ITuple seed) {
124 return enumerateTuples(key, seedMask, seed);
125 }
126
127 @Override
128 public boolean containsTuple(IInputKey key, ITuple seed) { 133 public boolean containsTuple(IInputKey key, ITuple seed) {
129 var relationViewKey = checkKey(key); 134 var relationViewKey = checkKey(key);
130 return relationViewKey.get(model, seed.getElements()); 135 return relationViewKey.get(model, seed.getElements());
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendOperationExecutor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendOperationExecutor.java
new file mode 100644
index 00000000..2d3dd5a7
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendOperationExecutor.java
@@ -0,0 +1,75 @@
1/*******************************************************************************
2 * Copyright (c) 2010-2013, Zoltan Ujhelyi, Akos Horvath, Istvan Rath and Daniel Varro
3 * This program and the accompanying materials are made available under the
4 * terms of the Eclipse Public License v. 2.0 which is available at
5 * http://www.eclipse.org/legal/epl-v20.html.
6 * SPDX-License-Identifier: EPL-2.0
7 *******************************************************************************/
8package tools.refinery.store.query.viatra.internal.localsearch;
9
10import org.eclipse.viatra.query.runtime.localsearch.MatchingFrame;
11import org.eclipse.viatra.query.runtime.localsearch.matcher.ISearchContext;
12import org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation.ISearchOperationExecutor;
13
14import java.util.Iterator;
15
16/**
17 * An operation that can be used to enumerate all possible values for a single position based on a constraint
18 * @author Zoltan Ujhelyi, Akos Horvath
19 * @since 2.0
20 */
21abstract class ExtendOperationExecutor<T> implements ISearchOperationExecutor {
22
23 private Iterator<? extends T> it;
24
25 /**
26 * Returns an iterator with the possible options from the current state
27 * @since 2.0
28 */
29 @SuppressWarnings("squid:S1452")
30 protected abstract Iterator<? extends T> getIterator(MatchingFrame frame, ISearchContext context);
31 /**
32 * Updates the frame with the next element of the iterator. Called during {@link #execute(MatchingFrame, ISearchContext)}.
33 *
34 * @return true if the update is successful or false otherwise; in case of false is returned, the next element should be taken from the iterator.
35 * @since 2.0
36 */
37 protected abstract boolean fillInValue(T newValue, MatchingFrame frame, ISearchContext context);
38
39 /**
40 * Restores the frame to the state before {@link #fillInValue(Object, MatchingFrame, ISearchContext)}. Called during
41 * {@link #onBacktrack(MatchingFrame, ISearchContext)}.
42 *
43 * @since 2.0
44 */
45 protected abstract void cleanup(MatchingFrame frame, ISearchContext context);
46
47 @Override
48 public void onInitialize(MatchingFrame frame, ISearchContext context) {
49 it = getIterator(frame, context);
50 }
51
52 @Override
53 public void onBacktrack(MatchingFrame frame, ISearchContext context) {
54 it = null;
55
56 }
57
58 /**
59 * Fixed version of {@link org.eclipse.viatra.query.runtime.localsearch.operations.ExtendOperationExecutor#execute}
60 * that handles failed unification of variables correctly.
61 * @param frame The matching frame to extend.
62 * @param context The search context.
63 * @return {@code true} if an extension was found, {@code false} otherwise.
64 */
65 @Override
66 public boolean execute(MatchingFrame frame, ISearchContext context) {
67 while (it.hasNext()) {
68 var newValue = it.next();
69 if (fillInValue(newValue, frame, context)) {
70 return true;
71 }
72 }
73 return false;
74 }
75}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendPositivePatternCall.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendPositivePatternCall.java
new file mode 100644
index 00000000..aaaece80
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendPositivePatternCall.java
@@ -0,0 +1,116 @@
1/*******************************************************************************
2 * Copyright (c) 2010-2016, Grill Balázs, IncQueryLabs
3 * This program and the accompanying materials are made available under the
4 * terms of the Eclipse Public License v. 2.0 which is available at
5 * http://www.eclipse.org/legal/epl-v20.html.
6 * SPDX-License-Identifier: EPL-2.0
7 *******************************************************************************/
8package tools.refinery.store.query.viatra.internal.localsearch;
9
10import org.eclipse.viatra.query.runtime.localsearch.MatchingFrame;
11import org.eclipse.viatra.query.runtime.localsearch.matcher.ISearchContext;
12import org.eclipse.viatra.query.runtime.localsearch.operations.IPatternMatcherOperation;
13import org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation;
14import org.eclipse.viatra.query.runtime.localsearch.operations.util.CallInformation;
15import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider;
16import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
17import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask;
18import org.eclipse.viatra.query.runtime.matchers.tuple.VolatileModifiableMaskedTuple;
19
20import java.util.Iterator;
21import java.util.List;
22import java.util.function.Function;
23
24/**
25 * @author Grill Balázs
26 * @since 1.4
27 *
28 */
29public class ExtendPositivePatternCall implements ISearchOperation, IPatternMatcherOperation {
30
31 private class Executor extends ExtendOperationExecutor<Tuple> {
32 private final VolatileModifiableMaskedTuple maskedTuple;
33
34 public Executor() {
35 maskedTuple = new VolatileModifiableMaskedTuple(information.getThinFrameMask());
36 }
37
38 @Override
39 protected Iterator<? extends Tuple> getIterator(MatchingFrame frame, ISearchContext context) {
40 maskedTuple.updateTuple(frame);
41 IQueryResultProvider matcher = context.getMatcher(information.getCallWithAdornment());
42 return matcher.getAllMatches(information.getParameterMask(), maskedTuple).iterator();
43 }
44
45 /**
46 * @since 2.0
47 */
48 @Override
49 protected boolean fillInValue(Tuple result, MatchingFrame frame, ISearchContext context) {
50 TupleMask mask = information.getFullFrameMask();
51 // The first loop clears out the elements from a possible previous iteration
52 for(int i : information.getFreeParameterIndices()) {
53 mask.set(frame, i, null);
54 }
55 for(int i : information.getFreeParameterIndices()) {
56 Object oldValue = mask.getValue(frame, i);
57 Object valueToFill = result.get(i);
58 if (oldValue != null && !oldValue.equals(valueToFill)){
59 // If the inverse map contains more than one values for the same key, it means that these arguments are unified by the caller.
60 // In this case if the callee assigns different values the frame shall be dropped
61 return false;
62 }
63 mask.set(frame, i, valueToFill);
64 }
65 return true;
66 }
67
68 @Override
69 protected void cleanup(MatchingFrame frame, ISearchContext context) {
70 TupleMask mask = information.getFullFrameMask();
71 for(int i : information.getFreeParameterIndices()){
72 mask.set(frame, i, null);
73 }
74
75 }
76
77 @Override
78 public ISearchOperation getOperation() {
79 return ExtendPositivePatternCall.this;
80 }
81 }
82
83 private final CallInformation information;
84
85 /**
86 * @since 1.7
87 */
88 public ExtendPositivePatternCall(CallInformation information) {
89 this.information = information;
90 }
91
92 @Override
93 public ISearchOperationExecutor createExecutor() {
94 return new Executor();
95 }
96
97 @Override
98 public List<Integer> getVariablePositions() {
99 return information.getVariablePositions();
100 }
101
102 @Override
103 public String toString() {
104 return toString(Object::toString);
105 }
106
107 @Override
108 public String toString(@SuppressWarnings("squid:S4276") Function<Integer, String> variableMapping) {
109 return "extend find " + information.toString(variableMapping);
110 }
111
112 @Override
113 public CallInformation getCallInformation() {
114 return information;
115 }
116}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/FlatCostFunction.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/FlatCostFunction.java
new file mode 100644
index 00000000..84cab142
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/FlatCostFunction.java
@@ -0,0 +1,30 @@
1package tools.refinery.store.query.viatra.internal.localsearch;
2
3import org.eclipse.viatra.query.runtime.localsearch.planner.cost.IConstraintEvaluationContext;
4import org.eclipse.viatra.query.runtime.localsearch.planner.cost.impl.StatisticsBasedConstraintCostFunction;
5import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
6import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
7import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask;
8import org.eclipse.viatra.query.runtime.matchers.util.Accuracy;
9
10import java.util.Optional;
11
12public class FlatCostFunction extends StatisticsBasedConstraintCostFunction {
13 public FlatCostFunction() {
14 // No inverse navigation penalty thanks to relational storage.
15 super(0);
16 }
17
18 @Override
19 public Optional<Long> projectionSize(IConstraintEvaluationContext input, IInputKey supplierKey, TupleMask groupMask, Accuracy requiredAccuracy) {
20 // We always start from an empty model, where every projection is of size 0.
21 // Therefore, projection size estimation is meaningless.
22 return Optional.empty();
23 }
24
25 @Override
26 protected double _calculateCost(TypeConstraint constraint, IConstraintEvaluationContext input) {
27 // Assume a flat cost for each relation. Maybe adjust in the future if we perform indexing?
28 return DEFAULT_COST;
29 }
30}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/GenericTypeExtend.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/GenericTypeExtend.java
new file mode 100644
index 00000000..64653658
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/GenericTypeExtend.java
@@ -0,0 +1,136 @@
1/*******************************************************************************
2 * Copyright (c) 2010-2017, Zoltan Ujhelyi, IncQuery Labs Ltd.
3 * This program and the accompanying materials are made available under the
4 * terms of the Eclipse Public License v. 2.0 which is available at
5 * http://www.eclipse.org/legal/epl-v20.html.
6 * SPDX-License-Identifier: EPL-2.0
7 *******************************************************************************/
8package tools.refinery.store.query.viatra.internal.localsearch;
9
10import org.eclipse.viatra.query.runtime.localsearch.MatchingFrame;
11import org.eclipse.viatra.query.runtime.localsearch.matcher.ISearchContext;
12import org.eclipse.viatra.query.runtime.localsearch.operations.IIteratingSearchOperation;
13import org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation;
14import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
15import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
16import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask;
17import org.eclipse.viatra.query.runtime.matchers.tuple.VolatileMaskedTuple;
18import org.eclipse.viatra.query.runtime.matchers.util.Preconditions;
19
20import java.util.*;
21import java.util.function.Function;
22import java.util.stream.Collectors;
23
24/**
25 * @author Zoltan Ujhelyi
26 * @since 1.7
27 */
28public class GenericTypeExtend implements IIteratingSearchOperation {
29 private class Executor extends ExtendOperationExecutor<Tuple> {
30 private final VolatileMaskedTuple maskedTuple;
31
32 public Executor() {
33 this.maskedTuple = new VolatileMaskedTuple(callMask);
34 }
35
36 @Override
37 protected Iterator<? extends Tuple> getIterator(MatchingFrame frame, ISearchContext context) {
38 maskedTuple.updateTuple(frame);
39 return context.getRuntimeContext().enumerateTuples(type, indexerMask, maskedTuple).iterator();
40 }
41
42 @Override
43 protected boolean fillInValue(Tuple newTuple, MatchingFrame frame, ISearchContext context) {
44 for (Integer position : unboundVariableIndices) {
45 frame.setValue(position, null);
46 }
47 for (int i = 0; i < positions.length; i++) {
48 Object newValue = newTuple.get(i);
49 Object oldValue = frame.getValue(positions[i]);
50 if (oldValue != null && !Objects.equals(oldValue, newValue)) {
51 // If positions tuple maps more than one values for the same element (e.g. loop), it means that
52 // these arguments are to unified by the caller. In this case if the callee assigns different values
53 // the frame shall be considered a failed match
54 return false;
55 }
56 frame.setValue(positions[i], newValue);
57 }
58 return true;
59 }
60
61 @Override
62 protected void cleanup(MatchingFrame frame, ISearchContext context) {
63 for (Integer position : unboundVariableIndices) {
64 frame.setValue(position, null);
65 }
66 }
67
68 @Override
69 public ISearchOperation getOperation() {
70 return GenericTypeExtend.this;
71 }
72 }
73
74 private final IInputKey type;
75 private final int[] positions;
76 private final List<Integer> positionList;
77 private final Set<Integer> unboundVariableIndices;
78 private final TupleMask indexerMask;
79 private final TupleMask callMask;
80
81 /**
82 *
83 * @param type
84 * the type to execute the extend operation on
85 * @param positions
86 * the parameter positions that represent the variables of the input key
87 * @param unboundVariableIndices
88 * the set of positions that are bound at the start of the operation
89 */
90 public GenericTypeExtend(IInputKey type, int[] positions, TupleMask callMask, TupleMask indexerMask, Set<Integer> unboundVariableIndices) {
91 Preconditions.checkArgument(positions.length == type.getArity(),
92 "The type %s requires %d parameters, but %d positions are provided", type.getPrettyPrintableName(),
93 type.getArity(), positions.length);
94 List<Integer> modifiablePositionList = new ArrayList<>();
95 for (int position : positions) {
96 modifiablePositionList.add(position);
97 }
98 this.positionList = Collections.unmodifiableList(modifiablePositionList);
99 this.positions = positions;
100 this.type = type;
101
102 this.unboundVariableIndices = unboundVariableIndices;
103 this.indexerMask = indexerMask;
104 this.callMask = callMask;
105 }
106
107 @Override
108 public IInputKey getIteratedInputKey() {
109 return type;
110 }
111
112 @Override
113 public ISearchOperationExecutor createExecutor() {
114 return new Executor();
115 }
116
117 @Override
118 public List<Integer> getVariablePositions() {
119 return positionList;
120 }
121
122 @Override
123 public String toString() {
124 return toString(Object::toString);
125 }
126
127 @Override
128 public String toString(@SuppressWarnings("squid:S4276") Function<Integer, String> variableMapping) {
129 return "extend " + type.getPrettyPrintableName() + "("
130 + positionList.stream()
131 .map(input -> String.format("%s%s", unboundVariableIndices.contains(input) ? "-" : "+", variableMapping.apply(input)))
132 .collect(Collectors.joining(", "))
133 + ")";
134 }
135
136}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchBackendFactory.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchBackendFactory.java
new file mode 100644
index 00000000..156eb313
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchBackendFactory.java
@@ -0,0 +1,55 @@
1package tools.refinery.store.query.viatra.internal.localsearch;
2
3import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.AbstractLocalSearchResultProvider;
4import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchBackend;
5import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints;
6import org.eclipse.viatra.query.runtime.localsearch.plan.IPlanProvider;
7import org.eclipse.viatra.query.runtime.localsearch.plan.SimplePlanProvider;
8import org.eclipse.viatra.query.runtime.matchers.backend.IMatcherCapability;
9import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend;
10import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory;
11import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
12import org.eclipse.viatra.query.runtime.matchers.context.IQueryBackendContext;
13import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery;
14
15public class RelationalLocalSearchBackendFactory implements IQueryBackendFactory {
16 public static final RelationalLocalSearchBackendFactory INSTANCE = new RelationalLocalSearchBackendFactory();
17
18 private RelationalLocalSearchBackendFactory() {
19 }
20
21 @Override
22 public IQueryBackend create(IQueryBackendContext context) {
23 return new LocalSearchBackend(context) {
24 // Create a new {@link IPlanProvider}, because the original {@link LocalSearchBackend#planProvider} is not
25 // accessible.
26 private final IPlanProvider planProvider = new SimplePlanProvider(context.getLogger());
27
28 @Override
29 protected AbstractLocalSearchResultProvider initializeResultProvider(PQuery query,
30 QueryEvaluationHint hints) {
31 return new RelationalLocalSearchResultProvider(this, context, query, planProvider, hints);
32 }
33
34 @Override
35 public IQueryBackendFactory getFactory() {
36 return RelationalLocalSearchBackendFactory.this;
37 }
38 };
39 }
40
41 @Override
42 public Class<? extends IQueryBackend> getBackendClass() {
43 return LocalSearchBackend.class;
44 }
45
46 @Override
47 public IMatcherCapability calculateRequiredCapability(PQuery pQuery, QueryEvaluationHint queryEvaluationHint) {
48 return LocalSearchHints.parse(queryEvaluationHint);
49 }
50
51 @Override
52 public boolean isCaching() {
53 return false;
54 }
55}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchResultProvider.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchResultProvider.java
new file mode 100644
index 00000000..be2a38ca
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchResultProvider.java
@@ -0,0 +1,23 @@
1package tools.refinery.store.query.viatra.internal.localsearch;
2
3import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.AbstractLocalSearchResultProvider;
4import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchBackend;
5import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints;
6import org.eclipse.viatra.query.runtime.localsearch.plan.IPlanProvider;
7import org.eclipse.viatra.query.runtime.localsearch.planner.compiler.IOperationCompiler;
8import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
9import org.eclipse.viatra.query.runtime.matchers.context.IQueryBackendContext;
10import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery;
11
12class RelationalLocalSearchResultProvider extends AbstractLocalSearchResultProvider {
13 public RelationalLocalSearchResultProvider(LocalSearchBackend backend, IQueryBackendContext context, PQuery query,
14 IPlanProvider planProvider, QueryEvaluationHint userHints) {
15 super(backend, context, query, planProvider, userHints);
16 }
17
18 @Override
19 protected IOperationCompiler getOperationCompiler(IQueryBackendContext backendContext,
20 LocalSearchHints configuration) {
21 return new RelationalOperationCompiler(runtimeContext);
22 }
23}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalOperationCompiler.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalOperationCompiler.java
new file mode 100644
index 00000000..b6832b39
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalOperationCompiler.java
@@ -0,0 +1,65 @@
1package tools.refinery.store.query.viatra.internal.localsearch;
2
3import org.eclipse.viatra.query.runtime.localsearch.operations.generic.GenericTypeExtendSingleValue;
4import org.eclipse.viatra.query.runtime.localsearch.operations.util.CallInformation;
5import org.eclipse.viatra.query.runtime.localsearch.planner.compiler.GenericOperationCompiler;
6import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
7import org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext;
8import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
9import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
10import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
11import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
12import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask;
13
14import java.util.*;
15
16public class RelationalOperationCompiler extends GenericOperationCompiler {
17 public RelationalOperationCompiler(IQueryRuntimeContext runtimeContext) {
18 super(runtimeContext);
19 }
20
21 @Override
22 protected void createExtend(TypeConstraint typeConstraint, Map<PVariable, Integer> variableMapping) {
23 IInputKey inputKey = typeConstraint.getSupplierKey();
24 Tuple tuple = typeConstraint.getVariablesTuple();
25
26 int[] positions = new int[tuple.getSize()];
27 List<Integer> boundVariableIndices = new ArrayList<>();
28 List<Integer> boundVariables = new ArrayList<>();
29 Set<Integer> unboundVariables = new HashSet<>();
30 for (int i = 0; i < tuple.getSize(); i++) {
31 PVariable variable = (PVariable) tuple.get(i);
32 Integer position = variableMapping.get(variable);
33 positions[i] = position;
34 if (variableBindings.get(typeConstraint).contains(position)) {
35 boundVariableIndices.add(i);
36 boundVariables.add(position);
37 } else {
38 unboundVariables.add(position);
39 }
40 }
41 TupleMask indexerMask = TupleMask.fromSelectedIndices(inputKey.getArity(), boundVariableIndices);
42 TupleMask callMask = TupleMask.fromSelectedIndices(variableMapping.size(), boundVariables);
43 // If multiple tuple elements from the indexer should be bound to the same variable, we must use a
44 // {@link GenericTypeExtend} check whether the tuple elements have the same value.
45 if (unboundVariables.size() == 1 && indexerMask.getSize() + 1 == indexerMask.getSourceWidth()) {
46 operations.add(new GenericTypeExtendSingleValue(inputKey, positions, callMask, indexerMask,
47 unboundVariables.iterator().next()));
48 } else {
49 // Use a fixed version of
50 // {@code org.eclipse.viatra.query.runtime.localsearch.operations.generic.GenericTypeExtend} that handles
51 // failed unification of variables correctly.
52 operations.add(new GenericTypeExtend(inputKey, positions, callMask, indexerMask, unboundVariables));
53 }
54 }
55
56 @Override
57 protected void createExtend(PositivePatternCall pCall, Map<PVariable, Integer> variableMapping) {
58 CallInformation information = CallInformation.create(pCall, variableMapping, variableBindings.get(pCall));
59 // Use a fixed version of
60 // {@code org.eclipse.viatra.query.runtime.localsearch.operations.extend.ExtendPositivePatternCall} that handles
61 // failed unification of variables correctly.
62 operations.add(new ExtendPositivePatternCall(information));
63 dependencies.add(information.getCallWithAdornment());
64 }
65}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalCursor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalCursor.java
new file mode 100644
index 00000000..4daa14a1
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalCursor.java
@@ -0,0 +1,48 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
4import org.eclipse.viatra.query.runtime.rete.index.IterableIndexer;
5import tools.refinery.store.map.Cursor;
6import tools.refinery.store.tuple.TupleLike;
7
8import java.util.Iterator;
9
10class FunctionalCursor<T> implements Cursor<TupleLike, T> {
11 private final IterableIndexer indexer;
12 private final Iterator<Tuple> iterator;
13 private boolean terminated;
14 private TupleLike key;
15 private T value;
16
17 public FunctionalCursor(IterableIndexer indexer) {
18 this.indexer = indexer;
19 iterator = indexer.getSignatures().iterator();
20 }
21
22 @Override
23 public TupleLike getKey() {
24 return key;
25 }
26
27 @Override
28 public T getValue() {
29 return value;
30 }
31
32 @Override
33 public boolean isTerminated() {
34 return terminated;
35 }
36
37 @Override
38 public boolean move() {
39 if (!terminated && iterator.hasNext()) {
40 var match = iterator.next();
41 key = new ViatraTupleLike(match);
42 value = MatcherUtils.getSingleValue(indexer.get(match));
43 return true;
44 }
45 terminated = true;
46 return false;
47 }
48}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalViatraMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalViatraMatcher.java
new file mode 100644
index 00000000..6aa45af2
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalViatraMatcher.java
@@ -0,0 +1,91 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider;
4import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask;
5import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
6import org.eclipse.viatra.query.runtime.rete.index.IterableIndexer;
7import org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher;
8import tools.refinery.store.map.Cursor;
9import tools.refinery.store.query.ModelQueryAdapter;
10import tools.refinery.store.query.ResultSet;
11import tools.refinery.store.query.dnf.FunctionalQuery;
12import tools.refinery.store.query.dnf.Query;
13import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl;
14import tools.refinery.store.tuple.TupleLike;
15
16/**
17 * Directly access the tuples inside a VIATRA pattern matcher.<p>
18 * This class neglects calling
19 * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#wrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)}
20 * and
21 * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#unwrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)},
22 * because {@link tools.refinery.store.query.viatra.internal.context.RelationalRuntimeContext} provides a trivial
23 * implementation for these methods.
24 * Using this class with any other runtime context may lead to undefined behavior.
25 */
26public class FunctionalViatraMatcher<T> implements ResultSet<T> {
27 private final ViatraModelQueryAdapterImpl adapter;
28 private final FunctionalQuery<T> query;
29 private final TupleMask emptyMask;
30 private final TupleMask omitOutputMask;
31 private final IQueryResultProvider backend;
32 private final IterableIndexer omitOutputIndexer;
33
34 public FunctionalViatraMatcher(ViatraModelQueryAdapterImpl adapter, FunctionalQuery<T> query,
35 RawPatternMatcher rawPatternMatcher) {
36 this.adapter = adapter;
37 this.query = query;
38 int arity = query.arity();
39 int arityWithOutput = arity + 1;
40 emptyMask = TupleMask.empty(arityWithOutput);
41 omitOutputMask = TupleMask.omit(arity, arityWithOutput);
42 backend = rawPatternMatcher.getBackend();
43 if (backend instanceof RetePatternMatcher reteBackend) {
44 var maybeIterableOmitOutputIndexer = IndexerUtils.getIndexer(reteBackend, omitOutputMask);
45 if (maybeIterableOmitOutputIndexer instanceof IterableIndexer iterableOmitOutputIndexer) {
46 omitOutputIndexer = iterableOmitOutputIndexer;
47 } else {
48 omitOutputIndexer = null;
49 }
50 } else {
51 omitOutputIndexer = null;
52 }
53 }
54
55 @Override
56 public ModelQueryAdapter getAdapter() {
57 return adapter;
58 }
59
60 @Override
61 public Query<T> getQuery() {
62 return query;
63 }
64
65 @Override
66 public T get(TupleLike parameters) {
67 var tuple = MatcherUtils.toViatraTuple(parameters);
68 if (omitOutputIndexer == null) {
69 return MatcherUtils.getSingleValue(backend.getAllMatches(omitOutputMask, tuple).iterator());
70 } else {
71 return MatcherUtils.getSingleValue(omitOutputIndexer.get(tuple));
72 }
73 }
74
75 @Override
76 public Cursor<TupleLike, T> getAll() {
77 if (omitOutputIndexer == null) {
78 var allMatches = backend.getAllMatches(emptyMask, Tuples.staticArityFlatTupleOf());
79 return new UnsafeFunctionalCursor<>(allMatches.iterator());
80 }
81 return new FunctionalCursor<>(omitOutputIndexer);
82 }
83
84 @Override
85 public int size() {
86 if (omitOutputIndexer == null) {
87 return backend.countMatches(emptyMask, Tuples.staticArityFlatTupleOf());
88 }
89 return omitOutputIndexer.getBucketCount();
90 }
91}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/IndexerUtils.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/IndexerUtils.java
new file mode 100644
index 00000000..55eb8c44
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/IndexerUtils.java
@@ -0,0 +1,48 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask;
4import org.eclipse.viatra.query.runtime.rete.index.Indexer;
5import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine;
6import org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher;
7import org.eclipse.viatra.query.runtime.rete.traceability.RecipeTraceInfo;
8
9import java.lang.invoke.MethodHandle;
10import java.lang.invoke.MethodHandles;
11import java.lang.invoke.MethodType;
12
13final class IndexerUtils {
14 private static final MethodHandle GET_ENGINE_HANDLE;
15 private static final MethodHandle GET_PRODUCTION_NODE_TRACE_HANDLE;
16 private static final MethodHandle ACCESS_PROJECTION_HANDLE;
17
18 static {
19 try {
20 var lookup = MethodHandles.privateLookupIn(RetePatternMatcher.class, MethodHandles.lookup());
21 GET_ENGINE_HANDLE = lookup.findGetter(RetePatternMatcher.class, "engine", ReteEngine.class);
22 GET_PRODUCTION_NODE_TRACE_HANDLE = lookup.findGetter(RetePatternMatcher.class, "productionNodeTrace",
23 RecipeTraceInfo.class);
24 ACCESS_PROJECTION_HANDLE = lookup.findVirtual(ReteEngine.class, "accessProjection",
25 MethodType.methodType(Indexer.class, RecipeTraceInfo.class, TupleMask.class));
26 } catch (IllegalAccessException | NoSuchFieldException | NoSuchMethodException e) {
27 throw new IllegalStateException("Cannot access private members of %s"
28 .formatted(RetePatternMatcher.class.getPackageName()), e);
29 }
30 }
31
32 private IndexerUtils() {
33 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
34 }
35
36 public static Indexer getIndexer(RetePatternMatcher backend, TupleMask mask) {
37 try {
38 var engine = (ReteEngine) GET_ENGINE_HANDLE.invokeExact(backend);
39 var trace = (RecipeTraceInfo) GET_PRODUCTION_NODE_TRACE_HANDLE.invokeExact(backend);
40 return (Indexer) ACCESS_PROJECTION_HANDLE.invokeExact(engine, trace, mask);
41 } catch (Error e) {
42 // Fatal JVM errors should not be wrapped.
43 throw e;
44 } catch (Throwable e) {
45 throw new IllegalStateException("Cannot access matcher for mask " + mask, e);
46 }
47 }
48}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/MatcherUtils.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/MatcherUtils.java
new file mode 100644
index 00000000..5d4be95d
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/MatcherUtils.java
@@ -0,0 +1,50 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple;
4import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
5import org.jetbrains.annotations.Nullable;
6import tools.refinery.store.tuple.Tuple;
7import tools.refinery.store.tuple.TupleLike;
8
9import java.util.Iterator;
10
11final class MatcherUtils {
12 private MatcherUtils() {
13 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
14 }
15
16 public static org.eclipse.viatra.query.runtime.matchers.tuple.Tuple toViatraTuple(TupleLike tuple) {
17 if (tuple instanceof ViatraTupleLike viatraTupleLike) {
18 return viatraTupleLike.wrappedTuple().toImmutable();
19 }
20 int size = tuple.getSize();
21 var array = new Object[size];
22 for (int i = 0; i < size; i++) {
23 var value = tuple.get(i);
24 array[i] = Tuple.of(value);
25 }
26 return Tuples.flatTupleOf(array);
27 }
28
29
30 public static <T> T getSingleValue(@Nullable Iterable<? extends ITuple> tuples) {
31 if (tuples == null) {
32 return null;
33 }
34 return getSingleValue(tuples.iterator());
35 }
36
37 public static <T> T getSingleValue(Iterator<? extends ITuple> iterator) {
38 if (!iterator.hasNext()) {
39 return null;
40 }
41 var match = iterator.next();
42 @SuppressWarnings("unchecked")
43 var result = (T) match.get(match.getSize() - 1);
44 if (iterator.hasNext()) {
45 var input = new OmitOutputViatraTupleLike(match);
46 throw new IllegalStateException("Query is not functional for input tuple: " + input);
47 }
48 return result;
49 }
50}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/OmitOutputViatraTupleLike.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/OmitOutputViatraTupleLike.java
new file mode 100644
index 00000000..bd9301ba
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/OmitOutputViatraTupleLike.java
@@ -0,0 +1,23 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple;
4import tools.refinery.store.tuple.Tuple1;
5import tools.refinery.store.tuple.TupleLike;
6
7record OmitOutputViatraTupleLike(ITuple wrappedTuple) implements TupleLike {
8 @Override
9 public int getSize() {
10 return wrappedTuple.getSize() - 1;
11 }
12
13 @Override
14 public int get(int element) {
15 var wrappedValue = (Tuple1) wrappedTuple.get(element);
16 return wrappedValue.value0();
17 }
18
19 @Override
20 public String toString() {
21 return TupleLike.toString(this);
22 }
23}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RawPatternMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RawPatternMatcher.java
new file mode 100644
index 00000000..b3d05967
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RawPatternMatcher.java
@@ -0,0 +1,15 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.api.GenericPatternMatcher;
4import org.eclipse.viatra.query.runtime.api.GenericQuerySpecification;
5import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider;
6
7public class RawPatternMatcher extends GenericPatternMatcher {
8 public RawPatternMatcher(GenericQuerySpecification<? extends GenericPatternMatcher> specification) {
9 super(specification);
10 }
11
12 IQueryResultProvider getBackend() {
13 return backend;
14 }
15}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalCursor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalCursor.java
new file mode 100644
index 00000000..c2dcc565
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalCursor.java
@@ -0,0 +1,42 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple;
4import tools.refinery.store.map.Cursor;
5import tools.refinery.store.tuple.TupleLike;
6
7import java.util.Iterator;
8
9class RelationalCursor implements Cursor<TupleLike, Boolean> {
10 private final Iterator<? extends ITuple> tuplesIterator;
11 private boolean terminated;
12 private TupleLike key;
13
14 public RelationalCursor(Iterator<? extends ITuple> tuplesIterator) {
15 this.tuplesIterator = tuplesIterator;
16 }
17
18 @Override
19 public TupleLike getKey() {
20 return key;
21 }
22
23 @Override
24 public Boolean getValue() {
25 return true;
26 }
27
28 @Override
29 public boolean isTerminated() {
30 return terminated;
31 }
32
33 @Override
34 public boolean move() {
35 if (!terminated && tuplesIterator.hasNext()) {
36 key = new ViatraTupleLike(tuplesIterator.next());
37 return true;
38 }
39 terminated = true;
40 return false;
41 }
42}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalViatraMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalViatraMatcher.java
new file mode 100644
index 00000000..b9bc3f1e
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalViatraMatcher.java
@@ -0,0 +1,89 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider;
4import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask;
5import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
6import org.eclipse.viatra.query.runtime.rete.index.Indexer;
7import org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher;
8import tools.refinery.store.map.Cursor;
9import tools.refinery.store.map.Cursors;
10import tools.refinery.store.query.ModelQueryAdapter;
11import tools.refinery.store.query.ResultSet;
12import tools.refinery.store.query.dnf.Query;
13import tools.refinery.store.query.dnf.RelationalQuery;
14import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl;
15import tools.refinery.store.tuple.TupleLike;
16
17/**
18 * Directly access the tuples inside a VIATRA pattern matcher.<p>
19 * This class neglects calling
20 * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#wrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)}
21 * and
22 * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#unwrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)},
23 * because {@link tools.refinery.store.query.viatra.internal.context.RelationalRuntimeContext} provides a trivial
24 * implementation for these methods.
25 * Using this class with any other runtime context may lead to undefined behavior.
26 */
27public class RelationalViatraMatcher implements ResultSet<Boolean> {
28 private final ViatraModelQueryAdapterImpl adapter;
29 private final RelationalQuery query;
30 private final TupleMask emptyMask;
31 private final TupleMask identityMask;
32 private final IQueryResultProvider backend;
33 private final Indexer emptyMaskIndexer;
34
35 public RelationalViatraMatcher(ViatraModelQueryAdapterImpl adapter, RelationalQuery query,
36 RawPatternMatcher rawPatternMatcher) {
37 this.adapter = adapter;
38 this.query = query;
39 int arity = query.arity();
40 emptyMask = TupleMask.empty(arity);
41 identityMask = TupleMask.identity(arity);
42 backend = rawPatternMatcher.getBackend();
43 if (backend instanceof RetePatternMatcher reteBackend) {
44 emptyMaskIndexer = IndexerUtils.getIndexer(reteBackend, emptyMask);
45 } else {
46 emptyMaskIndexer = null;
47 }
48 }
49
50 @Override
51 public ModelQueryAdapter getAdapter() {
52 return adapter;
53 }
54
55 @Override
56 public Query<Boolean> getQuery() {
57 return query;
58 }
59
60 @Override
61 public Boolean get(TupleLike parameters) {
62 var tuple = MatcherUtils.toViatraTuple(parameters);
63 if (emptyMaskIndexer == null) {
64 return backend.hasMatch(identityMask, tuple);
65 }
66 var matches = emptyMaskIndexer.get(Tuples.staticArityFlatTupleOf());
67 return matches != null && matches.contains(tuple);
68 }
69
70 @Override
71 public Cursor<TupleLike, Boolean> getAll() {
72 if (emptyMaskIndexer == null) {
73 var allMatches = backend.getAllMatches(emptyMask, Tuples.staticArityFlatTupleOf());
74 return new RelationalCursor(allMatches.iterator());
75 }
76 var matches = emptyMaskIndexer.get(Tuples.staticArityFlatTupleOf());
77 return matches == null ? Cursors.empty() : new RelationalCursor(matches.stream().iterator());
78 }
79
80 @Override
81 public int size() {
82 if (emptyMaskIndexer == null) {
83 return backend.countMatches(emptyMask, Tuples.staticArityFlatTupleOf());
84 }
85 var matches = emptyMaskIndexer.get(Tuples.staticArityFlatTupleOf());
86 return matches == null ? 0 : matches.size();
87 }
88
89}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/UnsafeFunctionalCursor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/UnsafeFunctionalCursor.java
new file mode 100644
index 00000000..6c53fff1
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/UnsafeFunctionalCursor.java
@@ -0,0 +1,52 @@
1package tools.refinery.store.query.viatra.internal.matcher;
2
3import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple;
4import tools.refinery.store.map.Cursor;
5import tools.refinery.store.tuple.TupleLike;
6
7import java.util.Iterator;
8
9/**
10 * Cursor for a functional result set that iterates over a stream of raw matches and doesn't check whether the
11 * functional dependency of the output on the inputs is obeyed.
12 * @param <T> The output type.
13 */
14class UnsafeFunctionalCursor<T> implements Cursor<TupleLike, T> {
15 private final Iterator<? extends ITuple> tuplesIterator;
16 private boolean terminated;
17 private TupleLike key;
18 private T value;
19
20 public UnsafeFunctionalCursor(Iterator<? extends ITuple> tuplesIterator) {
21 this.tuplesIterator = tuplesIterator;
22 }
23
24 @Override
25 public TupleLike getKey() {
26 return key;
27 }
28
29 @Override
30 public T getValue() {
31 return value;
32 }
33
34 @Override
35 public boolean isTerminated() {
36 return terminated;
37 }
38
39 @Override
40 public boolean move() {
41 if (!terminated && tuplesIterator.hasNext()) {
42 var match = tuplesIterator.next();
43 key = new OmitOutputViatraTupleLike(match);
44 @SuppressWarnings("unchecked")
45 var typedValue = (T) match.get(match.getSize() - 1);
46 value = typedValue;
47 return true;
48 }
49 terminated = true;
50 return false;
51 }
52}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraTupleLike.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/ViatraTupleLike.java
index 46c28434..76a3e40b 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraTupleLike.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/ViatraTupleLike.java
@@ -1,10 +1,10 @@
1package tools.refinery.store.query.viatra; 1package tools.refinery.store.query.viatra.internal.matcher;
2 2
3import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; 3import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple;
4import tools.refinery.store.tuple.Tuple1; 4import tools.refinery.store.tuple.Tuple1;
5import tools.refinery.store.tuple.TupleLike; 5import tools.refinery.store.tuple.TupleLike;
6 6
7public record ViatraTupleLike(ITuple wrappedTuple) implements TupleLike { 7record ViatraTupleLike(ITuple wrappedTuple) implements TupleLike {
8 @Override 8 @Override
9 public int getSize() { 9 public int getSize() {
10 return wrappedTuple.getSize(); 10 return wrappedTuple.getSize();
@@ -15,4 +15,9 @@ public record ViatraTupleLike(ITuple wrappedTuple) implements TupleLike {
15 var wrappedValue = (Tuple1) wrappedTuple.get(element); 15 var wrappedValue = (Tuple1) wrappedTuple.get(element);
16 return wrappedValue.value0(); 16 return wrappedValue.value0();
17 } 17 }
18
19 @Override
20 public String toString() {
21 return TupleLike.toString(this);
22 }
18} 23}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/AssumptionEvaluator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/AssumptionEvaluator.java
new file mode 100644
index 00000000..a80b0f90
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/AssumptionEvaluator.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
4import tools.refinery.store.query.term.Term;
5
6class AssumptionEvaluator extends TermEvaluator<Boolean> {
7 public AssumptionEvaluator(Term<Boolean> term) {
8 super(term);
9 }
10
11 @Override
12 public Object evaluateExpression(IValueProvider provider) {
13 var result = super.evaluateExpression(provider);
14 return result == null ? Boolean.FALSE : result;
15 }
16}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/DNF2PQuery.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/DNF2PQuery.java
deleted file mode 100644
index 60f1bcae..00000000
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/DNF2PQuery.java
+++ /dev/null
@@ -1,223 +0,0 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
4import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
5import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
6import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
7import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
8import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
9import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
10import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality;
11import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
12import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure;
13import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
14import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
15import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
16import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
17import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
18import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
19import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
20import tools.refinery.store.query.DNF;
21import tools.refinery.store.query.DNFAnd;
22import tools.refinery.store.query.DNFUtils;
23import tools.refinery.store.query.Variable;
24import tools.refinery.store.query.atom.*;
25import tools.refinery.store.query.view.AnyRelationView;
26
27import java.util.*;
28import java.util.function.Function;
29import java.util.stream.Collectors;
30
31public class DNF2PQuery {
32 private static final Object P_CONSTRAINT_LOCK = new Object();
33
34 private final Set<DNF> translating = new LinkedHashSet<>();
35
36 private final Map<DNF, RawPQuery> dnf2PQueryMap = new HashMap<>();
37
38 private final Map<AnyRelationView, RelationViewWrapper> view2WrapperMap = new LinkedHashMap<>();
39
40 private final Map<AnyRelationView, RawPQuery> view2EmbeddedMap = new HashMap<>();
41
42 private Function<DNF, QueryEvaluationHint> computeHint = dnf -> new QueryEvaluationHint(null,
43 QueryEvaluationHint.BackendRequirement.UNSPECIFIED);
44
45 public void setComputeHint(Function<DNF, QueryEvaluationHint> computeHint) {
46 this.computeHint = computeHint;
47 }
48
49 public RawPQuery translate(DNF dnfQuery) {
50 if (translating.contains(dnfQuery)) {
51 var path = translating.stream().map(DNF::name).collect(Collectors.joining(" -> "));
52 throw new IllegalStateException("Circular reference %s -> %s detected".formatted(path,
53 dnfQuery.name()));
54 }
55 // We can't use computeIfAbsent here, because translating referenced queries calls this method in a reentrant
56 // way, which would cause a ConcurrentModificationException with computeIfAbsent.
57 var pQuery = dnf2PQueryMap.get(dnfQuery);
58 if (pQuery == null) {
59 translating.add(dnfQuery);
60 try {
61 pQuery = doTranslate(dnfQuery);
62 dnf2PQueryMap.put(dnfQuery, pQuery);
63 } finally {
64 translating.remove(dnfQuery);
65 }
66 }
67 return pQuery;
68 }
69
70 public Map<AnyRelationView, IInputKey> getRelationViews() {
71 return Collections.unmodifiableMap(view2WrapperMap);
72 }
73
74 public RawPQuery getAlreadyTranslated(DNF dnfQuery) {
75 return dnf2PQueryMap.get(dnfQuery);
76 }
77
78 private RawPQuery doTranslate(DNF dnfQuery) {
79 var pQuery = new RawPQuery(dnfQuery.getUniqueName());
80 pQuery.setEvaluationHints(computeHint.apply(dnfQuery));
81
82 Map<Variable, PParameter> parameters = new HashMap<>();
83 for (Variable variable : dnfQuery.getParameters()) {
84 parameters.put(variable, new PParameter(variable.getUniqueName()));
85 }
86
87 List<PParameter> parameterList = new ArrayList<>();
88 for (var param : dnfQuery.getParameters()) {
89 parameterList.add(parameters.get(param));
90 }
91 pQuery.setParameters(parameterList);
92
93 for (var functionalDependency : dnfQuery.getFunctionalDependencies()) {
94 var functionalDependencyAnnotation = new PAnnotation("FunctionalDependency");
95 for (var forEachVariable : functionalDependency.forEach()) {
96 functionalDependencyAnnotation.addAttribute("forEach", forEachVariable.getUniqueName());
97 }
98 for (var uniqueVariable : functionalDependency.unique()) {
99 functionalDependencyAnnotation.addAttribute("unique", uniqueVariable.getUniqueName());
100 }
101 pQuery.addAnnotation(functionalDependencyAnnotation);
102 }
103
104 // The constructor of {@link org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint} mutates
105 // global static state (<code>nextID</code>) without locking. Therefore, we need to synchronize before creating
106 // any query constraints to avoid a data race.
107 synchronized (P_CONSTRAINT_LOCK) {
108 for (DNFAnd clause : dnfQuery.getClauses()) {
109 PBody body = new PBody(pQuery);
110 List<ExportedParameter> symbolicParameters = new ArrayList<>();
111 for (var param : dnfQuery.getParameters()) {
112 PVariable pVar = body.getOrCreateVariableByName(param.getUniqueName());
113 symbolicParameters.add(new ExportedParameter(body, pVar, parameters.get(param)));
114 }
115 body.setSymbolicParameters(symbolicParameters);
116 pQuery.addBody(body);
117 for (DNFAtom constraint : clause.constraints()) {
118 translateDNFAtom(constraint, body);
119 }
120 }
121 }
122
123 return pQuery;
124 }
125
126 private void translateDNFAtom(DNFAtom constraint, PBody body) {
127 if (constraint instanceof EquivalenceAtom equivalenceAtom) {
128 translateEquivalenceAtom(equivalenceAtom, body);
129 } else if (constraint instanceof RelationViewAtom relationViewAtom) {
130 translateRelationViewAtom(relationViewAtom, body);
131 } else if (constraint instanceof DNFCallAtom callAtom) {
132 translateCallAtom(callAtom, body);
133 } else if (constraint instanceof ConstantAtom constantAtom) {
134 translateConstantAtom(constantAtom, body);
135 } else {
136 throw new IllegalArgumentException("Unknown constraint: " + constraint.toString());
137 }
138 }
139
140 private void translateEquivalenceAtom(EquivalenceAtom equivalence, PBody body) {
141 PVariable varSource = body.getOrCreateVariableByName(equivalence.left().getUniqueName());
142 PVariable varTarget = body.getOrCreateVariableByName(equivalence.right().getUniqueName());
143 if (equivalence.positive()) {
144 new Equality(body, varSource, varTarget);
145 } else {
146 new Inequality(body, varSource, varTarget);
147 }
148 }
149
150 private void translateRelationViewAtom(RelationViewAtom relationViewAtom, PBody body) {
151 var substitution = translateSubstitution(relationViewAtom.getSubstitution(), body);
152 var polarity = relationViewAtom.getPolarity();
153 var relationView = relationViewAtom.getTarget();
154 if (polarity == CallPolarity.POSITIVE) {
155 new TypeConstraint(body, substitution, wrapView(relationView));
156 } else {
157 var embeddedPQuery = translateEmbeddedRelationViewPQuery(relationView);
158 switch (polarity) {
159 case TRANSITIVE -> new BinaryTransitiveClosure(body, substitution, embeddedPQuery);
160 case NEGATIVE -> new NegativePatternCall(body, substitution, embeddedPQuery);
161 default -> throw new IllegalArgumentException("Unknown polarity: " + polarity);
162 }
163 }
164 }
165
166 private static Tuple translateSubstitution(List<Variable> substitution, PBody body) {
167 int arity = substitution.size();
168 Object[] variables = new Object[arity];
169 for (int i = 0; i < arity; i++) {
170 var variable = substitution.get(i);
171 variables[i] = body.getOrCreateVariableByName(variable.getUniqueName());
172 }
173 return Tuples.flatTupleOf(variables);
174 }
175
176 private RawPQuery translateEmbeddedRelationViewPQuery(AnyRelationView relationView) {
177 return view2EmbeddedMap.computeIfAbsent(relationView, this::doTranslateEmbeddedRelationViewPQuery);
178 }
179
180 private RawPQuery doTranslateEmbeddedRelationViewPQuery(AnyRelationView relationView) {
181 var embeddedPQuery = new RawPQuery(DNFUtils.generateUniqueName(relationView.name()), PVisibility.EMBEDDED);
182 var body = new PBody(embeddedPQuery);
183 int arity = relationView.arity();
184 var parameters = new ArrayList<PParameter>(arity);
185 var arguments = new Object[arity];
186 var symbolicParameters = new ArrayList<ExportedParameter>(arity);
187 for (int i = 0; i < arity; i++) {
188 var parameterName = "p" + i;
189 var parameter = new PParameter(parameterName);
190 parameters.add(parameter);
191 var variable = body.getOrCreateVariableByName(parameterName);
192 arguments[i] = variable;
193 symbolicParameters.add(new ExportedParameter(body, variable, parameter));
194 }
195 embeddedPQuery.setParameters(parameters);
196 body.setSymbolicParameters(symbolicParameters);
197 var argumentTuple = Tuples.flatTupleOf(arguments);
198 new TypeConstraint(body, argumentTuple, wrapView(relationView));
199 embeddedPQuery.addBody(body);
200 return embeddedPQuery;
201 }
202
203 private RelationViewWrapper wrapView(AnyRelationView relationView) {
204 return view2WrapperMap.computeIfAbsent(relationView, RelationViewWrapper::new);
205 }
206
207 private void translateCallAtom(DNFCallAtom callAtom, PBody body) {
208 var variablesTuple = translateSubstitution(callAtom.getSubstitution(), body);
209 var translatedReferred = translate(callAtom.getTarget());
210 var polarity = callAtom.getPolarity();
211 switch (polarity) {
212 case POSITIVE -> new PositivePatternCall(body, variablesTuple, translatedReferred);
213 case TRANSITIVE -> new BinaryTransitiveClosure(body, variablesTuple, translatedReferred);
214 case NEGATIVE -> new NegativePatternCall(body, variablesTuple, translatedReferred);
215 default -> throw new IllegalArgumentException("Unknown polarity: " + polarity);
216 }
217 }
218
219 private void translateConstantAtom(ConstantAtom constantAtom, PBody body) {
220 var variable = body.getOrCreateVariableByName(constantAtom.variable().getUniqueName());
221 new ConstantValue(body, variable, constantAtom.nodeId());
222 }
223}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/Dnf2PQuery.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/Dnf2PQuery.java
new file mode 100644
index 00000000..7afeb977
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/Dnf2PQuery.java
@@ -0,0 +1,256 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory;
4import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
5import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
6import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
7import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
8import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.BoundAggregator;
9import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator;
10import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
11import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.*;
12import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure;
13import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
14import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
15import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
16import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
17import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery;
18import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
19import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
20import tools.refinery.store.query.dnf.Dnf;
21import tools.refinery.store.query.dnf.DnfClause;
22import tools.refinery.store.query.literal.*;
23import tools.refinery.store.query.term.ConstantTerm;
24import tools.refinery.store.query.term.StatefulAggregator;
25import tools.refinery.store.query.term.StatelessAggregator;
26import tools.refinery.store.query.term.Variable;
27import tools.refinery.store.query.view.AnyRelationView;
28import tools.refinery.store.util.CycleDetectingMapper;
29
30import java.util.*;
31import java.util.function.Function;
32import java.util.stream.Collectors;
33
34public class Dnf2PQuery {
35 private static final Object P_CONSTRAINT_LOCK = new Object();
36 private final CycleDetectingMapper<Dnf, RawPQuery> mapper = new CycleDetectingMapper<>(Dnf::name,
37 this::doTranslate);
38 private final QueryWrapperFactory wrapperFactory = new QueryWrapperFactory(this);
39 private final Map<Dnf, QueryEvaluationHint> hintOverrides = new LinkedHashMap<>();
40 private Function<Dnf, QueryEvaluationHint> computeHint = dnf -> new QueryEvaluationHint(null,
41 (IQueryBackendFactory) null);
42
43 public void setComputeHint(Function<Dnf, QueryEvaluationHint> computeHint) {
44 this.computeHint = computeHint;
45 }
46
47 public RawPQuery translate(Dnf dnfQuery) {
48 return mapper.map(dnfQuery);
49 }
50
51 public Map<AnyRelationView, IInputKey> getRelationViews() {
52 return wrapperFactory.getRelationViews();
53 }
54
55 public void hint(Dnf dnf, QueryEvaluationHint hint) {
56 hintOverrides.compute(dnf, (ignoredKey, existingHint) ->
57 existingHint == null ? hint : existingHint.overrideBy(hint));
58 }
59
60 private QueryEvaluationHint consumeHint(Dnf dnf) {
61 var defaultHint = computeHint.apply(dnf);
62 var existingHint = hintOverrides.remove(dnf);
63 return defaultHint.overrideBy(existingHint);
64 }
65
66 public void assertNoUnusedHints() {
67 if (hintOverrides.isEmpty()) {
68 return;
69 }
70 var unusedHints = hintOverrides.keySet().stream().map(Dnf::name).collect(Collectors.joining(", "));
71 throw new IllegalStateException(
72 "Unused query evaluation hints for %s. Hints must be set before a query is added to the engine"
73 .formatted(unusedHints));
74 }
75
76 private RawPQuery doTranslate(Dnf dnfQuery) {
77 var pQuery = new RawPQuery(dnfQuery.getUniqueName());
78 pQuery.setEvaluationHints(consumeHint(dnfQuery));
79
80 Map<Variable, PParameter> parameters = new HashMap<>();
81 for (Variable variable : dnfQuery.getParameters()) {
82 parameters.put(variable, new PParameter(variable.getUniqueName()));
83 }
84
85 List<PParameter> parameterList = new ArrayList<>();
86 for (var param : dnfQuery.getParameters()) {
87 parameterList.add(parameters.get(param));
88 }
89 pQuery.setParameters(parameterList);
90
91 for (var functionalDependency : dnfQuery.getFunctionalDependencies()) {
92 var functionalDependencyAnnotation = new PAnnotation("FunctionalDependency");
93 for (var forEachVariable : functionalDependency.forEach()) {
94 functionalDependencyAnnotation.addAttribute("forEach", forEachVariable.getUniqueName());
95 }
96 for (var uniqueVariable : functionalDependency.unique()) {
97 functionalDependencyAnnotation.addAttribute("unique", uniqueVariable.getUniqueName());
98 }
99 pQuery.addAnnotation(functionalDependencyAnnotation);
100 }
101
102 // The constructor of {@link org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint} mutates
103 // global static state (<code>nextID</code>) without locking. Therefore, we need to synchronize before creating
104 // any query literals to avoid a data race.
105 synchronized (P_CONSTRAINT_LOCK) {
106 for (DnfClause clause : dnfQuery.getClauses()) {
107 PBody body = new PBody(pQuery);
108 List<ExportedParameter> symbolicParameters = new ArrayList<>();
109 for (var param : dnfQuery.getParameters()) {
110 PVariable pVar = body.getOrCreateVariableByName(param.getUniqueName());
111 symbolicParameters.add(new ExportedParameter(body, pVar, parameters.get(param)));
112 }
113 body.setSymbolicParameters(symbolicParameters);
114 pQuery.addBody(body);
115 for (Literal literal : clause.literals()) {
116 translateLiteral(literal, clause, body);
117 }
118 }
119 }
120
121 return pQuery;
122 }
123
124 private void translateLiteral(Literal literal, DnfClause clause, PBody body) {
125 if (literal instanceof EquivalenceLiteral equivalenceLiteral) {
126 translateEquivalenceLiteral(equivalenceLiteral, body);
127 } else if (literal instanceof CallLiteral callLiteral) {
128 translateCallLiteral(callLiteral, clause, body);
129 } else if (literal instanceof ConstantLiteral constantLiteral) {
130 translateConstantLiteral(constantLiteral, body);
131 } else if (literal instanceof AssignLiteral<?> assignLiteral) {
132 translateAssignLiteral(assignLiteral, body);
133 } else if (literal instanceof AssumeLiteral assumeLiteral) {
134 translateAssumeLiteral(assumeLiteral, body);
135 } else if (literal instanceof CountLiteral countLiteral) {
136 translateCountLiteral(countLiteral, clause, body);
137 } else if (literal instanceof AggregationLiteral<?, ?> aggregationLiteral) {
138 translateAggregationLiteral(aggregationLiteral, clause, body);
139 } else {
140 throw new IllegalArgumentException("Unknown literal: " + literal.toString());
141 }
142 }
143
144 private void translateEquivalenceLiteral(EquivalenceLiteral equivalenceLiteral, PBody body) {
145 PVariable varSource = body.getOrCreateVariableByName(equivalenceLiteral.left().getUniqueName());
146 PVariable varTarget = body.getOrCreateVariableByName(equivalenceLiteral.right().getUniqueName());
147 if (equivalenceLiteral.positive()) {
148 new Equality(body, varSource, varTarget);
149 } else {
150 new Inequality(body, varSource, varTarget);
151 }
152 }
153
154 private void translateCallLiteral(CallLiteral callLiteral, DnfClause clause, PBody body) {
155 var polarity = callLiteral.getPolarity();
156 switch (polarity) {
157 case POSITIVE -> {
158 var substitution = translateSubstitution(callLiteral.getArguments(), body);
159 var constraint = callLiteral.getTarget();
160 if (constraint instanceof Dnf dnf) {
161 var pattern = translate(dnf);
162 new PositivePatternCall(body, substitution, pattern);
163 } else if (constraint instanceof AnyRelationView relationView) {
164 var inputKey = wrapperFactory.getInputKey(relationView);
165 new TypeConstraint(body, substitution, inputKey);
166 } else {
167 throw new IllegalArgumentException("Unknown Constraint: " + constraint);
168 }
169 }
170 case TRANSITIVE -> {
171 var substitution = translateSubstitution(callLiteral.getArguments(), body);
172 var constraint = callLiteral.getTarget();
173 PQuery pattern;
174 if (constraint instanceof Dnf dnf) {
175 pattern = translate(dnf);
176 } else if (constraint instanceof AnyRelationView relationView) {
177 pattern = wrapperFactory.wrapRelationViewIdentityArguments(relationView);
178 } else {
179 throw new IllegalArgumentException("Unknown Constraint: " + constraint);
180 }
181 new BinaryTransitiveClosure(body, substitution, pattern);
182 }
183 case NEGATIVE -> {
184 var wrappedCall = wrapperFactory.maybeWrapConstraint(callLiteral, clause);
185 var substitution = translateSubstitution(wrappedCall.remappedArguments(), body);
186 var pattern = wrappedCall.pattern();
187 new NegativePatternCall(body, substitution, pattern);
188 }
189 default -> throw new IllegalArgumentException("Unknown polarity: " + polarity);
190 }
191 }
192
193 private static Tuple translateSubstitution(List<Variable> substitution, PBody body) {
194 int arity = substitution.size();
195 Object[] variables = new Object[arity];
196 for (int i = 0; i < arity; i++) {
197 var variable = substitution.get(i);
198 variables[i] = body.getOrCreateVariableByName(variable.getUniqueName());
199 }
200 return Tuples.flatTupleOf(variables);
201 }
202
203 private void translateConstantLiteral(ConstantLiteral constantLiteral, PBody body) {
204 var variable = body.getOrCreateVariableByName(constantLiteral.variable().getUniqueName());
205 new ConstantValue(body, variable, constantLiteral.nodeId());
206 }
207
208 private <T> void translateAssignLiteral(AssignLiteral<T> assignLiteral, PBody body) {
209 var variable = body.getOrCreateVariableByName(assignLiteral.variable().getUniqueName());
210 var term = assignLiteral.term();
211 if (term instanceof ConstantTerm<T> constantTerm) {
212 new ConstantValue(body, variable, constantTerm.getValue());
213 } else {
214 var evaluator = new TermEvaluator<>(term);
215 new ExpressionEvaluation(body, evaluator, variable);
216 }
217 }
218
219 private void translateAssumeLiteral(AssumeLiteral assumeLiteral, PBody body) {
220 var evaluator = new AssumptionEvaluator(assumeLiteral.term());
221 new ExpressionEvaluation(body, evaluator, null);
222 }
223
224 private void translateCountLiteral(CountLiteral countLiteral, DnfClause clause, PBody body) {
225 var wrappedCall = wrapperFactory.maybeWrapConstraint(countLiteral, clause);
226 var substitution = translateSubstitution(wrappedCall.remappedArguments(), body);
227 var resultVariable = body.getOrCreateVariableByName(countLiteral.getResultVariable().getUniqueName());
228 new PatternMatchCounter(body, substitution, wrappedCall.pattern(), resultVariable);
229 }
230
231 private <R, T> void translateAggregationLiteral(AggregationLiteral<R, T> aggregationLiteral, DnfClause clause,
232 PBody body) {
233 var aggregator = aggregationLiteral.getAggregator();
234 IMultisetAggregationOperator<T, ?, R> aggregationOperator;
235 if (aggregator instanceof StatelessAggregator<R, T> statelessAggregator) {
236 aggregationOperator = new StatelessMultisetAggregator<>(statelessAggregator);
237 } else if (aggregator instanceof StatefulAggregator<R, T> statefulAggregator) {
238 aggregationOperator = new StatefulMultisetAggregator<>(statefulAggregator);
239 } else {
240 throw new IllegalArgumentException("Unknown aggregator: " + aggregator);
241 }
242 var wrappedCall = wrapperFactory.maybeWrapConstraint(aggregationLiteral, clause);
243 var substitution = translateSubstitution(wrappedCall.remappedArguments(), body);
244 var inputVariable = body.getOrCreateVariableByName(aggregationLiteral.getInputVariable().getUniqueName());
245 var aggregatedColumn = substitution.invertIndex().get(inputVariable);
246 if (aggregatedColumn == null) {
247 throw new IllegalStateException("Input variable %s not found in substitution %s".formatted(inputVariable,
248 substitution));
249 }
250 var boundAggregator = new BoundAggregator(aggregationOperator, aggregator.getInputType(),
251 aggregator.getResultType());
252 var resultVariable = body.getOrCreateVariableByName(aggregationLiteral.getResultVariable().getUniqueName());
253 new AggregatorConstraint(boundAggregator, body, substitution, wrappedCall.pattern(), resultVariable,
254 aggregatedColumn);
255 }
256}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/QueryWrapperFactory.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/QueryWrapperFactory.java
new file mode 100644
index 00000000..24ae5196
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/QueryWrapperFactory.java
@@ -0,0 +1,173 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
4import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
5import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
6import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
7import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
8import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
9import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
10import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery;
11import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
12import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
13import tools.refinery.store.query.Constraint;
14import tools.refinery.store.query.dnf.Dnf;
15import tools.refinery.store.query.dnf.DnfClause;
16import tools.refinery.store.query.dnf.DnfUtils;
17import tools.refinery.store.query.literal.AbstractCallLiteral;
18import tools.refinery.store.query.term.Variable;
19import tools.refinery.store.query.view.AnyRelationView;
20import tools.refinery.store.query.view.RelationView;
21import tools.refinery.store.util.CycleDetectingMapper;
22
23import java.util.*;
24import java.util.function.ToIntFunction;
25
26class QueryWrapperFactory {
27 private final Dnf2PQuery dnf2PQuery;
28 private final Map<AnyRelationView, RelationViewWrapper> view2WrapperMap = new LinkedHashMap<>();
29 private final CycleDetectingMapper<RemappedConstraint, RawPQuery> wrapConstraint = new CycleDetectingMapper<>(
30 RemappedConstraint::toString, this::doWrapConstraint);
31
32 QueryWrapperFactory(Dnf2PQuery dnf2PQuery) {
33 this.dnf2PQuery = dnf2PQuery;
34 }
35
36 public PQuery wrapRelationViewIdentityArguments(AnyRelationView relationView) {
37 var identity = new int[relationView.arity()];
38 for (int i = 0; i < identity.length; i++) {
39 identity[i] = i;
40 }
41 return maybeWrapConstraint(relationView, identity);
42 }
43 public WrappedCall maybeWrapConstraint(AbstractCallLiteral callLiteral, DnfClause clause) {
44 var arguments = callLiteral.getArguments();
45 int arity = arguments.size();
46 var remappedParameters = new int[arity];
47 var boundVariables = clause.boundVariables();
48 var unboundVariableIndices = new HashMap<Variable, Integer>();
49 var appendVariable = new VariableAppender();
50 for (int i = 0; i < arity; i++) {
51 var variable = arguments.get(i);
52 if (boundVariables.contains(variable)) {
53 // Do not join bound variable to make sure that the embedded pattern stays as general as possible.
54 remappedParameters[i] = appendVariable.applyAsInt(variable);
55 } else {
56 remappedParameters[i] = unboundVariableIndices.computeIfAbsent(variable, appendVariable::applyAsInt);
57 }
58 }
59 var pattern = maybeWrapConstraint(callLiteral.getTarget(), remappedParameters);
60 return new WrappedCall(pattern, appendVariable.getRemappedArguments());
61 }
62
63 private PQuery maybeWrapConstraint(Constraint constraint, int[] remappedParameters) {
64 if (remappedParameters.length != constraint.arity()) {
65 throw new IllegalArgumentException("Constraint %s expected %d parameters, but got %d parameters".formatted(
66 constraint, constraint.arity(), remappedParameters.length));
67 }
68 if (constraint instanceof Dnf dnf && isIdentity(remappedParameters)) {
69 return dnf2PQuery.translate(dnf);
70 }
71 return wrapConstraint.map(new RemappedConstraint(constraint, remappedParameters));
72 }
73
74 private static boolean isIdentity(int[] remappedParameters) {
75 for (int i = 0; i < remappedParameters.length; i++) {
76 if (remappedParameters[i] != i) {
77 return false;
78 }
79 }
80 return true;
81 }
82
83 private RawPQuery doWrapConstraint(RemappedConstraint remappedConstraint) {
84 var constraint = remappedConstraint.constraint();
85 var remappedParameters = remappedConstraint.remappedParameters();
86
87 var embeddedPQuery = new RawPQuery(DnfUtils.generateUniqueName(constraint.name()), PVisibility.EMBEDDED);
88 var body = new PBody(embeddedPQuery);
89 int arity = Arrays.stream(remappedParameters).max().orElse(-1) + 1;
90 var parameters = new ArrayList<PParameter>(arity);
91 var parameterVariables = new PVariable[arity];
92 var symbolicParameters = new ArrayList<ExportedParameter>(arity);
93 for (int i = 0; i < arity; i++) {
94 var parameterName = "p" + i;
95 var parameter = new PParameter(parameterName);
96 parameters.add(parameter);
97 var variable = body.getOrCreateVariableByName(parameterName);
98 parameterVariables[i] = variable;
99 symbolicParameters.add(new ExportedParameter(body, variable, parameter));
100 }
101 embeddedPQuery.setParameters(parameters);
102 body.setSymbolicParameters(symbolicParameters);
103
104 var arguments = new Object[remappedParameters.length];
105 for (int i = 0; i < remappedParameters.length; i++) {
106 arguments[i] = parameterVariables[remappedParameters[i]];
107 }
108 var argumentTuple = Tuples.flatTupleOf(arguments);
109
110 if (constraint instanceof RelationView<?> relationView) {
111 new TypeConstraint(body, argumentTuple, getInputKey(relationView));
112 } else if (constraint instanceof Dnf dnf) {
113 var calledPQuery = dnf2PQuery.translate(dnf);
114 new PositivePatternCall(body, argumentTuple, calledPQuery);
115 } else {
116 throw new IllegalArgumentException("Unknown Constraint: " + constraint);
117 }
118
119 embeddedPQuery.addBody(body);
120 return embeddedPQuery;
121 }
122
123 public IInputKey getInputKey(AnyRelationView relationView) {
124 return view2WrapperMap.computeIfAbsent(relationView, RelationViewWrapper::new);
125 }
126
127 public Map<AnyRelationView, IInputKey> getRelationViews() {
128 return Collections.unmodifiableMap(view2WrapperMap);
129 }
130
131 public record WrappedCall(PQuery pattern, List<Variable> remappedArguments) {
132 }
133
134 private static class VariableAppender implements ToIntFunction<Variable> {
135 private final List<Variable> remappedArguments = new ArrayList<>();
136 private int nextIndex = 0;
137
138 @Override
139 public int applyAsInt(Variable variable) {
140 remappedArguments.add(variable);
141 int index = nextIndex;
142 nextIndex++;
143 return index;
144 }
145
146 public List<Variable> getRemappedArguments() {
147 return remappedArguments;
148 }
149 }
150
151 private record RemappedConstraint(Constraint constraint, int[] remappedParameters) {
152 @Override
153 public boolean equals(Object o) {
154 if (this == o) return true;
155 if (o == null || getClass() != o.getClass()) return false;
156 RemappedConstraint that = (RemappedConstraint) o;
157 return constraint.equals(that.constraint) && Arrays.equals(remappedParameters, that.remappedParameters);
158 }
159
160 @Override
161 public int hashCode() {
162 int result = Objects.hash(constraint);
163 result = 31 * result + Arrays.hashCode(remappedParameters);
164 return result;
165 }
166
167 @Override
168 public String toString() {
169 return "RemappedConstraint{constraint=%s, remappedParameters=%s}".formatted(constraint,
170 Arrays.toString(remappedParameters));
171 }
172 }
173}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java
index 71b74396..aad4ba3c 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java
@@ -9,6 +9,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.BasePQuery;
9import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 9import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
10import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; 10import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
11import tools.refinery.store.query.viatra.internal.RelationalScope; 11import tools.refinery.store.query.viatra.internal.RelationalScope;
12import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher;
12 13
13import java.util.LinkedHashSet; 14import java.util.LinkedHashSet;
14import java.util.List; 15import java.util.List;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPatternMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPatternMatcher.java
deleted file mode 100644
index e944e873..00000000
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPatternMatcher.java
+++ /dev/null
@@ -1,72 +0,0 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.api.GenericPatternMatcher;
4import org.eclipse.viatra.query.runtime.api.GenericQuerySpecification;
5import tools.refinery.store.query.ResultSet;
6import tools.refinery.store.query.viatra.ViatraTupleLike;
7import tools.refinery.store.tuple.Tuple;
8import tools.refinery.store.tuple.TupleLike;
9
10import java.util.Optional;
11import java.util.stream.Stream;
12
13public class RawPatternMatcher extends GenericPatternMatcher implements ResultSet {
14 protected final Object[] empty;
15
16 public RawPatternMatcher(GenericQuerySpecification<? extends GenericPatternMatcher> specification) {
17 super(specification);
18 empty = new Object[specification.getParameterNames().size()];
19 }
20
21 @Override
22 public boolean hasResult() {
23 return backend.hasMatch(empty);
24 }
25
26 @Override
27 public boolean hasResult(Tuple parameters) {
28 return backend.hasMatch(toParametersArray(parameters));
29 }
30
31 @Override
32 public Optional<TupleLike> oneResult() {
33 return backend.getOneArbitraryMatch(empty).map(ViatraTupleLike::new);
34 }
35
36 @Override
37 public Optional<TupleLike> oneResult(Tuple parameters) {
38 return backend.getOneArbitraryMatch(toParametersArray(parameters)).map(ViatraTupleLike::new);
39 }
40
41 @Override
42 public Stream<TupleLike> allResults() {
43 return backend.getAllMatches(empty).map(ViatraTupleLike::new);
44 }
45
46 @Override
47 public Stream<TupleLike> allResults(Tuple parameters) {
48 return backend.getAllMatches(toParametersArray(parameters)).map(ViatraTupleLike::new);
49 }
50
51 @Override
52 public int countResults() {
53 return backend.countMatches(empty);
54 }
55
56 @Override
57 public int countResults(Tuple parameters) {
58 return backend.countMatches(toParametersArray(parameters));
59 }
60
61 private Object[] toParametersArray(Tuple tuple) {
62 int size = tuple.getSize();
63 var array = new Object[tuple.getSize()];
64 for (int i = 0; i < size; i++) {
65 var value = tuple.get(i);
66 if (value >= 0) {
67 array[i] = Tuple.of(value);
68 }
69 }
70 return array;
71 }
72}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java
index c442add8..48bf558d 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java
@@ -27,4 +27,9 @@ public class RelationViewWrapper extends BaseInputKeyWrapper<AnyRelationView> {
27 public boolean isEnumerable() { 27 public boolean isEnumerable() {
28 return true; 28 return true;
29 } 29 }
30
31 @Override
32 public String toString() {
33 return "RelationViewWrapper{wrappedKey=%s}".formatted(wrappedKey);
34 }
30} 35}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatefulMultisetAggregator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatefulMultisetAggregator.java
new file mode 100644
index 00000000..2798a252
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatefulMultisetAggregator.java
@@ -0,0 +1,60 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator;
4import tools.refinery.store.query.term.StatefulAggregate;
5import tools.refinery.store.query.term.StatefulAggregator;
6
7import java.util.stream.Stream;
8
9record StatefulMultisetAggregator<R, T>(StatefulAggregator<R, T> aggregator)
10 implements IMultisetAggregationOperator<T, StatefulAggregate<R, T>, R> {
11 @Override
12 public String getShortDescription() {
13 return getName();
14 }
15
16 @Override
17 public String getName() {
18 return aggregator.toString();
19 }
20
21 @Override
22 public StatefulAggregate<R, T> createNeutral() {
23 return aggregator.createEmptyAggregate();
24 }
25
26 @Override
27 public boolean isNeutral(StatefulAggregate<R, T> result) {
28 return result.isEmpty();
29 }
30
31 @Override
32 public StatefulAggregate<R, T> update(StatefulAggregate<R, T> oldResult, T updateValue, boolean isInsertion) {
33 if (isInsertion) {
34 oldResult.add(updateValue);
35 } else {
36 oldResult.remove(updateValue);
37 }
38 return oldResult;
39 }
40
41 @Override
42 public R getAggregate(StatefulAggregate<R, T> result) {
43 return result.getResult();
44 }
45
46 @Override
47 public R aggregateStream(Stream<T> stream) {
48 return aggregator.aggregateStream(stream);
49 }
50
51 @Override
52 public StatefulAggregate<R, T> clone(StatefulAggregate<R, T> original) {
53 return original.deepCopy();
54 }
55
56 @Override
57 public boolean contains(T value, StatefulAggregate<R, T> accumulator) {
58 return accumulator.contains(value);
59 }
60}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatelessMultisetAggregator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatelessMultisetAggregator.java
new file mode 100644
index 00000000..7cc71ee9
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatelessMultisetAggregator.java
@@ -0,0 +1,50 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator;
4import tools.refinery.store.query.term.StatelessAggregator;
5
6import java.util.stream.Stream;
7
8record StatelessMultisetAggregator<R, T>(StatelessAggregator<R, T> aggregator)
9 implements IMultisetAggregationOperator<T, R, R> {
10 @Override
11 public String getShortDescription() {
12 return getName();
13 }
14
15 @Override
16 public String getName() {
17 return aggregator.toString();
18 }
19
20 @Override
21 public R createNeutral() {
22 return aggregator.getEmptyResult();
23 }
24
25 @Override
26 public boolean isNeutral(R result) {
27 return createNeutral().equals(result);
28 }
29
30 @Override
31 public R update(R oldResult, T updateValue, boolean isInsertion) {
32 return isInsertion ? aggregator.add(oldResult, updateValue) : aggregator.remove(oldResult, updateValue);
33 }
34
35 @Override
36 public R getAggregate(R result) {
37 return result;
38 }
39
40 @Override
41 public R clone(R original) {
42 // Aggregate result is immutable.
43 return original;
44 }
45
46 @Override
47 public R aggregateStream(Stream<T> stream) {
48 return aggregator.aggregateStream(stream);
49 }
50}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/TermEvaluator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/TermEvaluator.java
new file mode 100644
index 00000000..ab123c50
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/TermEvaluator.java
@@ -0,0 +1,32 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
4import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
5import tools.refinery.store.query.term.Term;
6import tools.refinery.store.query.term.Variable;
7
8import java.util.stream.Collectors;
9
10class TermEvaluator<T> implements IExpressionEvaluator {
11 private final Term<T> term;
12
13 public TermEvaluator(Term<T> term) {
14 this.term = term;
15 }
16
17 @Override
18 public String getShortDescription() {
19 return term.toString();
20 }
21
22 @Override
23 public Iterable<String> getInputParameterNames() {
24 return term.getInputVariables().stream().map(Variable::getUniqueName).collect(Collectors.toUnmodifiableSet());
25 }
26
27 @Override
28 public Object evaluateExpression(IValueProvider provider) {
29 var valuation = new ValueProviderBasedValuation(provider);
30 return term.evaluate(valuation);
31 }
32}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/ValueProviderBasedValuation.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/ValueProviderBasedValuation.java
new file mode 100644
index 00000000..30c2fce7
--- /dev/null
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/ValueProviderBasedValuation.java
@@ -0,0 +1,14 @@
1package tools.refinery.store.query.viatra.internal.pquery;
2
3import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
4import tools.refinery.store.query.term.DataVariable;
5import tools.refinery.store.query.valuation.Valuation;
6
7public record ValueProviderBasedValuation(IValueProvider valueProvider) implements Valuation {
8 @Override
9 public <T> T getValue(DataVariable<T> variable) {
10 @SuppressWarnings("unchecked")
11 var value = (T) valueProvider.getValue(variable.getUniqueName());
12 return value;
13 }
14}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java
index 8a467066..fc935aa6 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java
@@ -22,10 +22,9 @@ public class ModelUpdateListener {
22 } 22 }
23 23
24 private <T> void registerView(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView) { 24 private <T> void registerView(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView) {
25 var listener = RelationViewUpdateListener.of(adapter, relationView);
26 var model = adapter.getModel(); 25 var model = adapter.getModel();
27 var interpretation = model.getInterpretation(relationView.getSymbol()); 26 var interpretation = model.getInterpretation(relationView.getSymbol());
28 interpretation.addListener(listener, true); 27 var listener = RelationViewUpdateListener.of(adapter, relationView, interpretation);
29 relationViewUpdateListeners.put(relationView, listener); 28 relationViewUpdateListeners.put(relationView, listener);
30 } 29 }
31 30
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java
index bf6b4197..5e5f60e3 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java
@@ -4,6 +4,7 @@ import org.eclipse.viatra.query.runtime.matchers.context.IInputKey;
4import org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContextListener; 4import org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContextListener;
5import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; 5import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple;
6import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 6import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
7import tools.refinery.store.model.Interpretation;
7import tools.refinery.store.model.InterpretationListener; 8import tools.refinery.store.model.InterpretationListener;
8import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; 9import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl;
9import tools.refinery.store.query.view.RelationView; 10import tools.refinery.store.query.view.RelationView;
@@ -14,18 +15,27 @@ import java.util.List;
14 15
15public abstract class RelationViewUpdateListener<T> implements InterpretationListener<T> { 16public abstract class RelationViewUpdateListener<T> implements InterpretationListener<T> {
16 private final ViatraModelQueryAdapterImpl adapter; 17 private final ViatraModelQueryAdapterImpl adapter;
18 private final Interpretation<T> interpretation;
17 private final List<RelationViewFilter> filters = new ArrayList<>(); 19 private final List<RelationViewFilter> filters = new ArrayList<>();
18 20
19 protected RelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter) { 21 protected RelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, Interpretation<T> interpretation) {
20 this.adapter = adapter; 22 this.adapter = adapter;
23 this.interpretation = interpretation;
21 } 24 }
22 25
23 public void addFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) { 26 public void addFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) {
27 if (filters.isEmpty()) {
28 // First filter to be added, from now on we have to subscribe to model updates.
29 interpretation.addListener(this, true);
30 }
24 filters.add(new RelationViewFilter(inputKey, seed, listener)); 31 filters.add(new RelationViewFilter(inputKey, seed, listener));
25 } 32 }
26 33
27 public void removeFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) { 34 public void removeFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) {
28 filters.remove(new RelationViewFilter(inputKey, seed, listener)); 35 if (filters.remove(new RelationViewFilter(inputKey, seed, listener)) && filters.isEmpty()) {
36 // Last listener to be added, we don't have be subscribed to model updates anymore.
37 interpretation.removeListener(this);
38 }
29 } 39 }
30 40
31 protected void processUpdate(Tuple tuple, boolean isInsertion) { 41 protected void processUpdate(Tuple tuple, boolean isInsertion) {
@@ -39,10 +49,12 @@ public abstract class RelationViewUpdateListener<T> implements InterpretationLis
39 } 49 }
40 50
41 public static <T> RelationViewUpdateListener<T> of(ViatraModelQueryAdapterImpl adapter, 51 public static <T> RelationViewUpdateListener<T> of(ViatraModelQueryAdapterImpl adapter,
42 RelationView<T> relationView) { 52 RelationView<T> relationView,
53 Interpretation<T> interpretation) {
43 if (relationView instanceof TuplePreservingRelationView<T> tuplePreservingRelationView) { 54 if (relationView instanceof TuplePreservingRelationView<T> tuplePreservingRelationView) {
44 return new TuplePreservingRelationViewUpdateListener<>(adapter, tuplePreservingRelationView); 55 return new TuplePreservingRelationViewUpdateListener<>(adapter, tuplePreservingRelationView,
56 interpretation);
45 } 57 }
46 return new TupleChangingRelationViewUpdateListener<>(adapter, relationView); 58 return new TupleChangingRelationViewUpdateListener<>(adapter, relationView, interpretation);
47 } 59 }
48} 60}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java
index 14142884..0f6ed3b3 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java
@@ -1,6 +1,7 @@
1package tools.refinery.store.query.viatra.internal.update; 1package tools.refinery.store.query.viatra.internal.update;
2 2
3import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 3import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
4import tools.refinery.store.model.Interpretation;
4import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; 5import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl;
5import tools.refinery.store.query.view.RelationView; 6import tools.refinery.store.query.view.RelationView;
6import tools.refinery.store.tuple.Tuple; 7import tools.refinery.store.tuple.Tuple;
@@ -10,8 +11,9 @@ import java.util.Arrays;
10public class TupleChangingRelationViewUpdateListener<T> extends RelationViewUpdateListener<T> { 11public class TupleChangingRelationViewUpdateListener<T> extends RelationViewUpdateListener<T> {
11 private final RelationView<T> relationView; 12 private final RelationView<T> relationView;
12 13
13 TupleChangingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView) { 14 TupleChangingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView,
14 super(adapter); 15 Interpretation<T> interpretation) {
16 super(adapter, interpretation);
15 this.relationView = relationView; 17 this.relationView = relationView;
16 } 18 }
17 19
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java
index 288e018a..91e9371b 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java
+++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java
@@ -1,6 +1,7 @@
1package tools.refinery.store.query.viatra.internal.update; 1package tools.refinery.store.query.viatra.internal.update;
2 2
3import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 3import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
4import tools.refinery.store.model.Interpretation;
4import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; 5import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl;
5import tools.refinery.store.query.view.TuplePreservingRelationView; 6import tools.refinery.store.query.view.TuplePreservingRelationView;
6import tools.refinery.store.tuple.Tuple; 7import tools.refinery.store.tuple.Tuple;
@@ -9,8 +10,8 @@ public class TuplePreservingRelationViewUpdateListener<T> extends RelationViewUp
9 private final TuplePreservingRelationView<T> view; 10 private final TuplePreservingRelationView<T> view;
10 11
11 TuplePreservingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, 12 TuplePreservingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter,
12 TuplePreservingRelationView<T> view) { 13 TuplePreservingRelationView<T> view, Interpretation<T> interpretation) {
13 super(adapter); 14 super(adapter, interpretation);
14 this.view = view; 15 this.view = view;
15 } 16 }
16 17
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java
new file mode 100644
index 00000000..90229b73
--- /dev/null
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java
@@ -0,0 +1,471 @@
1package tools.refinery.store.query.viatra;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.ModelQuery;
6import tools.refinery.store.query.dnf.Dnf;
7import tools.refinery.store.query.dnf.Query;
8import tools.refinery.store.query.term.Variable;
9import tools.refinery.store.query.viatra.tests.QueryEngineTest;
10import tools.refinery.store.query.view.FunctionalRelationView;
11import tools.refinery.store.query.view.KeyOnlyRelationView;
12import tools.refinery.store.representation.Symbol;
13import tools.refinery.store.tuple.Tuple;
14
15import java.util.Map;
16import java.util.Optional;
17
18import static tools.refinery.store.query.literal.Literals.not;
19import static tools.refinery.store.query.term.int_.IntTerms.INT_SUM;
20import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertNullableResults;
21import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults;
22
23class DiagonalQueryTest {
24 @QueryEngineTest
25 void inputKeyNegationTest(QueryEvaluationHint hint) {
26 var person = new Symbol<>("Person", 1, Boolean.class, false);
27 var symbol = new Symbol<>("symbol", 4, Boolean.class, false);
28 var personView = new KeyOnlyRelationView<>(person);
29 var symbolView = new KeyOnlyRelationView<>(symbol);
30
31 var p1 = Variable.of("p1");
32 var p2 = Variable.of("p2");
33 var query = Query.builder("Diagonal")
34 .parameter(p1)
35 .clause(
36 personView.call(p1),
37 not(symbolView.call(p1, p1, p2, p2))
38 )
39 .build();
40
41 var store = ModelStore.builder()
42 .symbols(person, symbol)
43 .with(ViatraModelQuery.ADAPTER)
44 .defaultHint(hint)
45 .queries(query)
46 .build();
47
48 var model = store.createEmptyModel();
49 var personInterpretation = model.getInterpretation(person);
50 var symbolInterpretation = model.getInterpretation(symbol);
51 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
52 var queryResultSet = queryEngine.getResultSet(query);
53
54 personInterpretation.put(Tuple.of(0), true);
55 personInterpretation.put(Tuple.of(1), true);
56 personInterpretation.put(Tuple.of(2), true);
57
58 symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true);
59 symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true);
60 symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true);
61 symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true);
62
63 queryEngine.flushChanges();
64 assertResults(Map.of(
65 Tuple.of(0), false,
66 Tuple.of(1), true,
67 Tuple.of(2), true,
68 Tuple.of(3), false
69 ), queryResultSet);
70 }
71
72 @QueryEngineTest
73 void subQueryNegationTest(QueryEvaluationHint hint) {
74 var person = new Symbol<>("Person", 1, Boolean.class, false);
75 var symbol = new Symbol<>("symbol", 4, Boolean.class, false);
76 var personView = new KeyOnlyRelationView<>(person);
77 var symbolView = new KeyOnlyRelationView<>(symbol);
78
79 var p1 = Variable.of("p1");
80 var p2 = Variable.of("p2");
81 var p3 = Variable.of("p3");
82 var p4 = Variable.of("p4");
83 var subQuery = Dnf.builder("SubQuery")
84 .parameters(p1, p2, p3, p4)
85 .clause(
86 personView.call(p1),
87 symbolView.call(p1, p2, p3, p4)
88 )
89 .clause(
90 personView.call(p2),
91 symbolView.call(p1, p2, p3, p4)
92 )
93 .build();
94 var query = Query.builder("Diagonal")
95 .parameter(p1)
96 .clause(
97 personView.call(p1),
98 not(subQuery.call(p1, p1, p2, p2))
99 )
100 .build();
101
102 var store = ModelStore.builder()
103 .symbols(person, symbol)
104 .with(ViatraModelQuery.ADAPTER)
105 .defaultHint(hint)
106 .queries(query)
107 .build();
108
109 var model = store.createEmptyModel();
110 var personInterpretation = model.getInterpretation(person);
111 var symbolInterpretation = model.getInterpretation(symbol);
112 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
113 var queryResultSet = queryEngine.getResultSet(query);
114
115 personInterpretation.put(Tuple.of(0), true);
116 personInterpretation.put(Tuple.of(1), true);
117 personInterpretation.put(Tuple.of(2), true);
118
119 symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true);
120 symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true);
121 symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true);
122 symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true);
123
124 queryEngine.flushChanges();
125 assertResults(Map.of(
126 Tuple.of(0), false,
127 Tuple.of(1), true,
128 Tuple.of(2), true,
129 Tuple.of(3), false
130 ), queryResultSet);
131 }
132
133 @QueryEngineTest
134 void inputKeyCountTest(QueryEvaluationHint hint) {
135 var person = new Symbol<>("Person", 1, Boolean.class, false);
136 var symbol = new Symbol<>("symbol", 4, Boolean.class, false);
137 var personView = new KeyOnlyRelationView<>(person);
138 var symbolView = new KeyOnlyRelationView<>(symbol);
139
140 var p1 = Variable.of("p1");
141 var p2 = Variable.of("p2");
142 var x = Variable.of("x", Integer.class);
143 var query = Query.builder("Diagonal")
144 .parameter(p1)
145 .output(x)
146 .clause(
147 personView.call(p1),
148 x.assign(symbolView.count(p1, p1, p2, p2))
149 )
150 .build();
151
152 var store = ModelStore.builder()
153 .symbols(person, symbol)
154 .with(ViatraModelQuery.ADAPTER)
155 .defaultHint(hint)
156 .queries(query)
157 .build();
158
159 var model = store.createEmptyModel();
160 var personInterpretation = model.getInterpretation(person);
161 var symbolInterpretation = model.getInterpretation(symbol);
162 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
163 var queryResultSet = queryEngine.getResultSet(query);
164
165 personInterpretation.put(Tuple.of(0), true);
166 personInterpretation.put(Tuple.of(1), true);
167 personInterpretation.put(Tuple.of(2), true);
168
169 symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true);
170 symbolInterpretation.put(Tuple.of(0, 0, 2, 2), true);
171 symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true);
172 symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true);
173 symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true);
174
175 queryEngine.flushChanges();
176 assertNullableResults(Map.of(
177 Tuple.of(0), Optional.of(2),
178 Tuple.of(1), Optional.of(0),
179 Tuple.of(2), Optional.of(0),
180 Tuple.of(3), Optional.empty()
181 ), queryResultSet);
182 }
183
184 @QueryEngineTest
185 void subQueryCountTest(QueryEvaluationHint hint) {
186 var person = new Symbol<>("Person", 1, Boolean.class, false);
187 var symbol = new Symbol<>("symbol", 4, Boolean.class, false);
188 var personView = new KeyOnlyRelationView<>(person);
189 var symbolView = new KeyOnlyRelationView<>(symbol);
190
191 var p1 = Variable.of("p1");
192 var p2 = Variable.of("p2");
193 var p3 = Variable.of("p3");
194 var p4 = Variable.of("p4");
195 var x = Variable.of("x", Integer.class);
196 var subQuery = Dnf.builder("SubQuery")
197 .parameters(p1, p2, p3, p4)
198 .clause(
199 personView.call(p1),
200 symbolView.call(p1, p2, p3, p4)
201 )
202 .clause(
203 personView.call(p2),
204 symbolView.call(p1, p2, p3, p4)
205 )
206 .build();
207 var query = Query.builder("Diagonal")
208 .parameter(p1)
209 .output(x)
210 .clause(
211 personView.call(p1),
212 x.assign(subQuery.count(p1, p1, p2, p2))
213 )
214 .build();
215
216 var store = ModelStore.builder()
217 .symbols(person, symbol)
218 .with(ViatraModelQuery.ADAPTER)
219 .defaultHint(hint)
220 .queries(query)
221 .build();
222
223 var model = store.createEmptyModel();
224 var personInterpretation = model.getInterpretation(person);
225 var symbolInterpretation = model.getInterpretation(symbol);
226 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
227 var queryResultSet = queryEngine.getResultSet(query);
228
229 personInterpretation.put(Tuple.of(0), true);
230 personInterpretation.put(Tuple.of(1), true);
231 personInterpretation.put(Tuple.of(2), true);
232
233 symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true);
234 symbolInterpretation.put(Tuple.of(0, 0, 2, 2), true);
235 symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true);
236 symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true);
237 symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true);
238
239 queryEngine.flushChanges();
240 assertNullableResults(Map.of(
241 Tuple.of(0), Optional.of(2),
242 Tuple.of(1), Optional.of(0),
243 Tuple.of(2), Optional.of(0),
244 Tuple.of(3), Optional.empty()
245 ), queryResultSet);
246 }
247
248 @QueryEngineTest
249 void inputKeyAggregationTest(QueryEvaluationHint hint) {
250 var person = new Symbol<>("Person", 1, Boolean.class, false);
251 var symbol = new Symbol<>("symbol", 4, Integer.class, null);
252 var personView = new KeyOnlyRelationView<>(person);
253 var symbolView = new FunctionalRelationView<>(symbol);
254
255 var p1 = Variable.of("p1");
256 var p2 = Variable.of("p2");
257 var x = Variable.of("x", Integer.class);
258 var y = Variable.of("y", Integer.class);
259 var query = Query.builder("Diagonal")
260 .parameter(p1)
261 .output(x)
262 .clause(
263 personView.call(p1),
264 x.assign(symbolView.aggregate(y, INT_SUM, p1, p1, p2, p2, y))
265 )
266 .build();
267
268 var store = ModelStore.builder()
269 .symbols(person, symbol)
270 .with(ViatraModelQuery.ADAPTER)
271 .defaultHint(hint)
272 .queries(query)
273 .build();
274
275 var model = store.createEmptyModel();
276 var personInterpretation = model.getInterpretation(person);
277 var symbolInterpretation = model.getInterpretation(symbol);
278 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
279 var queryResultSet = queryEngine.getResultSet(query);
280
281 personInterpretation.put(Tuple.of(0), true);
282 personInterpretation.put(Tuple.of(1), true);
283 personInterpretation.put(Tuple.of(2), true);
284
285 symbolInterpretation.put(Tuple.of(0, 0, 1, 1), 1);
286 symbolInterpretation.put(Tuple.of(0, 0, 2, 2), 2);
287 symbolInterpretation.put(Tuple.of(0, 0, 1, 2), 10);
288 symbolInterpretation.put(Tuple.of(1, 1, 0, 1), 11);
289 symbolInterpretation.put(Tuple.of(1, 2, 1, 1), 12);
290
291 queryEngine.flushChanges();
292 assertNullableResults(Map.of(
293 Tuple.of(0), Optional.of(3),
294 Tuple.of(1), Optional.of(0),
295 Tuple.of(2), Optional.of(0),
296 Tuple.of(3), Optional.empty()
297 ), queryResultSet);
298 }
299
300 @QueryEngineTest
301 void subQueryAggregationTest(QueryEvaluationHint hint) {
302 var person = new Symbol<>("Person", 1, Boolean.class, false);
303 var symbol = new Symbol<>("symbol", 4, Integer.class, null);
304 var personView = new KeyOnlyRelationView<>(person);
305 var symbolView = new FunctionalRelationView<>(symbol);
306
307 var p1 = Variable.of("p1");
308 var p2 = Variable.of("p2");
309 var p3 = Variable.of("p3");
310 var p4 = Variable.of("p4");
311 var x = Variable.of("x", Integer.class);
312 var y = Variable.of("y", Integer.class);
313 var z = Variable.of("z", Integer.class);
314 var subQuery = Dnf.builder("SubQuery")
315 .parameters(p1, p2, p3, p4, x, y)
316 .clause(
317 personView.call(p1),
318 symbolView.call(p1, p2, p3, p4, x),
319 y.assign(x)
320 )
321 .clause(
322 personView.call(p2),
323 symbolView.call(p1, p2, p3, p4, x),
324 y.assign(x)
325 )
326 .build();
327 var query = Query.builder("Diagonal")
328 .parameter(p1)
329 .output(x)
330 .clause(
331 personView.call(p1),
332 x.assign(subQuery.aggregate(z, INT_SUM, p1, p1, p2, p2, z, z))
333 )
334 .build();
335
336 var store = ModelStore.builder()
337 .symbols(person, symbol)
338 .with(ViatraModelQuery.ADAPTER)
339 .defaultHint(hint)
340 .queries(query)
341 .build();
342
343 var model = store.createEmptyModel();
344 var personInterpretation = model.getInterpretation(person);
345 var symbolInterpretation = model.getInterpretation(symbol);
346 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
347 var queryResultSet = queryEngine.getResultSet(query);
348
349 personInterpretation.put(Tuple.of(0), true);
350 personInterpretation.put(Tuple.of(1), true);
351 personInterpretation.put(Tuple.of(2), true);
352
353 symbolInterpretation.put(Tuple.of(0, 0, 1, 1), 1);
354 symbolInterpretation.put(Tuple.of(0, 0, 2, 2), 2);
355 symbolInterpretation.put(Tuple.of(0, 0, 1, 2), 10);
356 symbolInterpretation.put(Tuple.of(1, 1, 0, 1), 11);
357 symbolInterpretation.put(Tuple.of(1, 2, 1, 1), 12);
358
359 queryEngine.flushChanges();
360 assertNullableResults(Map.of(
361 Tuple.of(0), Optional.of(3),
362 Tuple.of(1), Optional.of(0),
363 Tuple.of(2), Optional.of(0),
364 Tuple.of(3), Optional.empty()
365 ), queryResultSet);
366 }
367
368 @QueryEngineTest
369 void inputKeyTransitiveTest(QueryEvaluationHint hint) {
370 var person = new Symbol<>("Person", 1, Boolean.class, false);
371 var symbol = new Symbol<>("symbol", 2, Boolean.class, false);
372 var personView = new KeyOnlyRelationView<>(person);
373 var symbolView = new KeyOnlyRelationView<>(symbol);
374
375 var p1 = Variable.of("p1");
376 var query = Query.builder("Diagonal")
377 .parameter(p1)
378 .clause(
379 personView.call(p1),
380 symbolView.callTransitive(p1, p1)
381 )
382 .build();
383
384 var store = ModelStore.builder()
385 .symbols(person, symbol)
386 .with(ViatraModelQuery.ADAPTER)
387 .defaultHint(hint)
388 .queries(query)
389 .build();
390
391 var model = store.createEmptyModel();
392 var personInterpretation = model.getInterpretation(person);
393 var symbolInterpretation = model.getInterpretation(symbol);
394 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
395 var queryResultSet = queryEngine.getResultSet(query);
396
397 personInterpretation.put(Tuple.of(0), true);
398 personInterpretation.put(Tuple.of(1), true);
399 personInterpretation.put(Tuple.of(2), true);
400
401 symbolInterpretation.put(Tuple.of(0, 0), true);
402 symbolInterpretation.put(Tuple.of(0, 1), true);
403 symbolInterpretation.put(Tuple.of(1, 2), true);
404
405 queryEngine.flushChanges();
406 assertResults(Map.of(
407 Tuple.of(0), true,
408 Tuple.of(1), false,
409 Tuple.of(2), false,
410 Tuple.of(3), false
411 ), queryResultSet);
412 }
413
414 @QueryEngineTest
415 void subQueryTransitiveTest(QueryEvaluationHint hint) {
416 var person = new Symbol<>("Person", 1, Boolean.class, false);
417 var symbol = new Symbol<>("symbol", 2, Boolean.class, false);
418 var personView = new KeyOnlyRelationView<>(person);
419 var symbolView = new KeyOnlyRelationView<>(symbol);
420
421 var p1 = Variable.of("p1");
422 var p2 = Variable.of("p2");
423 var subQuery = Dnf.builder("SubQuery")
424 .parameters(p1, p2)
425 .clause(
426 personView.call(p1),
427 symbolView.call(p1, p2)
428 )
429 .clause(
430 personView.call(p2),
431 symbolView.call(p1, p2)
432 )
433 .build();
434 var query = Query.builder("Diagonal")
435 .parameter(p1)
436 .clause(
437 personView.call(p1),
438 subQuery.callTransitive(p1, p1)
439 )
440 .build();
441
442 var store = ModelStore.builder()
443 .symbols(person, symbol)
444 .with(ViatraModelQuery.ADAPTER)
445 .defaultHint(hint)
446 .queries(query)
447 .build();
448
449 var model = store.createEmptyModel();
450 var personInterpretation = model.getInterpretation(person);
451 var symbolInterpretation = model.getInterpretation(symbol);
452 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
453 var queryResultSet = queryEngine.getResultSet(query);
454
455 personInterpretation.put(Tuple.of(0), true);
456 personInterpretation.put(Tuple.of(1), true);
457 personInterpretation.put(Tuple.of(2), true);
458
459 symbolInterpretation.put(Tuple.of(0, 0), true);
460 symbolInterpretation.put(Tuple.of(0, 1), true);
461 symbolInterpretation.put(Tuple.of(1, 2), true);
462
463 queryEngine.flushChanges();
464 assertResults(Map.of(
465 Tuple.of(0), true,
466 Tuple.of(1), false,
467 Tuple.of(2), false,
468 Tuple.of(3), false
469 ), queryResultSet);
470 }
471}
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/FunctionalQueryTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/FunctionalQueryTest.java
new file mode 100644
index 00000000..fa2a008f
--- /dev/null
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/FunctionalQueryTest.java
@@ -0,0 +1,607 @@
1package tools.refinery.store.query.viatra;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
4import tools.refinery.store.map.Cursor;
5import tools.refinery.store.model.ModelStore;
6import tools.refinery.store.query.ModelQuery;
7import tools.refinery.store.query.dnf.Dnf;
8import tools.refinery.store.query.dnf.Query;
9import tools.refinery.store.query.term.Variable;
10import tools.refinery.store.query.viatra.tests.QueryEngineTest;
11import tools.refinery.store.query.view.FilteredRelationView;
12import tools.refinery.store.query.view.FunctionalRelationView;
13import tools.refinery.store.query.view.KeyOnlyRelationView;
14import tools.refinery.store.representation.Symbol;
15import tools.refinery.store.representation.TruthValue;
16import tools.refinery.store.tuple.Tuple;
17
18import java.util.Map;
19import java.util.Optional;
20
21import static org.hamcrest.MatcherAssert.assertThat;
22import static org.hamcrest.Matchers.is;
23import static org.hamcrest.Matchers.nullValue;
24import static org.junit.jupiter.api.Assertions.assertAll;
25import static org.junit.jupiter.api.Assertions.assertThrows;
26import static tools.refinery.store.query.literal.Literals.assume;
27import static tools.refinery.store.query.term.int_.IntTerms.*;
28import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertNullableResults;
29import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults;
30
31class FunctionalQueryTest {
32 @QueryEngineTest
33 void inputKeyTest(QueryEvaluationHint hint) {
34 var person = new Symbol<>("Person", 1, Boolean.class, false);
35 var age = new Symbol<>("age", 1, Integer.class, null);
36 var personView = new KeyOnlyRelationView<>(person);
37 var ageView = new FunctionalRelationView<>(age);
38
39 var p1 = Variable.of("p1");
40 var x = Variable.of("x", Integer.class);
41 var query = Query.builder("InputKey")
42 .parameter(p1)
43 .output(x)
44 .clause(
45 personView.call(p1),
46 ageView.call(p1, x)
47 )
48 .build();
49
50 var store = ModelStore.builder()
51 .symbols(person, age)
52 .with(ViatraModelQuery.ADAPTER)
53 .defaultHint(hint)
54 .queries(query)
55 .build();
56
57 var model = store.createEmptyModel();
58 var personInterpretation = model.getInterpretation(person);
59 var ageInterpretation = model.getInterpretation(age);
60 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
61 var queryResultSet = queryEngine.getResultSet(query);
62
63 personInterpretation.put(Tuple.of(0), true);
64 personInterpretation.put(Tuple.of(1), true);
65
66 ageInterpretation.put(Tuple.of(0), 12);
67 ageInterpretation.put(Tuple.of(1), 24);
68 ageInterpretation.put(Tuple.of(2), 36);
69
70 queryEngine.flushChanges();
71 assertNullableResults(Map.of(
72 Tuple.of(0), Optional.of(12),
73 Tuple.of(1), Optional.of(24),
74 Tuple.of(2), Optional.empty()
75 ), queryResultSet);
76 }
77
78 @QueryEngineTest
79 void predicateTest(QueryEvaluationHint hint) {
80 var person = new Symbol<>("Person", 1, Boolean.class, false);
81 var age = new Symbol<>("age", 1, Integer.class, null);
82 var personView = new KeyOnlyRelationView<>(person);
83 var ageView = new FunctionalRelationView<>(age);
84
85 var p1 = Variable.of("p1");
86 var x = Variable.of("x", Integer.class);
87 var subQuery = Dnf.builder("SubQuery")
88 .parameters(p1, x)
89 .clause(
90 personView.call(p1),
91 ageView.call(p1, x)
92 )
93 .build();
94 var query = Query.builder("Predicate")
95 .parameter(p1)
96 .output(x)
97 .clause(
98 personView.call(p1),
99 subQuery.call(p1, x)
100 )
101 .build();
102
103 var store = ModelStore.builder()
104 .symbols(person, age)
105 .with(ViatraModelQuery.ADAPTER)
106 .defaultHint(hint)
107 .queries(query)
108 .build();
109
110 var model = store.createEmptyModel();
111 var personInterpretation = model.getInterpretation(person);
112 var ageInterpretation = model.getInterpretation(age);
113 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
114 var queryResultSet = queryEngine.getResultSet(query);
115
116 personInterpretation.put(Tuple.of(0), true);
117 personInterpretation.put(Tuple.of(1), true);
118
119 ageInterpretation.put(Tuple.of(0), 12);
120 ageInterpretation.put(Tuple.of(1), 24);
121 ageInterpretation.put(Tuple.of(2), 36);
122
123 queryEngine.flushChanges();
124 assertNullableResults(Map.of(
125 Tuple.of(0), Optional.of(12),
126 Tuple.of(1), Optional.of(24),
127 Tuple.of(2), Optional.empty()
128 ), queryResultSet);
129 }
130
131 @QueryEngineTest
132 void computationTest(QueryEvaluationHint hint) {
133 var person = new Symbol<>("Person", 1, Boolean.class, false);
134 var age = new Symbol<>("age", 1, Integer.class, null);
135 var personView = new KeyOnlyRelationView<>(person);
136 var ageView = new FunctionalRelationView<>(age);
137
138 var p1 = Variable.of("p1");
139 var x = Variable.of("x", Integer.class);
140 var y = Variable.of("y", Integer.class);
141 var query = Query.builder("Computation")
142 .parameter(p1)
143 .output(y)
144 .clause(
145 personView.call(p1),
146 ageView.call(p1, x),
147 y.assign(mul(x, constant(7)))
148 )
149 .build();
150
151 var store = ModelStore.builder()
152 .symbols(person, age)
153 .with(ViatraModelQuery.ADAPTER)
154 .defaultHint(hint)
155 .queries(query)
156 .build();
157
158 var model = store.createEmptyModel();
159 var personInterpretation = model.getInterpretation(person);
160 var ageInterpretation = model.getInterpretation(age);
161 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
162 var queryResultSet = queryEngine.getResultSet(query);
163
164 personInterpretation.put(Tuple.of(0), true);
165 personInterpretation.put(Tuple.of(1), true);
166
167 ageInterpretation.put(Tuple.of(0), 12);
168 ageInterpretation.put(Tuple.of(1), 24);
169
170 queryEngine.flushChanges();
171 assertNullableResults(Map.of(
172 Tuple.of(0), Optional.of(84),
173 Tuple.of(1), Optional.of(168),
174 Tuple.of(2), Optional.empty()
175 ), queryResultSet);
176 }
177
178 @QueryEngineTest
179 void inputKeyCountTest(QueryEvaluationHint hint) {
180 var person = new Symbol<>("Person", 1, Boolean.class, false);
181 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
182 var personView = new KeyOnlyRelationView<>(person);
183 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
184
185 var p1 = Variable.of("p1");
186 var p2 = Variable.of("p2");
187 var x = Variable.of("x", Integer.class);
188 var query = Query.builder("Count")
189 .parameter(p1)
190 .output(x)
191 .clause(
192 personView.call(p1),
193 x.assign(friendMustView.count(p1, p2))
194 )
195 .build();
196
197 var store = ModelStore.builder()
198 .symbols(person, friend)
199 .with(ViatraModelQuery.ADAPTER)
200 .defaultHint(hint)
201 .queries(query)
202 .build();
203
204 var model = store.createEmptyModel();
205 var personInterpretation = model.getInterpretation(person);
206 var friendInterpretation = model.getInterpretation(friend);
207 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
208 var queryResultSet = queryEngine.getResultSet(query);
209
210 personInterpretation.put(Tuple.of(0), true);
211 personInterpretation.put(Tuple.of(1), true);
212 personInterpretation.put(Tuple.of(2), true);
213
214 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE);
215 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE);
216 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
217
218 queryEngine.flushChanges();
219 assertNullableResults(Map.of(
220 Tuple.of(0), Optional.of(1),
221 Tuple.of(1), Optional.of(2),
222 Tuple.of(2), Optional.of(0),
223 Tuple.of(3), Optional.empty()
224 ), queryResultSet);
225 }
226
227 @QueryEngineTest
228 void predicateCountTest(QueryEvaluationHint hint) {
229 var person = new Symbol<>("Person", 1, Boolean.class, false);
230 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
231 var personView = new KeyOnlyRelationView<>(person);
232 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
233
234 var p1 = Variable.of("p1");
235 var p2 = Variable.of("p2");
236 var x = Variable.of("x", Integer.class);
237 var subQuery = Dnf.builder("SubQuery")
238 .parameters(p1, p2)
239 .clause(
240 personView.call(p1),
241 personView.call(p2),
242 friendMustView.call(p1, p2)
243 )
244 .build();
245 var query = Query.builder("Count")
246 .parameter(p1)
247 .output(x)
248 .clause(
249 personView.call(p1),
250 x.assign(subQuery.count(p1, p2))
251 )
252 .build();
253
254 var store = ModelStore.builder()
255 .symbols(person, friend)
256 .with(ViatraModelQuery.ADAPTER)
257 .defaultHint(hint)
258 .queries(query)
259 .build();
260
261 var model = store.createEmptyModel();
262 var personInterpretation = model.getInterpretation(person);
263 var friendInterpretation = model.getInterpretation(friend);
264 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
265 var queryResultSet = queryEngine.getResultSet(query);
266
267 personInterpretation.put(Tuple.of(0), true);
268 personInterpretation.put(Tuple.of(1), true);
269 personInterpretation.put(Tuple.of(2), true);
270
271 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE);
272 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE);
273 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
274
275 queryEngine.flushChanges();
276 assertNullableResults(Map.of(
277 Tuple.of(0), Optional.of(1),
278 Tuple.of(1), Optional.of(2),
279 Tuple.of(2), Optional.of(0),
280 Tuple.of(3), Optional.empty()
281 ), queryResultSet);
282 }
283
284 @QueryEngineTest
285 void inputKeyAggregationTest(QueryEvaluationHint hint) {
286 var age = new Symbol<>("age", 1, Integer.class, null);
287 var ageView = new FunctionalRelationView<>(age);
288
289 var p1 = Variable.of("p1");
290 var x = Variable.of("x", Integer.class);
291 var y = Variable.of("y", Integer.class);
292 var query = Query.builder("Aggregate")
293 .output(x)
294 .clause(
295 x.assign(ageView.aggregate(y, INT_SUM, p1, y))
296 )
297 .build();
298
299 var store = ModelStore.builder()
300 .symbols(age)
301 .with(ViatraModelQuery.ADAPTER)
302 .defaultHint(hint)
303 .queries(query)
304 .build();
305
306 var model = store.createEmptyModel();
307 var ageInterpretation = model.getInterpretation(age);
308 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
309 var queryResultSet = queryEngine.getResultSet(query);
310
311 ageInterpretation.put(Tuple.of(0), 12);
312 ageInterpretation.put(Tuple.of(1), 24);
313
314 queryEngine.flushChanges();
315 assertResults(Map.of(Tuple.of(), 36), queryResultSet);
316 }
317
318 @QueryEngineTest
319 void predicateAggregationTest(QueryEvaluationHint hint) {
320 var person = new Symbol<>("Person", 1, Boolean.class, false);
321 var age = new Symbol<>("age", 1, Integer.class, null);
322 var personView = new KeyOnlyRelationView<>(person);
323 var ageView = new FunctionalRelationView<>(age);
324
325 var p1 = Variable.of("p1");
326 var x = Variable.of("x", Integer.class);
327 var y = Variable.of("y", Integer.class);
328 var subQuery = Dnf.builder("SubQuery")
329 .parameters(p1, x)
330 .clause(
331 personView.call(p1),
332 ageView.call(p1, x)
333 )
334 .build();
335 var query = Query.builder("Aggregate")
336 .output(x)
337 .clause(
338 x.assign(subQuery.aggregate(y, INT_SUM, p1, y))
339 )
340 .build();
341
342 var store = ModelStore.builder()
343 .symbols(person, age)
344 .with(ViatraModelQuery.ADAPTER)
345 .defaultHint(hint)
346 .queries(query)
347 .build();
348
349 var model = store.createEmptyModel();
350 var personInterpretation = model.getInterpretation(person);
351 var ageInterpretation = model.getInterpretation(age);
352 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
353 var queryResultSet = queryEngine.getResultSet(query);
354
355 personInterpretation.put(Tuple.of(0), true);
356 personInterpretation.put(Tuple.of(1), true);
357
358 ageInterpretation.put(Tuple.of(0), 12);
359 ageInterpretation.put(Tuple.of(1), 24);
360
361 queryEngine.flushChanges();
362 assertResults(Map.of(Tuple.of(), 36), queryResultSet);
363 }
364
365 @QueryEngineTest
366 void extremeValueTest(QueryEvaluationHint hint) {
367 var person = new Symbol<>("Person", 1, Boolean.class, false);
368 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
369 var personView = new KeyOnlyRelationView<>(person);
370 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
371
372 var p1 = Variable.of("p1");
373 var p2 = Variable.of("p2");
374 var x = Variable.of("x", Integer.class);
375 var y = Variable.of("y", Integer.class);
376 var subQuery = Dnf.builder("SubQuery")
377 .parameters(p1, x)
378 .clause(
379 personView.call(p1),
380 x.assign(friendMustView.count(p1, p2))
381 )
382 .build();
383 var minQuery = Query.builder("Min")
384 .output(x)
385 .clause(
386 x.assign(subQuery.aggregate(y, INT_MIN, p1, y))
387 )
388 .build();
389 var maxQuery = Query.builder("Max")
390 .output(x)
391 .clause(
392 x.assign(subQuery.aggregate(y, INT_MAX, p1, y))
393 )
394 .build();
395
396 var store = ModelStore.builder()
397 .symbols(person, friend)
398 .with(ViatraModelQuery.ADAPTER)
399 .defaultHint(hint)
400 .queries(minQuery, maxQuery)
401 .build();
402
403 var model = store.createEmptyModel();
404 var personInterpretation = model.getInterpretation(person);
405 var friendInterpretation = model.getInterpretation(friend);
406 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
407 var minResultSet = queryEngine.getResultSet(minQuery);
408 var maxResultSet = queryEngine.getResultSet(maxQuery);
409
410 assertResults(Map.of(Tuple.of(), Integer.MAX_VALUE), minResultSet);
411 assertResults(Map.of(Tuple.of(), Integer.MIN_VALUE), maxResultSet);
412
413 personInterpretation.put(Tuple.of(0), true);
414 personInterpretation.put(Tuple.of(1), true);
415 personInterpretation.put(Tuple.of(2), true);
416
417 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE);
418 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE);
419 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
420
421 queryEngine.flushChanges();
422 assertResults(Map.of(Tuple.of(), 0), minResultSet);
423 assertResults(Map.of(Tuple.of(), 2), maxResultSet);
424
425 friendInterpretation.put(Tuple.of(2, 0), TruthValue.TRUE);
426 friendInterpretation.put(Tuple.of(2, 1), TruthValue.TRUE);
427
428 queryEngine.flushChanges();
429 assertResults(Map.of(Tuple.of(), 1), minResultSet);
430 assertResults(Map.of(Tuple.of(), 2), maxResultSet);
431
432 friendInterpretation.put(Tuple.of(0, 1), TruthValue.FALSE);
433 friendInterpretation.put(Tuple.of(1, 0), TruthValue.FALSE);
434 friendInterpretation.put(Tuple.of(2, 0), TruthValue.FALSE);
435
436 queryEngine.flushChanges();
437 assertResults(Map.of(Tuple.of(), 0), minResultSet);
438 assertResults(Map.of(Tuple.of(), 1), maxResultSet);
439 }
440
441 @QueryEngineTest
442 void invalidComputationTest(QueryEvaluationHint hint) {
443 var person = new Symbol<>("Person", 1, Boolean.class, false);
444 var age = new Symbol<>("age", 1, Integer.class, null);
445 var personView = new KeyOnlyRelationView<>(person);
446 var ageView = new FunctionalRelationView<>(age);
447
448 var p1 = Variable.of("p1");
449 var x = Variable.of("x", Integer.class);
450 var y = Variable.of("y", Integer.class);
451 var query = Query.builder("InvalidComputation")
452 .parameter(p1)
453 .output(y)
454 .clause(
455 personView.call(p1),
456 ageView.call(p1, x),
457 y.assign(div(constant(120), x))
458 )
459 .build();
460
461 var store = ModelStore.builder()
462 .symbols(person, age)
463 .with(ViatraModelQuery.ADAPTER)
464 .defaultHint(hint)
465 .queries(query)
466 .build();
467
468 var model = store.createEmptyModel();
469 var personInterpretation = model.getInterpretation(person);
470 var ageInterpretation = model.getInterpretation(age);
471 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
472 var queryResultSet = queryEngine.getResultSet(query);
473
474 personInterpretation.put(Tuple.of(0), true);
475 personInterpretation.put(Tuple.of(1), true);
476
477 ageInterpretation.put(Tuple.of(0), 0);
478 ageInterpretation.put(Tuple.of(1), 30);
479
480 queryEngine.flushChanges();
481 assertNullableResults(Map.of(
482 Tuple.of(0), Optional.empty(),
483 Tuple.of(1), Optional.of(4),
484 Tuple.of(2), Optional.empty()
485 ), queryResultSet);
486 }
487
488 @QueryEngineTest
489 void invalidAssumeTest(QueryEvaluationHint hint) {
490 var person = new Symbol<>("Person", 1, Boolean.class, false);
491 var age = new Symbol<>("age", 1, Integer.class, null);
492 var personView = new KeyOnlyRelationView<>(person);
493 var ageView = new FunctionalRelationView<>(age);
494
495 var p1 = Variable.of("p1");
496 var x = Variable.of("x", Integer.class);
497 var query = Query.builder("InvalidComputation")
498 .parameter(p1)
499 .clause(
500 personView.call(p1),
501 ageView.call(p1, x),
502 assume(lessEq(div(constant(120), x), constant(5)))
503 )
504 .build();
505
506 var store = ModelStore.builder()
507 .symbols(person, age)
508 .with(ViatraModelQuery.ADAPTER)
509 .defaultHint(hint)
510 .queries(query)
511 .build();
512
513 var model = store.createEmptyModel();
514 var personInterpretation = model.getInterpretation(person);
515 var ageInterpretation = model.getInterpretation(age);
516 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
517 var queryResultSet = queryEngine.getResultSet(query);
518
519 personInterpretation.put(Tuple.of(0), true);
520 personInterpretation.put(Tuple.of(1), true);
521 personInterpretation.put(Tuple.of(2), true);
522
523 ageInterpretation.put(Tuple.of(0), 0);
524 ageInterpretation.put(Tuple.of(1), 30);
525 ageInterpretation.put(Tuple.of(2), 20);
526
527 queryEngine.flushChanges();
528 assertResults(Map.of(
529 Tuple.of(0), false,
530 Tuple.of(1), true,
531 Tuple.of(2), false,
532 Tuple.of(3), false
533 ), queryResultSet);
534 }
535
536 @QueryEngineTest
537 void notFunctionalTest(QueryEvaluationHint hint) {
538 var person = new Symbol<>("Person", 1, Boolean.class, false);
539 var age = new Symbol<>("age", 1, Integer.class, null);
540 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
541 var personView = new KeyOnlyRelationView<>(person);
542 var ageView = new FunctionalRelationView<>(age);
543 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
544
545 var p1 = Variable.of("p1");
546 var p2 = Variable.of("p2");
547 var x = Variable.of("x", Integer.class);
548 var query = Query.builder("NotFunctional")
549 .parameter(p1)
550 .output(x)
551 .clause(
552 personView.call(p1),
553 friendMustView.call(p1, p2),
554 ageView.call(p2, x)
555 )
556 .build();
557
558 var store = ModelStore.builder()
559 .symbols(person, age, friend)
560 .with(ViatraModelQuery.ADAPTER)
561 .defaultHint(hint)
562 .query(query)
563 .build();
564
565 var model = store.createEmptyModel();
566 var personInterpretation = model.getInterpretation(person);
567 var ageInterpretation = model.getInterpretation(age);
568 var friendInterpretation = model.getInterpretation(friend);
569 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
570 var queryResultSet = queryEngine.getResultSet(query);
571
572 personInterpretation.put(Tuple.of(0), true);
573 personInterpretation.put(Tuple.of(1), true);
574 personInterpretation.put(Tuple.of(2), true);
575
576 ageInterpretation.put(Tuple.of(0), 24);
577 ageInterpretation.put(Tuple.of(1), 30);
578 ageInterpretation.put(Tuple.of(2), 36);
579
580 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE);
581 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE);
582 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
583
584 queryEngine.flushChanges();
585 var invalidTuple = Tuple.of(1);
586 var cursor = queryResultSet.getAll();
587 assertAll(
588 () -> assertThat("value for key 0", queryResultSet.get(Tuple.of(0)), is(30)),
589 () -> assertThrows(IllegalStateException.class, () -> queryResultSet.get(invalidTuple),
590 "multiple values for key 1"),
591 () -> assertThat("value for key 2", queryResultSet.get(Tuple.of(2)), is(nullValue())),
592 () -> assertThat("value for key 3", queryResultSet.get(Tuple.of(3)), is(nullValue()))
593 );
594 if (hint.getQueryBackendRequirementType() != QueryEvaluationHint.BackendRequirement.DEFAULT_SEARCH) {
595 // Local search doesn't support throwing an error on multiple function return values.
596 assertThat("results size", queryResultSet.size(), is(2));
597 assertThrows(IllegalStateException.class, () -> enumerateValues(cursor), "move cursor");
598 }
599 }
600
601 private static void enumerateValues(Cursor<?, ?> cursor) {
602 //noinspection StatementWithEmptyBody
603 while (cursor.move()) {
604 // Nothing do, just let the cursor move through the result set.
605 }
606 }
607}
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java
index 6a37b54a..8a3f9d88 100644
--- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java
@@ -1,41 +1,47 @@
1package tools.refinery.store.query.viatra; 1package tools.refinery.store.query.viatra;
2 2
3import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
3import org.junit.jupiter.api.Test; 4import org.junit.jupiter.api.Test;
4import tools.refinery.store.model.ModelStore; 5import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.DNF;
6import tools.refinery.store.query.ModelQuery; 6import tools.refinery.store.query.ModelQuery;
7import tools.refinery.store.query.Variable; 7import tools.refinery.store.query.dnf.Dnf;
8import tools.refinery.store.query.atom.*; 8import tools.refinery.store.query.dnf.Query;
9import tools.refinery.store.query.term.Variable;
10import tools.refinery.store.query.viatra.tests.QueryEngineTest;
9import tools.refinery.store.query.view.FilteredRelationView; 11import tools.refinery.store.query.view.FilteredRelationView;
12import tools.refinery.store.query.view.FunctionalRelationView;
10import tools.refinery.store.query.view.KeyOnlyRelationView; 13import tools.refinery.store.query.view.KeyOnlyRelationView;
11import tools.refinery.store.representation.Symbol; 14import tools.refinery.store.representation.Symbol;
12import tools.refinery.store.representation.TruthValue; 15import tools.refinery.store.representation.TruthValue;
13import tools.refinery.store.tuple.Tuple; 16import tools.refinery.store.tuple.Tuple;
14import tools.refinery.store.tuple.TupleLike;
15 17
16import java.util.HashSet; 18import java.util.Map;
17import java.util.Set;
18import java.util.stream.Stream;
19 19
20import static org.junit.jupiter.api.Assertions.assertEquals; 20import static org.junit.jupiter.api.Assertions.assertThrows;
21import static tools.refinery.store.query.literal.Literals.assume;
22import static tools.refinery.store.query.literal.Literals.not;
23import static tools.refinery.store.query.term.int_.IntTerms.constant;
24import static tools.refinery.store.query.term.int_.IntTerms.greaterEq;
25import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults;
21 26
22class QueryTest { 27class QueryTest {
23 @Test 28 @QueryEngineTest
24 void typeConstraintTest() { 29 void typeConstraintTest(QueryEvaluationHint hint) {
25 var person = new Symbol<>("Person", 1, Boolean.class, false); 30 var person = new Symbol<>("Person", 1, Boolean.class, false);
26 var asset = new Symbol<>("Asset", 1, Boolean.class, false); 31 var asset = new Symbol<>("Asset", 1, Boolean.class, false);
27 var personView = new KeyOnlyRelationView<>(person); 32 var personView = new KeyOnlyRelationView<>(person);
28 33
29 var p1 = new Variable("p1"); 34 var p1 = Variable.of("p1");
30 var predicate = DNF.builder("TypeConstraint") 35 var predicate = Query.builder("TypeConstraint")
31 .parameters(p1) 36 .parameters(p1)
32 .clause(new RelationViewAtom(personView, p1)) 37 .clause(personView.call(p1))
33 .build(); 38 .build();
34 39
35 var store = ModelStore.builder() 40 var store = ModelStore.builder()
36 .symbols(person, asset) 41 .symbols(person, asset)
37 .with(ViatraModelQuery.ADAPTER) 42 .with(ViatraModelQuery.ADAPTER)
38 .queries(predicate) 43 .defaultHint(hint)
44 .query(predicate)
39 .build(); 45 .build();
40 46
41 var model = store.createEmptyModel(); 47 var model = store.createEmptyModel();
@@ -51,31 +57,35 @@ class QueryTest {
51 assetInterpretation.put(Tuple.of(2), true); 57 assetInterpretation.put(Tuple.of(2), true);
52 58
53 queryEngine.flushChanges(); 59 queryEngine.flushChanges();
54 assertEquals(2, predicateResultSet.countResults()); 60 assertResults(Map.of(
55 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0), Tuple.of(1))); 61 Tuple.of(0), true,
62 Tuple.of(1), true,
63 Tuple.of(2), false
64 ), predicateResultSet);
56 } 65 }
57 66
58 @Test 67 @QueryEngineTest
59 void relationConstraintTest() { 68 void relationConstraintTest(QueryEvaluationHint hint) {
60 var person = new Symbol<>("Person", 1, Boolean.class, false); 69 var person = new Symbol<>("Person", 1, Boolean.class, false);
61 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 70 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
62 var personView = new KeyOnlyRelationView<>(person); 71 var personView = new KeyOnlyRelationView<>(person);
63 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 72 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
64 73
65 var p1 = new Variable("p1"); 74 var p1 = Variable.of("p1");
66 var p2 = new Variable("p2"); 75 var p2 = Variable.of("p2");
67 var predicate = DNF.builder("RelationConstraint") 76 var predicate = Query.builder("RelationConstraint")
68 .parameters(p1, p2) 77 .parameters(p1, p2)
69 .clause( 78 .clause(
70 new RelationViewAtom(personView, p1), 79 personView.call(p1),
71 new RelationViewAtom(personView, p2), 80 personView.call(p2),
72 new RelationViewAtom(friendMustView, p1, p2) 81 friendMustView.call(p1, p2)
73 ) 82 )
74 .build(); 83 .build();
75 84
76 var store = ModelStore.builder() 85 var store = ModelStore.builder()
77 .symbols(person, friend) 86 .symbols(person, friend)
78 .with(ViatraModelQuery.ADAPTER) 87 .with(ViatraModelQuery.ADAPTER)
88 .defaultHint(hint)
79 .queries(predicate) 89 .queries(predicate)
80 .build(); 90 .build();
81 91
@@ -85,8 +95,6 @@ class QueryTest {
85 var queryEngine = model.getAdapter(ModelQuery.ADAPTER); 95 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
86 var predicateResultSet = queryEngine.getResultSet(predicate); 96 var predicateResultSet = queryEngine.getResultSet(predicate);
87 97
88 assertEquals(0, predicateResultSet.countResults());
89
90 personInterpretation.put(Tuple.of(0), true); 98 personInterpretation.put(Tuple.of(0), true);
91 personInterpretation.put(Tuple.of(1), true); 99 personInterpretation.put(Tuple.of(1), true);
92 personInterpretation.put(Tuple.of(2), true); 100 personInterpretation.put(Tuple.of(2), true);
@@ -94,90 +102,39 @@ class QueryTest {
94 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); 102 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE);
95 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); 103 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE);
96 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 104 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
97 105 friendInterpretation.put(Tuple.of(1, 3), TruthValue.TRUE);
98 assertEquals(0, predicateResultSet.countResults());
99 106
100 queryEngine.flushChanges(); 107 queryEngine.flushChanges();
101 assertEquals(3, predicateResultSet.countResults()); 108 assertResults(Map.of(
102 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(1, 0), Tuple.of(1, 2))); 109 Tuple.of(0, 1), true,
110 Tuple.of(1, 0), true,
111 Tuple.of(1, 2), true,
112 Tuple.of(2, 1), false
113 ), predicateResultSet);
103 } 114 }
104 115
105 @Test 116 @QueryEngineTest
106 void andTest() { 117 void existTest(QueryEvaluationHint hint) {
107 var person = new Symbol<>("Person", 1, Boolean.class, false); 118 var person = new Symbol<>("Person", 1, Boolean.class, false);
108 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 119 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
109 var personView = new KeyOnlyRelationView<>(person); 120 var personView = new KeyOnlyRelationView<>(person);
110 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 121 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
111 122
112 var p1 = new Variable("p1"); 123 var p1 = Variable.of("p1");
113 var p2 = new Variable("p2"); 124 var p2 = Variable.of("p2");
114 var predicate = DNF.builder("RelationConstraint") 125 var predicate = Query.builder("RelationConstraint")
115 .parameters(p1, p2)
116 .clause(
117 new RelationViewAtom(personView, p1),
118 new RelationViewAtom(personView, p2),
119 new RelationViewAtom(friendMustView, p1, p2),
120 new RelationViewAtom(friendMustView, p2, p1)
121 )
122 .build();
123
124 var store = ModelStore.builder()
125 .symbols(person, friend)
126 .with(ViatraModelQuery.ADAPTER)
127 .queries(predicate)
128 .build();
129
130 var model = store.createEmptyModel();
131 var personInterpretation = model.getInterpretation(person);
132 var friendInterpretation = model.getInterpretation(friend);
133 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
134 var predicateResultSet = queryEngine.getResultSet(predicate);
135
136 assertEquals(0, predicateResultSet.countResults());
137
138 personInterpretation.put(Tuple.of(0), true);
139 personInterpretation.put(Tuple.of(1), true);
140 personInterpretation.put(Tuple.of(2), true);
141
142 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE);
143 friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE);
144
145 queryEngine.flushChanges();
146 assertEquals(0, predicateResultSet.countResults());
147
148 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE);
149 queryEngine.flushChanges();
150 assertEquals(2, predicateResultSet.countResults());
151 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(1, 0)));
152
153 friendInterpretation.put(Tuple.of(2, 0), TruthValue.TRUE);
154 queryEngine.flushChanges();
155 assertEquals(4, predicateResultSet.countResults());
156 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(1, 0), Tuple.of(0, 2),
157 Tuple.of(2, 0)));
158 }
159
160 @Test
161 void existTest() {
162 var person = new Symbol<>("Person", 1, Boolean.class, false);
163 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
164 var personView = new KeyOnlyRelationView<>(person);
165 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
166
167 var p1 = new Variable("p1");
168 var p2 = new Variable("p2");
169 var predicate = DNF.builder("RelationConstraint")
170 .parameters(p1) 126 .parameters(p1)
171 .clause( 127 .clause(
172 new RelationViewAtom(personView, p1), 128 personView.call(p1),
173 new RelationViewAtom(personView, p2), 129 personView.call(p2),
174 new RelationViewAtom(friendMustView, p1, p2) 130 friendMustView.call(p1, p2)
175 ) 131 )
176 .build(); 132 .build();
177 133
178 var store = ModelStore.builder() 134 var store = ModelStore.builder()
179 .symbols(person, friend) 135 .symbols(person, friend)
180 .with(ViatraModelQuery.ADAPTER) 136 .with(ViatraModelQuery.ADAPTER)
137 .defaultHint(hint)
181 .queries(predicate) 138 .queries(predicate)
182 .build(); 139 .build();
183 140
@@ -194,16 +151,19 @@ class QueryTest {
194 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); 151 friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE);
195 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); 152 friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE);
196 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 153 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
197 154 friendInterpretation.put(Tuple.of(3, 2), TruthValue.TRUE);
198 assertEquals(0, predicateResultSet.countResults());
199 155
200 queryEngine.flushChanges(); 156 queryEngine.flushChanges();
201 assertEquals(2, predicateResultSet.countResults()); 157 assertResults(Map.of(
202 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0), Tuple.of(1))); 158 Tuple.of(0), true,
159 Tuple.of(1), true,
160 Tuple.of(2), false,
161 Tuple.of(3), false
162 ), predicateResultSet);
203 } 163 }
204 164
205 @Test 165 @QueryEngineTest
206 void orTest() { 166 void orTest(QueryEvaluationHint hint) {
207 var person = new Symbol<>("Person", 1, Boolean.class, false); 167 var person = new Symbol<>("Person", 1, Boolean.class, false);
208 var animal = new Symbol<>("Animal", 1, Boolean.class, false); 168 var animal = new Symbol<>("Animal", 1, Boolean.class, false);
209 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 169 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
@@ -211,25 +171,26 @@ class QueryTest {
211 var animalView = new KeyOnlyRelationView<>(animal); 171 var animalView = new KeyOnlyRelationView<>(animal);
212 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 172 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
213 173
214 var p1 = new Variable("p1"); 174 var p1 = Variable.of("p1");
215 var p2 = new Variable("p2"); 175 var p2 = Variable.of("p2");
216 var predicate = DNF.builder("Or") 176 var predicate = Query.builder("Or")
217 .parameters(p1, p2) 177 .parameters(p1, p2)
218 .clause( 178 .clause(
219 new RelationViewAtom(personView, p1), 179 personView.call(p1),
220 new RelationViewAtom(personView, p2), 180 personView.call(p2),
221 new RelationViewAtom(friendMustView, p1, p2) 181 friendMustView.call(p1, p2)
222 ) 182 )
223 .clause( 183 .clause(
224 new RelationViewAtom(animalView, p1), 184 animalView.call(p1),
225 new RelationViewAtom(animalView, p2), 185 animalView.call(p2),
226 new RelationViewAtom(friendMustView, p1, p2) 186 friendMustView.call(p1, p2)
227 ) 187 )
228 .build(); 188 .build();
229 189
230 var store = ModelStore.builder() 190 var store = ModelStore.builder()
231 .symbols(person, animal, friend) 191 .symbols(person, animal, friend)
232 .with(ViatraModelQuery.ADAPTER) 192 .with(ViatraModelQuery.ADAPTER)
193 .defaultHint(hint)
233 .queries(predicate) 194 .queries(predicate)
234 .build(); 195 .build();
235 196
@@ -252,29 +213,35 @@ class QueryTest {
252 friendInterpretation.put(Tuple.of(3, 0), TruthValue.TRUE); 213 friendInterpretation.put(Tuple.of(3, 0), TruthValue.TRUE);
253 214
254 queryEngine.flushChanges(); 215 queryEngine.flushChanges();
255 assertEquals(2, predicateResultSet.countResults()); 216 assertResults(Map.of(
256 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(2, 3))); 217 Tuple.of(0, 1), true,
218 Tuple.of(0, 2), false,
219 Tuple.of(2, 3), true,
220 Tuple.of(3, 0), false,
221 Tuple.of(3, 2), false
222 ), predicateResultSet);
257 } 223 }
258 224
259 @Test 225 @QueryEngineTest
260 void equalityTest() { 226 void equalityTest(QueryEvaluationHint hint) {
261 var person = new Symbol<>("Person", 1, Boolean.class, false); 227 var person = new Symbol<>("Person", 1, Boolean.class, false);
262 var personView = new KeyOnlyRelationView<>(person); 228 var personView = new KeyOnlyRelationView<>(person);
263 229
264 var p1 = new Variable("p1"); 230 var p1 = Variable.of("p1");
265 var p2 = new Variable("p2"); 231 var p2 = Variable.of("p2");
266 var predicate = DNF.builder("Equality") 232 var predicate = Query.builder("Equality")
267 .parameters(p1, p2) 233 .parameters(p1, p2)
268 .clause( 234 .clause(
269 new RelationViewAtom(personView, p1), 235 personView.call(p1),
270 new RelationViewAtom(personView, p2), 236 personView.call(p2),
271 new EquivalenceAtom(p1, p2) 237 p1.isEquivalent(p2)
272 ) 238 )
273 .build(); 239 .build();
274 240
275 var store = ModelStore.builder() 241 var store = ModelStore.builder()
276 .symbols(person) 242 .symbols(person)
277 .with(ViatraModelQuery.ADAPTER) 243 .with(ViatraModelQuery.ADAPTER)
244 .defaultHint(hint)
278 .queries(predicate) 245 .queries(predicate)
279 .build(); 246 .build();
280 247
@@ -288,34 +255,40 @@ class QueryTest {
288 personInterpretation.put(Tuple.of(2), true); 255 personInterpretation.put(Tuple.of(2), true);
289 256
290 queryEngine.flushChanges(); 257 queryEngine.flushChanges();
291 assertEquals(3, predicateResultSet.countResults()); 258 assertResults(Map.of(
292 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 0), Tuple.of(1, 1), Tuple.of(2, 2))); 259 Tuple.of(0, 0), true,
260 Tuple.of(1, 1), true,
261 Tuple.of(2, 2), true,
262 Tuple.of(0, 1), false,
263 Tuple.of(3, 3), false
264 ), predicateResultSet);
293 } 265 }
294 266
295 @Test 267 @QueryEngineTest
296 void inequalityTest() { 268 void inequalityTest(QueryEvaluationHint hint) {
297 var person = new Symbol<>("Person", 1, Boolean.class, false); 269 var person = new Symbol<>("Person", 1, Boolean.class, false);
298 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 270 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
299 var personView = new KeyOnlyRelationView<>(person); 271 var personView = new KeyOnlyRelationView<>(person);
300 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 272 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
301 273
302 var p1 = new Variable("p1"); 274 var p1 = Variable.of("p1");
303 var p2 = new Variable("p2"); 275 var p2 = Variable.of("p2");
304 var p3 = new Variable("p3"); 276 var p3 = Variable.of("p3");
305 var predicate = DNF.builder("Inequality") 277 var predicate = Query.builder("Inequality")
306 .parameters(p1, p2, p3) 278 .parameters(p1, p2, p3)
307 .clause( 279 .clause(
308 new RelationViewAtom(personView, p1), 280 personView.call(p1),
309 new RelationViewAtom(personView, p2), 281 personView.call(p2),
310 new RelationViewAtom(friendMustView, p1, p3), 282 friendMustView.call(p1, p3),
311 new RelationViewAtom(friendMustView, p2, p3), 283 friendMustView.call(p2, p3),
312 new EquivalenceAtom(false, p1, p2) 284 p1.notEquivalent(p2)
313 ) 285 )
314 .build(); 286 .build();
315 287
316 var store = ModelStore.builder() 288 var store = ModelStore.builder()
317 .symbols(person, friend) 289 .symbols(person, friend)
318 .with(ViatraModelQuery.ADAPTER) 290 .with(ViatraModelQuery.ADAPTER)
291 .defaultHint(hint)
319 .queries(predicate) 292 .queries(predicate)
320 .build(); 293 .build();
321 294
@@ -333,42 +306,46 @@ class QueryTest {
333 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 306 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
334 307
335 queryEngine.flushChanges(); 308 queryEngine.flushChanges();
336 assertEquals(2, predicateResultSet.countResults()); 309 assertResults(Map.of(
337 compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1, 2), Tuple.of(1, 0, 2))); 310 Tuple.of(0, 1, 2), true,
311 Tuple.of(1, 0, 2), true,
312 Tuple.of(0, 0, 2), false
313 ), predicateResultSet);
338 } 314 }
339 315
340 @Test 316 @QueryEngineTest
341 void patternCallTest() { 317 void patternCallTest(QueryEvaluationHint hint) {
342 var person = new Symbol<>("Person", 1, Boolean.class, false); 318 var person = new Symbol<>("Person", 1, Boolean.class, false);
343 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 319 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
344 var personView = new KeyOnlyRelationView<>(person); 320 var personView = new KeyOnlyRelationView<>(person);
345 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 321 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
346 322
347 var p1 = new Variable("p1"); 323 var p1 = Variable.of("p1");
348 var p2 = new Variable("p2"); 324 var p2 = Variable.of("p2");
349 var friendPredicate = DNF.builder("RelationConstraint") 325 var friendPredicate = Dnf.builder("RelationConstraint")
350 .parameters(p1, p2) 326 .parameters(p1, p2)
351 .clause( 327 .clause(
352 new RelationViewAtom(personView, p1), 328 personView.call(p1),
353 new RelationViewAtom(personView, p2), 329 personView.call(p2),
354 new RelationViewAtom(friendMustView, p1, p2) 330 friendMustView.call(p1, p2)
355 ) 331 )
356 .build(); 332 .build();
357 333
358 var p3 = new Variable("p3"); 334 var p3 = Variable.of("p3");
359 var p4 = new Variable("p4"); 335 var p4 = Variable.of("p4");
360 var predicate = DNF.builder("PositivePatternCall") 336 var predicate = Query.builder("PositivePatternCall")
361 .parameters(p3, p4) 337 .parameters(p3, p4)
362 .clause( 338 .clause(
363 new RelationViewAtom(personView, p3), 339 personView.call(p3),
364 new RelationViewAtom(personView, p4), 340 personView.call(p4),
365 new DNFCallAtom(friendPredicate, p3, p4) 341 friendPredicate.call(p3, p4)
366 ) 342 )
367 .build(); 343 .build();
368 344
369 var store = ModelStore.builder() 345 var store = ModelStore.builder()
370 .symbols(person, friend) 346 .symbols(person, friend)
371 .with(ViatraModelQuery.ADAPTER) 347 .with(ViatraModelQuery.ADAPTER)
348 .defaultHint(hint)
372 .queries(predicate) 349 .queries(predicate)
373 .build(); 350 .build();
374 351
@@ -387,30 +364,36 @@ class QueryTest {
387 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 364 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
388 365
389 queryEngine.flushChanges(); 366 queryEngine.flushChanges();
390 assertEquals(3, predicateResultSet.countResults()); 367 assertResults(Map.of(
368 Tuple.of(0, 1), true,
369 Tuple.of(1, 0), true,
370 Tuple.of(1, 2), true,
371 Tuple.of(2, 1), false
372 ), predicateResultSet);
391 } 373 }
392 374
393 @Test 375 @QueryEngineTest
394 void negativeRelationViewTest() { 376 void negativeRelationViewTest(QueryEvaluationHint hint) {
395 var person = new Symbol<>("Person", 1, Boolean.class, false); 377 var person = new Symbol<>("Person", 1, Boolean.class, false);
396 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 378 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
397 var personView = new KeyOnlyRelationView<>(person); 379 var personView = new KeyOnlyRelationView<>(person);
398 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 380 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
399 381
400 var p1 = new Variable("p1"); 382 var p1 = Variable.of("p1");
401 var p2 = new Variable("p2"); 383 var p2 = Variable.of("p2");
402 var predicate = DNF.builder("NegativePatternCall") 384 var predicate = Query.builder("NegativePatternCall")
403 .parameters(p1, p2) 385 .parameters(p1, p2)
404 .clause( 386 .clause(
405 new RelationViewAtom(personView, p1), 387 personView.call(p1),
406 new RelationViewAtom(personView, p2), 388 personView.call(p2),
407 new RelationViewAtom(false, friendMustView, p1, p2) 389 not(friendMustView.call(p1, p2))
408 ) 390 )
409 .build(); 391 .build();
410 392
411 var store = ModelStore.builder() 393 var store = ModelStore.builder()
412 .symbols(person, friend) 394 .symbols(person, friend)
413 .with(ViatraModelQuery.ADAPTER) 395 .with(ViatraModelQuery.ADAPTER)
396 .defaultHint(hint)
414 .queries(predicate) 397 .queries(predicate)
415 .build(); 398 .build();
416 399
@@ -429,41 +412,53 @@ class QueryTest {
429 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 412 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
430 413
431 queryEngine.flushChanges(); 414 queryEngine.flushChanges();
432 assertEquals(6, predicateResultSet.countResults()); 415 assertResults(Map.of(
416 Tuple.of(0, 0), true,
417 Tuple.of(0, 2), true,
418 Tuple.of(1, 1), true,
419 Tuple.of(2, 0), true,
420 Tuple.of(2, 1), true,
421 Tuple.of(2, 2), true,
422 Tuple.of(0, 1), false,
423 Tuple.of(1, 0), false,
424 Tuple.of(1, 2), false,
425 Tuple.of(0, 3), false
426 ), predicateResultSet);
433 } 427 }
434 428
435 @Test 429 @QueryEngineTest
436 void negativePatternCallTest() { 430 void negativePatternCallTest(QueryEvaluationHint hint) {
437 var person = new Symbol<>("Person", 1, Boolean.class, false); 431 var person = new Symbol<>("Person", 1, Boolean.class, false);
438 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 432 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
439 var personView = new KeyOnlyRelationView<>(person); 433 var personView = new KeyOnlyRelationView<>(person);
440 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 434 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
441 435
442 var p1 = new Variable("p1"); 436 var p1 = Variable.of("p1");
443 var p2 = new Variable("p2"); 437 var p2 = Variable.of("p2");
444 var friendPredicate = DNF.builder("RelationConstraint") 438 var friendPredicate = Dnf.builder("RelationConstraint")
445 .parameters(p1, p2) 439 .parameters(p1, p2)
446 .clause( 440 .clause(
447 new RelationViewAtom(personView, p1), 441 personView.call(p1),
448 new RelationViewAtom(personView, p2), 442 personView.call(p2),
449 new RelationViewAtom(friendMustView, p1, p2) 443 friendMustView.call(p1, p2)
450 ) 444 )
451 .build(); 445 .build();
452 446
453 var p3 = new Variable("p3"); 447 var p3 = Variable.of("p3");
454 var p4 = new Variable("p4"); 448 var p4 = Variable.of("p4");
455 var predicate = DNF.builder("NegativePatternCall") 449 var predicate = Query.builder("NegativePatternCall")
456 .parameters(p3, p4) 450 .parameters(p3, p4)
457 .clause( 451 .clause(
458 new RelationViewAtom(personView, p3), 452 personView.call(p3),
459 new RelationViewAtom(personView, p4), 453 personView.call(p4),
460 new DNFCallAtom(false, friendPredicate, p3, p4) 454 not(friendPredicate.call(p3, p4))
461 ) 455 )
462 .build(); 456 .build();
463 457
464 var store = ModelStore.builder() 458 var store = ModelStore.builder()
465 .symbols(person, friend) 459 .symbols(person, friend)
466 .with(ViatraModelQuery.ADAPTER) 460 .with(ViatraModelQuery.ADAPTER)
461 .defaultHint(hint)
467 .queries(predicate) 462 .queries(predicate)
468 .build(); 463 .build();
469 464
@@ -482,30 +477,42 @@ class QueryTest {
482 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 477 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
483 478
484 queryEngine.flushChanges(); 479 queryEngine.flushChanges();
485 assertEquals(6, predicateResultSet.countResults()); 480 assertResults(Map.of(
481 Tuple.of(0, 0), true,
482 Tuple.of(0, 2), true,
483 Tuple.of(1, 1), true,
484 Tuple.of(2, 0), true,
485 Tuple.of(2, 1), true,
486 Tuple.of(2, 2), true,
487 Tuple.of(0, 1), false,
488 Tuple.of(1, 0), false,
489 Tuple.of(1, 2), false,
490 Tuple.of(0, 3), false
491 ), predicateResultSet);
486 } 492 }
487 493
488 @Test 494 @QueryEngineTest
489 void negativeRelationViewWithQuantificationTest() { 495 void negativeRelationViewWithQuantificationTest(QueryEvaluationHint hint) {
490 var person = new Symbol<>("Person", 1, Boolean.class, false); 496 var person = new Symbol<>("Person", 1, Boolean.class, false);
491 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 497 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
492 var personView = new KeyOnlyRelationView<>(person); 498 var personView = new KeyOnlyRelationView<>(person);
493 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 499 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
494 500
495 var p1 = new Variable("p1"); 501 var p1 = Variable.of("p1");
496 var p2 = new Variable("p2"); 502 var p2 = Variable.of("p2");
497 503
498 var predicate = DNF.builder("Count") 504 var predicate = Query.builder("Count")
499 .parameters(p1) 505 .parameters(p1)
500 .clause( 506 .clause(
501 new RelationViewAtom(personView, p1), 507 personView.call(p1),
502 new RelationViewAtom(false, friendMustView, p1, p2) 508 not(friendMustView.call(p1, p2))
503 ) 509 )
504 .build(); 510 .build();
505 511
506 var store = ModelStore.builder() 512 var store = ModelStore.builder()
507 .symbols(person, friend) 513 .symbols(person, friend)
508 .with(ViatraModelQuery.ADAPTER) 514 .with(ViatraModelQuery.ADAPTER)
515 .defaultHint(hint)
509 .queries(predicate) 516 .queries(predicate)
510 .build(); 517 .build();
511 518
@@ -523,39 +530,45 @@ class QueryTest {
523 friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE); 530 friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE);
524 531
525 queryEngine.flushChanges(); 532 queryEngine.flushChanges();
526 assertEquals(2, predicateResultSet.countResults()); 533 assertResults(Map.of(
534 Tuple.of(0), false,
535 Tuple.of(1), true,
536 Tuple.of(2), true,
537 Tuple.of(3), false
538 ), predicateResultSet);
527 } 539 }
528 540
529 @Test 541 @QueryEngineTest
530 void negativeWithQuantificationTest() { 542 void negativeWithQuantificationTest(QueryEvaluationHint hint) {
531 var person = new Symbol<>("Person", 1, Boolean.class, false); 543 var person = new Symbol<>("Person", 1, Boolean.class, false);
532 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 544 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
533 var personView = new KeyOnlyRelationView<>(person); 545 var personView = new KeyOnlyRelationView<>(person);
534 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 546 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
535 547
536 var p1 = new Variable("p1"); 548 var p1 = Variable.of("p1");
537 var p2 = new Variable("p2"); 549 var p2 = Variable.of("p2");
538 550
539 var called = DNF.builder("Called") 551 var called = Dnf.builder("Called")
540 .parameters(p1, p2) 552 .parameters(p1, p2)
541 .clause( 553 .clause(
542 new RelationViewAtom(personView, p1), 554 personView.call(p1),
543 new RelationViewAtom(personView, p2), 555 personView.call(p2),
544 new RelationViewAtom(friendMustView, p1, p2) 556 friendMustView.call(p1, p2)
545 ) 557 )
546 .build(); 558 .build();
547 559
548 var predicate = DNF.builder("Count") 560 var predicate = Query.builder("Count")
549 .parameters(p1) 561 .parameters(p1)
550 .clause( 562 .clause(
551 new RelationViewAtom(personView, p1), 563 personView.call(p1),
552 new DNFCallAtom(false, called, p1, p2) 564 not(called.call(p1, p2))
553 ) 565 )
554 .build(); 566 .build();
555 567
556 var store = ModelStore.builder() 568 var store = ModelStore.builder()
557 .symbols(person, friend) 569 .symbols(person, friend)
558 .with(ViatraModelQuery.ADAPTER) 570 .with(ViatraModelQuery.ADAPTER)
571 .defaultHint(hint)
559 .queries(predicate) 572 .queries(predicate)
560 .build(); 573 .build();
561 574
@@ -573,30 +586,36 @@ class QueryTest {
573 friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE); 586 friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE);
574 587
575 queryEngine.flushChanges(); 588 queryEngine.flushChanges();
576 assertEquals(2, predicateResultSet.countResults()); 589 assertResults(Map.of(
590 Tuple.of(0), false,
591 Tuple.of(1), true,
592 Tuple.of(2), true,
593 Tuple.of(3), false
594 ), predicateResultSet);
577 } 595 }
578 596
579 @Test 597 @QueryEngineTest
580 void transitiveRelationViewTest() { 598 void transitiveRelationViewTest(QueryEvaluationHint hint) {
581 var person = new Symbol<>("Person", 1, Boolean.class, false); 599 var person = new Symbol<>("Person", 1, Boolean.class, false);
582 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 600 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
583 var personView = new KeyOnlyRelationView<>(person); 601 var personView = new KeyOnlyRelationView<>(person);
584 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 602 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
585 603
586 var p1 = new Variable("p1"); 604 var p1 = Variable.of("p1");
587 var p2 = new Variable("p2"); 605 var p2 = Variable.of("p2");
588 var predicate = DNF.builder("TransitivePatternCall") 606 var predicate = Query.builder("TransitivePatternCall")
589 .parameters(p1, p2) 607 .parameters(p1, p2)
590 .clause( 608 .clause(
591 new RelationViewAtom(personView, p1), 609 personView.call(p1),
592 new RelationViewAtom(personView, p2), 610 personView.call(p2),
593 new RelationViewAtom(CallPolarity.TRANSITIVE, friendMustView, p1, p2) 611 friendMustView.callTransitive(p1, p2)
594 ) 612 )
595 .build(); 613 .build();
596 614
597 var store = ModelStore.builder() 615 var store = ModelStore.builder()
598 .symbols(person, friend) 616 .symbols(person, friend)
599 .with(ViatraModelQuery.ADAPTER) 617 .with(ViatraModelQuery.ADAPTER)
618 .defaultHint(hint)
600 .queries(predicate) 619 .queries(predicate)
601 .build(); 620 .build();
602 621
@@ -614,41 +633,53 @@ class QueryTest {
614 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 633 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
615 634
616 queryEngine.flushChanges(); 635 queryEngine.flushChanges();
617 assertEquals(3, predicateResultSet.countResults()); 636 assertResults(Map.of(
637 Tuple.of(0, 0), false,
638 Tuple.of(0, 1), true,
639 Tuple.of(0, 2), true,
640 Tuple.of(1, 0), false,
641 Tuple.of(1, 1), false,
642 Tuple.of(1, 2), true,
643 Tuple.of(2, 0), false,
644 Tuple.of(2, 1), false,
645 Tuple.of(2, 2), false,
646 Tuple.of(2, 3), false
647 ), predicateResultSet);
618 } 648 }
619 649
620 @Test 650 @QueryEngineTest
621 void transitivePatternCallTest() { 651 void transitivePatternCallTest(QueryEvaluationHint hint) {
622 var person = new Symbol<>("Person", 1, Boolean.class, false); 652 var person = new Symbol<>("Person", 1, Boolean.class, false);
623 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); 653 var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE);
624 var personView = new KeyOnlyRelationView<>(person); 654 var personView = new KeyOnlyRelationView<>(person);
625 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); 655 var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must);
626 656
627 var p1 = new Variable("p1"); 657 var p1 = Variable.of("p1");
628 var p2 = new Variable("p2"); 658 var p2 = Variable.of("p2");
629 var friendPredicate = DNF.builder("RelationConstraint") 659 var friendPredicate = Dnf.builder("RelationConstraint")
630 .parameters(p1, p2) 660 .parameters(p1, p2)
631 .clause( 661 .clause(
632 new RelationViewAtom(personView, p1), 662 personView.call(p1),
633 new RelationViewAtom(personView, p2), 663 personView.call(p2),
634 new RelationViewAtom(friendMustView, p1, p2) 664 friendMustView.call(p1, p2)
635 ) 665 )
636 .build(); 666 .build();
637 667
638 var p3 = new Variable("p3"); 668 var p3 = Variable.of("p3");
639 var p4 = new Variable("p4"); 669 var p4 = Variable.of("p4");
640 var predicate = DNF.builder("TransitivePatternCall") 670 var predicate = Query.builder("TransitivePatternCall")
641 .parameters(p3, p4) 671 .parameters(p3, p4)
642 .clause( 672 .clause(
643 new RelationViewAtom(personView, p3), 673 personView.call(p3),
644 new RelationViewAtom(personView, p4), 674 personView.call(p4),
645 new DNFCallAtom(CallPolarity.TRANSITIVE, friendPredicate, p3, p4) 675 friendPredicate.callTransitive(p3, p4)
646 ) 676 )
647 .build(); 677 .build();
648 678
649 var store = ModelStore.builder() 679 var store = ModelStore.builder()
650 .symbols(person, friend) 680 .symbols(person, friend)
651 .with(ViatraModelQuery.ADAPTER) 681 .with(ViatraModelQuery.ADAPTER)
682 .defaultHint(hint)
652 .queries(predicate) 683 .queries(predicate)
653 .build(); 684 .build();
654 685
@@ -666,16 +697,101 @@ class QueryTest {
666 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); 697 friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE);
667 698
668 queryEngine.flushChanges(); 699 queryEngine.flushChanges();
669 assertEquals(3, predicateResultSet.countResults()); 700 assertResults(Map.of(
701 Tuple.of(0, 0), false,
702 Tuple.of(0, 1), true,
703 Tuple.of(0, 2), true,
704 Tuple.of(1, 0), false,
705 Tuple.of(1, 1), false,
706 Tuple.of(1, 2), true,
707 Tuple.of(2, 0), false,
708 Tuple.of(2, 1), false,
709 Tuple.of(2, 2), false,
710 Tuple.of(2, 3), false
711 ), predicateResultSet);
712 }
713
714 @QueryEngineTest
715 void assumeTest(QueryEvaluationHint hint) {
716 var person = new Symbol<>("Person", 1, Boolean.class, false);
717 var age = new Symbol<>("age", 1, Integer.class, null);
718 var personView = new KeyOnlyRelationView<>(person);
719 var ageView = new FunctionalRelationView<>(age);
720
721 var p1 = Variable.of("p1");
722 var x = Variable.of("x", Integer.class);
723 var query = Query.builder("Constraint")
724 .parameter(p1)
725 .clause(
726 personView.call(p1),
727 ageView.call(p1, x),
728 assume(greaterEq(x, constant(18)))
729 )
730 .build();
731
732 var store = ModelStore.builder()
733 .symbols(person, age)
734 .with(ViatraModelQuery.ADAPTER)
735 .defaultHint(hint)
736 .queries(query)
737 .build();
738
739 var model = store.createEmptyModel();
740 var personInterpretation = model.getInterpretation(person);
741 var ageInterpretation = model.getInterpretation(age);
742 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
743 var queryResultSet = queryEngine.getResultSet(query);
744
745 personInterpretation.put(Tuple.of(0), true);
746 personInterpretation.put(Tuple.of(1), true);
747
748 ageInterpretation.put(Tuple.of(0), 12);
749 ageInterpretation.put(Tuple.of(1), 24);
750
751 queryEngine.flushChanges();
752 assertResults(Map.of(
753 Tuple.of(0), false,
754 Tuple.of(1), true,
755 Tuple.of(2), false
756 ), queryResultSet);
757 }
758
759 @Test
760 void alwaysFalseTest() {
761 var person = new Symbol<>("Person", 1, Boolean.class, false);
762
763 var p1 = Variable.of("p1");
764 var predicate = Query.builder("AlwaysFalse").parameters(p1).build();
765
766 var store = ModelStore.builder()
767 .symbols(person)
768 .with(ViatraModelQuery.ADAPTER)
769 .queries(predicate)
770 .build();
771
772 var model = store.createEmptyModel();
773 var personInterpretation = model.getInterpretation(person);
774 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
775 var predicateResultSet = queryEngine.getResultSet(predicate);
776
777 personInterpretation.put(Tuple.of(0), true);
778 personInterpretation.put(Tuple.of(1), true);
779 personInterpretation.put(Tuple.of(2), true);
780
781 queryEngine.flushChanges();
782 assertResults(Map.of(), predicateResultSet);
670 } 783 }
671 784
672 static void compareMatchSets(Stream<TupleLike> matchSet, Set<Tuple> expected) { 785 @Test
673 Set<Tuple> translatedMatchSet = new HashSet<>(); 786 void alwaysTrueTest() {
674 var iterator = matchSet.iterator(); 787 var person = new Symbol<>("Person", 1, Boolean.class, false);
675 while (iterator.hasNext()) { 788
676 var element = iterator.next(); 789 var p1 = Variable.of("p1");
677 translatedMatchSet.add(element.toTuple()); 790 var predicate = Query.builder("AlwaysTrue").parameters(p1).clause().build();
678 } 791
679 assertEquals(expected, translatedMatchSet); 792 var storeBuilder = ModelStore.builder().symbols(person);
793 var queryBuilder = storeBuilder.with(ViatraModelQuery.ADAPTER);
794
795 assertThrows(IllegalArgumentException.class, () -> queryBuilder.queries(predicate));
680 } 796 }
681} 797}
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java
index 98995339..abd49341 100644
--- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java
@@ -1,28 +1,162 @@
1package tools.refinery.store.query.viatra; 1package tools.refinery.store.query.viatra;
2 2
3import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
4import org.junit.jupiter.api.Disabled;
3import org.junit.jupiter.api.Test; 5import org.junit.jupiter.api.Test;
4import tools.refinery.store.model.ModelStore; 6import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.DNF;
6import tools.refinery.store.query.ModelQuery; 7import tools.refinery.store.query.ModelQuery;
7import tools.refinery.store.query.Variable; 8import tools.refinery.store.query.dnf.Query;
8import tools.refinery.store.query.atom.RelationViewAtom; 9import tools.refinery.store.query.term.Variable;
10import tools.refinery.store.query.view.FilteredRelationView;
11import tools.refinery.store.query.view.FunctionalRelationView;
9import tools.refinery.store.query.view.KeyOnlyRelationView; 12import tools.refinery.store.query.view.KeyOnlyRelationView;
10import tools.refinery.store.representation.Symbol; 13import tools.refinery.store.representation.Symbol;
11import tools.refinery.store.tuple.Tuple; 14import tools.refinery.store.tuple.Tuple;
12 15
13import static org.junit.jupiter.api.Assertions.*; 16import java.util.Map;
17import java.util.Optional;
18
19import static org.junit.jupiter.api.Assertions.assertFalse;
20import static org.junit.jupiter.api.Assertions.assertTrue;
21import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertNullableResults;
22import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults;
14 23
15class QueryTransactionTest { 24class QueryTransactionTest {
16 @Test 25 @Test
17 void flushTest() { 26 void flushTest() {
18 var person = new Symbol<>("Person", 1, Boolean.class, false); 27 var person = new Symbol<>("Person", 1, Boolean.class, false);
28 var personView = new KeyOnlyRelationView<>(person);
29
30 var p1 = Variable.of("p1");
31 var predicate = Query.builder("TypeConstraint")
32 .parameters(p1)
33 .clause(personView.call(p1))
34 .build();
35
36 var store = ModelStore.builder()
37 .symbols(person)
38 .with(ViatraModelQuery.ADAPTER)
39 .queries(predicate)
40 .build();
41
42 var model = store.createEmptyModel();
43 var personInterpretation = model.getInterpretation(person);
44 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
45 var predicateResultSet = queryEngine.getResultSet(predicate);
46
47 assertResults(Map.of(
48 Tuple.of(0), false,
49 Tuple.of(1), false,
50 Tuple.of(2), false,
51 Tuple.of(3), false
52 ), predicateResultSet);
53 assertFalse(queryEngine.hasPendingChanges());
54
55 personInterpretation.put(Tuple.of(0), true);
56 personInterpretation.put(Tuple.of(1), true);
57
58 assertResults(Map.of(
59 Tuple.of(0), false,
60 Tuple.of(1), false,
61 Tuple.of(2), false,
62 Tuple.of(3), false
63 ), predicateResultSet);
64 assertTrue(queryEngine.hasPendingChanges());
65
66 queryEngine.flushChanges();
67 assertResults(Map.of(
68 Tuple.of(0), true,
69 Tuple.of(1), true,
70 Tuple.of(2), false,
71 Tuple.of(3), false
72 ), predicateResultSet);
73 assertFalse(queryEngine.hasPendingChanges());
74
75 personInterpretation.put(Tuple.of(1), false);
76 personInterpretation.put(Tuple.of(2), true);
77
78 assertResults(Map.of(
79 Tuple.of(0), true,
80 Tuple.of(1), true,
81 Tuple.of(2), false,
82 Tuple.of(3), false
83 ), predicateResultSet);
84 assertTrue(queryEngine.hasPendingChanges());
85
86 queryEngine.flushChanges();
87 assertResults(Map.of(
88 Tuple.of(0), true,
89 Tuple.of(1), false,
90 Tuple.of(2), true,
91 Tuple.of(3), false
92 ), predicateResultSet);
93 assertFalse(queryEngine.hasPendingChanges());
94 }
95
96 @Test
97 void localSearchTest() {
98 var person = new Symbol<>("Person", 1, Boolean.class, false);
99 var personView = new KeyOnlyRelationView<>(person);
100
101 var p1 = Variable.of("p1");
102 var predicate = Query.builder("TypeConstraint")
103 .parameters(p1)
104 .clause(personView.call(p1))
105 .build();
106
107 var store = ModelStore.builder()
108 .symbols(person)
109 .with(ViatraModelQuery.ADAPTER)
110 .defaultHint(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.DEFAULT_SEARCH))
111 .queries(predicate)
112 .build();
113
114 var model = store.createEmptyModel();
115 var personInterpretation = model.getInterpretation(person);
116 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
117 var predicateResultSet = queryEngine.getResultSet(predicate);
118
119 assertResults(Map.of(
120 Tuple.of(0), false,
121 Tuple.of(1), false,
122 Tuple.of(2), false,
123 Tuple.of(3), false
124 ), predicateResultSet);
125 assertFalse(queryEngine.hasPendingChanges());
126
127 personInterpretation.put(Tuple.of(0), true);
128 personInterpretation.put(Tuple.of(1), true);
129
130 assertResults(Map.of(
131 Tuple.of(0), true,
132 Tuple.of(1), true,
133 Tuple.of(2), false,
134 Tuple.of(3), false
135 ), predicateResultSet);
136 assertFalse(queryEngine.hasPendingChanges());
137
138 personInterpretation.put(Tuple.of(1), false);
139 personInterpretation.put(Tuple.of(2), true);
140
141 assertResults(Map.of(
142 Tuple.of(0), true,
143 Tuple.of(1), false,
144 Tuple.of(2), true,
145 Tuple.of(3), false
146 ), predicateResultSet);
147 assertFalse(queryEngine.hasPendingChanges());
148 }
149
150 @Test
151 void unrelatedChangesTest() {
152 var person = new Symbol<>("Person", 1, Boolean.class, false);
19 var asset = new Symbol<>("Asset", 1, Boolean.class, false); 153 var asset = new Symbol<>("Asset", 1, Boolean.class, false);
20 var personView = new KeyOnlyRelationView<>(person); 154 var personView = new KeyOnlyRelationView<>(person);
21 155
22 var p1 = new Variable("p1"); 156 var p1 = Variable.of("p1");
23 var predicate = DNF.builder("TypeConstraint") 157 var predicate = Query.builder("TypeConstraint")
24 .parameters(p1) 158 .parameters(p1)
25 .clause(new RelationViewAtom(personView, p1)) 159 .clause(personView.call(p1))
26 .build(); 160 .build();
27 161
28 var store = ModelStore.builder() 162 var store = ModelStore.builder()
@@ -37,7 +171,6 @@ class QueryTransactionTest {
37 var queryEngine = model.getAdapter(ModelQuery.ADAPTER); 171 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
38 var predicateResultSet = queryEngine.getResultSet(predicate); 172 var predicateResultSet = queryEngine.getResultSet(predicate);
39 173
40 assertEquals(0, predicateResultSet.countResults());
41 assertFalse(queryEngine.hasPendingChanges()); 174 assertFalse(queryEngine.hasPendingChanges());
42 175
43 personInterpretation.put(Tuple.of(0), true); 176 personInterpretation.put(Tuple.of(0), true);
@@ -46,19 +179,245 @@ class QueryTransactionTest {
46 assetInterpretation.put(Tuple.of(1), true); 179 assetInterpretation.put(Tuple.of(1), true);
47 assetInterpretation.put(Tuple.of(2), true); 180 assetInterpretation.put(Tuple.of(2), true);
48 181
49 assertEquals(0, predicateResultSet.countResults()); 182 assertResults(Map.of(
183 Tuple.of(0), false,
184 Tuple.of(1), false,
185 Tuple.of(2), false,
186 Tuple.of(3), false,
187 Tuple.of(4), false
188 ), predicateResultSet);
50 assertTrue(queryEngine.hasPendingChanges()); 189 assertTrue(queryEngine.hasPendingChanges());
51 190
52 queryEngine.flushChanges(); 191 queryEngine.flushChanges();
53 assertEquals(2, predicateResultSet.countResults()); 192 assertResults(Map.of(
193 Tuple.of(0), true,
194 Tuple.of(1), true,
195 Tuple.of(2), false,
196 Tuple.of(3), false,
197 Tuple.of(4), false
198 ), predicateResultSet);
54 assertFalse(queryEngine.hasPendingChanges()); 199 assertFalse(queryEngine.hasPendingChanges());
55 200
56 personInterpretation.put(Tuple.of(4), true); 201 assetInterpretation.put(Tuple.of(3), true);
57 assertEquals(2, predicateResultSet.countResults()); 202 assertFalse(queryEngine.hasPendingChanges());
58 assertTrue(queryEngine.hasPendingChanges()); 203
204 assertResults(Map.of(
205 Tuple.of(0), true,
206 Tuple.of(1), true,
207 Tuple.of(2), false,
208 Tuple.of(3), false,
209 Tuple.of(4), false
210 ), predicateResultSet);
211
212 queryEngine.flushChanges();
213 assertResults(Map.of(
214 Tuple.of(0), true,
215 Tuple.of(1), true,
216 Tuple.of(2), false,
217 Tuple.of(3), false,
218 Tuple.of(4), false
219 ), predicateResultSet);
220 assertFalse(queryEngine.hasPendingChanges());
221 }
222
223 @Test
224 void tupleChangingChangeTest() {
225 var person = new Symbol<>("Person", 1, Boolean.class, false);
226 var age = new Symbol<>("age", 1, Integer.class, null);
227 var personView = new KeyOnlyRelationView<>(person);
228 var ageView = new FunctionalRelationView<>(age);
229
230 var p1 = Variable.of("p1");
231 var x = Variable.of("x", Integer.class);
232 var query = Query.builder()
233 .parameter(p1)
234 .output(x)
235 .clause(
236 personView.call(p1),
237 ageView.call(p1, x)
238 )
239 .build();
240
241 var store = ModelStore.builder()
242 .symbols(person, age)
243 .with(ViatraModelQuery.ADAPTER)
244 .query(query)
245 .build();
246
247 var model = store.createEmptyModel();
248 var personInterpretation = model.getInterpretation(person);
249 var ageInterpretation = model.getInterpretation(age);
250 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
251 var queryResultSet = queryEngine.getResultSet(query);
252
253 personInterpretation.put(Tuple.of(0), true);
254
255 ageInterpretation.put(Tuple.of(0), 24);
256
257 queryEngine.flushChanges();
258 assertResults(Map.of(Tuple.of(0), 24), queryResultSet);
259
260 ageInterpretation.put(Tuple.of(0), 25);
261
262 queryEngine.flushChanges();
263 assertResults(Map.of(Tuple.of(0), 25), queryResultSet);
264
265 ageInterpretation.put(Tuple.of(0), null);
59 266
60 queryEngine.flushChanges(); 267 queryEngine.flushChanges();
61 assertEquals(3, predicateResultSet.countResults()); 268 assertNullableResults(Map.of(Tuple.of(0), Optional.empty()), queryResultSet);
269 }
270
271 @Test
272 void tuplePreservingUnchangedTest() {
273 var person = new Symbol<>("Person", 1, Boolean.class, false);
274 var age = new Symbol<>("age", 1, Integer.class, null);
275 var personView = new KeyOnlyRelationView<>(person);
276 var adultView = new FilteredRelationView<>(age, "adult", n -> n != null && n >= 18);
277
278 var p1 = Variable.of("p1");
279 var x = Variable.of("x", Integer.class);
280 var query = Query.builder()
281 .parameter(p1)
282 .clause(
283 personView.call(p1),
284 adultView.call(p1)
285 )
286 .build();
287
288 var store = ModelStore.builder()
289 .symbols(person, age)
290 .with(ViatraModelQuery.ADAPTER)
291 .query(query)
292 .build();
293
294 var model = store.createEmptyModel();
295 var personInterpretation = model.getInterpretation(person);
296 var ageInterpretation = model.getInterpretation(age);
297 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
298 var queryResultSet = queryEngine.getResultSet(query);
299
300 personInterpretation.put(Tuple.of(0), true);
301
302 ageInterpretation.put(Tuple.of(0), 24);
303
304 queryEngine.flushChanges();
305 assertResults(Map.of(Tuple.of(0), true), queryResultSet);
306
307 ageInterpretation.put(Tuple.of(0), 25);
308
309 queryEngine.flushChanges();
310 assertResults(Map.of(Tuple.of(0), true), queryResultSet);
311
312 ageInterpretation.put(Tuple.of(0), 17);
313
314 queryEngine.flushChanges();
315 assertResults(Map.of(Tuple.of(0), false), queryResultSet);
316 }
317
318 @Disabled("TODO Fix DiffCursor")
319 @Test
320 void commitAfterFlushTest() {
321 var person = new Symbol<>("Person", 1, Boolean.class, false);
322 var personView = new KeyOnlyRelationView<>(person);
323
324 var p1 = Variable.of("p1");
325 var predicate = Query.builder("TypeConstraint")
326 .parameters(p1)
327 .clause(personView.call(p1))
328 .build();
329
330 var store = ModelStore.builder()
331 .symbols(person)
332 .with(ViatraModelQuery.ADAPTER)
333 .queries(predicate)
334 .build();
335
336 var model = store.createEmptyModel();
337 var personInterpretation = model.getInterpretation(person);
338 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
339 var predicateResultSet = queryEngine.getResultSet(predicate);
340
341 personInterpretation.put(Tuple.of(0), true);
342 personInterpretation.put(Tuple.of(1), true);
343
344 queryEngine.flushChanges();
345 assertResults(Map.of(
346 Tuple.of(0), true,
347 Tuple.of(1), true,
348 Tuple.of(2), false,
349 Tuple.of(3), false
350 ), predicateResultSet);
351
352 var state1 = model.commit();
353
354 personInterpretation.put(Tuple.of(1), false);
355 personInterpretation.put(Tuple.of(2), true);
356
357 queryEngine.flushChanges();
358 assertResults(Map.of(
359 Tuple.of(0), true,
360 Tuple.of(1), false,
361 Tuple.of(2), true,
362 Tuple.of(3), false
363 ), predicateResultSet);
364
365 model.restore(state1);
366
367 assertFalse(queryEngine.hasPendingChanges());
368 assertResults(Map.of(
369 Tuple.of(0), true,
370 Tuple.of(1), true,
371 Tuple.of(2), false,
372 Tuple.of(3), false
373 ), predicateResultSet);
374 }
375
376 @Disabled("TODO Fix DiffCursor")
377 @Test
378 void commitWithoutFlushTest() {
379 var person = new Symbol<>("Person", 1, Boolean.class, false);
380 var personView = new KeyOnlyRelationView<>(person);
381
382 var p1 = Variable.of("p1");
383 var predicate = Query.builder("TypeConstraint")
384 .parameters(p1)
385 .clause(personView.call(p1))
386 .build();
387
388 var store = ModelStore.builder()
389 .symbols(person)
390 .with(ViatraModelQuery.ADAPTER)
391 .queries(predicate)
392 .build();
393
394 var model = store.createEmptyModel();
395 var personInterpretation = model.getInterpretation(person);
396 var queryEngine = model.getAdapter(ModelQuery.ADAPTER);
397 var predicateResultSet = queryEngine.getResultSet(predicate);
398
399 personInterpretation.put(Tuple.of(0), true);
400 personInterpretation.put(Tuple.of(1), true);
401
402 assertResults(Map.of(), predicateResultSet);
403 assertTrue(queryEngine.hasPendingChanges());
404
405 var state1 = model.commit();
406
407 personInterpretation.put(Tuple.of(1), false);
408 personInterpretation.put(Tuple.of(2), true);
409
410 assertResults(Map.of(), predicateResultSet);
411 assertTrue(queryEngine.hasPendingChanges());
412
413 model.restore(state1);
414
415 assertResults(Map.of(
416 Tuple.of(0), true,
417 Tuple.of(1), true,
418 Tuple.of(2), false,
419 Tuple.of(3), false
420 ), predicateResultSet);
62 assertFalse(queryEngine.hasPendingChanges()); 421 assertFalse(queryEngine.hasPendingChanges());
63 } 422 }
64} 423}
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryAssertions.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryAssertions.java
new file mode 100644
index 00000000..6f50ec73
--- /dev/null
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryAssertions.java
@@ -0,0 +1,52 @@
1package tools.refinery.store.query.viatra.tests;
2
3import org.junit.jupiter.api.function.Executable;
4import tools.refinery.store.query.ResultSet;
5import tools.refinery.store.tuple.Tuple;
6
7import java.util.*;
8
9import static org.hamcrest.MatcherAssert.assertThat;
10import static org.hamcrest.Matchers.is;
11import static org.hamcrest.Matchers.nullValue;
12import static org.junit.jupiter.api.Assertions.assertAll;
13
14public final class QueryAssertions {
15 private QueryAssertions() {
16 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
17 }
18
19 public static <T> void assertNullableResults(Map<Tuple, Optional<T>> expected, ResultSet<T> resultSet) {
20 var nullableValuesMap = new LinkedHashMap<Tuple, T>(expected.size());
21 for (var entry : expected.entrySet()) {
22 nullableValuesMap.put(entry.getKey(), entry.getValue().orElse(null));
23 }
24 assertResults(nullableValuesMap, resultSet);
25 }
26
27 public static <T> void assertResults(Map<Tuple, T> expected, ResultSet<T> resultSet) {
28 var defaultValue = resultSet.getQuery().defaultValue();
29 var filteredExpected = new LinkedHashMap<Tuple, T>();
30 var executables = new ArrayList<Executable>();
31 for (var entry : expected.entrySet()) {
32 var key = entry.getKey();
33 var value = entry.getValue();
34 if (!Objects.equals(value, defaultValue)) {
35 filteredExpected.put(key, value);
36 }
37 executables.add(() -> assertThat("value for key " + key,resultSet.get(key), is(value)));
38 }
39 executables.add(() -> assertThat("results size", resultSet.size(), is(filteredExpected.size())));
40
41 var actual = new LinkedHashMap<Tuple, T>();
42 var cursor = resultSet.getAll();
43 while (cursor.move()) {
44 var key = cursor.getKey();
45 var previous = actual.put(key.toTuple(), cursor.getValue());
46 assertThat("duplicate value for key " + key, previous, nullValue());
47 }
48 executables.add(() -> assertThat("results cursor", actual, is(filteredExpected)));
49
50 assertAll(executables);
51 }
52}
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryBackendHint.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryBackendHint.java
new file mode 100644
index 00000000..b1818a17
--- /dev/null
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryBackendHint.java
@@ -0,0 +1,22 @@
1package tools.refinery.store.query.viatra.tests;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
4
5/**
6 * Overrides {@link QueryEvaluationHint#toString()} for pretty names in parametric test names.
7 */
8class QueryBackendHint extends QueryEvaluationHint {
9 public QueryBackendHint(BackendRequirement backendRequirementType) {
10 super(null, backendRequirementType);
11 }
12
13 @Override
14 public String toString() {
15 return switch (getQueryBackendRequirementType()) {
16 case UNSPECIFIED -> "default";
17 case DEFAULT_CACHING -> "incremental";
18 case DEFAULT_SEARCH -> "localSearch";
19 default -> throw new IllegalStateException("Unknown BackendRequirement");
20 };
21 }
22}
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEngineTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEngineTest.java
new file mode 100644
index 00000000..f129520c
--- /dev/null
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEngineTest.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.viatra.tests;
2
3import org.junit.jupiter.params.ParameterizedTest;
4import org.junit.jupiter.params.provider.ArgumentsSource;
5
6import java.lang.annotation.ElementType;
7import java.lang.annotation.Retention;
8import java.lang.annotation.RetentionPolicy;
9import java.lang.annotation.Target;
10
11@ParameterizedTest(name = "backend = {0}")
12@ArgumentsSource(QueryEvaluationHintSource.class)
13@Target(ElementType.METHOD)
14@Retention(RetentionPolicy.RUNTIME)
15public @interface QueryEngineTest {
16}
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEvaluationHintSource.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEvaluationHintSource.java
new file mode 100644
index 00000000..a55762e2
--- /dev/null
+++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEvaluationHintSource.java
@@ -0,0 +1,19 @@
1package tools.refinery.store.query.viatra.tests;
2
3import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
4import org.junit.jupiter.api.extension.ExtensionContext;
5import org.junit.jupiter.params.provider.Arguments;
6import org.junit.jupiter.params.provider.ArgumentsProvider;
7
8import java.util.stream.Stream;
9
10public class QueryEvaluationHintSource implements ArgumentsProvider {
11 @Override
12 public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
13 return Stream.of(
14 Arguments.of(new QueryBackendHint(QueryEvaluationHint.BackendRequirement.UNSPECIFIED)),
15 Arguments.of(new QueryBackendHint(QueryEvaluationHint.BackendRequirement.DEFAULT_CACHING)),
16 Arguments.of(new QueryBackendHint(QueryEvaluationHint.BackendRequirement.DEFAULT_SEARCH))
17 );
18 }
19}
diff --git a/subprojects/store-query/build.gradle b/subprojects/store-query/build.gradle
new file mode 100644
index 00000000..97761936
--- /dev/null
+++ b/subprojects/store-query/build.gradle
@@ -0,0 +1,9 @@
1plugins {
2 id 'refinery-java-library'
3 id 'refinery-java-test-fixtures'
4}
5
6dependencies {
7 api project(':refinery-store')
8 testFixturesApi libs.hamcrest
9}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/AnyResultSet.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/AnyResultSet.java
new file mode 100644
index 00000000..6d411212
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/AnyResultSet.java
@@ -0,0 +1,11 @@
1package tools.refinery.store.query;
2
3import tools.refinery.store.query.dnf.AnyQuery;
4
5public sealed interface AnyResultSet permits ResultSet {
6 ModelQueryAdapter getAdapter();
7
8 AnyQuery getQuery();
9
10 int size();
11}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/Constraint.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/Constraint.java
new file mode 100644
index 00000000..cec4c19f
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/Constraint.java
@@ -0,0 +1,65 @@
1package tools.refinery.store.query;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.literal.*;
5import tools.refinery.store.query.term.*;
6
7import java.util.List;
8
9public interface Constraint {
10 String name();
11
12 List<Sort> getSorts();
13
14 default int arity() {
15 return getSorts().size();
16 }
17
18 default boolean invalidIndex(int i) {
19 return i < 0 || i >= arity();
20 }
21
22 default LiteralReduction getReduction() {
23 return LiteralReduction.NOT_REDUCIBLE;
24 }
25
26 default boolean equals(LiteralEqualityHelper helper, Constraint other) {
27 return equals(other);
28 }
29
30 String toReferenceString();
31
32 default CallLiteral call(CallPolarity polarity, List<Variable> arguments) {
33 return new CallLiteral(polarity, this, arguments);
34 }
35
36 default CallLiteral call(CallPolarity polarity, Variable... arguments) {
37 return call(polarity, List.of(arguments));
38 }
39
40 default CallLiteral call(Variable... arguments) {
41 return call(CallPolarity.POSITIVE, arguments);
42 }
43
44 default CallLiteral callTransitive(NodeVariable left, NodeVariable right) {
45 return call(CallPolarity.TRANSITIVE, List.of(left, right));
46 }
47
48 default AssignedValue<Integer> count(List<Variable> arguments) {
49 return targetVariable -> new CountLiteral(targetVariable, this, arguments);
50 }
51
52 default AssignedValue<Integer> count(Variable... arguments) {
53 return count(List.of(arguments));
54 }
55
56 default <R, T> AssignedValue<R> aggregate(DataVariable<T> inputVariable, Aggregator<R, T> aggregator,
57 List<Variable> arguments) {
58 return targetVariable -> new AggregationLiteral<>(targetVariable, aggregator, inputVariable, this, arguments);
59 }
60
61 default <R, T> AssignedValue<R> aggregate(DataVariable<T> inputVariable, Aggregator<R, T> aggregator,
62 Variable... arguments) {
63 return aggregate(inputVariable, aggregator, List.of(arguments));
64 }
65}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/EmptyResultSet.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/EmptyResultSet.java
new file mode 100644
index 00000000..9af73bdd
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/EmptyResultSet.java
@@ -0,0 +1,34 @@
1package tools.refinery.store.query;
2
3import tools.refinery.store.map.Cursor;
4import tools.refinery.store.map.Cursors;
5import tools.refinery.store.query.dnf.Query;
6import tools.refinery.store.tuple.TupleLike;
7
8public record EmptyResultSet<T>(ModelQueryAdapter adapter, Query<T> query) implements ResultSet<T> {
9 @Override
10 public ModelQueryAdapter getAdapter() {
11 return adapter;
12 }
13
14 @Override
15 public Query<T> getQuery() {
16 return query;
17 }
18
19 @Override
20 public T get(TupleLike parameters) {
21 return query.defaultValue();
22 }
23
24
25 @Override
26 public Cursor<TupleLike, T> getAll() {
27 return Cursors.empty();
28 }
29
30 @Override
31 public int size() {
32 return 0;
33 }
34}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQuery.java
index 6a1aeabb..6a1aeabb 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQuery.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQuery.java
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java
index 7449e39b..2e30fec4 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java
@@ -1,11 +1,17 @@
1package tools.refinery.store.query; 1package tools.refinery.store.query;
2 2
3import tools.refinery.store.adapter.ModelAdapter; 3import tools.refinery.store.adapter.ModelAdapter;
4import tools.refinery.store.query.dnf.AnyQuery;
5import tools.refinery.store.query.dnf.Query;
4 6
5public interface ModelQueryAdapter extends ModelAdapter { 7public interface ModelQueryAdapter extends ModelAdapter {
6 ModelQueryStoreAdapter getStoreAdapter(); 8 ModelQueryStoreAdapter getStoreAdapter();
7 9
8 ResultSet getResultSet(DNF query); 10 default AnyResultSet getResultSet(AnyQuery query) {
11 return getResultSet((Query<?>) query);
12 }
13
14 <T> ResultSet<T> getResultSet(Query<T> query);
9 15
10 boolean hasPendingChanges(); 16 boolean hasPendingChanges();
11 17
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java
index 4364d844..4fdc9210 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java
@@ -2,21 +2,23 @@ package tools.refinery.store.query;
2 2
3import tools.refinery.store.adapter.ModelAdapterBuilder; 3import tools.refinery.store.adapter.ModelAdapterBuilder;
4import tools.refinery.store.model.ModelStore; 4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.dnf.AnyQuery;
5 6
6import java.util.Collection; 7import java.util.Collection;
7import java.util.List; 8import java.util.List;
8 9
10@SuppressWarnings("UnusedReturnValue")
9public interface ModelQueryBuilder extends ModelAdapterBuilder { 11public interface ModelQueryBuilder extends ModelAdapterBuilder {
10 default ModelQueryBuilder queries(DNF... queries) { 12 default ModelQueryBuilder queries(AnyQuery... queries) {
11 return queries(List.of(queries)); 13 return queries(List.of(queries));
12 } 14 }
13 15
14 default ModelQueryBuilder queries(Collection<DNF> queries) { 16 default ModelQueryBuilder queries(Collection<? extends AnyQuery> queries) {
15 queries.forEach(this::query); 17 queries.forEach(this::query);
16 return this; 18 return this;
17 } 19 }
18 20
19 ModelQueryBuilder query(DNF query); 21 ModelQueryBuilder query(AnyQuery query);
20 22
21 @Override 23 @Override
22 ModelQueryStoreAdapter createStoreAdapter(ModelStore store); 24 ModelQueryStoreAdapter createStoreAdapter(ModelStore store);
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java
index ef5a4587..514e582b 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java
@@ -2,6 +2,7 @@ package tools.refinery.store.query;
2 2
3import tools.refinery.store.adapter.ModelStoreAdapter; 3import tools.refinery.store.adapter.ModelStoreAdapter;
4import tools.refinery.store.model.Model; 4import tools.refinery.store.model.Model;
5import tools.refinery.store.query.dnf.AnyQuery;
5import tools.refinery.store.query.view.AnyRelationView; 6import tools.refinery.store.query.view.AnyRelationView;
6 7
7import java.util.Collection; 8import java.util.Collection;
@@ -9,7 +10,7 @@ import java.util.Collection;
9public interface ModelQueryStoreAdapter extends ModelStoreAdapter { 10public interface ModelQueryStoreAdapter extends ModelStoreAdapter {
10 Collection<AnyRelationView> getRelationViews(); 11 Collection<AnyRelationView> getRelationViews();
11 12
12 Collection<DNF> getQueries(); 13 Collection<AnyQuery> getQueries();
13 14
14 @Override 15 @Override
15 ModelQueryAdapter createModelAdapter(Model model); 16 ModelQueryAdapter createModelAdapter(Model model);
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/ResultSet.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ResultSet.java
new file mode 100644
index 00000000..3f6bc06f
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ResultSet.java
@@ -0,0 +1,13 @@
1package tools.refinery.store.query;
2
3import tools.refinery.store.map.Cursor;
4import tools.refinery.store.query.dnf.Query;
5import tools.refinery.store.tuple.TupleLike;
6
7public non-sealed interface ResultSet<T> extends AnyResultSet {
8 Query<T> getQuery();
9
10 T get(TupleLike parameters);
11
12 Cursor<TupleLike, T> getAll();
13}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/AnyQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/AnyQuery.java
new file mode 100644
index 00000000..d0a2367f
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/AnyQuery.java
@@ -0,0 +1,11 @@
1package tools.refinery.store.query.dnf;
2
3public sealed interface AnyQuery permits Query {
4 String name();
5
6 int arity();
7
8 Class<?> valueType();
9
10 Dnf getDnf();
11}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Dnf.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Dnf.java
new file mode 100644
index 00000000..1b7759c7
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Dnf.java
@@ -0,0 +1,194 @@
1package tools.refinery.store.query.dnf;
2
3import tools.refinery.store.query.equality.DnfEqualityChecker;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.Constraint;
6import tools.refinery.store.query.literal.LiteralReduction;
7import tools.refinery.store.query.term.Sort;
8import tools.refinery.store.query.term.Variable;
9
10import java.util.Collection;
11import java.util.HashSet;
12import java.util.List;
13import java.util.Set;
14
15public final class Dnf implements Constraint {
16 private static final String INDENTATION = " ";
17
18 private final String name;
19
20 private final String uniqueName;
21
22 private final List<Variable> parameters;
23
24 private final List<FunctionalDependency<Variable>> functionalDependencies;
25
26 private final List<DnfClause> clauses;
27
28 Dnf(String name, List<Variable> parameters, List<FunctionalDependency<Variable>> functionalDependencies,
29 List<DnfClause> clauses) {
30 validateFunctionalDependencies(parameters, functionalDependencies);
31 this.name = name;
32 this.uniqueName = DnfUtils.generateUniqueName(name);
33 this.parameters = parameters;
34 this.functionalDependencies = functionalDependencies;
35 this.clauses = clauses;
36 }
37
38 private static void validateFunctionalDependencies(
39 Collection<Variable> parameters, Collection<FunctionalDependency<Variable>> functionalDependencies) {
40 var parameterSet = new HashSet<>(parameters);
41 for (var functionalDependency : functionalDependencies) {
42 validateParameters(parameters, parameterSet, functionalDependency.forEach(), functionalDependency);
43 validateParameters(parameters, parameterSet, functionalDependency.unique(), functionalDependency);
44 }
45 }
46
47 private static void validateParameters(Collection<Variable> parameters, Set<Variable> parameterSet,
48 Collection<Variable> toValidate,
49 FunctionalDependency<Variable> functionalDependency) {
50 for (var variable : toValidate) {
51 if (!parameterSet.contains(variable)) {
52 throw new IllegalArgumentException(
53 "Variable %s of functional dependency %s does not appear in the parameter list %s"
54 .formatted(variable, functionalDependency, parameters));
55 }
56 }
57 }
58
59 @Override
60 public String name() {
61 return name == null ? uniqueName : name;
62 }
63
64 public boolean isExplicitlyNamed() {
65 return name == null;
66 }
67
68 public String getUniqueName() {
69 return uniqueName;
70 }
71
72 public List<Variable> getParameters() {
73 return parameters;
74 }
75
76 @Override
77 public List<Sort> getSorts() {
78 return parameters.stream().map(Variable::getSort).toList();
79 }
80
81 public List<FunctionalDependency<Variable>> getFunctionalDependencies() {
82 return functionalDependencies;
83 }
84
85 @Override
86 public int arity() {
87 return parameters.size();
88 }
89
90 public List<DnfClause> getClauses() {
91 return clauses;
92 }
93
94 public RelationalQuery asRelation() {
95 return new RelationalQuery(this);
96 }
97
98 public <T> FunctionalQuery<T> asFunction(Class<T> type) {
99 return new FunctionalQuery<>(this, type);
100 }
101
102 @Override
103 public LiteralReduction getReduction() {
104 if (clauses.isEmpty()) {
105 return LiteralReduction.ALWAYS_FALSE;
106 }
107 for (var clause : clauses) {
108 if (clause.literals().isEmpty()) {
109 return LiteralReduction.ALWAYS_TRUE;
110 }
111 }
112 return LiteralReduction.NOT_REDUCIBLE;
113 }
114
115 public boolean equalsWithSubstitution(DnfEqualityChecker callEqualityChecker, Dnf other) {
116 if (arity() != other.arity()) {
117 return false;
118 }
119 int numClauses = clauses.size();
120 if (numClauses != other.clauses.size()) {
121 return false;
122 }
123 for (int i = 0; i < numClauses; i++) {
124 var literalEqualityHelper = new LiteralEqualityHelper(callEqualityChecker, parameters, other.parameters);
125 if (!clauses.get(i).equalsWithSubstitution(literalEqualityHelper, other.clauses.get(i))) {
126 return false;
127 }
128 }
129 return true;
130 }
131
132 @Override
133 public boolean equals(LiteralEqualityHelper helper, Constraint other) {
134 if (other instanceof Dnf otherDnf) {
135 return helper.dnfEqual(this, otherDnf);
136 }
137 return false;
138 }
139
140 @Override
141 public String toString() {
142 return "%s/%d".formatted(name, arity());
143 }
144
145 @Override
146 public String toReferenceString() {
147 return "@Dnf " + name;
148 }
149
150 public String toDefinitionString() {
151 var builder = new StringBuilder();
152 builder.append("pred ").append(name()).append("(");
153 var parameterIterator = parameters.iterator();
154 if (parameterIterator.hasNext()) {
155 builder.append(parameterIterator.next());
156 while (parameterIterator.hasNext()) {
157 builder.append(", ").append(parameterIterator.next());
158 }
159 }
160 builder.append(") <->");
161 var clauseIterator = clauses.iterator();
162 if (clauseIterator.hasNext()) {
163 appendClause(clauseIterator.next(), builder);
164 while (clauseIterator.hasNext()) {
165 builder.append("\n;");
166 appendClause(clauseIterator.next(), builder);
167 }
168 } else {
169 builder.append("\n").append(INDENTATION).append("<no clauses>");
170 }
171 builder.append(".\n");
172 return builder.toString();
173 }
174
175 private static void appendClause(DnfClause clause, StringBuilder builder) {
176 var iterator = clause.literals().iterator();
177 if (!iterator.hasNext()) {
178 builder.append("\n").append(INDENTATION).append("<empty>");
179 return;
180 }
181 builder.append("\n").append(INDENTATION).append(iterator.next());
182 while (iterator.hasNext()) {
183 builder.append(",\n").append(INDENTATION).append(iterator.next());
184 }
185 }
186
187 public static DnfBuilder builder() {
188 return builder(null);
189 }
190
191 public static DnfBuilder builder(String name) {
192 return new DnfBuilder(name);
193 }
194}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java
new file mode 100644
index 00000000..aad5a85f
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java
@@ -0,0 +1,110 @@
1package tools.refinery.store.query.dnf;
2
3import tools.refinery.store.query.literal.Literal;
4import tools.refinery.store.query.term.DataVariable;
5import tools.refinery.store.query.term.Variable;
6
7import java.util.*;
8
9@SuppressWarnings("UnusedReturnValue")
10public final class DnfBuilder {
11 private final String name;
12
13 private final List<Variable> parameters = new ArrayList<>();
14
15 private final List<FunctionalDependency<Variable>> functionalDependencies = new ArrayList<>();
16
17 private final List<List<Literal>> clauses = new ArrayList<>();
18
19 DnfBuilder(String name) {
20 this.name = name;
21 }
22
23 public DnfBuilder parameter(Variable variable) {
24 if (parameters.contains(variable)) {
25 throw new IllegalArgumentException("Duplicate parameter: " + variable);
26 }
27 parameters.add(variable);
28 return this;
29 }
30
31 public DnfBuilder parameters(Variable... variables) {
32 return parameters(List.of(variables));
33 }
34
35 public DnfBuilder parameters(Collection<? extends Variable> variables) {
36 parameters.addAll(variables);
37 return this;
38 }
39
40 public DnfBuilder functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) {
41 this.functionalDependencies.addAll(functionalDependencies);
42 return this;
43 }
44
45 public DnfBuilder functionalDependency(FunctionalDependency<Variable> functionalDependency) {
46 functionalDependencies.add(functionalDependency);
47 return this;
48 }
49
50 public DnfBuilder functionalDependency(Set<? extends Variable> forEach, Set<? extends Variable> unique) {
51 return functionalDependency(new FunctionalDependency<>(Set.copyOf(forEach), Set.copyOf(unique)));
52 }
53
54 public DnfBuilder clause(Literal... literals) {
55 clause(List.of(literals));
56 return this;
57 }
58
59 public DnfBuilder clause(Collection<? extends Literal> literals) {
60 // Remove duplicates by using a hashed data structure.
61 var filteredLiterals = new LinkedHashSet<Literal>(literals.size());
62 for (var literal : literals) {
63 var reduction = literal.getReduction();
64 switch (reduction) {
65 case NOT_REDUCIBLE -> filteredLiterals.add(literal);
66 case ALWAYS_TRUE -> {
67 // Literals reducible to {@code true} can be omitted, because the model is always assumed to have at
68 // least on object.
69 }
70 case ALWAYS_FALSE -> {
71 // Clauses with {@code false} literals can be omitted entirely.
72 return this;
73 }
74 default -> throw new IllegalArgumentException("Invalid reduction: " + reduction);
75 }
76 }
77 clauses.add(List.copyOf(filteredLiterals));
78 return this;
79 }
80
81 public Dnf build() {
82 var postProcessedClauses = postProcessClauses();
83 return new Dnf(name, Collections.unmodifiableList(parameters),
84 Collections.unmodifiableList(functionalDependencies),
85 Collections.unmodifiableList(postProcessedClauses));
86 }
87
88 <T> void output(DataVariable<T> outputVariable) {
89 functionalDependency(Set.copyOf(parameters), Set.of(outputVariable));
90 parameter(outputVariable);
91 }
92
93 private List<DnfClause> postProcessClauses() {
94 var postProcessedClauses = new ArrayList<DnfClause>(clauses.size());
95 for (var literals : clauses) {
96 if (literals.isEmpty()) {
97 // Predicate will always match, the other clauses are irrelevant.
98 return List.of(new DnfClause(Set.of(), List.of()));
99 }
100 var variables = new HashSet<Variable>();
101 for (var literal : literals) {
102 variables.addAll(literal.getBoundVariables());
103 }
104 parameters.forEach(variables::remove);
105 postProcessedClauses.add(new DnfClause(Collections.unmodifiableSet(variables),
106 Collections.unmodifiableList(literals)));
107 }
108 return postProcessedClauses;
109 }
110}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfClause.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfClause.java
new file mode 100644
index 00000000..01830af1
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfClause.java
@@ -0,0 +1,23 @@
1package tools.refinery.store.query.dnf;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.literal.Literal;
5import tools.refinery.store.query.term.Variable;
6
7import java.util.List;
8import java.util.Set;
9
10public record DnfClause(Set<Variable> boundVariables, List<Literal> literals) {
11 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, DnfClause other) {
12 int size = literals.size();
13 if (size != other.literals.size()) {
14 return false;
15 }
16 for (int i = 0; i < size; i++) {
17 if (!literals.get(i).equalsWithSubstitution(helper, other.literals.get(i))) {
18 return false;
19 }
20 }
21 return true;
22 }
23}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/DNFUtils.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfUtils.java
index 0ef77d49..9bcf944c 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/DNFUtils.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfUtils.java
@@ -1,9 +1,9 @@
1package tools.refinery.store.query; 1package tools.refinery.store.query.dnf;
2 2
3import java.util.UUID; 3import java.util.UUID;
4 4
5public final class DNFUtils { 5public final class DnfUtils {
6 private DNFUtils() { 6 private DnfUtils() {
7 throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); 7 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
8 } 8 }
9 9
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/FunctionalDependency.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalDependency.java
index 63a81713..f4cd109f 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/FunctionalDependency.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalDependency.java
@@ -1,4 +1,4 @@
1package tools.refinery.store.query; 1package tools.refinery.store.query.dnf;
2 2
3import java.util.HashSet; 3import java.util.HashSet;
4import java.util.Set; 4import java.util.Set;
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQuery.java
new file mode 100644
index 00000000..5bf6f8c5
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQuery.java
@@ -0,0 +1,103 @@
1package tools.refinery.store.query.dnf;
2
3import tools.refinery.store.query.literal.CallPolarity;
4import tools.refinery.store.query.term.*;
5
6import java.util.ArrayList;
7import java.util.List;
8import java.util.Objects;
9
10public final class FunctionalQuery<T> implements Query<T> {
11 private final Dnf dnf;
12 private final Class<T> type;
13
14 FunctionalQuery(Dnf dnf, Class<T> type) {
15 var parameters = dnf.getParameters();
16 int outputIndex = dnf.arity() - 1;
17 for (int i = 0; i < outputIndex; i++) {
18 var parameter = parameters.get(i);
19 if (!(parameter instanceof NodeVariable)) {
20 throw new IllegalArgumentException("Expected parameter %s of %s to be of sort %s, but got %s instead"
21 .formatted(parameter, dnf, NodeSort.INSTANCE, parameter.getSort()));
22 }
23 }
24 var outputParameter = parameters.get(outputIndex);
25 if (!(outputParameter instanceof DataVariable<?> dataOutputParameter) ||
26 !dataOutputParameter.getType().equals(type)) {
27 throw new IllegalArgumentException("Expected parameter %s of %s to be of sort %s, but got %s instead"
28 .formatted(outputParameter, dnf, type, outputParameter.getSort()));
29 }
30 this.dnf = dnf;
31 this.type = type;
32 }
33
34 @Override
35 public String name() {
36 return dnf.name();
37 }
38
39 @Override
40 public int arity() {
41 return dnf.arity() - 1;
42 }
43
44 @Override
45 public Class<T> valueType() {
46 return type;
47 }
48
49 @Override
50 public T defaultValue() {
51 return null;
52 }
53
54 @Override
55 public Dnf getDnf() {
56 return dnf;
57 }
58
59 public AssignedValue<T> call(List<NodeVariable> arguments) {
60 return targetVariable -> {
61 var argumentsWithTarget = new ArrayList<Variable>(arguments.size() + 1);
62 argumentsWithTarget.addAll(arguments);
63 argumentsWithTarget.add(targetVariable);
64 return dnf.call(CallPolarity.POSITIVE, argumentsWithTarget);
65 };
66 }
67
68 public AssignedValue<T> call(NodeVariable... arguments) {
69 return call(List.of(arguments));
70 }
71
72 public <R> AssignedValue<R> aggregate(Aggregator<R, T> aggregator, List<NodeVariable> arguments) {
73 return targetVariable -> {
74 var placeholderVariable = Variable.of(type);
75 var argumentsWithPlaceholder = new ArrayList<Variable>(arguments.size() + 1);
76 argumentsWithPlaceholder.addAll(arguments);
77 argumentsWithPlaceholder.add(placeholderVariable);
78 return dnf.aggregate(placeholderVariable, aggregator, argumentsWithPlaceholder).toLiteral(targetVariable);
79 };
80 }
81
82 public <R> AssignedValue<R> aggregate(Aggregator<R, T> aggregator, NodeVariable... arguments) {
83 return aggregate(aggregator, List.of(arguments));
84 }
85
86 @Override
87 public boolean equals(Object o) {
88 if (this == o) return true;
89 if (o == null || getClass() != o.getClass()) return false;
90 FunctionalQuery<?> that = (FunctionalQuery<?>) o;
91 return dnf.equals(that.dnf) && type.equals(that.type);
92 }
93
94 @Override
95 public int hashCode() {
96 return Objects.hash(dnf, type);
97 }
98
99 @Override
100 public String toString() {
101 return dnf.toString();
102 }
103}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQueryBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQueryBuilder.java
new file mode 100644
index 00000000..ca2bc006
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQueryBuilder.java
@@ -0,0 +1,46 @@
1package tools.refinery.store.query.dnf;
2
3import tools.refinery.store.query.literal.Literal;
4import tools.refinery.store.query.term.Variable;
5
6import java.util.Collection;
7import java.util.Set;
8
9public final class FunctionalQueryBuilder<T> {
10 private final DnfBuilder dnfBuilder;
11 private final Class<T> type;
12
13 FunctionalQueryBuilder(DnfBuilder dnfBuilder, Class<T> type) {
14 this.dnfBuilder = dnfBuilder;
15 this.type = type;
16 }
17
18 public FunctionalQueryBuilder<T> functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) {
19 dnfBuilder.functionalDependencies(functionalDependencies);
20 return this;
21 }
22
23 public FunctionalQueryBuilder<T> functionalDependency(FunctionalDependency<Variable> functionalDependency) {
24 dnfBuilder.functionalDependency(functionalDependency);
25 return this;
26 }
27
28 public FunctionalQueryBuilder<T> functionalDependency(Set<? extends Variable> forEach, Set<? extends Variable> unique) {
29 dnfBuilder.functionalDependency(forEach, unique);
30 return this;
31 }
32
33 public FunctionalQueryBuilder<T> clause(Literal... literals) {
34 dnfBuilder.clause(literals);
35 return this;
36 }
37
38 public FunctionalQueryBuilder<T> clause(Collection<? extends Literal> literals) {
39 dnfBuilder.clause(literals);
40 return this;
41 }
42
43 public FunctionalQuery<T> build() {
44 return dnfBuilder.build().asFunction(type);
45 }
46}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Query.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Query.java
new file mode 100644
index 00000000..32e33052
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Query.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.dnf;
2
3public sealed interface Query<T> extends AnyQuery permits RelationalQuery, FunctionalQuery {
4 @Override
5 Class<T> valueType();
6
7 T defaultValue();
8
9 static QueryBuilder builder() {
10 return new QueryBuilder();
11 }
12
13 static QueryBuilder builder(String name) {
14 return new QueryBuilder(name);
15 }
16}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/QueryBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/QueryBuilder.java
new file mode 100644
index 00000000..ed253cc9
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/QueryBuilder.java
@@ -0,0 +1,71 @@
1package tools.refinery.store.query.dnf;
2
3import tools.refinery.store.query.literal.Literal;
4import tools.refinery.store.query.term.DataVariable;
5import tools.refinery.store.query.term.NodeVariable;
6import tools.refinery.store.query.term.Variable;
7
8import java.util.Collection;
9import java.util.List;
10import java.util.Set;
11
12public final class QueryBuilder {
13 private final DnfBuilder dnfBuilder;
14
15 QueryBuilder(String name) {
16 dnfBuilder = Dnf.builder(name);
17 }
18
19 QueryBuilder() {
20 dnfBuilder = Dnf.builder();
21 }
22
23 public QueryBuilder parameter(NodeVariable variable) {
24 dnfBuilder.parameter(variable);
25 return this;
26 }
27
28 public QueryBuilder parameters(NodeVariable... variables) {
29 dnfBuilder.parameters(variables);
30 return this;
31 }
32
33 public QueryBuilder parameters(List<NodeVariable> variables) {
34 dnfBuilder.parameters(variables);
35 return this;
36 }
37
38 public <T> FunctionalQueryBuilder<T> output(DataVariable<T> outputVariable) {
39 dnfBuilder.output(outputVariable);
40 return new FunctionalQueryBuilder<>(dnfBuilder, outputVariable.getType());
41 }
42
43 public QueryBuilder functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) {
44 dnfBuilder.functionalDependencies(functionalDependencies);
45 return this;
46 }
47
48 public QueryBuilder functionalDependency(FunctionalDependency<Variable> functionalDependency) {
49 dnfBuilder.functionalDependency(functionalDependency);
50 return this;
51 }
52
53 public QueryBuilder functionalDependency(Set<? extends Variable> forEach, Set<? extends Variable> unique) {
54 dnfBuilder.functionalDependency(forEach, unique);
55 return this;
56 }
57
58 public QueryBuilder clause(Literal... literals) {
59 dnfBuilder.clause(literals);
60 return this;
61 }
62
63 public QueryBuilder clause(Collection<? extends Literal> literals) {
64 dnfBuilder.clause(literals);
65 return this;
66 }
67
68 public RelationalQuery build() {
69 return dnfBuilder.build().asRelation();
70 }
71}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java
new file mode 100644
index 00000000..5307e509
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java
@@ -0,0 +1,93 @@
1package tools.refinery.store.query.dnf;
2
3import tools.refinery.store.query.literal.CallLiteral;
4import tools.refinery.store.query.literal.CallPolarity;
5import tools.refinery.store.query.term.AssignedValue;
6import tools.refinery.store.query.term.NodeSort;
7import tools.refinery.store.query.term.NodeVariable;
8
9import java.util.Collections;
10import java.util.List;
11import java.util.Objects;
12
13public final class RelationalQuery implements Query<Boolean> {
14 private final Dnf dnf;
15
16 RelationalQuery(Dnf dnf) {
17 for (var parameter : dnf.getParameters()) {
18 if (!(parameter instanceof NodeVariable)) {
19 throw new IllegalArgumentException("Expected parameter %s of %s to be of sort %s, but got %s instead"
20 .formatted(parameter, dnf, NodeSort.INSTANCE, parameter.getSort()));
21 }
22 }
23 this.dnf = dnf;
24 }
25
26 @Override
27 public String name() {
28 return dnf.name();
29 }
30
31 @Override
32 public int arity() {
33 return dnf.arity();
34 }
35
36 @Override
37 public Class<Boolean> valueType() {
38 return Boolean.class;
39 }
40
41 @Override
42 public Boolean defaultValue() {
43 return false;
44 }
45
46 @Override
47 public Dnf getDnf() {
48 return dnf;
49 }
50
51 public CallLiteral call(CallPolarity polarity, List<NodeVariable> arguments) {
52 return dnf.call(polarity, Collections.unmodifiableList(arguments));
53 }
54
55 public CallLiteral call(CallPolarity polarity, NodeVariable... arguments) {
56 return dnf.call(polarity, arguments);
57 }
58
59 public CallLiteral call(NodeVariable... arguments) {
60 return dnf.call(arguments);
61 }
62
63 public CallLiteral callTransitive(NodeVariable left, NodeVariable right) {
64 return dnf.callTransitive(left, right);
65 }
66
67 public AssignedValue<Integer> count(List<NodeVariable> arguments) {
68 return dnf.count(Collections.unmodifiableList(arguments));
69 }
70
71 public AssignedValue<Integer> count(NodeVariable... arguments) {
72 return dnf.count(arguments);
73 }
74
75
76 @Override
77 public boolean equals(Object o) {
78 if (this == o) return true;
79 if (o == null || getClass() != o.getClass()) return false;
80 RelationalQuery that = (RelationalQuery) o;
81 return dnf.equals(that.dnf);
82 }
83
84 @Override
85 public int hashCode() {
86 return Objects.hash(dnf);
87 }
88
89 @Override
90 public String toString() {
91 return dnf.toString();
92 }
93}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DeepDnfEqualityChecker.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DeepDnfEqualityChecker.java
new file mode 100644
index 00000000..c3bc3ea3
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DeepDnfEqualityChecker.java
@@ -0,0 +1,31 @@
1package tools.refinery.store.query.equality;
2
3import tools.refinery.store.query.dnf.Dnf;
4import tools.refinery.store.util.CycleDetectingMapper;
5
6import java.util.List;
7
8public class DeepDnfEqualityChecker implements DnfEqualityChecker {
9 private final CycleDetectingMapper<Pair, Boolean> mapper = new CycleDetectingMapper<>(Pair::toString,
10 this::doCheckEqual);
11
12 @Override
13 public boolean dnfEqual(Dnf left, Dnf right) {
14 return mapper.map(new Pair(left, right));
15 }
16
17 protected boolean doCheckEqual(Pair pair) {
18 return pair.left.equalsWithSubstitution(this, pair.right);
19 }
20
21 protected List<Pair> getInProgress() {
22 return mapper.getInProgress();
23 }
24
25 protected record Pair(Dnf left, Dnf right) {
26 @Override
27 public String toString() {
28 return "(%s, %s)".formatted(left.name(), right.name());
29 }
30 }
31}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DnfEqualityChecker.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DnfEqualityChecker.java
new file mode 100644
index 00000000..6b1f2076
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DnfEqualityChecker.java
@@ -0,0 +1,8 @@
1package tools.refinery.store.query.equality;
2
3import tools.refinery.store.query.dnf.Dnf;
4
5@FunctionalInterface
6public interface DnfEqualityChecker {
7 boolean dnfEqual(Dnf left, Dnf right);
8}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/LiteralEqualityHelper.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/LiteralEqualityHelper.java
new file mode 100644
index 00000000..07d261ea
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/LiteralEqualityHelper.java
@@ -0,0 +1,48 @@
1package tools.refinery.store.query.equality;
2
3import tools.refinery.store.query.dnf.Dnf;
4import tools.refinery.store.query.term.Variable;
5
6import java.util.HashMap;
7import java.util.List;
8import java.util.Map;
9
10public class LiteralEqualityHelper {
11 private final DnfEqualityChecker dnfEqualityChecker;
12 private final Map<Variable, Variable> leftToRight;
13 private final Map<Variable, Variable> rightToLeft;
14
15 public LiteralEqualityHelper(DnfEqualityChecker dnfEqualityChecker, List<Variable> leftParameters,
16 List<Variable> rightParameters) {
17 this.dnfEqualityChecker = dnfEqualityChecker;
18 var arity = leftParameters.size();
19 if (arity != rightParameters.size()) {
20 throw new IllegalArgumentException("Parameter lists have unequal length");
21 }
22 leftToRight = new HashMap<>(arity);
23 rightToLeft = new HashMap<>(arity);
24 for (int i = 0; i < arity; i++) {
25 if (!variableEqual(leftParameters.get(i), rightParameters.get(i))) {
26 throw new IllegalArgumentException("Parameter lists cannot be unified: duplicate parameter " + i);
27 }
28 }
29 }
30
31 public boolean dnfEqual(Dnf left, Dnf right) {
32 return dnfEqualityChecker.dnfEqual(left, right);
33 }
34
35 public boolean variableEqual(Variable left, Variable right) {
36 if (checkMapping(leftToRight, left, right) && checkMapping(rightToLeft, right, left)) {
37 leftToRight.put(left, right);
38 rightToLeft.put(right, left);
39 return true;
40 }
41 return false;
42 }
43
44 private static boolean checkMapping(Map<Variable, Variable> map, Variable key, Variable expectedValue) {
45 var currentValue = map.get(key);
46 return currentValue == null || currentValue.equals(expectedValue);
47 }
48}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AbstractCallLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AbstractCallLiteral.java
new file mode 100644
index 00000000..657ca26b
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AbstractCallLiteral.java
@@ -0,0 +1,80 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.Constraint;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.substitution.Substitution;
6import tools.refinery.store.query.term.Variable;
7
8import java.util.List;
9import java.util.Objects;
10
11public abstract class AbstractCallLiteral implements Literal {
12 private final Constraint target;
13 private final List<Variable> arguments;
14
15 protected AbstractCallLiteral(Constraint target, List<Variable> arguments) {
16 int arity = target.arity();
17 if (arguments.size() != arity) {
18 throw new IllegalArgumentException("%s needs %d arguments, but got %s".formatted(target.name(),
19 target.arity(), arguments.size()));
20 }
21 this.target = target;
22 this.arguments = arguments;
23 var sorts = target.getSorts();
24 for (int i = 0; i < arity; i++) {
25 var argument = arguments.get(i);
26 var sort = sorts.get(i);
27 if (!sort.isInstance(argument)) {
28 throw new IllegalArgumentException("Required argument %d of %s to be of sort %s, but got %s instead"
29 .formatted(i, target, sort, argument.getSort()));
30 }
31 }
32 }
33
34 public Constraint getTarget() {
35 return target;
36 }
37
38 public List<Variable> getArguments() {
39 return arguments;
40 }
41
42 @Override
43 public Literal substitute(Substitution substitution) {
44 var substitutedArguments = arguments.stream().map(substitution::getSubstitute).toList();
45 return doSubstitute(substitution, substitutedArguments);
46 }
47
48 protected abstract Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments);
49
50 @Override
51 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
52 if (other == null || getClass() != other.getClass()) {
53 return false;
54 }
55 var otherCallLiteral = (AbstractCallLiteral) other;
56 var arity = arguments.size();
57 if (arity != otherCallLiteral.arguments.size()) {
58 return false;
59 }
60 for (int i = 0; i < arity; i++) {
61 if (!helper.variableEqual(arguments.get(i), otherCallLiteral.arguments.get(i))) {
62 return false;
63 }
64 }
65 return target.equals(helper, otherCallLiteral.target);
66 }
67
68 @Override
69 public boolean equals(Object o) {
70 if (this == o) return true;
71 if (o == null || getClass() != o.getClass()) return false;
72 AbstractCallLiteral that = (AbstractCallLiteral) o;
73 return target.equals(that.target) && arguments.equals(that.arguments);
74 }
75
76 @Override
77 public int hashCode() {
78 return Objects.hash(target, arguments);
79 }
80}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AggregationLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AggregationLiteral.java
new file mode 100644
index 00000000..df64839c
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AggregationLiteral.java
@@ -0,0 +1,113 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.Constraint;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.substitution.Substitution;
6import tools.refinery.store.query.term.Aggregator;
7import tools.refinery.store.query.term.DataVariable;
8import tools.refinery.store.query.term.Variable;
9
10import java.util.List;
11import java.util.Objects;
12import java.util.Set;
13
14public class AggregationLiteral<R, T> extends AbstractCallLiteral {
15 private final DataVariable<R> resultVariable;
16 private final DataVariable<T> inputVariable;
17 private final Aggregator<R, T> aggregator;
18
19 public AggregationLiteral(DataVariable<R> resultVariable, Aggregator<R, T> aggregator,
20 DataVariable<T> inputVariable, Constraint target, List<Variable> arguments) {
21 super(target, arguments);
22 if (!inputVariable.getType().equals(aggregator.getInputType())) {
23 throw new IllegalArgumentException("Input variable %s must of type %s, got %s instead".formatted(
24 inputVariable, aggregator.getInputType().getName(), inputVariable.getType().getName()));
25 }
26 if (!resultVariable.getType().equals(aggregator.getResultType())) {
27 throw new IllegalArgumentException("Result variable %s must of type %s, got %s instead".formatted(
28 resultVariable, aggregator.getResultType().getName(), resultVariable.getType().getName()));
29 }
30 if (!arguments.contains(inputVariable)) {
31 throw new IllegalArgumentException("Input variable %s must appear in the argument list".formatted(
32 inputVariable));
33 }
34 if (arguments.contains(resultVariable)) {
35 throw new IllegalArgumentException("Result variable %s must not appear in the argument list".formatted(
36 resultVariable));
37 }
38 this.resultVariable = resultVariable;
39 this.inputVariable = inputVariable;
40 this.aggregator = aggregator;
41 }
42
43 public DataVariable<R> getResultVariable() {
44 return resultVariable;
45 }
46
47 public DataVariable<T> getInputVariable() {
48 return inputVariable;
49 }
50
51 public Aggregator<R, T> getAggregator() {
52 return aggregator;
53 }
54
55 @Override
56 public Set<Variable> getBoundVariables() {
57 return Set.of(resultVariable);
58 }
59
60 @Override
61 protected Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments) {
62 return new AggregationLiteral<>(substitution.getTypeSafeSubstitute(resultVariable), aggregator,
63 substitution.getTypeSafeSubstitute(inputVariable), getTarget(), substitutedArguments);
64 }
65
66 @Override
67 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
68 if (!super.equalsWithSubstitution(helper, other)) {
69 return false;
70 }
71 var otherAggregationLiteral = (AggregationLiteral<?, ?>) other;
72 return helper.variableEqual(resultVariable, otherAggregationLiteral.resultVariable) &&
73 aggregator.equals(otherAggregationLiteral.aggregator) &&
74 helper.variableEqual(inputVariable, otherAggregationLiteral.inputVariable);
75 }
76
77 @Override
78 public boolean equals(Object o) {
79 if (this == o) return true;
80 if (o == null || getClass() != o.getClass()) return false;
81 if (!super.equals(o)) return false;
82 AggregationLiteral<?, ?> that = (AggregationLiteral<?, ?>) o;
83 return resultVariable.equals(that.resultVariable) && inputVariable.equals(that.inputVariable) &&
84 aggregator.equals(that.aggregator);
85 }
86
87 @Override
88 public int hashCode() {
89 return Objects.hash(super.hashCode(), resultVariable, inputVariable, aggregator);
90 }
91
92 @Override
93 public String toString() {
94 var builder = new StringBuilder();
95 builder.append(resultVariable);
96 builder.append(" is ");
97 builder.append(getTarget().toReferenceString());
98 builder.append("(");
99 var argumentIterator = getArguments().iterator();
100 if (argumentIterator.hasNext()) {
101 var argument = argumentIterator.next();
102 if (inputVariable.equals(argument)) {
103 builder.append("@Aggregate(\"").append(aggregator).append("\") ");
104 }
105 builder.append(argument);
106 while (argumentIterator.hasNext()) {
107 builder.append(", ").append(argumentIterator.next());
108 }
109 }
110 builder.append(")");
111 return builder.toString();
112 }
113}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssignLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssignLiteral.java
new file mode 100644
index 00000000..52ac42d7
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssignLiteral.java
@@ -0,0 +1,44 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.term.DataVariable;
6import tools.refinery.store.query.term.Term;
7import tools.refinery.store.query.term.Variable;
8
9import java.util.Set;
10
11public record AssignLiteral<T>(DataVariable<T> variable, Term<T> term) implements Literal {
12 public AssignLiteral {
13 if (!term.getType().equals(variable.getType())) {
14 throw new IllegalArgumentException("Term %s must be of type %s, got %s instead".formatted(
15 term, variable.getType().getName(), term.getType().getName()));
16 }
17 }
18
19 @Override
20 public Set<Variable> getBoundVariables() {
21 return Set.of(variable);
22 }
23
24 @Override
25 public Literal substitute(Substitution substitution) {
26 return new AssignLiteral<>(substitution.getTypeSafeSubstitute(variable), term.substitute(substitution));
27 }
28
29 @Override
30 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
31 if (other == null || getClass() != other.getClass()) {
32 return false;
33 }
34 var otherLetLiteral = (AssignLiteral<?>) other;
35 return helper.variableEqual(variable, otherLetLiteral.variable) && term.equalsWithSubstitution(helper,
36 otherLetLiteral.term);
37 }
38
39
40 @Override
41 public String toString() {
42 return "%s is (%s)".formatted(variable, term);
43 }
44}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssumeLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssumeLiteral.java
new file mode 100644
index 00000000..0b4267b4
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssumeLiteral.java
@@ -0,0 +1,53 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.term.Term;
6import tools.refinery.store.query.term.Variable;
7import tools.refinery.store.query.term.bool.BoolConstantTerm;
8
9import java.util.Set;
10
11public record AssumeLiteral(Term<Boolean> term) implements Literal {
12 public AssumeLiteral {
13 if (!term.getType().equals(Boolean.class)) {
14 throw new IllegalArgumentException("Term %s must be of type %s, got %s instead".formatted(
15 term, Boolean.class.getName(), term.getType().getName()));
16 }
17 }
18
19 @Override
20 public Set<Variable> getBoundVariables() {
21 return Set.of();
22 }
23
24 @Override
25 public Literal substitute(Substitution substitution) {
26 return new AssumeLiteral(term.substitute(substitution));
27 }
28
29 @Override
30 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
31 if (other == null || getClass() != other.getClass()) {
32 return false;
33 }
34 var otherAssumeLiteral = (AssumeLiteral) other;
35 return term.equalsWithSubstitution(helper, otherAssumeLiteral.term);
36 }
37
38 @Override
39 public LiteralReduction getReduction() {
40 if (BoolConstantTerm.TRUE.equals(term)) {
41 return LiteralReduction.ALWAYS_TRUE;
42 } else if (BoolConstantTerm.FALSE.equals(term)) {
43 return LiteralReduction.ALWAYS_FALSE;
44 } else {
45 return LiteralReduction.NOT_REDUCIBLE;
46 }
47 }
48
49 @Override
50 public String toString() {
51 return "(%s)".formatted(term);
52 }
53}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/BooleanLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/BooleanLiteral.java
new file mode 100644
index 00000000..38be61a4
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/BooleanLiteral.java
@@ -0,0 +1,53 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.term.Variable;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.substitution.Substitution;
6
7import java.util.Set;
8
9public enum BooleanLiteral implements CanNegate<BooleanLiteral> {
10 TRUE(true),
11 FALSE(false);
12
13 private final boolean value;
14
15 BooleanLiteral(boolean value) {
16 this.value = value;
17 }
18
19 @Override
20 public Set<Variable> getBoundVariables() {
21 return Set.of();
22 }
23
24 @Override
25 public Literal substitute(Substitution substitution) {
26 // No variables to substitute.
27 return this;
28 }
29
30 @Override
31 public LiteralReduction getReduction() {
32 return value ? LiteralReduction.ALWAYS_TRUE : LiteralReduction.ALWAYS_FALSE;
33 }
34
35 @Override
36 public BooleanLiteral negate() {
37 return fromBoolean(!value);
38 }
39
40 @Override
41 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
42 return equals(other);
43 }
44
45 @Override
46 public String toString() {
47 return Boolean.toString(value);
48 }
49
50 public static BooleanLiteral fromBoolean(boolean value) {
51 return value ? TRUE : FALSE;
52 }
53}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallLiteral.java
new file mode 100644
index 00000000..78fae7f5
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallLiteral.java
@@ -0,0 +1,102 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.Constraint;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.substitution.Substitution;
6import tools.refinery.store.query.term.NodeSort;
7import tools.refinery.store.query.term.Variable;
8
9import java.util.List;
10import java.util.Objects;
11import java.util.Set;
12
13public final class CallLiteral extends AbstractCallLiteral implements CanNegate<CallLiteral> {
14 private final CallPolarity polarity;
15
16 public CallLiteral(CallPolarity polarity, Constraint target, List<Variable> arguments) {
17 super(target, arguments);
18 if (polarity.isTransitive()) {
19 if (target.arity() != 2) {
20 throw new IllegalArgumentException("Transitive closures can only take binary relations");
21 }
22 var sorts = target.getSorts();
23 if (!sorts.get(0).equals(NodeSort.INSTANCE) || !sorts.get(1).equals(NodeSort.INSTANCE)) {
24 throw new IllegalArgumentException("Transitive closures can only be computed over nodes");
25 }
26 }
27 this.polarity = polarity;
28 }
29
30 public CallPolarity getPolarity() {
31 return polarity;
32 }
33
34 @Override
35 public Set<Variable> getBoundVariables() {
36 return polarity.isPositive() ? Set.copyOf(getArguments()) : Set.of();
37 }
38
39 @Override
40 protected Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments) {
41 return new CallLiteral(polarity, getTarget(), substitutedArguments);
42 }
43
44 @Override
45 public LiteralReduction getReduction() {
46 var reduction = getTarget().getReduction();
47 return polarity.isPositive() ? reduction : reduction.negate();
48 }
49
50 @Override
51 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
52 if (!super.equalsWithSubstitution(helper, other)) {
53 return false;
54 }
55 var otherCallLiteral = (CallLiteral) other;
56 return polarity.equals(otherCallLiteral.polarity);
57 }
58
59 @Override
60 public CallLiteral negate() {
61 return new CallLiteral(polarity.negate(), getTarget(), getArguments());
62 }
63
64 @Override
65 public boolean equals(Object o) {
66 if (this == o) return true;
67 if (o == null || getClass() != o.getClass()) return false;
68 if (!super.equals(o)) return false;
69 CallLiteral that = (CallLiteral) o;
70 return polarity == that.polarity;
71 }
72
73 @Override
74 public int hashCode() {
75 return Objects.hash(super.hashCode(), polarity);
76 }
77
78 @Override
79 public String toString() {
80 var builder = new StringBuilder();
81 if (!polarity.isPositive()) {
82 builder.append("!(");
83 }
84 builder.append(getTarget().toReferenceString());
85 if (polarity.isTransitive()) {
86 builder.append("+");
87 }
88 builder.append("(");
89 var argumentIterator = getArguments().iterator();
90 if (argumentIterator.hasNext()) {
91 builder.append(argumentIterator.next());
92 while (argumentIterator.hasNext()) {
93 builder.append(", ").append(argumentIterator.next());
94 }
95 }
96 builder.append(")");
97 if (!polarity.isPositive()) {
98 builder.append(")");
99 }
100 return builder.toString();
101 }
102}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallPolarity.java
index 957e9b7b..84b4b771 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallPolarity.java
@@ -1,4 +1,4 @@
1package tools.refinery.store.query.atom; 1package tools.refinery.store.query.literal;
2 2
3public enum CallPolarity { 3public enum CallPolarity {
4 POSITIVE(true, false), 4 POSITIVE(true, false),
@@ -22,7 +22,11 @@ public enum CallPolarity {
22 return transitive; 22 return transitive;
23 } 23 }
24 24
25 public static CallPolarity fromBoolean(boolean positive) { 25 public CallPolarity negate() {
26 return positive ? POSITIVE : NEGATIVE; 26 return switch (this) {
27 case POSITIVE -> NEGATIVE;
28 case NEGATIVE -> POSITIVE;
29 case TRANSITIVE -> throw new IllegalArgumentException("Transitive polarity cannot be negated");
30 };
27 } 31 }
28} 32}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CanNegate.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CanNegate.java
new file mode 100644
index 00000000..3e159c43
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CanNegate.java
@@ -0,0 +1,5 @@
1package tools.refinery.store.query.literal;
2
3public interface CanNegate<T extends CanNegate<T>> extends Literal {
4 T negate();
5}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java
new file mode 100644
index 00000000..93fa3df0
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java
@@ -0,0 +1,34 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.term.NodeVariable;
6import tools.refinery.store.query.term.Variable;
7
8import java.util.Set;
9
10public record ConstantLiteral(NodeVariable variable, int nodeId) implements Literal {
11 @Override
12 public Set<Variable> getBoundVariables() {
13 return Set.of(variable);
14 }
15
16 @Override
17 public ConstantLiteral substitute(Substitution substitution) {
18 return new ConstantLiteral(substitution.getTypeSafeSubstitute(variable), nodeId);
19 }
20
21 @Override
22 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
23 if (other.getClass() != getClass()) {
24 return false;
25 }
26 var otherConstantLiteral = (ConstantLiteral) other;
27 return helper.variableEqual(variable, otherConstantLiteral.variable) && nodeId == otherConstantLiteral.nodeId;
28 }
29
30 @Override
31 public String toString() {
32 return "%s === @Constant %d".formatted(variable, nodeId);
33 }
34}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CountLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CountLiteral.java
new file mode 100644
index 00000000..32e7ba3a
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CountLiteral.java
@@ -0,0 +1,83 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.Constraint;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.substitution.Substitution;
6import tools.refinery.store.query.term.DataVariable;
7import tools.refinery.store.query.term.Variable;
8
9import java.util.List;
10import java.util.Objects;
11import java.util.Set;
12
13public class CountLiteral extends AbstractCallLiteral {
14 private final DataVariable<Integer> resultVariable;
15
16 public CountLiteral(DataVariable<Integer> resultVariable, Constraint target, List<Variable> arguments) {
17 super(target, arguments);
18 if (!resultVariable.getType().equals(Integer.class)) {
19 throw new IllegalArgumentException("Count result variable %s must be of type %s, got %s instead".formatted(
20 resultVariable, Integer.class.getName(), resultVariable.getType().getName()));
21 }
22 if (arguments.contains(resultVariable)) {
23 throw new IllegalArgumentException("Count result variable %s must not appear in the argument list"
24 .formatted(resultVariable));
25 }
26 this.resultVariable = resultVariable;
27 }
28
29 public DataVariable<Integer> getResultVariable() {
30 return resultVariable;
31 }
32
33 @Override
34 public Set<Variable> getBoundVariables() {
35 return Set.of(resultVariable);
36 }
37
38 @Override
39 protected Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments) {
40 return new CountLiteral(substitution.getTypeSafeSubstitute(resultVariable), getTarget(), substitutedArguments);
41 }
42
43 @Override
44 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
45 if (!super.equalsWithSubstitution(helper, other)) {
46 return false;
47 }
48 var otherCountLiteral = (CountLiteral) other;
49 return helper.variableEqual(resultVariable, otherCountLiteral.resultVariable);
50 }
51
52 @Override
53 public boolean equals(Object o) {
54 if (this == o) return true;
55 if (o == null || getClass() != o.getClass()) return false;
56 if (!super.equals(o)) return false;
57 CountLiteral that = (CountLiteral) o;
58 return resultVariable.equals(that.resultVariable);
59 }
60
61 @Override
62 public int hashCode() {
63 return Objects.hash(super.hashCode(), resultVariable);
64 }
65
66 @Override
67 public String toString() {
68 var builder = new StringBuilder();
69 builder.append(resultVariable);
70 builder.append(" is count ");
71 builder.append(getTarget().toReferenceString());
72 builder.append("(");
73 var argumentIterator = getArguments().iterator();
74 if (argumentIterator.hasNext()) {
75 builder.append(argumentIterator.next());
76 while (argumentIterator.hasNext()) {
77 builder.append(", ").append(argumentIterator.next());
78 }
79 }
80 builder.append(")");
81 return builder.toString();
82 }
83}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/EquivalenceLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/EquivalenceLiteral.java
new file mode 100644
index 00000000..4dc86b98
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/EquivalenceLiteral.java
@@ -0,0 +1,52 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.term.NodeVariable;
4import tools.refinery.store.query.term.Variable;
5import tools.refinery.store.query.equality.LiteralEqualityHelper;
6import tools.refinery.store.query.substitution.Substitution;
7
8import java.util.Set;
9
10public record EquivalenceLiteral(boolean positive, NodeVariable left, NodeVariable right)
11 implements CanNegate<EquivalenceLiteral> {
12 @Override
13 public Set<Variable> getBoundVariables() {
14 // If one side of a {@code positive} equivalence is bound, it may bind its other side, but we under-approximate
15 // this behavior by not binding any of the sides by default.
16 return Set.of();
17 }
18
19 @Override
20 public EquivalenceLiteral negate() {
21 return new EquivalenceLiteral(!positive, left, right);
22 }
23
24 @Override
25 public EquivalenceLiteral substitute(Substitution substitution) {
26 return new EquivalenceLiteral(positive, substitution.getTypeSafeSubstitute(left),
27 substitution.getTypeSafeSubstitute(right));
28 }
29
30 @Override
31 public LiteralReduction getReduction() {
32 if (left.equals(right)) {
33 return positive ? LiteralReduction.ALWAYS_TRUE : LiteralReduction.ALWAYS_FALSE;
34 }
35 return LiteralReduction.NOT_REDUCIBLE;
36 }
37
38 @Override
39 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
40 if (other.getClass() != getClass()) {
41 return false;
42 }
43 var otherEquivalenceLiteral = (EquivalenceLiteral) other;
44 return helper.variableEqual(left, otherEquivalenceLiteral.left) && helper.variableEqual(right,
45 otherEquivalenceLiteral.right);
46 }
47
48 @Override
49 public String toString() {
50 return "%s %s %s".formatted(left, positive ? "===" : "!==", right);
51 }
52}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literal.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literal.java
new file mode 100644
index 00000000..6347410e
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literal.java
@@ -0,0 +1,20 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.term.Variable;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.substitution.Substitution;
6
7import java.util.Set;
8
9public interface Literal {
10 Set<Variable> getBoundVariables();
11
12 Literal substitute(Substitution substitution);
13
14 default LiteralReduction getReduction() {
15 return LiteralReduction.NOT_REDUCIBLE;
16 }
17
18 @SuppressWarnings("BooleanMethodIsAlwaysInverted")
19 boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other);
20}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/LiteralReduction.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/LiteralReduction.java
new file mode 100644
index 00000000..146089f6
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/LiteralReduction.java
@@ -0,0 +1,26 @@
1package tools.refinery.store.query.literal;
2
3public enum LiteralReduction {
4 /**
5 * Signifies that a literal should be preserved in the clause.
6 */
7 NOT_REDUCIBLE,
8
9 /**
10 * Signifies that the literal may be omitted from the cause (if the model being queried is nonempty).
11 */
12 ALWAYS_TRUE,
13
14 /**
15 * Signifies that the clause with the literal may be omitted entirely.
16 */
17 ALWAYS_FALSE;
18
19 public LiteralReduction negate() {
20 return switch (this) {
21 case NOT_REDUCIBLE -> NOT_REDUCIBLE;
22 case ALWAYS_TRUE -> ALWAYS_FALSE;
23 case ALWAYS_FALSE -> ALWAYS_TRUE;
24 };
25 }
26}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literals.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literals.java
new file mode 100644
index 00000000..89039352
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literals.java
@@ -0,0 +1,17 @@
1package tools.refinery.store.query.literal;
2
3import tools.refinery.store.query.term.Term;
4
5public final class Literals {
6 private Literals() {
7 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
8 }
9
10 public static <T extends CanNegate<T>> T not(CanNegate<T> literal) {
11 return literal.negate();
12 }
13
14 public static AssumeLiteral assume(Term<Boolean> term) {
15 return new AssumeLiteral(term);
16 }
17}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/CompositeSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/CompositeSubstitution.java
new file mode 100644
index 00000000..f8064ca2
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/CompositeSubstitution.java
@@ -0,0 +1,10 @@
1package tools.refinery.store.query.substitution;
2
3import tools.refinery.store.query.term.Variable;
4
5public record CompositeSubstitution(Substitution first, Substitution second) implements Substitution {
6 @Override
7 public Variable getSubstitute(Variable variable) {
8 return second.getSubstitute(first.getSubstitute(variable));
9 }
10}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/MapBasedSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/MapBasedSubstitution.java
new file mode 100644
index 00000000..c7754619
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/MapBasedSubstitution.java
@@ -0,0 +1,13 @@
1package tools.refinery.store.query.substitution;
2
3import tools.refinery.store.query.term.Variable;
4
5import java.util.Map;
6
7public record MapBasedSubstitution(Map<Variable, Variable> map, Substitution fallback) implements Substitution {
8 @Override
9 public Variable getSubstitute(Variable variable) {
10 var value = map.get(variable);
11 return value == null ? fallback.getSubstitute(variable) : value;
12 }
13}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/RenewingSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/RenewingSubstitution.java
new file mode 100644
index 00000000..7847e582
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/RenewingSubstitution.java
@@ -0,0 +1,15 @@
1package tools.refinery.store.query.substitution;
2
3import tools.refinery.store.query.term.Variable;
4
5import java.util.HashMap;
6import java.util.Map;
7
8public class RenewingSubstitution implements Substitution {
9 private final Map<Variable, Variable> alreadyRenewed = new HashMap<>();
10
11 @Override
12 public Variable getSubstitute(Variable variable) {
13 return alreadyRenewed.computeIfAbsent(variable, Variable::renew);
14 }
15}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/StatelessSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/StatelessSubstitution.java
new file mode 100644
index 00000000..eed414d9
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/StatelessSubstitution.java
@@ -0,0 +1,18 @@
1package tools.refinery.store.query.substitution;
2
3import tools.refinery.store.query.term.Variable;
4
5public enum StatelessSubstitution implements Substitution {
6 FAILING {
7 @Override
8 public Variable getSubstitute(Variable variable) {
9 throw new IllegalArgumentException("No substitute for " + variable);
10 }
11 },
12 IDENTITY {
13 @Override
14 public Variable getSubstitute(Variable variable) {
15 return variable;
16 }
17 }
18}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitution.java
new file mode 100644
index 00000000..99f84b9e
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitution.java
@@ -0,0 +1,29 @@
1package tools.refinery.store.query.substitution;
2
3import tools.refinery.store.query.term.AnyDataVariable;
4import tools.refinery.store.query.term.DataVariable;
5import tools.refinery.store.query.term.NodeVariable;
6import tools.refinery.store.query.term.Variable;
7
8@FunctionalInterface
9public interface Substitution {
10 Variable getSubstitute(Variable variable);
11
12 default NodeVariable getTypeSafeSubstitute(NodeVariable variable) {
13 var substitute = getSubstitute(variable);
14 return substitute.asNodeVariable();
15 }
16
17 default AnyDataVariable getTypeSafeSubstitute(AnyDataVariable variable) {
18 return getTypeSafeSubstitute((DataVariable<?>) variable);
19 }
20
21 default <T> DataVariable<T> getTypeSafeSubstitute(DataVariable<T> variable) {
22 var substitute = getSubstitute(variable);
23 return substitute.asDataVariable(variable.getType());
24 }
25
26 default Substitution andThen(Substitution second) {
27 return new CompositeSubstitution(this, second);
28 }
29}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitutions.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitutions.java
new file mode 100644
index 00000000..5d4654da
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitutions.java
@@ -0,0 +1,33 @@
1package tools.refinery.store.query.substitution;
2
3import org.jetbrains.annotations.NotNull;
4import org.jetbrains.annotations.Nullable;
5import tools.refinery.store.query.term.Variable;
6
7import java.util.Map;
8
9public final class Substitutions {
10 private Substitutions() {
11 throw new IllegalStateException("This is a static utility class and should not be instantiate directly");
12 }
13
14 public static Substitution total(Map<Variable, Variable> map) {
15 return new MapBasedSubstitution(map, StatelessSubstitution.FAILING);
16 }
17
18 public static Substitution partial(Map<Variable, Variable> map) {
19 return new MapBasedSubstitution(map, StatelessSubstitution.IDENTITY);
20 }
21
22 public static Substitution renewing(Map<Variable, Variable> map) {
23 return new MapBasedSubstitution(map, renewing());
24 }
25
26 public static Substitution renewing() {
27 return new RenewingSubstitution();
28 }
29
30 public static Substitution compose(@Nullable Substitution first, @NotNull Substitution second) {
31 return first == null ? second : first.andThen(second);
32 }
33}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Aggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Aggregator.java
new file mode 100644
index 00000000..47421a94
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Aggregator.java
@@ -0,0 +1,13 @@
1package tools.refinery.store.query.term;
2
3import java.util.stream.Stream;
4
5public interface Aggregator<R, T> {
6 Class<R> getResultType();
7
8 Class<T> getInputType();
9
10 R aggregateStream(Stream<T> stream);
11
12 R getEmptyResult();
13}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyDataVariable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyDataVariable.java
new file mode 100644
index 00000000..ecfefcf9
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyDataVariable.java
@@ -0,0 +1,33 @@
1package tools.refinery.store.query.term;
2
3import org.jetbrains.annotations.Nullable;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5
6import java.util.Set;
7
8public abstract sealed class AnyDataVariable extends Variable implements AnyTerm permits DataVariable {
9 protected AnyDataVariable(String name) {
10 super(name);
11 }
12
13 @Override
14 public NodeVariable asNodeVariable() {
15 throw new IllegalStateException("%s is a data variable".formatted(this));
16 }
17
18 @Override
19 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
20 return other instanceof AnyDataVariable dataVariable && helper.variableEqual(this, dataVariable);
21 }
22
23 @Override
24 public Set<AnyDataVariable> getInputVariables() {
25 return Set.of(this);
26 }
27
28 @Override
29 public abstract AnyDataVariable renew(@Nullable String name);
30
31 @Override
32 public abstract AnyDataVariable renew();
33}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyTerm.java
new file mode 100644
index 00000000..8f998d45
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyTerm.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5
6import java.util.Set;
7
8public sealed interface AnyTerm permits AnyDataVariable, Term {
9 Class<?> getType();
10
11 AnyTerm substitute(Substitution substitution);
12
13 boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other);
14
15 Set<AnyDataVariable> getInputVariables();
16}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryOperator.java
new file mode 100644
index 00000000..8706a046
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryOperator.java
@@ -0,0 +1,26 @@
1package tools.refinery.store.query.term;
2
3public enum ArithmeticBinaryOperator {
4 ADD("+", true),
5 SUB("-", true),
6 MUL("*", true),
7 DIV("/", true),
8 POW("**", true),
9 MIN("min", false),
10 MAX("max", false);
11
12 private final String text;
13 private final boolean infix;
14
15 ArithmeticBinaryOperator(String text, boolean infix) {
16 this.text = text;
17 this.infix = infix;
18 }
19
20 public String formatString(String left, String right) {
21 if (infix) {
22 return "(%s) %s (%s)".formatted(left, text, right);
23 }
24 return "%s(%s, %s)".formatted(text, left, right);
25 }
26}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryTerm.java
new file mode 100644
index 00000000..887a1e6e
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryTerm.java
@@ -0,0 +1,56 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4
5import java.util.Objects;
6
7public abstract class ArithmeticBinaryTerm<T> extends BinaryTerm<T, T, T> {
8 private final ArithmeticBinaryOperator operator;
9
10 protected ArithmeticBinaryTerm(ArithmeticBinaryOperator operator, Term<T> left, Term<T> right) {
11 super(left, right);
12 this.operator = operator;
13 }
14
15 @Override
16 public Class<T> getLeftType() {
17 return getType();
18 }
19
20 @Override
21 public Class<T> getRightType() {
22 return getType();
23 }
24
25 public ArithmeticBinaryOperator getOperator() {
26 return operator;
27 }
28
29 @Override
30 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
31 if (!super.equalsWithSubstitution(helper, other)) {
32 return false;
33 }
34 var otherArithmeticBinaryTerm = (ArithmeticBinaryTerm<?>) other;
35 return operator == otherArithmeticBinaryTerm.operator;
36 }
37
38 @Override
39 public String toString() {
40 return operator.formatString(getLeft().toString(), getRight().toString());
41 }
42
43 @Override
44 public boolean equals(Object o) {
45 if (this == o) return true;
46 if (o == null || getClass() != o.getClass()) return false;
47 if (!super.equals(o)) return false;
48 ArithmeticBinaryTerm<?> that = (ArithmeticBinaryTerm<?>) o;
49 return operator == that.operator;
50 }
51
52 @Override
53 public int hashCode() {
54 return Objects.hash(super.hashCode(), operator);
55 }
56}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryOperator.java
new file mode 100644
index 00000000..6a7c25db
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryOperator.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.term;
2
3public enum ArithmeticUnaryOperator {
4 PLUS("+"),
5 MINUS("-");
6
7 private final String prefix;
8
9 ArithmeticUnaryOperator(String prefix) {
10 this.prefix = prefix;
11 }
12
13 public String formatString(String body) {
14 return "%s(%s)".formatted(prefix, body);
15 }
16}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryTerm.java
new file mode 100644
index 00000000..b78239c7
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryTerm.java
@@ -0,0 +1,51 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4
5import java.util.Objects;
6
7public abstract class ArithmeticUnaryTerm<T> extends UnaryTerm<T, T> {
8 private final ArithmeticUnaryOperator operator;
9
10 protected ArithmeticUnaryTerm(ArithmeticUnaryOperator operator, Term<T> body) {
11 super(body);
12 this.operator = operator;
13 }
14
15 @Override
16 public Class<T> getBodyType() {
17 return getType();
18 }
19
20 public ArithmeticUnaryOperator getOperator() {
21 return operator;
22 }
23
24 @Override
25 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
26 if (!super.equalsWithSubstitution(helper, other)) {
27 return false;
28 }
29 var otherArithmeticUnaryTerm = (ArithmeticUnaryTerm<?>) other;
30 return operator == otherArithmeticUnaryTerm.operator;
31 }
32
33 @Override
34 public String toString() {
35 return operator.formatString(getBody().toString());
36 }
37
38 @Override
39 public boolean equals(Object o) {
40 if (this == o) return true;
41 if (o == null || getClass() != o.getClass()) return false;
42 if (!super.equals(o)) return false;
43 ArithmeticUnaryTerm<?> that = (ArithmeticUnaryTerm<?>) o;
44 return operator == that.operator;
45 }
46
47 @Override
48 public int hashCode() {
49 return Objects.hash(super.hashCode(), operator);
50 }
51}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AssignedValue.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AssignedValue.java
new file mode 100644
index 00000000..465e690f
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AssignedValue.java
@@ -0,0 +1,8 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.literal.Literal;
4
5@FunctionalInterface
6public interface AssignedValue<T> {
7 Literal toLiteral(DataVariable<T> targetVariable);
8}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/BinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/BinaryTerm.java
new file mode 100644
index 00000000..34f48ccc
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/BinaryTerm.java
@@ -0,0 +1,93 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.valuation.Valuation;
6
7import java.util.Collections;
8import java.util.HashSet;
9import java.util.Objects;
10import java.util.Set;
11
12public abstract class BinaryTerm<R, T1, T2> implements Term<R> {
13 private final Term<T1> left;
14 private final Term<T2> right;
15
16 protected BinaryTerm(Term<T1> left, Term<T2> right) {
17 if (!left.getType().equals(getLeftType())) {
18 throw new IllegalArgumentException("Expected left %s to be of type %s, got %s instead".formatted(left,
19 getLeftType().getName(), left.getType().getName()));
20 }
21 if (!right.getType().equals(getRightType())) {
22 throw new IllegalArgumentException("Expected right %s to be of type %s, got %s instead".formatted(right,
23 getRightType().getName(), right.getType().getName()));
24 }
25 this.left = left;
26 this.right = right;
27 }
28
29 public abstract Class<T1> getLeftType();
30
31 public abstract Class<T2> getRightType();
32
33 public Term<T1> getLeft() {
34 return left;
35 }
36
37 public Term<T2> getRight() {
38 return right;
39 }
40
41 @Override
42 public R evaluate(Valuation valuation) {
43 var leftValue = left.evaluate(valuation);
44 if (leftValue == null) {
45 return null;
46 }
47 var rightValue = right.evaluate(valuation);
48 if (rightValue == null) {
49 return null;
50 }
51 return doEvaluate(leftValue, rightValue);
52 }
53
54 protected abstract R doEvaluate(T1 leftValue, T2 rightValue);
55
56 @Override
57 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
58 if (getClass() != other.getClass()) {
59 return false;
60 }
61 var otherBinaryTerm = (BinaryTerm<?, ?, ?>) other;
62 return left.equalsWithSubstitution(helper, otherBinaryTerm.left) && right.equalsWithSubstitution(helper,
63 otherBinaryTerm.right);
64 }
65
66 @Override
67 public Term<R> substitute(Substitution substitution) {
68 return doSubstitute(substitution, left.substitute(substitution), right.substitute(substitution));
69 }
70
71 public abstract Term<R> doSubstitute(Substitution substitution, Term<T1> substitutedLeft,
72 Term<T2> substitutedRight);
73
74 @Override
75 public Set<AnyDataVariable> getInputVariables() {
76 var inputVariables = new HashSet<>(left.getInputVariables());
77 inputVariables.addAll(right.getInputVariables());
78 return Collections.unmodifiableSet(inputVariables);
79 }
80
81 @Override
82 public boolean equals(Object o) {
83 if (this == o) return true;
84 if (o == null || getClass() != o.getClass()) return false;
85 BinaryTerm<?, ?, ?> that = (BinaryTerm<?, ?, ?>) o;
86 return left.equals(that.left) && right.equals(that.right);
87 }
88
89 @Override
90 public int hashCode() {
91 return Objects.hash(getClass(), left, right);
92 }
93}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonOperator.java
new file mode 100644
index 00000000..44dcce10
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonOperator.java
@@ -0,0 +1,20 @@
1package tools.refinery.store.query.term;
2
3public enum ComparisonOperator {
4 EQ("=="),
5 NOT_EQ("!="),
6 LESS("<"),
7 LESS_EQ("<="),
8 GREATER(">"),
9 GREATER_EQ(">=");
10
11 private final String text;
12
13 ComparisonOperator(String text) {
14 this.text = text;
15 }
16
17 public String formatString(String left, String right) {
18 return "(%s) %s (%s)".formatted(left, text, right);
19 }
20}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonTerm.java
new file mode 100644
index 00000000..320d42df
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonTerm.java
@@ -0,0 +1,63 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4
5import java.util.Objects;
6
7public abstract class ComparisonTerm<T> extends BinaryTerm<Boolean, T, T> {
8 private final ComparisonOperator operator;
9
10 protected ComparisonTerm(ComparisonOperator operator, Term<T> left, Term<T> right) {
11 super(left, right);
12 this.operator = operator;
13 }
14
15 @Override
16 public Class<Boolean> getType() {
17 return Boolean.class;
18 }
19
20 public abstract Class<T> getOperandType();
21
22 @Override
23 public Class<T> getLeftType() {
24 return getOperandType();
25 }
26
27 @Override
28 public Class<T> getRightType() {
29 return getOperandType();
30 }
31
32 public ComparisonOperator getOperator() {
33 return operator;
34 }
35
36 @Override
37 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
38 if (!super.equalsWithSubstitution(helper, other)) {
39 return false;
40 }
41 var otherComparisonTerm = (ComparisonTerm<?>) other;
42 return operator == otherComparisonTerm.operator;
43 }
44
45 @Override
46 public String toString() {
47 return operator.formatString(getLeft().toString(), getRight().toString());
48 }
49
50 @Override
51 public boolean equals(Object o) {
52 if (this == o) return true;
53 if (o == null || getClass() != o.getClass()) return false;
54 if (!super.equals(o)) return false;
55 ComparisonTerm<?> that = (ComparisonTerm<?>) o;
56 return operator == that.operator;
57 }
58
59 @Override
60 public int hashCode() {
61 return Objects.hash(super.hashCode(), operator);
62 }
63}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ConstantTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ConstantTerm.java
new file mode 100644
index 00000000..2185fe37
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ConstantTerm.java
@@ -0,0 +1,52 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.valuation.Valuation;
6
7import java.util.Set;
8
9public record ConstantTerm<T>(Class<T> type, T value) implements Term<T> {
10 public ConstantTerm {
11 if (value == null) {
12 throw new IllegalArgumentException("value should not be null");
13 }
14 if (!type.isInstance(value)) {
15 throw new IllegalArgumentException("value %s is not an instance of %s".formatted(value, type.getName()));
16 }
17 }
18
19 @Override
20 public Class<T> getType() {
21 return type;
22 }
23
24 public T getValue() {
25 return value;
26 }
27
28 @Override
29 public T evaluate(Valuation valuation) {
30 return getValue();
31 }
32
33 @Override
34 public Term<T> substitute(Substitution substitution) {
35 return this;
36 }
37
38 @Override
39 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
40 return equals(other);
41 }
42
43 @Override
44 public Set<AnyDataVariable> getInputVariables() {
45 return Set.of();
46 }
47
48 @Override
49 public String toString() {
50 return getValue().toString();
51 }
52}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataSort.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataSort.java
new file mode 100644
index 00000000..4fb44492
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataSort.java
@@ -0,0 +1,29 @@
1package tools.refinery.store.query.term;
2
3import org.jetbrains.annotations.Nullable;
4
5public record DataSort<T>(Class<T> type) implements Sort {
6 public static final DataSort<Integer> INT = new DataSort<>(Integer.class);
7
8 public static final DataSort<Boolean> BOOL = new DataSort<>(Boolean.class);
9
10 @Override
11 public boolean isInstance(Variable variable) {
12 return variable instanceof DataVariable<?> dataVariable && type.equals(dataVariable.getType());
13 }
14
15 @Override
16 public DataVariable<T> newInstance(@Nullable String name) {
17 return Variable.of(name, type);
18 }
19
20 @Override
21 public DataVariable<T> newInstance() {
22 return newInstance(null);
23 }
24
25 @Override
26 public String toString() {
27 return type.getName();
28 }
29}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataVariable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataVariable.java
new file mode 100644
index 00000000..af070ca7
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataVariable.java
@@ -0,0 +1,87 @@
1package tools.refinery.store.query.term;
2
3import org.jetbrains.annotations.Nullable;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.literal.Literal;
6import tools.refinery.store.query.substitution.Substitution;
7import tools.refinery.store.query.valuation.Valuation;
8
9import java.util.Objects;
10
11public final class DataVariable<T> extends AnyDataVariable implements Term<T> {
12 private final Class<T> type;
13
14 DataVariable(String name, Class<T> type) {
15 super(name);
16 this.type = type;
17 }
18
19 @Override
20 public DataSort<T> getSort() {
21 return new DataSort<>(getType());
22 }
23
24 @Override
25 public Class<T> getType() {
26 return type;
27 }
28
29 @Override
30 public DataVariable<T> renew(@Nullable String name) {
31 return new DataVariable<>(name, type);
32 }
33
34 @Override
35 public DataVariable<T> renew() {
36 return renew(getExplicitName());
37 }
38
39 @Override
40 public NodeVariable asNodeVariable() {
41 throw new IllegalStateException("%s is a data variable".formatted(this));
42 }
43
44 @Override
45 public <U> DataVariable<U> asDataVariable(Class<U> newType) {
46 if (!getType().equals(newType)) {
47 throw new IllegalStateException("%s is not of type %s but of type %s".formatted(this, newType.getName(),
48 getType().getName()));
49 }
50 @SuppressWarnings("unchecked")
51 var result = (DataVariable<U>) this;
52 return result;
53 }
54
55 @Override
56 public T evaluate(Valuation valuation) {
57 return valuation.getValue(this);
58 }
59
60 @Override
61 public Term<T> substitute(Substitution substitution) {
62 return substitution.getTypeSafeSubstitute(this);
63 }
64
65 @Override
66 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
67 return other instanceof DataVariable<?> dataVariable && helper.variableEqual(this, dataVariable);
68 }
69
70 public Literal assign(AssignedValue<T> value) {
71 return value.toLiteral(this);
72 }
73
74 @Override
75 public boolean equals(Object o) {
76 if (this == o) return true;
77 if (o == null || getClass() != o.getClass()) return false;
78 if (!super.equals(o)) return false;
79 DataVariable<?> that = (DataVariable<?>) o;
80 return type.equals(that.type);
81 }
82
83 @Override
84 public int hashCode() {
85 return Objects.hash(super.hashCode(), type);
86 }
87}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ExtremeValueAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ExtremeValueAggregator.java
new file mode 100644
index 00000000..57ff597c
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ExtremeValueAggregator.java
@@ -0,0 +1,103 @@
1package tools.refinery.store.query.term;
2
3import java.util.Comparator;
4import java.util.Objects;
5import java.util.SortedMap;
6import java.util.TreeMap;
7
8public class ExtremeValueAggregator<T> implements StatefulAggregator<T, T> {
9 private final Class<T> type;
10 private final T emptyResult;
11 private final Comparator<T> comparator;
12
13 public ExtremeValueAggregator(Class<T> type, T emptyResult) {
14 this(type, emptyResult, null);
15 }
16
17 public ExtremeValueAggregator(Class<T> type, T emptyResult, Comparator<T> comparator) {
18 this.type = type;
19 this.emptyResult = emptyResult;
20 this.comparator = comparator;
21 }
22
23 @Override
24 public Class<T> getResultType() {
25 return getInputType();
26 }
27
28 @Override
29 public Class<T> getInputType() {
30 return type;
31 }
32
33 @Override
34 public StatefulAggregate<T, T> createEmptyAggregate() {
35 return new Aggregate();
36 }
37
38 @Override
39 public T getEmptyResult() {
40 return emptyResult;
41 }
42
43 @Override
44 public boolean equals(Object o) {
45 if (this == o) return true;
46 if (o == null || getClass() != o.getClass()) return false;
47 ExtremeValueAggregator<?> that = (ExtremeValueAggregator<?>) o;
48 return type.equals(that.type) && Objects.equals(emptyResult, that.emptyResult) && Objects.equals(comparator,
49 that.comparator);
50 }
51
52 @Override
53 public int hashCode() {
54 return Objects.hash(type, emptyResult, comparator);
55 }
56
57 private class Aggregate implements StatefulAggregate<T, T> {
58 private final SortedMap<T, Integer> values;
59
60 private Aggregate() {
61 values = new TreeMap<>(comparator);
62 }
63
64 private Aggregate(Aggregate other) {
65 values = new TreeMap<>(other.values);
66 }
67
68 @Override
69 public void add(T value) {
70 values.compute(value, (ignoredValue, currentCount) -> currentCount == null ? 1 : currentCount + 1);
71 }
72
73 @Override
74 public void remove(T value) {
75 values.compute(value, (theValue, currentCount) -> {
76 if (currentCount == null || currentCount <= 0) {
77 throw new IllegalStateException("Invalid count %d for value %s".formatted(currentCount, theValue));
78 }
79 return currentCount.equals(1) ? null : currentCount - 1;
80 });
81 }
82
83 @Override
84 public T getResult() {
85 return isEmpty() ? emptyResult : values.firstKey();
86 }
87
88 @Override
89 public boolean isEmpty() {
90 return values.isEmpty();
91 }
92
93 @Override
94 public StatefulAggregate<T, T> deepCopy() {
95 return new Aggregate(this);
96 }
97
98 @Override
99 public boolean contains(T value) {
100 return StatefulAggregate.super.contains(value);
101 }
102 }
103}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeSort.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeSort.java
new file mode 100644
index 00000000..1a4b2d4b
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeSort.java
@@ -0,0 +1,30 @@
1package tools.refinery.store.query.term;
2
3import org.jetbrains.annotations.Nullable;
4
5public final class NodeSort implements Sort {
6 public static final NodeSort INSTANCE = new NodeSort();
7
8 private NodeSort() {
9 }
10
11 @Override
12 public boolean isInstance(Variable variable) {
13 return variable instanceof NodeVariable;
14 }
15
16 @Override
17 public NodeVariable newInstance(@Nullable String name) {
18 return new NodeVariable(name);
19 }
20
21 @Override
22 public NodeVariable newInstance() {
23 return newInstance(null);
24 }
25
26 @Override
27 public String toString() {
28 return "<node>";
29 }
30}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeVariable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeVariable.java
new file mode 100644
index 00000000..7419aaad
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeVariable.java
@@ -0,0 +1,48 @@
1package tools.refinery.store.query.term;
2
3import org.jetbrains.annotations.Nullable;
4import tools.refinery.store.query.literal.ConstantLiteral;
5import tools.refinery.store.query.literal.EquivalenceLiteral;
6
7public final class NodeVariable extends Variable {
8 NodeVariable(@Nullable String name) {
9 super(name);
10 }
11
12 @Override
13 public NodeSort getSort() {
14 return NodeSort.INSTANCE;
15 }
16
17 @Override
18 public NodeVariable renew(@Nullable String name) {
19 return Variable.of(name);
20 }
21
22 @Override
23 public NodeVariable renew() {
24 return renew(getExplicitName());
25 }
26
27 @Override
28 public NodeVariable asNodeVariable() {
29 return this;
30 }
31
32 @Override
33 public <T> DataVariable<T> asDataVariable(Class<T> type) {
34 throw new IllegalStateException("%s is a node variable".formatted(this));
35 }
36
37 public ConstantLiteral isConstant(int value) {
38 return new ConstantLiteral(this, value);
39 }
40
41 public EquivalenceLiteral isEquivalent(NodeVariable other) {
42 return new EquivalenceLiteral(true, this, other);
43 }
44
45 public EquivalenceLiteral notEquivalent(NodeVariable other) {
46 return new EquivalenceLiteral(false, this, other);
47 }
48}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/OpaqueTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/OpaqueTerm.java
new file mode 100644
index 00000000..8faa9c75
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/OpaqueTerm.java
@@ -0,0 +1,80 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.substitution.Substitutions;
6import tools.refinery.store.query.valuation.Valuation;
7
8import java.util.Objects;
9import java.util.Set;
10import java.util.function.Function;
11import java.util.stream.Collectors;
12
13public final class OpaqueTerm<T> implements Term<T> {
14 private final Class<T> type;
15 private final Function<? super Valuation, ? extends T> evaluator;
16 private final Set<AnyDataVariable> variables;
17 private final Substitution substitution;
18
19 public OpaqueTerm(Class<T> type, Function<? super Valuation, ? extends T> evaluator,
20 Set<? extends AnyDataVariable> variables) {
21 this(type, evaluator, variables, null);
22 }
23
24 private OpaqueTerm(Class<T> type, Function<? super Valuation, ? extends T> evaluator,
25 Set<? extends AnyDataVariable> variables, Substitution substitution) {
26 this.type = type;
27 this.evaluator = evaluator;
28 this.variables = Set.copyOf(variables);
29 this.substitution = substitution;
30 }
31
32 @Override
33 public Class<T> getType() {
34 return type;
35 }
36
37 @Override
38 public Set<AnyDataVariable> getInputVariables() {
39 return variables;
40 }
41
42 @Override
43 public T evaluate(Valuation valuation) {
44 return evaluator.apply(valuation.substitute(substitution));
45 }
46
47 @Override
48 public Term<T> substitute(Substitution newSubstitution) {
49 var substitutedVariables = variables.stream()
50 .map(newSubstitution::getTypeSafeSubstitute)
51 .collect(Collectors.toUnmodifiableSet());
52 return new OpaqueTerm<>(type, evaluator, substitutedVariables,
53 Substitutions.compose(substitution, newSubstitution));
54 }
55
56 @Override
57 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
58 // Cannot inspect the opaque evaluator for deep equality.
59 return equals(other);
60 }
61
62 @Override
63 public String toString() {
64 return "<opaque>";
65 }
66
67 @Override
68 public boolean equals(Object o) {
69 if (this == o) return true;
70 if (o == null || getClass() != o.getClass()) return false;
71 OpaqueTerm<?> that = (OpaqueTerm<?>) o;
72 return type.equals(that.type) && evaluator.equals(that.evaluator) && Objects.equals(substitution,
73 that.substitution);
74 }
75
76 @Override
77 public int hashCode() {
78 return Objects.hash(type, evaluator, substitution);
79 }
80}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Sort.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Sort.java
new file mode 100644
index 00000000..622bcfce
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Sort.java
@@ -0,0 +1,11 @@
1package tools.refinery.store.query.term;
2
3import org.jetbrains.annotations.Nullable;
4
5public sealed interface Sort permits DataSort, NodeSort {
6 boolean isInstance(Variable variable);
7
8 Variable newInstance(@Nullable String name);
9
10 Variable newInstance();
11}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregate.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregate.java
new file mode 100644
index 00000000..7ce91305
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregate.java
@@ -0,0 +1,17 @@
1package tools.refinery.store.query.term;
2
3public interface StatefulAggregate<R, T> {
4 void add(T value);
5
6 void remove(T value);
7
8 R getResult();
9
10 boolean isEmpty();
11
12 StatefulAggregate<R, T> deepCopy();
13
14 default boolean contains(T value) {
15 throw new UnsupportedOperationException();
16 }
17}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregator.java
new file mode 100644
index 00000000..c215a511
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregator.java
@@ -0,0 +1,23 @@
1package tools.refinery.store.query.term;
2
3import java.util.stream.Stream;
4
5public interface StatefulAggregator<R, T> extends Aggregator<R, T> {
6 StatefulAggregate<R, T> createEmptyAggregate();
7
8 @Override
9 default R aggregateStream(Stream<T> stream) {
10 var accumulator = createEmptyAggregate();
11 var iterator = stream.iterator();
12 while (iterator.hasNext()) {
13 var value = iterator.next();
14 accumulator.add(value);
15 }
16 return accumulator.getResult();
17 }
18
19 @Override
20 default R getEmptyResult() {
21 return createEmptyAggregate().getResult();
22 }
23}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatelessAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatelessAggregator.java
new file mode 100644
index 00000000..74dbd335
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatelessAggregator.java
@@ -0,0 +1,20 @@
1package tools.refinery.store.query.term;
2
3import java.util.stream.Stream;
4
5public interface StatelessAggregator<R, T> extends Aggregator<R, T> {
6 R add(R current, T value);
7
8 R remove(R current, T value);
9
10 @Override
11 default R aggregateStream(Stream<T> stream) {
12 var accumulator = getEmptyResult();
13 var iterator = stream.iterator();
14 while (iterator.hasNext()) {
15 var value = iterator.next();
16 accumulator = add(accumulator, value);
17 }
18 return accumulator;
19 }
20}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Term.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Term.java
new file mode 100644
index 00000000..95434db2
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Term.java
@@ -0,0 +1,21 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.literal.AssignLiteral;
4import tools.refinery.store.query.literal.Literal;
5import tools.refinery.store.query.substitution.Substitution;
6import tools.refinery.store.query.valuation.Valuation;
7
8public non-sealed interface Term<T> extends AnyTerm, AssignedValue<T> {
9 @Override
10 Class<T> getType();
11
12 T evaluate(Valuation valuation);
13
14 @Override
15 Term<T> substitute(Substitution substitution);
16
17 @Override
18 default Literal toLiteral(DataVariable<T> targetVariable) {
19 return new AssignLiteral<>(targetVariable, this);
20 }
21}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/UnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/UnaryTerm.java
new file mode 100644
index 00000000..4083111a
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/UnaryTerm.java
@@ -0,0 +1,68 @@
1package tools.refinery.store.query.term;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.valuation.Valuation;
6
7import java.util.Objects;
8import java.util.Set;
9
10public abstract class UnaryTerm<R, T> implements Term<R> {
11 private final Term<T> body;
12
13 protected UnaryTerm(Term<T> body) {
14 if (!body.getType().equals(getBodyType())) {
15 throw new IllegalArgumentException("Expected body %s to be of type %s, got %s instead".formatted(body,
16 getBodyType().getName(), body.getType().getName()));
17 }
18 this.body = body;
19 }
20
21 public abstract Class<T> getBodyType();
22
23 public Term<T> getBody() {
24 return body;
25 }
26
27 @Override
28 public R evaluate(Valuation valuation) {
29 var bodyValue = body.evaluate(valuation);
30 return bodyValue == null ? null : doEvaluate(bodyValue);
31 }
32
33 protected abstract R doEvaluate(T bodyValue);
34
35 @Override
36 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
37 if (getClass() != other.getClass()) {
38 return false;
39 }
40 var otherUnaryTerm = (UnaryTerm<?, ?>) other;
41 return body.equalsWithSubstitution(helper, otherUnaryTerm.body);
42 }
43
44 @Override
45 public Term<R> substitute(Substitution substitution) {
46 return doSubstitute(substitution, body.substitute(substitution));
47 }
48
49 protected abstract Term<R> doSubstitute(Substitution substitution, Term<T> substitutedBody);
50
51 @Override
52 public Set<AnyDataVariable> getInputVariables() {
53 return body.getInputVariables();
54 }
55
56 @Override
57 public boolean equals(Object o) {
58 if (this == o) return true;
59 if (o == null || getClass() != o.getClass()) return false;
60 UnaryTerm<?, ?> unaryTerm = (UnaryTerm<?, ?>) o;
61 return body.equals(unaryTerm.body);
62 }
63
64 @Override
65 public int hashCode() {
66 return Objects.hash(getClass(), body);
67 }
68}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Variable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Variable.java
new file mode 100644
index 00000000..957e10f8
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Variable.java
@@ -0,0 +1,76 @@
1package tools.refinery.store.query.term;
2
3import org.jetbrains.annotations.Nullable;
4import tools.refinery.store.query.dnf.DnfUtils;
5
6import java.util.Objects;
7
8public abstract sealed class Variable permits AnyDataVariable, NodeVariable {
9 private final String explicitName;
10 private final String uniqueName;
11
12 protected Variable(String name) {
13 this.explicitName = name;
14 uniqueName = DnfUtils.generateUniqueName(name);
15 }
16
17 public abstract Sort getSort();
18
19 public String getName() {
20 return explicitName == null ? uniqueName : explicitName;
21 }
22
23 protected String getExplicitName() {
24 return explicitName;
25 }
26
27 public boolean isExplicitlyNamed() {
28 return explicitName != null;
29 }
30
31 public String getUniqueName() {
32 return uniqueName;
33 }
34
35 public abstract Variable renew(@Nullable String name);
36
37 public abstract Variable renew();
38
39 public abstract NodeVariable asNodeVariable();
40
41 public abstract <T> DataVariable<T> asDataVariable(Class<T> type);
42
43 @Override
44 public String toString() {
45 return getName();
46 }
47
48 @Override
49 public boolean equals(Object o) {
50 if (this == o) return true;
51 if (o == null || getClass() != o.getClass()) return false;
52 Variable variable = (Variable) o;
53 return Objects.equals(uniqueName, variable.uniqueName);
54 }
55
56 @Override
57 public int hashCode() {
58 return Objects.hash(uniqueName);
59 }
60
61 public static NodeVariable of(@Nullable String name) {
62 return new NodeVariable(name);
63 }
64
65 public static NodeVariable of() {
66 return of((String) null);
67 }
68
69 public static <T> DataVariable<T> of(@Nullable String name, Class<T> type) {
70 return new DataVariable<>(name, type);
71 }
72
73 public static <T> DataVariable<T> of(Class<T> type) {
74 return of(null, type);
75 }
76}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolConstantTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolConstantTerm.java
new file mode 100644
index 00000000..5079f1ce
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolConstantTerm.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.term.bool;
2
3import tools.refinery.store.query.term.ConstantTerm;
4
5public final class BoolConstantTerm {
6 public static final ConstantTerm<Boolean> TRUE = new ConstantTerm<>(Boolean.class, true);
7 public static final ConstantTerm<Boolean> FALSE = new ConstantTerm<>(Boolean.class, false);
8
9 private BoolConstantTerm() {
10 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
11 }
12
13 public static ConstantTerm<Boolean> valueOf(boolean boolValue) {
14 return boolValue ? TRUE : FALSE;
15 }
16}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolLogicBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolLogicBinaryTerm.java
new file mode 100644
index 00000000..d85f864d
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolLogicBinaryTerm.java
@@ -0,0 +1,78 @@
1package tools.refinery.store.query.term.bool;
2
3import tools.refinery.store.query.equality.LiteralEqualityHelper;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.term.*;
6
7import java.util.Objects;
8
9public class BoolLogicBinaryTerm extends BinaryTerm<Boolean, Boolean, Boolean> {
10 private final LogicBinaryOperator operator;
11
12 protected BoolLogicBinaryTerm(LogicBinaryOperator operator, Term<Boolean> left, Term<Boolean> right) {
13 super(left, right);
14 this.operator = operator;
15 }
16
17 @Override
18 public Class<Boolean> getType() {
19 return Boolean.class;
20 }
21
22 @Override
23 public Class<Boolean> getLeftType() {
24 return getType();
25 }
26
27 @Override
28 public Class<Boolean> getRightType() {
29 return getType();
30 }
31
32 public LogicBinaryOperator getOperator() {
33 return operator;
34 }
35
36 @Override
37 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) {
38 if (!super.equalsWithSubstitution(helper, other)) {
39 return false;
40 }
41 var otherBoolLogicBinaryTerm = (BoolLogicBinaryTerm) other;
42 return operator == otherBoolLogicBinaryTerm.operator;
43 }
44
45 @Override
46 public Term<Boolean> doSubstitute(Substitution substitution, Term<Boolean> substitutedLeft,
47 Term<Boolean> substitutedRight) {
48 return new BoolLogicBinaryTerm(getOperator(), substitutedLeft, substitutedRight);
49 }
50
51 @Override
52 protected Boolean doEvaluate(Boolean leftValue, Boolean rightValue) {
53 return switch (getOperator()) {
54 case AND -> leftValue && rightValue;
55 case OR -> leftValue || rightValue;
56 case XOR -> leftValue ^ rightValue;
57 };
58 }
59
60 @Override
61 public String toString() {
62 return operator.formatString(getLeft().toString(), getRight().toString());
63 }
64
65 @Override
66 public boolean equals(Object o) {
67 if (this == o) return true;
68 if (o == null || getClass() != o.getClass()) return false;
69 if (!super.equals(o)) return false;
70 BoolLogicBinaryTerm that = (BoolLogicBinaryTerm) o;
71 return operator == that.operator;
72 }
73
74 @Override
75 public int hashCode() {
76 return Objects.hash(super.hashCode(), operator);
77 }
78}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolNotTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolNotTerm.java
new file mode 100644
index 00000000..855139b5
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolNotTerm.java
@@ -0,0 +1,36 @@
1package tools.refinery.store.query.term.bool;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.Term;
5import tools.refinery.store.query.term.UnaryTerm;
6
7public class BoolNotTerm extends UnaryTerm<Boolean, Boolean> {
8 protected BoolNotTerm(Term<Boolean> body) {
9 super(body);
10 }
11
12 @Override
13 public Class<Boolean> getType() {
14 return Boolean.class;
15 }
16
17 @Override
18 public Class<Boolean> getBodyType() {
19 return getType();
20 }
21
22 @Override
23 protected Term<Boolean> doSubstitute(Substitution substitution, Term<Boolean> substitutedBody) {
24 return new BoolNotTerm(substitutedBody);
25 }
26
27 @Override
28 protected Boolean doEvaluate(Boolean bodyValue) {
29 return !bodyValue;
30 }
31
32 @Override
33 public String toString() {
34 return "!(%s)".formatted(getBody());
35 }
36}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolTerms.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolTerms.java
new file mode 100644
index 00000000..3d6c8d9d
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolTerms.java
@@ -0,0 +1,30 @@
1package tools.refinery.store.query.term.bool;
2
3import tools.refinery.store.query.term.ConstantTerm;
4import tools.refinery.store.query.term.Term;
5
6public final class BoolTerms {
7 private BoolTerms() {
8 throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly");
9 }
10
11 public static ConstantTerm<Boolean> constant(boolean value) {
12 return BoolConstantTerm.valueOf(value);
13 }
14
15 public static BoolNotTerm not(Term<Boolean> body) {
16 return new BoolNotTerm(body);
17 }
18
19 public static BoolLogicBinaryTerm and(Term<Boolean> left, Term<Boolean> right) {
20 return new BoolLogicBinaryTerm(LogicBinaryOperator.AND, left, right);
21 }
22
23 public static BoolLogicBinaryTerm or(Term<Boolean> left, Term<Boolean> right) {
24 return new BoolLogicBinaryTerm(LogicBinaryOperator.OR, left, right);
25 }
26
27 public static BoolLogicBinaryTerm xor(Term<Boolean> left, Term<Boolean> right) {
28 return new BoolLogicBinaryTerm(LogicBinaryOperator.XOR, left, right);
29 }
30}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/LogicBinaryOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/LogicBinaryOperator.java
new file mode 100644
index 00000000..ca9ac66e
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/LogicBinaryOperator.java
@@ -0,0 +1,17 @@
1package tools.refinery.store.query.term.bool;
2
3public enum LogicBinaryOperator {
4 AND("&&"),
5 OR("||"),
6 XOR("^^");
7
8 private final String text;
9
10 LogicBinaryOperator(String text) {
11 this.text = text;
12 }
13
14 public String formatString(String left, String right) {
15 return "(%s) %s (%s)".formatted(left, text, right);
16 }
17}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticBinaryTerm.java
new file mode 100644
index 00000000..32e41718
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticBinaryTerm.java
@@ -0,0 +1,48 @@
1package tools.refinery.store.query.term.int_;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.ArithmeticBinaryOperator;
5import tools.refinery.store.query.term.ArithmeticBinaryTerm;
6import tools.refinery.store.query.term.Term;
7
8public class IntArithmeticBinaryTerm extends ArithmeticBinaryTerm<Integer> {
9 public IntArithmeticBinaryTerm(ArithmeticBinaryOperator operator, Term<Integer> left, Term<Integer> right) {
10 super(operator, left, right);
11 }
12
13 @Override
14 public Class<Integer> getType() {
15 return Integer.class;
16 }
17
18 @Override
19 public Term<Integer> doSubstitute(Substitution substitution, Term<Integer> substitutedLeft,
20 Term<Integer> substitutedRight) {
21 return new IntArithmeticBinaryTerm(getOperator(), substitutedLeft, substitutedRight);
22 }
23
24 @Override
25 protected Integer doEvaluate(Integer leftValue, Integer rightValue) {
26 return switch (getOperator()) {
27 case ADD -> leftValue + rightValue;
28 case SUB -> leftValue - rightValue;
29 case MUL -> leftValue * rightValue;
30 case DIV -> rightValue == 0 ? null : leftValue / rightValue;
31 case POW -> rightValue < 0 ? null : power(leftValue, rightValue);
32 case MIN -> Math.min(leftValue, rightValue);
33 case MAX -> Math.max(leftValue, rightValue);
34 };
35 }
36
37 private static int power(int base, int exponent) {
38 int accum = 1;
39 while (exponent > 0) {
40 if (exponent % 2 == 1) {
41 accum = accum * base;
42 }
43 base = base * base;
44 exponent = exponent / 2;
45 }
46 return accum;
47 }
48}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticUnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticUnaryTerm.java
new file mode 100644
index 00000000..1e769259
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticUnaryTerm.java
@@ -0,0 +1,30 @@
1package tools.refinery.store.query.term.int_;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.Term;
5import tools.refinery.store.query.term.ArithmeticUnaryOperator;
6import tools.refinery.store.query.term.ArithmeticUnaryTerm;
7
8public class IntArithmeticUnaryTerm extends ArithmeticUnaryTerm<Integer> {
9 public IntArithmeticUnaryTerm(ArithmeticUnaryOperator operation, Term<Integer> body) {
10 super(operation, body);
11 }
12
13 @Override
14 public Class<Integer> getType() {
15 return Integer.class;
16 }
17
18 @Override
19 protected Term<Integer> doSubstitute(Substitution substitution, Term<Integer> substitutedBody) {
20 return new IntArithmeticUnaryTerm(getOperator(), substitutedBody);
21 }
22
23 @Override
24 protected Integer doEvaluate(Integer bodyValue) {
25 return switch(getOperator()) {
26 case PLUS -> bodyValue;
27 case MINUS -> -bodyValue;
28 };
29 }
30}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntComparisonTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntComparisonTerm.java
new file mode 100644
index 00000000..322d2b80
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntComparisonTerm.java
@@ -0,0 +1,34 @@
1package tools.refinery.store.query.term.int_;
2import tools.refinery.store.query.substitution.Substitution;
3import tools.refinery.store.query.term.ComparisonOperator;
4import tools.refinery.store.query.term.ComparisonTerm;
5import tools.refinery.store.query.term.Term;
6
7public class IntComparisonTerm extends ComparisonTerm<Integer> {
8 public IntComparisonTerm(ComparisonOperator operator, Term<Integer> left, Term<Integer> right) {
9 super(operator, left, right);
10 }
11
12 @Override
13 public Class<Integer> getOperandType() {
14 return Integer.class;
15 }
16
17 @Override
18 public Term<Boolean> doSubstitute(Substitution substitution, Term<Integer> substitutedLeft,
19 Term<Integer> substitutedRight) {
20 return new IntComparisonTerm(getOperator(), substitutedLeft, substitutedRight);
21 }
22
23 @Override
24 protected Boolean doEvaluate(Integer leftValue, Integer rightValue) {
25 return switch (getOperator()) {
26 case EQ -> leftValue.equals(rightValue);
27 case NOT_EQ -> !leftValue.equals(rightValue);
28 case LESS -> leftValue < rightValue;
29 case LESS_EQ -> leftValue <= rightValue;
30 case GREATER -> leftValue > rightValue;
31 case GREATER_EQ -> leftValue >= rightValue;
32 };
33 }
34}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntExtremeValueAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntExtremeValueAggregator.java
new file mode 100644
index 00000000..d5a6add0
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntExtremeValueAggregator.java
@@ -0,0 +1,17 @@
1package tools.refinery.store.query.term.int_;
2
3import tools.refinery.store.query.term.ExtremeValueAggregator;
4
5import java.util.Comparator;
6
7public final class IntExtremeValueAggregator {
8 public static final ExtremeValueAggregator<Integer> MINIMUM = new ExtremeValueAggregator<>(Integer.class,
9 Integer.MAX_VALUE);
10
11 public static final ExtremeValueAggregator<Integer> MAXIMUM = new ExtremeValueAggregator<>(Integer.class,
12 Integer.MIN_VALUE, Comparator.reverseOrder());
13
14 private IntExtremeValueAggregator() {
15 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
16 }
17}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntSumAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntSumAggregator.java
new file mode 100644
index 00000000..65024f52
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntSumAggregator.java
@@ -0,0 +1,35 @@
1package tools.refinery.store.query.term.int_;
2
3import tools.refinery.store.query.term.StatelessAggregator;
4
5public final class IntSumAggregator implements StatelessAggregator<Integer, Integer> {
6 public static final IntSumAggregator INSTANCE = new IntSumAggregator();
7
8 private IntSumAggregator() {
9 }
10
11 @Override
12 public Class<Integer> getResultType() {
13 return Integer.class;
14 }
15
16 @Override
17 public Class<Integer> getInputType() {
18 return Integer.class;
19 }
20
21 @Override
22 public Integer getEmptyResult() {
23 return 0;
24 }
25
26 @Override
27 public Integer add(Integer current, Integer value) {
28 return current + value;
29 }
30
31 @Override
32 public Integer remove(Integer current, Integer value) {
33 return current - value;
34 }
35}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntTerms.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntTerms.java
new file mode 100644
index 00000000..86594deb
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntTerms.java
@@ -0,0 +1,81 @@
1package tools.refinery.store.query.term.int_;
2
3import tools.refinery.store.query.term.*;
4
5public final class IntTerms {
6 public static final Aggregator<Integer, Integer> INT_SUM = IntSumAggregator.INSTANCE;
7 public static final Aggregator<Integer, Integer> INT_MIN = IntExtremeValueAggregator.MINIMUM;
8 public static final Aggregator<Integer, Integer> INT_MAX = IntExtremeValueAggregator.MAXIMUM;
9
10 private IntTerms() {
11 throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly");
12 }
13
14 public static ConstantTerm<Integer> constant(int value) {
15 return new ConstantTerm<>(Integer.class, value);
16 }
17
18 public static IntArithmeticUnaryTerm plus(Term<Integer> body) {
19 return new IntArithmeticUnaryTerm(ArithmeticUnaryOperator.PLUS, body);
20 }
21
22 public static IntArithmeticUnaryTerm minus(Term<Integer> body) {
23 return new IntArithmeticUnaryTerm(ArithmeticUnaryOperator.MINUS, body);
24 }
25
26 public static IntArithmeticBinaryTerm add(Term<Integer> left, Term<Integer> right) {
27 return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.ADD, left, right);
28 }
29
30 public static IntArithmeticBinaryTerm sub(Term<Integer> left, Term<Integer> right) {
31 return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.SUB, left, right);
32 }
33
34 public static IntArithmeticBinaryTerm mul(Term<Integer> left, Term<Integer> right) {
35 return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.MUL, left, right);
36 }
37
38 public static IntArithmeticBinaryTerm div(Term<Integer> left, Term<Integer> right) {
39 return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.DIV, left, right);
40 }
41
42 public static IntArithmeticBinaryTerm pow(Term<Integer> left, Term<Integer> right) {
43 return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.POW, left, right);
44 }
45
46 public static IntArithmeticBinaryTerm min(Term<Integer> left, Term<Integer> right) {
47 return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.MIN, left, right);
48 }
49
50 public static IntArithmeticBinaryTerm max(Term<Integer> left, Term<Integer> right) {
51 return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.MAX, left, right);
52 }
53
54 public static IntComparisonTerm eq(Term<Integer> left, Term<Integer> right) {
55 return new IntComparisonTerm(ComparisonOperator.EQ, left, right);
56 }
57
58 public static IntComparisonTerm notEq(Term<Integer> left, Term<Integer> right) {
59 return new IntComparisonTerm(ComparisonOperator.NOT_EQ, left, right);
60 }
61
62 public static IntComparisonTerm less(Term<Integer> left, Term<Integer> right) {
63 return new IntComparisonTerm(ComparisonOperator.LESS, left, right);
64 }
65
66 public static IntComparisonTerm lessEq(Term<Integer> left, Term<Integer> right) {
67 return new IntComparisonTerm(ComparisonOperator.LESS_EQ, left, right);
68 }
69
70 public static IntComparisonTerm greater(Term<Integer> left, Term<Integer> right) {
71 return new IntComparisonTerm(ComparisonOperator.GREATER, left, right);
72 }
73
74 public static IntComparisonTerm greaterEq(Term<Integer> left, Term<Integer> right) {
75 return new IntComparisonTerm(ComparisonOperator.GREATER_EQ, left, right);
76 }
77
78 public static RealToIntTerm asInt(Term<Double> body) {
79 return new RealToIntTerm(body);
80 }
81}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/RealToIntTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/RealToIntTerm.java
new file mode 100644
index 00000000..53875ddc
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/RealToIntTerm.java
@@ -0,0 +1,36 @@
1package tools.refinery.store.query.term.int_;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.Term;
5import tools.refinery.store.query.term.UnaryTerm;
6
7public class RealToIntTerm extends UnaryTerm<Integer, Double> {
8 protected RealToIntTerm(Term<Double> body) {
9 super(body);
10 }
11
12 @Override
13 public Class<Integer> getType() {
14 return Integer.class;
15 }
16
17 @Override
18 public Class<Double> getBodyType() {
19 return Double.class;
20 }
21
22 @Override
23 protected Integer doEvaluate(Double bodyValue) {
24 return bodyValue.intValue();
25 }
26
27 @Override
28 protected Term<Integer> doSubstitute(Substitution substitution, Term<Double> substitutedBody) {
29 return new RealToIntTerm(substitutedBody);
30 }
31
32 @Override
33 public String toString() {
34 return "(%s) as int".formatted(getBody());
35 }
36}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/IntToRealTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/IntToRealTerm.java
new file mode 100644
index 00000000..55590824
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/IntToRealTerm.java
@@ -0,0 +1,36 @@
1package tools.refinery.store.query.term.real;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.Term;
5import tools.refinery.store.query.term.UnaryTerm;
6
7public class IntToRealTerm extends UnaryTerm<Double, Integer> {
8 protected IntToRealTerm(Term<Integer> body) {
9 super(body);
10 }
11
12 @Override
13 public Class<Double> getType() {
14 return Double.class;
15 }
16
17 @Override
18 public Class<Integer> getBodyType() {
19 return Integer.class;
20 }
21
22 @Override
23 protected Term<Double> doSubstitute(Substitution substitution, Term<Integer> substitutedBody) {
24 return new IntToRealTerm(substitutedBody);
25 }
26
27 @Override
28 protected Double doEvaluate(Integer bodyValue) {
29 return bodyValue.doubleValue();
30 }
31
32 @Override
33 public String toString() {
34 return "(%s) as real".formatted(getBody());
35 }
36}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticBinaryTerm.java
new file mode 100644
index 00000000..57bcbe5e
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticBinaryTerm.java
@@ -0,0 +1,36 @@
1package tools.refinery.store.query.term.real;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.ArithmeticBinaryOperator;
5import tools.refinery.store.query.term.ArithmeticBinaryTerm;
6import tools.refinery.store.query.term.Term;
7
8public class RealArithmeticBinaryTerm extends ArithmeticBinaryTerm<Double> {
9 public RealArithmeticBinaryTerm(ArithmeticBinaryOperator operator, Term<Double> left, Term<Double> right) {
10 super(operator, left, right);
11 }
12
13 @Override
14 public Class<Double> getType() {
15 return Double.class;
16 }
17
18 @Override
19 public Term<Double> doSubstitute(Substitution substitution, Term<Double> substitutedLeft,
20 Term<Double> substitutedRight) {
21 return new RealArithmeticBinaryTerm(getOperator(), substitutedLeft, substitutedRight);
22 }
23
24 @Override
25 protected Double doEvaluate(Double leftValue, Double rightValue) {
26 return switch (getOperator()) {
27 case ADD -> leftValue + rightValue;
28 case SUB -> leftValue - rightValue;
29 case MUL -> leftValue * rightValue;
30 case DIV -> leftValue / rightValue;
31 case POW -> Math.pow(leftValue, rightValue);
32 case MIN -> Math.min(leftValue, rightValue);
33 case MAX -> Math.max(leftValue, rightValue);
34 };
35 }
36}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticUnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticUnaryTerm.java
new file mode 100644
index 00000000..632e68bf
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticUnaryTerm.java
@@ -0,0 +1,30 @@
1package tools.refinery.store.query.term.real;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.ArithmeticUnaryOperator;
5import tools.refinery.store.query.term.ArithmeticUnaryTerm;
6import tools.refinery.store.query.term.Term;
7
8public class RealArithmeticUnaryTerm extends ArithmeticUnaryTerm<Double> {
9 public RealArithmeticUnaryTerm(ArithmeticUnaryOperator operation, Term<Double> body) {
10 super(operation, body);
11 }
12
13 @Override
14 public Class<Double> getType() {
15 return Double.class;
16 }
17
18 @Override
19 protected Term<Double> doSubstitute(Substitution substitution, Term<Double> substitutedBody) {
20 return new RealArithmeticUnaryTerm(getOperator(), substitutedBody);
21 }
22
23 @Override
24 protected Double doEvaluate(Double bodyValue) {
25 return switch(getOperator()) {
26 case PLUS -> bodyValue;
27 case MINUS -> -bodyValue;
28 };
29 }
30}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealComparisonTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealComparisonTerm.java
new file mode 100644
index 00000000..75d97adb
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealComparisonTerm.java
@@ -0,0 +1,35 @@
1package tools.refinery.store.query.term.real;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.ComparisonOperator;
5import tools.refinery.store.query.term.ComparisonTerm;
6import tools.refinery.store.query.term.Term;
7
8public class RealComparisonTerm extends ComparisonTerm<Double> {
9 public RealComparisonTerm(ComparisonOperator operator, Term<Double> left, Term<Double> right) {
10 super(operator, left, right);
11 }
12
13 @Override
14 public Class<Double> getOperandType() {
15 return Double.class;
16 }
17
18 @Override
19 public Term<Boolean> doSubstitute(Substitution substitution, Term<Double> substitutedLeft,
20 Term<Double> substitutedRight) {
21 return new RealComparisonTerm(getOperator(), substitutedLeft, substitutedRight);
22 }
23
24 @Override
25 protected Boolean doEvaluate(Double leftValue, Double rightValue) {
26 return switch (getOperator()) {
27 case EQ -> leftValue.equals(rightValue);
28 case NOT_EQ -> !leftValue.equals(rightValue);
29 case LESS -> leftValue < rightValue;
30 case LESS_EQ -> leftValue <= rightValue;
31 case GREATER -> leftValue > rightValue;
32 case GREATER_EQ -> leftValue >= rightValue;
33 };
34 }
35}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealExtremeValueAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealExtremeValueAggregator.java
new file mode 100644
index 00000000..23384530
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealExtremeValueAggregator.java
@@ -0,0 +1,17 @@
1package tools.refinery.store.query.term.real;
2
3import tools.refinery.store.query.term.ExtremeValueAggregator;
4
5import java.util.Comparator;
6
7public final class RealExtremeValueAggregator {
8 public static final ExtremeValueAggregator<Double> MINIMUM = new ExtremeValueAggregator<>(Double.class,
9 Double.POSITIVE_INFINITY);
10
11 public static final ExtremeValueAggregator<Double> MAXIMUM = new ExtremeValueAggregator<>(Double.class,
12 Double.NEGATIVE_INFINITY, Comparator.reverseOrder());
13
14 private RealExtremeValueAggregator() {
15 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
16 }
17}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealSumAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealSumAggregator.java
new file mode 100644
index 00000000..d5888664
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealSumAggregator.java
@@ -0,0 +1,85 @@
1package tools.refinery.store.query.term.real;
2
3import tools.refinery.store.query.term.StatefulAggregate;
4import tools.refinery.store.query.term.StatefulAggregator;
5
6import java.util.Map;
7import java.util.TreeMap;
8
9public final class RealSumAggregator implements StatefulAggregator<Double, Double> {
10 public static final RealSumAggregator INSTANCE = new RealSumAggregator();
11
12 private RealSumAggregator() {
13 }
14
15 @Override
16 public Class<Double> getResultType() {
17 return null;
18 }
19
20 @Override
21 public Class<Double> getInputType() {
22 return null;
23 }
24
25 @Override
26 public StatefulAggregate<Double, Double> createEmptyAggregate() {
27 return new Aggregate();
28 }
29
30 @Override
31 public Double getEmptyResult() {
32 return 0d;
33 }
34
35 private static class Aggregate implements StatefulAggregate<Double, Double> {
36 private final Map<Double, Integer> values;
37
38 public Aggregate() {
39 values = new TreeMap<>();
40 }
41
42 private Aggregate(Aggregate other) {
43 values = new TreeMap<>(other.values);
44 }
45
46 @Override
47 public void add(Double value) {
48 values.compute(value, (ignoredValue, currentCount) -> currentCount == null ? 1 : currentCount + 1);
49 }
50
51 @Override
52 public void remove(Double value) {
53 values.compute(value, (theValue, currentCount) -> {
54 if (currentCount == null || currentCount <= 0) {
55 throw new IllegalStateException("Invalid count %d for value %f".formatted(currentCount, theValue));
56 }
57 return currentCount.equals(1) ? null : currentCount - 1;
58 });
59 }
60
61 @Override
62 public Double getResult() {
63 return values.entrySet()
64 .stream()
65 .mapToDouble(entry -> entry.getKey() * entry.getValue())
66 .reduce(Double::sum)
67 .orElse(0d);
68 }
69
70 @Override
71 public boolean isEmpty() {
72 return values.isEmpty();
73 }
74
75 @Override
76 public StatefulAggregate<Double, Double> deepCopy() {
77 return new Aggregate(this);
78 }
79
80 @Override
81 public boolean contains(Double value) {
82 return values.containsKey(value);
83 }
84 }
85}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealTerms.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealTerms.java
new file mode 100644
index 00000000..a8117842
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealTerms.java
@@ -0,0 +1,81 @@
1package tools.refinery.store.query.term.real;
2
3import tools.refinery.store.query.term.*;
4
5public final class RealTerms {
6 public static final Aggregator<Double, Double> REAL_SUM = RealSumAggregator.INSTANCE;
7 public static final Aggregator<Double, Double> REAL_MIN = RealExtremeValueAggregator.MINIMUM;
8 public static final Aggregator<Double, Double> REAL_MAX = RealExtremeValueAggregator.MAXIMUM;
9
10 private RealTerms() {
11 throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly");
12 }
13
14 public static ConstantTerm<Double> constant(double value) {
15 return new ConstantTerm<>(Double.class, value);
16 }
17
18 public static RealArithmeticUnaryTerm plus(Term<Double> body) {
19 return new RealArithmeticUnaryTerm(ArithmeticUnaryOperator.PLUS, body);
20 }
21
22 public static RealArithmeticUnaryTerm minus(Term<Double> body) {
23 return new RealArithmeticUnaryTerm(ArithmeticUnaryOperator.MINUS, body);
24 }
25
26 public static RealArithmeticBinaryTerm add(Term<Double> left, Term<Double> right) {
27 return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.ADD, left, right);
28 }
29
30 public static RealArithmeticBinaryTerm sub(Term<Double> left, Term<Double> right) {
31 return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.SUB, left, right);
32 }
33
34 public static RealArithmeticBinaryTerm mul(Term<Double> left, Term<Double> right) {
35 return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.MUL, left, right);
36 }
37
38 public static RealArithmeticBinaryTerm div(Term<Double> left, Term<Double> right) {
39 return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.DIV, left, right);
40 }
41
42 public static RealArithmeticBinaryTerm pow(Term<Double> left, Term<Double> right) {
43 return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.POW, left, right);
44 }
45
46 public static RealArithmeticBinaryTerm min(Term<Double> left, Term<Double> right) {
47 return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.MIN, left, right);
48 }
49
50 public static RealArithmeticBinaryTerm max(Term<Double> left, Term<Double> right) {
51 return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.MAX, left, right);
52 }
53
54 public static RealComparisonTerm eq(Term<Double> left, Term<Double> right) {
55 return new RealComparisonTerm(ComparisonOperator.EQ, left, right);
56 }
57
58 public static RealComparisonTerm notEq(Term<Double> left, Term<Double> right) {
59 return new RealComparisonTerm(ComparisonOperator.NOT_EQ, left, right);
60 }
61
62 public static RealComparisonTerm less(Term<Double> left, Term<Double> right) {
63 return new RealComparisonTerm(ComparisonOperator.LESS, left, right);
64 }
65
66 public static RealComparisonTerm lessEq(Term<Double> left, Term<Double> right) {
67 return new RealComparisonTerm(ComparisonOperator.LESS_EQ, left, right);
68 }
69
70 public static RealComparisonTerm greater(Term<Double> left, Term<Double> right) {
71 return new RealComparisonTerm(ComparisonOperator.GREATER, left, right);
72 }
73
74 public static RealComparisonTerm greaterEq(Term<Double> left, Term<Double> right) {
75 return new RealComparisonTerm(ComparisonOperator.GREATER_EQ, left, right);
76 }
77
78 public static IntToRealTerm asReal(Term<Integer> body) {
79 return new IntToRealTerm(body);
80 }
81}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/RestrictedValuation.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/RestrictedValuation.java
new file mode 100644
index 00000000..fb512d88
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/RestrictedValuation.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.valuation;
2
3import tools.refinery.store.query.term.AnyDataVariable;
4import tools.refinery.store.query.term.DataVariable;
5
6import java.util.Set;
7
8public record RestrictedValuation(Valuation valuation, Set<AnyDataVariable> allowedVariables) implements Valuation {
9 @Override
10 public <T> T getValue(DataVariable<T> variable) {
11 if (!allowedVariables.contains(variable)) {
12 throw new IllegalArgumentException("Variable %s is not in scope".formatted(variable));
13 }
14 return valuation.getValue(variable);
15 }
16}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/SubstitutedValuation.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/SubstitutedValuation.java
new file mode 100644
index 00000000..8e79663c
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/SubstitutedValuation.java
@@ -0,0 +1,11 @@
1package tools.refinery.store.query.valuation;
2
3import tools.refinery.store.query.substitution.Substitution;
4import tools.refinery.store.query.term.DataVariable;
5
6public record SubstitutedValuation(Valuation originalValuation, Substitution substitution) implements Valuation {
7 @Override
8 public <T> T getValue(DataVariable<T> variable) {
9 return originalValuation.getValue(substitution.getTypeSafeSubstitute(variable));
10 }
11}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/Valuation.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/Valuation.java
new file mode 100644
index 00000000..3ba9a6b8
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/Valuation.java
@@ -0,0 +1,23 @@
1package tools.refinery.store.query.valuation;
2
3import org.jetbrains.annotations.Nullable;
4import tools.refinery.store.query.substitution.Substitution;
5import tools.refinery.store.query.term.AnyDataVariable;
6import tools.refinery.store.query.term.DataVariable;
7
8import java.util.Set;
9
10public interface Valuation {
11 <T> T getValue(DataVariable<T> variable);
12
13 default Valuation substitute(@Nullable Substitution substitution) {
14 if (substitution == null) {
15 return this;
16 }
17 return new SubstitutedValuation(this, substitution);
18 }
19
20 default Valuation restrict(Set<? extends AnyDataVariable> allowedVariables) {
21 return new RestrictedValuation(this, Set.copyOf(allowedVariables));
22 }
23}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/AnyRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/AnyRelationView.java
index 328cde3a..6ae410f2 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/view/AnyRelationView.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/AnyRelationView.java
@@ -1,15 +1,17 @@
1package tools.refinery.store.query.view; 1package tools.refinery.store.query.view;
2 2
3import tools.refinery.store.model.Model; 3import tools.refinery.store.model.Model;
4import tools.refinery.store.query.FunctionalDependency; 4import tools.refinery.store.query.dnf.FunctionalDependency;
5import tools.refinery.store.representation.AnySymbol; 5import tools.refinery.store.representation.AnySymbol;
6import tools.refinery.store.query.RelationLike; 6import tools.refinery.store.query.Constraint;
7 7
8import java.util.Set; 8import java.util.Set;
9 9
10public sealed interface AnyRelationView extends RelationLike permits RelationView { 10public sealed interface AnyRelationView extends Constraint permits RelationView {
11 AnySymbol getSymbol(); 11 AnySymbol getSymbol();
12 12
13 String getViewName();
14
13 default Set<FunctionalDependency<Integer>> getFunctionalDependencies() { 15 default Set<FunctionalDependency<Integer>> getFunctionalDependencies() {
14 return Set.of(); 16 return Set.of();
15 } 17 }
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java
index 64c601bb..64c601bb 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/view/ForbiddenRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/ForbiddenRelationView.java
new file mode 100644
index 00000000..050b9496
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/ForbiddenRelationView.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.view;
2
3import tools.refinery.store.representation.Symbol;
4import tools.refinery.store.representation.TruthValue;
5import tools.refinery.store.tuple.Tuple;
6
7public class ForbiddenRelationView extends TuplePreservingRelationView<TruthValue> {
8 public ForbiddenRelationView(Symbol<TruthValue> symbol) {
9 super(symbol, "forbidden");
10 }
11
12 @Override
13 public boolean filter(Tuple key, TruthValue value) {
14 return !value.may();
15 }
16}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java
index 3d278a8b..7ec9e7ac 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java
@@ -1,22 +1,31 @@
1package tools.refinery.store.query.view; 1package tools.refinery.store.query.view;
2 2
3import tools.refinery.store.model.Model; 3import tools.refinery.store.model.Model;
4import tools.refinery.store.query.FunctionalDependency; 4import tools.refinery.store.query.dnf.FunctionalDependency;
5import tools.refinery.store.query.term.DataSort;
6import tools.refinery.store.query.term.NodeSort;
7import tools.refinery.store.query.term.Sort;
5import tools.refinery.store.representation.Symbol; 8import tools.refinery.store.representation.Symbol;
6import tools.refinery.store.tuple.Tuple; 9import tools.refinery.store.tuple.Tuple;
7import tools.refinery.store.tuple.Tuple1; 10import tools.refinery.store.tuple.Tuple1;
8 11
12import java.util.List;
13import java.util.Objects;
9import java.util.Set; 14import java.util.Set;
10import java.util.stream.Collectors; 15import java.util.stream.Collectors;
11import java.util.stream.IntStream; 16import java.util.stream.IntStream;
12 17
13public final class FunctionalRelationView<T> extends RelationView<T> { 18public final class FunctionalRelationView<T> extends RelationView<T> {
19 private final T defaultValue;
20
14 public FunctionalRelationView(Symbol<T> symbol, String name) { 21 public FunctionalRelationView(Symbol<T> symbol, String name) {
15 super(symbol, name); 22 super(symbol, name);
23 defaultValue = symbol.defaultValue();
16 } 24 }
17 25
18 public FunctionalRelationView(Symbol<T> symbol) { 26 public FunctionalRelationView(Symbol<T> symbol) {
19 super(symbol); 27 super(symbol);
28 defaultValue = symbol.defaultValue();
20 } 29 }
21 30
22 @Override 31 @Override
@@ -37,7 +46,7 @@ public final class FunctionalRelationView<T> extends RelationView<T> {
37 46
38 @Override 47 @Override
39 public boolean filter(Tuple key, T value) { 48 public boolean filter(Tuple key, T value) {
40 return true; 49 return !Objects.equals(defaultValue, value);
41 } 50 }
42 51
43 @Override 52 @Override
@@ -68,4 +77,29 @@ public final class FunctionalRelationView<T> extends RelationView<T> {
68 public int arity() { 77 public int arity() {
69 return getSymbol().arity() + 1; 78 return getSymbol().arity() + 1;
70 } 79 }
80
81 @Override
82 public List<Sort> getSorts() {
83 var sorts = new Sort[arity()];
84 int valueIndex = sorts.length - 1;
85 for (int i = 0; i < valueIndex; i++) {
86 sorts[i] = NodeSort.INSTANCE;
87 }
88 sorts[valueIndex] = new DataSort<>(getSymbol().valueType());
89 return List.of(sorts);
90 }
91
92 @Override
93 public boolean equals(Object o) {
94 if (this == o) return true;
95 if (o == null || getClass() != o.getClass()) return false;
96 if (!super.equals(o)) return false;
97 FunctionalRelationView<?> that = (FunctionalRelationView<?>) o;
98 return Objects.equals(defaultValue, that.defaultValue);
99 }
100
101 @Override
102 public int hashCode() {
103 return Objects.hash(super.hashCode(), defaultValue);
104 }
71} 105}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java
index e1b2e45b..e1b2e45b 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MayRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MayRelationView.java
new file mode 100644
index 00000000..a2a84b3c
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MayRelationView.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.view;
2
3import tools.refinery.store.representation.Symbol;
4import tools.refinery.store.representation.TruthValue;
5import tools.refinery.store.tuple.Tuple;
6
7public class MayRelationView extends TuplePreservingRelationView<TruthValue> {
8 public MayRelationView(Symbol<TruthValue> symbol) {
9 super(symbol, "may");
10 }
11
12 @Override
13 public boolean filter(Tuple key, TruthValue value) {
14 return value.may();
15 }
16}
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MustRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MustRelationView.java
new file mode 100644
index 00000000..72ac0ca3
--- /dev/null
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MustRelationView.java
@@ -0,0 +1,16 @@
1package tools.refinery.store.query.view;
2
3import tools.refinery.store.representation.Symbol;
4import tools.refinery.store.representation.TruthValue;
5import tools.refinery.store.tuple.Tuple;
6
7public class MustRelationView extends TuplePreservingRelationView<TruthValue> {
8 public MustRelationView(Symbol<TruthValue> symbol) {
9 super(symbol, "must");
10 }
11
12 @Override
13 public boolean filter(Tuple key, TruthValue value) {
14 return value.must();
15 }
16}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationView.java
index bbec1e73..d7164b3b 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationView.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationView.java
@@ -17,11 +17,11 @@ import java.util.UUID;
17public abstract non-sealed class RelationView<T> implements AnyRelationView { 17public abstract non-sealed class RelationView<T> implements AnyRelationView {
18 private final Symbol<T> symbol; 18 private final Symbol<T> symbol;
19 19
20 private final String name; 20 private final String viewName;
21 21
22 protected RelationView(Symbol<T> symbol, String name) { 22 protected RelationView(Symbol<T> symbol, String viewName) {
23 this.symbol = symbol; 23 this.symbol = symbol;
24 this.name = name; 24 this.viewName = viewName;
25 } 25 }
26 26
27 protected RelationView(Symbol<T> representation) { 27 protected RelationView(Symbol<T> representation) {
@@ -34,8 +34,13 @@ public abstract non-sealed class RelationView<T> implements AnyRelationView {
34 } 34 }
35 35
36 @Override 36 @Override
37 public String getViewName() {
38 return viewName;
39 }
40
41 @Override
37 public String name() { 42 public String name() {
38 return symbol.name() + "#" + name; 43 return symbol.name() + "#" + viewName;
39 } 44 }
40 45
41 public abstract boolean filter(Tuple key, T value); 46 public abstract boolean filter(Tuple key, T value);
@@ -48,15 +53,25 @@ public abstract non-sealed class RelationView<T> implements AnyRelationView {
48 } 53 }
49 54
50 @Override 55 @Override
56 public String toString() {
57 return name();
58 }
59
60 @Override
61 public String toReferenceString() {
62 return "@RelationView(\"%s\") %s".formatted(viewName, symbol.name());
63 }
64
65 @Override
51 public boolean equals(Object o) { 66 public boolean equals(Object o) {
52 if (this == o) return true; 67 if (this == o) return true;
53 if (o == null || getClass() != o.getClass()) return false; 68 if (o == null || getClass() != o.getClass()) return false;
54 RelationView<?> that = (RelationView<?>) o; 69 RelationView<?> that = (RelationView<?>) o;
55 return Objects.equals(symbol, that.symbol) && Objects.equals(name, that.name); 70 return Objects.equals(symbol, that.symbol) && Objects.equals(viewName, that.viewName);
56 } 71 }
57 72
58 @Override 73 @Override
59 public int hashCode() { 74 public int hashCode() {
60 return Objects.hash(symbol, name); 75 return Objects.hash(symbol, viewName);
61 } 76 }
62} 77}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java
index 2ba1fcc4..2ba1fcc4 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java
index 8cc4986e..234b3a9a 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java
@@ -1,10 +1,15 @@
1package tools.refinery.store.query.view; 1package tools.refinery.store.query.view;
2 2
3import tools.refinery.store.model.Model; 3import tools.refinery.store.model.Model;
4import tools.refinery.store.query.term.NodeSort;
5import tools.refinery.store.query.term.Sort;
4import tools.refinery.store.tuple.Tuple; 6import tools.refinery.store.tuple.Tuple;
5import tools.refinery.store.tuple.Tuple1; 7import tools.refinery.store.tuple.Tuple1;
6import tools.refinery.store.representation.Symbol; 8import tools.refinery.store.representation.Symbol;
7 9
10import java.util.Arrays;
11import java.util.List;
12
8public abstract class TuplePreservingRelationView<T> extends RelationView<T> { 13public abstract class TuplePreservingRelationView<T> extends RelationView<T> {
9 protected TuplePreservingRelationView(Symbol<T> symbol, String name) { 14 protected TuplePreservingRelationView(Symbol<T> symbol, String name) {
10 super(symbol, name); 15 super(symbol, name);
@@ -38,7 +43,15 @@ public abstract class TuplePreservingRelationView<T> extends RelationView<T> {
38 return filter(key, value); 43 return filter(key, value);
39 } 44 }
40 45
46 @Override
41 public int arity() { 47 public int arity() {
42 return this.getSymbol().arity(); 48 return this.getSymbol().arity();
43 } 49 }
50
51 @Override
52 public List<Sort> getSorts() {
53 var sorts = new Sort[arity()];
54 Arrays.fill(sorts, NodeSort.INSTANCE);
55 return List.of(sorts);
56 }
44} 57}
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfBuilderTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfBuilderTest.java
new file mode 100644
index 00000000..ceb46d6f
--- /dev/null
+++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfBuilderTest.java
@@ -0,0 +1,220 @@
1package tools.refinery.store.query;
2
3import org.junit.jupiter.api.Test;
4import tools.refinery.store.query.dnf.Dnf;
5import tools.refinery.store.query.literal.BooleanLiteral;
6import tools.refinery.store.query.term.Variable;
7import tools.refinery.store.query.view.KeyOnlyRelationView;
8import tools.refinery.store.representation.Symbol;
9
10import static org.hamcrest.MatcherAssert.assertThat;
11import static tools.refinery.store.query.literal.Literals.not;
12import static tools.refinery.store.query.tests.QueryMatchers.structurallyEqualTo;
13
14class DnfBuilderTest {
15 @Test
16 void eliminateTrueTest() {
17 var p = Variable.of("p");
18 var q = Variable.of("q");
19 var friend = new Symbol<>("friend", 2, Boolean.class, false);
20 var friendView = new KeyOnlyRelationView<>(friend);
21
22 var actual = Dnf.builder()
23 .parameters(p, q)
24 .clause(BooleanLiteral.TRUE, friendView.call(p, q))
25 .build();
26 var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build();
27
28 assertThat(actual, structurallyEqualTo(expected));
29 }
30
31 @Test
32 void eliminateFalseTest() {
33 var p = Variable.of("p");
34 var q = Variable.of("q");
35 var friend = new Symbol<>("friend", 2, Boolean.class, false);
36 var friendView = new KeyOnlyRelationView<>(friend);
37
38 var actual = Dnf.builder()
39 .parameters(p, q)
40 .clause(friendView.call(p, q))
41 .clause(friendView.call(q, p), BooleanLiteral.FALSE)
42 .build();
43 var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build();
44
45 assertThat(actual, structurallyEqualTo(expected));
46 }
47
48 @Test
49 void alwaysTrueTest() {
50 var p = Variable.of("p");
51 var q = Variable.of("q");
52 var friend = new Symbol<>("friend", 2, Boolean.class, false);
53 var friendView = new KeyOnlyRelationView<>(friend);
54
55 var actual = Dnf.builder()
56 .parameters(p, q)
57 .clause(friendView.call(p, q))
58 .clause(BooleanLiteral.TRUE)
59 .build();
60 var expected = Dnf.builder().parameters(p, q).clause().build();
61
62 assertThat(actual, structurallyEqualTo(expected));
63 }
64
65 @Test
66 void alwaysFalseTest() {
67 var p = Variable.of("p");
68 var q = Variable.of("q");
69 var friend = new Symbol<>("friend", 2, Boolean.class, false);
70 var friendView = new KeyOnlyRelationView<>(friend);
71
72 var actual = Dnf.builder()
73 .parameters(p, q)
74 .clause(friendView.call(p, q), BooleanLiteral.FALSE)
75 .build();
76 var expected = Dnf.builder().parameters(p, q).build();
77
78 assertThat(actual, structurallyEqualTo(expected));
79 }
80
81 @Test
82 void eliminateTrueDnfTest() {
83 var p = Variable.of("p");
84 var q = Variable.of("q");
85 var friend = new Symbol<>("friend", 2, Boolean.class, false);
86 var friendView = new KeyOnlyRelationView<>(friend);
87 var trueDnf = Dnf.builder().parameter(p).clause().build();
88
89 var actual = Dnf.builder()
90 .parameters(p, q)
91 .clause(trueDnf.call(q), friendView.call(p, q))
92 .build();
93 var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build();
94
95 assertThat(actual, structurallyEqualTo(expected));
96 }
97
98 @Test
99 void eliminateFalseDnfTest() {
100 var p = Variable.of("p");
101 var q = Variable.of("q");
102 var friend = new Symbol<>("friend", 2, Boolean.class, false);
103 var friendView = new KeyOnlyRelationView<>(friend);
104 var falseDnf = Dnf.builder().parameter(p).build();
105
106 var actual = Dnf.builder()
107 .parameters(p, q)
108 .clause(friendView.call(p, q))
109 .clause(friendView.call(q, p), falseDnf.call(q))
110 .build();
111 var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build();
112
113 assertThat(actual, structurallyEqualTo(expected));
114 }
115
116 @Test
117 void alwaysTrueDnfTest() {
118 var p = Variable.of("p");
119 var q = Variable.of("q");
120 var friend = new Symbol<>("friend", 2, Boolean.class, false);
121 var friendView = new KeyOnlyRelationView<>(friend);
122 var trueDnf = Dnf.builder().parameter(p).clause().build();
123
124 var actual = Dnf.builder()
125 .parameters(p, q)
126 .clause(friendView.call(p, q))
127 .clause(trueDnf.call(q))
128 .build();
129 var expected = Dnf.builder().parameters(p, q).clause().build();
130
131 assertThat(actual, structurallyEqualTo(expected));
132 }
133
134 @Test
135 void alwaysFalseDnfTest() {
136 var p = Variable.of("p");
137 var q = Variable.of("q");
138 var friend = new Symbol<>("friend", 2, Boolean.class, false);
139 var friendView = new KeyOnlyRelationView<>(friend);
140 var falseDnf = Dnf.builder().parameter(p).build();
141
142 var actual = Dnf.builder()
143 .parameters(p, q)
144 .clause(friendView.call(p, q), falseDnf.call(q))
145 .build();
146 var expected = Dnf.builder().parameters(p, q).build();
147
148 assertThat(actual, structurallyEqualTo(expected));
149 }
150
151 @Test
152 void eliminateNotFalseDnfTest() {
153 var p = Variable.of("p");
154 var q = Variable.of("q");
155 var friend = new Symbol<>("friend", 2, Boolean.class, false);
156 var friendView = new KeyOnlyRelationView<>(friend);
157 var falseDnf = Dnf.builder().parameter(p).build();
158
159 var actual = Dnf.builder()
160 .parameters(p, q)
161 .clause(not(falseDnf.call(q)), friendView.call(p, q))
162 .build();
163 var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build();
164
165 assertThat(actual, structurallyEqualTo(expected));
166 }
167
168 @Test
169 void eliminateNotTrueDnfTest() {
170 var p = Variable.of("p");
171 var q = Variable.of("q");
172 var friend = new Symbol<>("friend", 2, Boolean.class, false);
173 var friendView = new KeyOnlyRelationView<>(friend);
174 var trueDnf = Dnf.builder().parameter(p).clause().build();
175
176 var actual = Dnf.builder()
177 .parameters(p, q)
178 .clause(friendView.call(p, q))
179 .clause(friendView.call(q, p), not(trueDnf.call(q)))
180 .build();
181 var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build();
182
183 assertThat(actual, structurallyEqualTo(expected));
184 }
185
186 @Test
187 void alwaysNotFalseDnfTest() {
188 var p = Variable.of("p");
189 var q = Variable.of("q");
190 var friend = new Symbol<>("friend", 2, Boolean.class, false);
191 var friendView = new KeyOnlyRelationView<>(friend);
192 var falseDnf = Dnf.builder().parameter(p).build();
193
194 var actual = Dnf.builder()
195 .parameters(p, q)
196 .clause(friendView.call(p, q))
197 .clause(not(falseDnf.call(q)))
198 .build();
199 var expected = Dnf.builder().parameters(p, q).clause().build();
200
201 assertThat(actual, structurallyEqualTo(expected));
202 }
203
204 @Test
205 void alwaysNotTrueDnfTest() {
206 var p = Variable.of("p");
207 var q = Variable.of("q");
208 var friend = new Symbol<>("friend", 2, Boolean.class, false);
209 var friendView = new KeyOnlyRelationView<>(friend);
210 var trueDnf = Dnf.builder().parameter(p).clause().build();
211
212 var actual = Dnf.builder()
213 .parameters(p, q)
214 .clause(friendView.call(p, q), not(trueDnf.call(q)))
215 .build();
216 var expected = Dnf.builder().parameters(p, q).build();
217
218 assertThat(actual, structurallyEqualTo(expected));
219 }
220}
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfToDefinitionStringTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfToDefinitionStringTest.java
new file mode 100644
index 00000000..9b469bb0
--- /dev/null
+++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfToDefinitionStringTest.java
@@ -0,0 +1,174 @@
1package tools.refinery.store.query;
2
3import org.junit.jupiter.api.Test;
4import tools.refinery.store.query.dnf.Dnf;
5import tools.refinery.store.query.term.Variable;
6import tools.refinery.store.query.view.KeyOnlyRelationView;
7import tools.refinery.store.representation.Symbol;
8
9import static org.hamcrest.MatcherAssert.assertThat;
10import static org.hamcrest.Matchers.is;
11import static tools.refinery.store.query.literal.Literals.not;
12
13class DnfToDefinitionStringTest {
14 @Test
15 void noClausesTest() {
16 var p = Variable.of("p");
17 var dnf = Dnf.builder("Example").parameter(p).build();
18
19 assertThat(dnf.toDefinitionString(), is("""
20 pred Example(p) <->
21 <no clauses>.
22 """));
23 }
24
25 @Test
26 void noParametersTest() {
27 var dnf = Dnf.builder("Example").build();
28
29 assertThat(dnf.toDefinitionString(), is("""
30 pred Example() <->
31 <no clauses>.
32 """));
33 }
34
35 @Test
36 void emptyClauseTest() {
37 var p = Variable.of("p");
38 var dnf = Dnf.builder("Example").parameter(p).clause().build();
39
40 assertThat(dnf.toDefinitionString(), is("""
41 pred Example(p) <->
42 <empty>.
43 """));
44 }
45
46 @Test
47 void relationViewPositiveTest() {
48 var p = Variable.of("p");
49 var q = Variable.of("q");
50 var friend = new Symbol<>("friend", 2, Boolean.class, false);
51 var friendView = new KeyOnlyRelationView<>(friend);
52 var dnf = Dnf.builder("Example").parameter(p).clause(friendView.call(p, q)).build();
53
54 assertThat(dnf.toDefinitionString(), is("""
55 pred Example(p) <->
56 @RelationView("key") friend(p, q).
57 """));
58 }
59
60 @Test
61 void relationViewNegativeTest() {
62 var p = Variable.of("p");
63 var q = Variable.of("q");
64 var friend = new Symbol<>("friend", 2, Boolean.class, false);
65 var friendView = new KeyOnlyRelationView<>(friend);
66 var dnf = Dnf.builder("Example").parameter(p).clause(not(friendView.call(p, q))).build();
67
68 assertThat(dnf.toDefinitionString(), is("""
69 pred Example(p) <->
70 !(@RelationView("key") friend(p, q)).
71 """));
72 }
73
74 @Test
75 void relationViewTransitiveTest() {
76 var p = Variable.of("p");
77 var q = Variable.of("q");
78 var friend = new Symbol<>("friend", 2, Boolean.class, false);
79 var friendView = new KeyOnlyRelationView<>(friend);
80 var dnf = Dnf.builder("Example").parameter(p).clause(friendView.callTransitive(p, q)).build();
81
82 assertThat(dnf.toDefinitionString(), is("""
83 pred Example(p) <->
84 @RelationView("key") friend+(p, q).
85 """));
86 }
87
88 @Test
89 void multipleParametersTest() {
90 var p = Variable.of("p");
91 var q = Variable.of("q");
92 var friend = new Symbol<>("friend", 2, Boolean.class, false);
93 var friendView = new KeyOnlyRelationView<>(friend);
94 var dnf = Dnf.builder("Example").parameters(p, q).clause(friendView.call(p, q)).build();
95
96 assertThat(dnf.toDefinitionString(), is("""
97 pred Example(p, q) <->
98 @RelationView("key") friend(p, q).
99 """));
100 }
101
102 @Test
103 void multipleLiteralsTest() {
104 var p = Variable.of("p");
105 var q = Variable.of("q");
106 var person = new Symbol<>("person", 1, Boolean.class, false);
107 var personView = new KeyOnlyRelationView<>(person);
108 var friend = new Symbol<>("friend", 2, Boolean.class, false);
109 var friendView = new KeyOnlyRelationView<>(friend);
110 var dnf = Dnf.builder("Example")
111 .parameter(p)
112 .clause(
113 personView.call(p),
114 personView.call(q),
115 friendView.call(p, q)
116 )
117 .build();
118
119 assertThat(dnf.toDefinitionString(), is("""
120 pred Example(p) <->
121 @RelationView("key") person(p),
122 @RelationView("key") person(q),
123 @RelationView("key") friend(p, q).
124 """));
125 }
126
127 @Test
128 void multipleClausesTest() {
129 var p = Variable.of("p");
130 var q = Variable.of("q");
131 var friend = new Symbol<>("friend", 2, Boolean.class, false);
132 var friendView = new KeyOnlyRelationView<>(friend);
133 var dnf = Dnf.builder("Example")
134 .parameter(p)
135 .clause(friendView.call(p, q))
136 .clause(friendView.call(q, p))
137 .build();
138
139 assertThat(dnf.toDefinitionString(), is("""
140 pred Example(p) <->
141 @RelationView("key") friend(p, q)
142 ;
143 @RelationView("key") friend(q, p).
144 """));
145 }
146
147 @Test
148 void dnfTest() {
149 var p = Variable.of("p");
150 var q = Variable.of("q");
151 var r = Variable.of("r");
152 var s = Variable.of("s");
153 var person = new Symbol<>("person", 1, Boolean.class, false);
154 var personView = new KeyOnlyRelationView<>(person);
155 var friend = new Symbol<>("friend", 2, Boolean.class, false);
156 var friendView = new KeyOnlyRelationView<>(friend);
157 var called = Dnf.builder("Called").parameters(r, s).clause(friendView.call(r, s)).build();
158 var dnf = Dnf.builder("Example")
159 .parameter(p)
160 .clause(
161 personView.call(p),
162 personView.call(q),
163 not(called.call(p, q))
164 )
165 .build();
166
167 assertThat(dnf.toDefinitionString(), is("""
168 pred Example(p) <->
169 @RelationView("key") person(p),
170 @RelationView("key") person(q),
171 !(@Dnf Called(p, q)).
172 """));
173 }
174}
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/tests/StructurallyEqualToTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/tests/StructurallyEqualToTest.java
new file mode 100644
index 00000000..a61e2b65
--- /dev/null
+++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/tests/StructurallyEqualToTest.java
@@ -0,0 +1,77 @@
1package tools.refinery.store.query.tests;
2
3import org.junit.jupiter.api.Test;
4import tools.refinery.store.query.dnf.Dnf;
5import tools.refinery.store.query.term.Variable;
6import tools.refinery.store.query.view.KeyOnlyRelationView;
7import tools.refinery.store.representation.Symbol;
8
9import static org.hamcrest.CoreMatchers.containsString;
10import static org.hamcrest.MatcherAssert.assertThat;
11import static org.junit.jupiter.api.Assertions.assertThrows;
12import static tools.refinery.store.query.tests.QueryMatchers.structurallyEqualTo;
13
14class StructurallyEqualToTest {
15 @Test
16 void flatEqualsTest() {
17 var p = Variable.of("p");
18 var q = Variable.of("q");
19 var person = new Symbol<>("Person", 1, Boolean.class, false);
20 var personView = new KeyOnlyRelationView<>(person);
21
22 var expected = Dnf.builder("Expected").parameters(q).clause(personView.call(q)).build();
23 var actual = Dnf.builder("Actual").parameters(p).clause(personView.call(p)).build();
24
25 assertThat(actual, structurallyEqualTo(expected));
26 }
27
28 @Test
29 void flatNotEqualsTest() {
30 var p = Variable.of("p");
31 var q = Variable.of("q");
32 var person = new Symbol<>("Person", 1, Boolean.class, false);
33 var personView = new KeyOnlyRelationView<>(person);
34
35 var expected = Dnf.builder("Expected").parameters(q).clause(personView.call(q)).build();
36 var actual = Dnf.builder("Actual").parameters(p).clause(personView.call(q)).build();
37
38 var assertion = structurallyEqualTo(expected);
39 assertThrows(AssertionError.class, () -> assertThat(actual, assertion));
40 }
41
42 @Test
43 void deepEqualsTest() {
44 var p = Variable.of("p");
45 var q = Variable.of("q");
46 var person = new Symbol<>("Person", 1, Boolean.class, false);
47 var personView = new KeyOnlyRelationView<>(person);
48
49 var expected = Dnf.builder("Expected").parameters(q).clause(
50 Dnf.builder("Expected2").parameters(p).clause(personView.call(p)).build().call(q)
51 ).build();
52 var actual = Dnf.builder("Actual").parameters(q).clause(
53 Dnf.builder("Actual2").parameters(p).clause(personView.call(p)).build().call(q)
54 ).build();
55
56 assertThat(actual, structurallyEqualTo(expected));
57 }
58
59 @Test
60 void deepNotEqualsTest() {
61 var p = Variable.of("p");
62 var q = Variable.of("q");
63 var person = new Symbol<>("Person", 1, Boolean.class, false);
64 var personView = new KeyOnlyRelationView<>(person);
65
66 var expected = Dnf.builder("Expected").parameters(q).clause(
67 Dnf.builder("Expected2").parameters(p).clause(personView.call(p)).build().call(q)
68 ).build();
69 var actual = Dnf.builder("Actual").parameters(q).clause(
70 Dnf.builder("Actual2").parameters(p).clause(personView.call(q)).build().call(q)
71 ).build();
72
73 var assertion = structurallyEqualTo(expected);
74 var error = assertThrows(AssertionError.class, () -> assertThat(actual, assertion));
75 assertThat(error.getMessage(), containsString(" called from Expected/1 "));
76 }
77}
diff --git a/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/MismatchDescribingDnfEqualityChecker.java b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/MismatchDescribingDnfEqualityChecker.java
new file mode 100644
index 00000000..685957c9
--- /dev/null
+++ b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/MismatchDescribingDnfEqualityChecker.java
@@ -0,0 +1,43 @@
1package tools.refinery.store.query.tests;
2
3import org.hamcrest.Description;
4import tools.refinery.store.query.equality.DeepDnfEqualityChecker;
5
6class MismatchDescribingDnfEqualityChecker extends DeepDnfEqualityChecker {
7 private final Description description;
8 private boolean described;
9
10 MismatchDescribingDnfEqualityChecker(Description description) {
11 this.description = description;
12 }
13
14 public boolean isDescribed() {
15 return described;
16 }
17
18 @Override
19 protected boolean doCheckEqual(Pair pair) {
20 boolean result = super.doCheckEqual(pair);
21 if (!result && !described) {
22 describeMismatch(pair);
23 // Only describe the first found (innermost) mismatch.
24 described = true;
25 }
26 return result;
27 }
28
29 private void describeMismatch(Pair pair) {
30 var inProgress = getInProgress();
31 int size = inProgress.size();
32 if (size <= 1) {
33 description.appendText("was ").appendText(pair.left().toDefinitionString());
34 return;
35 }
36 var last = inProgress.get(size - 1);
37 description.appendText("expected ").appendText(last.right().toDefinitionString());
38 for (int i = size - 2; i >= 0; i--) {
39 description.appendText(" called from ").appendText(inProgress.get(i).left().toString());
40 }
41 description.appendText(" was not structurally equal to ").appendText(last.right().toDefinitionString());
42 }
43}
diff --git a/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/QueryMatchers.java b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/QueryMatchers.java
new file mode 100644
index 00000000..bf1c1b74
--- /dev/null
+++ b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/QueryMatchers.java
@@ -0,0 +1,14 @@
1package tools.refinery.store.query.tests;
2
3import org.hamcrest.Matcher;
4import tools.refinery.store.query.dnf.Dnf;
5
6public final class QueryMatchers {
7 private QueryMatchers() {
8 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
9 }
10
11 public static Matcher<Dnf> structurallyEqualTo(Dnf expected) {
12 return new StructurallyEqualTo(expected);
13 }
14}
diff --git a/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/StructurallyEqualTo.java b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/StructurallyEqualTo.java
new file mode 100644
index 00000000..a9a78f88
--- /dev/null
+++ b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/StructurallyEqualTo.java
@@ -0,0 +1,36 @@
1package tools.refinery.store.query.tests;
2
3import org.hamcrest.Description;
4import org.hamcrest.TypeSafeMatcher;
5import tools.refinery.store.query.dnf.Dnf;
6import tools.refinery.store.query.equality.DeepDnfEqualityChecker;
7
8public class StructurallyEqualTo extends TypeSafeMatcher<Dnf> {
9 private final Dnf expected;
10
11 public StructurallyEqualTo(Dnf expected) {
12 this.expected = expected;
13 }
14
15 @Override
16 protected boolean matchesSafely(Dnf item) {
17 var checker = new DeepDnfEqualityChecker();
18 return checker.dnfEqual(expected, item);
19 }
20
21 @Override
22 protected void describeMismatchSafely(Dnf item, Description mismatchDescription) {
23 var describingChecker = new MismatchDescribingDnfEqualityChecker(mismatchDescription);
24 if (describingChecker.dnfEqual(expected, item)) {
25 throw new IllegalStateException("Mismatched Dnf was matching on repeated comparison");
26 }
27 if (!describingChecker.isDescribed()) {
28 super.describeMismatchSafely(item, mismatchDescription);
29 }
30 }
31
32 @Override
33 public void describeTo(Description description) {
34 description.appendText("structurally equal to ").appendText(expected.toDefinitionString());
35 }
36}
diff --git a/subprojects/store-reasoning/build.gradle b/subprojects/store-reasoning/build.gradle
new file mode 100644
index 00000000..cb440d9f
--- /dev/null
+++ b/subprojects/store-reasoning/build.gradle
@@ -0,0 +1,7 @@
1plugins {
2 id 'refinery-java-library'
3}
4
5dependencies {
6 api project(':refinery-store-query')
7}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/AnyPartialInterpretation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/AnyPartialInterpretation.java
new file mode 100644
index 00000000..ebe82c8b
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/AnyPartialInterpretation.java
@@ -0,0 +1,13 @@
1package tools.refinery.store.reasoning;
2
3import tools.refinery.store.reasoning.representation.AnyPartialSymbol;
4
5public sealed interface AnyPartialInterpretation permits PartialInterpretation {
6 ReasoningAdapter getAdapter();
7
8 AnyPartialSymbol getPartialSymbol();
9
10 int countUnfinished();
11
12 int countErrors();
13}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/MergeResult.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/MergeResult.java
new file mode 100644
index 00000000..0d51598b
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/MergeResult.java
@@ -0,0 +1,15 @@
1package tools.refinery.store.reasoning;
2
3public enum MergeResult {
4 UNCHANGED,
5 REFINED,
6 REJECTED;
7
8 public MergeResult andAlso(MergeResult other) {
9 return switch (this) {
10 case UNCHANGED -> other;
11 case REFINED -> other == REJECTED ? REJECTED : REFINED;
12 case REJECTED -> REJECTED;
13 };
14 }
15}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/PartialInterpretation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/PartialInterpretation.java
new file mode 100644
index 00000000..4f195e97
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/PartialInterpretation.java
@@ -0,0 +1,20 @@
1package tools.refinery.store.reasoning;
2
3import tools.refinery.store.reasoning.representation.PartialSymbol;
4import tools.refinery.store.map.Cursor;
5import tools.refinery.store.tuple.Tuple;
6
7public non-sealed interface PartialInterpretation<A, C> extends AnyPartialInterpretation {
8 @Override
9 PartialSymbol<A, C> getPartialSymbol();
10
11 A get(Tuple key);
12
13 Cursor<Tuple, A> getAll();
14
15 MergeResult merge(Tuple key, A value);
16
17 C getConcrete(Tuple key);
18
19 Cursor<Tuple, C> getAllConcrete();
20}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/Reasoning.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/Reasoning.java
new file mode 100644
index 00000000..d7d0a999
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/Reasoning.java
@@ -0,0 +1,24 @@
1package tools.refinery.store.reasoning;
2
3import tools.refinery.store.reasoning.internal.ReasoningBuilderImpl;
4import tools.refinery.store.adapter.ModelAdapterBuilderFactory;
5import tools.refinery.store.model.ModelStoreBuilder;
6import tools.refinery.store.reasoning.representation.PartialRelation;
7
8public final class Reasoning extends ModelAdapterBuilderFactory<ReasoningAdapter,
9 ReasoningStoreAdapter, ReasoningBuilder> {
10 public static final Reasoning ADAPTER = new Reasoning();
11
12 public static final PartialRelation EXISTS = new PartialRelation("exists", 1);
13
14 public static final PartialRelation EQUALS = new PartialRelation("equals", 1);
15
16 private Reasoning() {
17 super(ReasoningAdapter.class, ReasoningStoreAdapter.class, ReasoningBuilder.class);
18 }
19
20 @Override
21 public ReasoningBuilder createBuilder(ModelStoreBuilder storeBuilder) {
22 return new ReasoningBuilderImpl(storeBuilder);
23 }
24}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningAdapter.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningAdapter.java
new file mode 100644
index 00000000..de039dd9
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningAdapter.java
@@ -0,0 +1,22 @@
1package tools.refinery.store.reasoning;
2
3import tools.refinery.store.adapter.ModelAdapter;
4import tools.refinery.store.reasoning.representation.AnyPartialSymbol;
5import tools.refinery.store.reasoning.representation.PartialSymbol;
6import tools.refinery.store.query.dnf.Dnf;
7import tools.refinery.store.query.ResultSet;
8
9public interface ReasoningAdapter extends ModelAdapter {
10 @Override
11 ReasoningStoreAdapter getStoreAdapter();
12
13 default AnyPartialInterpretation getPartialInterpretation(AnyPartialSymbol partialSymbol) {
14 // Cast to disambiguate overloads.
15 var typedPartialSymbol = (PartialSymbol<?, ?>) partialSymbol;
16 return getPartialInterpretation(typedPartialSymbol);
17 }
18
19 <A, C> PartialInterpretation<A, C> getPartialInterpretation(PartialSymbol<A, C> partialSymbol);
20
21 ResultSet getLiftedResultSet(Dnf query);
22}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningBuilder.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningBuilder.java
new file mode 100644
index 00000000..4030d296
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningBuilder.java
@@ -0,0 +1,28 @@
1package tools.refinery.store.reasoning;
2
3import tools.refinery.store.adapter.ModelAdapterBuilder;
4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.reasoning.literal.Modality;
6import tools.refinery.store.query.dnf.Dnf;
7
8import java.util.Collection;
9import java.util.List;
10
11@SuppressWarnings("UnusedReturnValue")
12public interface ReasoningBuilder extends ModelAdapterBuilder {
13 default ReasoningBuilder liftedQueries(Dnf... liftedQueries) {
14 return liftedQueries(List.of(liftedQueries));
15 }
16
17 default ReasoningBuilder liftedQueries(Collection<Dnf> liftedQueries) {
18 liftedQueries.forEach(this::liftedQuery);
19 return this;
20 }
21
22 ReasoningBuilder liftedQuery(Dnf liftedQuery);
23
24 Dnf lift(Modality modality, Dnf query);
25
26 @Override
27 ReasoningStoreAdapter createStoreAdapter(ModelStore store);
28}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningStoreAdapter.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningStoreAdapter.java
new file mode 100644
index 00000000..f6a6e414
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningStoreAdapter.java
@@ -0,0 +1,17 @@
1package tools.refinery.store.reasoning;
2
3import tools.refinery.store.adapter.ModelStoreAdapter;
4import tools.refinery.store.model.Model;
5import tools.refinery.store.reasoning.representation.AnyPartialSymbol;
6import tools.refinery.store.query.dnf.Dnf;
7
8import java.util.Collection;
9
10public interface ReasoningStoreAdapter extends ModelStoreAdapter {
11 Collection<AnyPartialSymbol> getPartialSymbols();
12
13 Collection<Dnf> getLiftedQueries();
14
15 @Override
16 ReasoningAdapter createModelAdapter(Model model);
17}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningAdapterImpl.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningAdapterImpl.java
new file mode 100644
index 00000000..0acf0d49
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningAdapterImpl.java
@@ -0,0 +1,38 @@
1package tools.refinery.store.reasoning.internal;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.reasoning.ReasoningAdapter;
5import tools.refinery.store.reasoning.PartialInterpretation;
6import tools.refinery.store.reasoning.representation.PartialSymbol;
7import tools.refinery.store.query.dnf.Dnf;
8import tools.refinery.store.query.ResultSet;
9
10public class ReasoningAdapterImpl implements ReasoningAdapter {
11 private final Model model;
12 private final ReasoningStoreAdapterImpl storeAdapter;
13
14 ReasoningAdapterImpl(Model model, ReasoningStoreAdapterImpl storeAdapter) {
15 this.model = model;
16 this.storeAdapter = storeAdapter;
17 }
18
19 @Override
20 public Model getModel() {
21 return model;
22 }
23
24 @Override
25 public ReasoningStoreAdapterImpl getStoreAdapter() {
26 return storeAdapter;
27 }
28
29 @Override
30 public <A, C> PartialInterpretation<A, C> getPartialInterpretation(PartialSymbol<A, C> partialSymbol) {
31 return null;
32 }
33
34 @Override
35 public ResultSet getLiftedResultSet(Dnf query) {
36 return null;
37 }
38}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningBuilderImpl.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningBuilderImpl.java
new file mode 100644
index 00000000..e11b14bf
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningBuilderImpl.java
@@ -0,0 +1,29 @@
1package tools.refinery.store.reasoning.internal;
2
3import tools.refinery.store.adapter.AbstractModelAdapterBuilder;
4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.model.ModelStoreBuilder;
6import tools.refinery.store.reasoning.ReasoningBuilder;
7import tools.refinery.store.reasoning.literal.Modality;
8import tools.refinery.store.query.dnf.Dnf;
9
10public class ReasoningBuilderImpl extends AbstractModelAdapterBuilder implements ReasoningBuilder {
11 public ReasoningBuilderImpl(ModelStoreBuilder storeBuilder) {
12 super(storeBuilder);
13 }
14
15 @Override
16 public ReasoningBuilder liftedQuery(Dnf liftedQuery) {
17 return null;
18 }
19
20 @Override
21 public Dnf lift(Modality modality, Dnf query) {
22 return null;
23 }
24
25 @Override
26 public ReasoningStoreAdapterImpl createStoreAdapter(ModelStore store) {
27 return null;
28 }
29}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningStoreAdapterImpl.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningStoreAdapterImpl.java
new file mode 100644
index 00000000..ac06e68b
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningStoreAdapterImpl.java
@@ -0,0 +1,37 @@
1package tools.refinery.store.reasoning.internal;
2
3import tools.refinery.store.reasoning.ReasoningStoreAdapter;
4import tools.refinery.store.model.Model;
5import tools.refinery.store.model.ModelStore;
6import tools.refinery.store.reasoning.representation.AnyPartialSymbol;
7import tools.refinery.store.query.dnf.Dnf;
8
9import java.util.Collection;
10
11public class ReasoningStoreAdapterImpl implements ReasoningStoreAdapter {
12 private final ModelStore store;
13
14 ReasoningStoreAdapterImpl(ModelStore store) {
15 this.store = store;
16 }
17
18 @Override
19 public ModelStore getStore() {
20 return store;
21 }
22
23 @Override
24 public Collection<AnyPartialSymbol> getPartialSymbols() {
25 return null;
26 }
27
28 @Override
29 public Collection<Dnf> getLiftedQueries() {
30 return null;
31 }
32
33 @Override
34 public ReasoningAdapterImpl createModelAdapter(Model model) {
35 return new ReasoningAdapterImpl(model, this);
36 }
37}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/DnfLifter.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/DnfLifter.java
new file mode 100644
index 00000000..2b0e0f08
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/DnfLifter.java
@@ -0,0 +1,116 @@
1package tools.refinery.store.reasoning.lifting;
2
3import org.jetbrains.annotations.Nullable;
4import tools.refinery.store.query.dnf.Dnf;
5import tools.refinery.store.query.dnf.DnfBuilder;
6import tools.refinery.store.query.dnf.DnfClause;
7import tools.refinery.store.query.literal.CallLiteral;
8import tools.refinery.store.query.literal.CallPolarity;
9import tools.refinery.store.query.literal.Literal;
10import tools.refinery.store.query.term.DataVariable;
11import tools.refinery.store.query.term.Variable;
12import tools.refinery.store.reasoning.Reasoning;
13import tools.refinery.store.reasoning.literal.ModalConstraint;
14import tools.refinery.store.reasoning.literal.Modality;
15import tools.refinery.store.reasoning.literal.PartialLiterals;
16import tools.refinery.store.util.CycleDetectingMapper;
17
18import java.util.ArrayList;
19import java.util.HashSet;
20import java.util.List;
21
22public class DnfLifter {
23 private final CycleDetectingMapper<ModalDnf, Dnf> mapper = new CycleDetectingMapper<>(ModalDnf::toString,
24 this::doLift);
25
26 public Dnf lift(Modality modality, Dnf query) {
27 return mapper.map(new ModalDnf(modality, query));
28 }
29
30 private Dnf doLift(ModalDnf modalDnf) {
31 var modality = modalDnf.modality();
32 var dnf = modalDnf.dnf();
33 var builder = Dnf.builder();
34 builder.parameters(dnf.getParameters());
35 boolean changed = false;
36 for (var clause : dnf.getClauses()) {
37 if (liftClause(modality, clause, builder)) {
38 changed = true;
39 }
40 }
41 if (changed) {
42 return builder.build();
43 }
44 return dnf;
45 }
46
47 private boolean liftClause(Modality modality, DnfClause clause, DnfBuilder builder) {
48 boolean changed = false;
49 var quantifiedVariables = new HashSet<>(clause.boundVariables()
50 .stream()
51 .filter(DataVariable.class::isInstance)
52 .toList());
53 var literals = clause.literals();
54 var liftedLiterals = new ArrayList<Literal>(literals.size());
55 for (var literal : literals) {
56 Literal liftedLiteral = liftLiteral(modality, literal);
57 if (liftedLiteral == null) {
58 liftedLiteral = literal;
59 } else {
60 changed = true;
61 }
62 liftedLiterals.add(liftedLiteral);
63 var variable = isExistsLiteralForVariable(modality, liftedLiteral);
64 if (variable != null) {
65 // If we already quantify over the existence of the variable with the expected modality,
66 // we don't need to insert quantification manually.
67 quantifiedVariables.remove(variable);
68 }
69 }
70 for (var quantifiedVariable : quantifiedVariables) {
71 // Quantify over data variables that are not already quantified with the expected modality.
72 liftedLiterals.add(new CallLiteral(CallPolarity.POSITIVE, new ModalConstraint(modality, Reasoning.EXISTS),
73 List.of(quantifiedVariable)));
74 }
75 builder.clause(liftedLiterals);
76 return changed || !quantifiedVariables.isEmpty();
77 }
78
79 @Nullable
80 private Variable isExistsLiteralForVariable(Modality modality, Literal literal) {
81 if (literal instanceof CallLiteral callLiteral &&
82 callLiteral.getPolarity() == CallPolarity.POSITIVE &&
83 callLiteral.getTarget() instanceof ModalConstraint modalConstraint &&
84 modalConstraint.modality() == modality &&
85 modalConstraint.constraint().equals(Reasoning.EXISTS)) {
86 return callLiteral.getArguments().get(0);
87 }
88 return null;
89 }
90
91 @Nullable
92 private Literal liftLiteral(Modality modality, Literal literal) {
93 if (!(literal instanceof CallLiteral callLiteral)) {
94 return null;
95 }
96 var target = callLiteral.getTarget();
97 if (target instanceof ModalConstraint modalTarget) {
98 var actualTarget = modalTarget.constraint();
99 if (actualTarget instanceof Dnf dnf) {
100 var targetModality = modalTarget.modality();
101 var liftedTarget = lift(targetModality, dnf);
102 return new CallLiteral(callLiteral.getPolarity(), liftedTarget, callLiteral.getArguments());
103 }
104 // No more lifting to be done, pass any modal call to a partial symbol through.
105 return null;
106 } else if (target instanceof Dnf dnf) {
107 var polarity = callLiteral.getPolarity();
108 var liftedTarget = lift(modality.commute(polarity), dnf);
109 // Use == instead of equals(), because lift will return the same object by reference is there are no
110 // changes made during lifting.
111 return liftedTarget == target ? null : new CallLiteral(polarity, liftedTarget, callLiteral.getArguments());
112 } else {
113 return PartialLiterals.addModality(callLiteral, modality);
114 }
115 }
116}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/ModalDnf.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/ModalDnf.java
new file mode 100644
index 00000000..ec381bb8
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/ModalDnf.java
@@ -0,0 +1,11 @@
1package tools.refinery.store.reasoning.lifting;
2
3import tools.refinery.store.query.dnf.Dnf;
4import tools.refinery.store.reasoning.literal.Modality;
5
6record ModalDnf(Modality modality, Dnf dnf) {
7 @Override
8 public String toString() {
9 return "%s %s".formatted(modality, dnf.name());
10 }
11}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java
new file mode 100644
index 00000000..2fbb4607
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java
@@ -0,0 +1,46 @@
1package tools.refinery.store.reasoning.literal;
2
3import tools.refinery.store.query.Constraint;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.literal.LiteralReduction;
6import tools.refinery.store.query.term.Sort;
7
8import java.util.List;
9
10public record ModalConstraint(Modality modality, Constraint constraint) implements Constraint {
11 private static final String FORMAT = "%s %s";
12
13 @Override
14 public String name() {
15 return FORMAT.formatted(modality, constraint.name());
16 }
17
18 @Override
19 public List<Sort> getSorts() {
20 return constraint.getSorts();
21 }
22
23 @Override
24 public LiteralReduction getReduction() {
25 return constraint.getReduction();
26 }
27
28 @Override
29 public boolean equals(LiteralEqualityHelper helper, Constraint other) {
30 if (getClass() != other.getClass()) {
31 return false;
32 }
33 var otherModalConstraint = (ModalConstraint) other;
34 return modality == otherModalConstraint.modality && constraint.equals(helper, otherModalConstraint.constraint);
35 }
36
37 @Override
38 public String toReferenceString() {
39 return FORMAT.formatted(modality, constraint.toReferenceString());
40 }
41
42 @Override
43 public String toString() {
44 return FORMAT.formatted(modality, constraint);
45 }
46}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/Modality.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/Modality.java
index e389f563..f0cb59de 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/Modality.java
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/Modality.java
@@ -1,4 +1,6 @@
1package tools.refinery.store.query.atom; 1package tools.refinery.store.reasoning.literal;
2
3import tools.refinery.store.query.literal.CallPolarity;
2 4
3import java.util.Locale; 5import java.util.Locale;
4 6
@@ -15,6 +17,13 @@ public enum Modality {
15 }; 17 };
16 } 18 }
17 19
20 public Modality commute(CallPolarity polarity) {
21 if (polarity.isPositive()) {
22 return this;
23 }
24 return this.negate();
25 }
26
18 @Override 27 @Override
19 public String toString() { 28 public String toString() {
20 return name().toLowerCase(Locale.ROOT); 29 return name().toLowerCase(Locale.ROOT);
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/PartialLiterals.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/PartialLiterals.java
new file mode 100644
index 00000000..f991f87f
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/PartialLiterals.java
@@ -0,0 +1,31 @@
1package tools.refinery.store.reasoning.literal;
2
3import tools.refinery.store.query.literal.CallLiteral;
4
5public final class PartialLiterals {
6 private PartialLiterals() {
7 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
8 }
9
10 public static CallLiteral may(CallLiteral literal) {
11 return addModality(literal, Modality.MAY);
12 }
13
14 public static CallLiteral must(CallLiteral literal) {
15 return addModality(literal, Modality.MUST);
16 }
17
18 public static CallLiteral current(CallLiteral literal) {
19 return addModality(literal, Modality.CURRENT);
20 }
21
22 public static CallLiteral addModality(CallLiteral literal, Modality modality) {
23 var target = literal.getTarget();
24 if (target instanceof ModalConstraint) {
25 throw new IllegalArgumentException("Literal %s already has modality".formatted(literal));
26 }
27 var polarity = literal.getPolarity();
28 var modalTarget = new ModalConstraint(modality.commute(polarity), target);
29 return new CallLiteral(polarity, modalTarget, literal.getArguments());
30 }
31}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialFunction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialFunction.java
new file mode 100644
index 00000000..e74cd58b
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialFunction.java
@@ -0,0 +1,4 @@
1package tools.refinery.store.reasoning.representation;
2
3public sealed interface AnyPartialFunction extends AnyPartialSymbol permits PartialFunction {
4}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java
new file mode 100644
index 00000000..6ff5031b
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java
@@ -0,0 +1,11 @@
1package tools.refinery.store.reasoning.representation;
2
3import tools.refinery.store.representation.AnyAbstractDomain;
4
5public sealed interface AnyPartialSymbol permits AnyPartialFunction, PartialSymbol {
6 String name();
7
8 int arity();
9
10 AnyAbstractDomain abstractDomain();
11}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java
new file mode 100644
index 00000000..59eeeefe
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java
@@ -0,0 +1,32 @@
1package tools.refinery.store.reasoning.representation;
2
3import tools.refinery.store.representation.AbstractDomain;
4
5public record PartialFunction<A, C>(String name, int arity, AbstractDomain<A, C> abstractDomain)
6 implements AnyPartialFunction, PartialSymbol<A, C> {
7 @Override
8 public A defaultValue() {
9 return null;
10 }
11
12 @Override
13 public C defaultConcreteValue() {
14 return null;
15 }
16
17 @Override
18 public boolean equals(Object o) {
19 return this == o;
20 }
21
22 @Override
23 public int hashCode() {
24 // Compare by identity to make hash table lookups more efficient.
25 return System.identityHashCode(this);
26 }
27
28 @Override
29 public String toString() {
30 return "%s/%d".formatted(name, arity);
31 }
32}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java
new file mode 100644
index 00000000..9bae53a9
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java
@@ -0,0 +1,56 @@
1package tools.refinery.store.reasoning.representation;
2
3import tools.refinery.store.query.Constraint;
4import tools.refinery.store.query.term.NodeSort;
5import tools.refinery.store.query.term.Sort;
6import tools.refinery.store.representation.AbstractDomain;
7import tools.refinery.store.representation.TruthValue;
8import tools.refinery.store.representation.TruthValueDomain;
9
10import java.util.Arrays;
11import java.util.List;
12
13public record PartialRelation(String name, int arity) implements PartialSymbol<TruthValue, Boolean>, Constraint {
14 @Override
15 public AbstractDomain<TruthValue, Boolean> abstractDomain() {
16 return TruthValueDomain.INSTANCE;
17 }
18
19 @Override
20 public TruthValue defaultValue() {
21 return TruthValue.FALSE;
22 }
23
24 @Override
25 public Boolean defaultConcreteValue() {
26 return false;
27 }
28
29 @Override
30 public List<Sort> getSorts() {
31 var sorts = new Sort[arity()];
32 Arrays.fill(sorts, NodeSort.INSTANCE);
33 return List.of(sorts);
34 }
35
36 @Override
37 public String toReferenceString() {
38 return name;
39 }
40
41 @Override
42 public boolean equals(Object o) {
43 return this == o;
44 }
45
46 @Override
47 public int hashCode() {
48 // Compare by identity to make hash table lookups more efficient.
49 return System.identityHashCode(this);
50 }
51
52 @Override
53 public String toString() {
54 return "%s/%d".formatted(name, arity);
55 }
56}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java
new file mode 100644
index 00000000..1af11f2e
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java
@@ -0,0 +1,12 @@
1package tools.refinery.store.reasoning.representation;
2
3import tools.refinery.store.representation.AbstractDomain;
4
5public sealed interface PartialSymbol<A, C> extends AnyPartialSymbol permits PartialFunction, PartialRelation {
6 @Override
7 AbstractDomain<A, C> abstractDomain();
8
9 A defaultValue();
10
11 C defaultConcreteValue();
12}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RelationRefinementAction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RelationRefinementAction.java
new file mode 100644
index 00000000..e8ed05a3
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RelationRefinementAction.java
@@ -0,0 +1,36 @@
1package tools.refinery.store.reasoning.rule;
2
3import tools.refinery.store.reasoning.Reasoning;
4import tools.refinery.store.reasoning.representation.PartialRelation;
5import tools.refinery.store.model.Model;
6import tools.refinery.store.query.term.Variable;
7import tools.refinery.store.representation.TruthValue;
8import tools.refinery.store.tuple.Tuple;
9
10import java.util.List;
11
12public record RelationRefinementAction(PartialRelation target, List<Variable> arguments, TruthValue value)
13 implements RuleAction {
14 public RelationRefinementAction {
15 if (arguments.size() != target.arity()) {
16 throw new IllegalArgumentException("%s needs %d parameters, but got %s".formatted(target.name(),
17 target.arity(), arguments.size()));
18 }
19 if (value == TruthValue.UNKNOWN) {
20 throw new IllegalArgumentException("Refining with UNKNOWN has no effect");
21 }
22 }
23
24 @Override
25 public RuleActionExecutor createExecutor(int[] argumentIndices, Model model) {
26 var targetInterpretation = model.getAdapter(Reasoning.ADAPTER).getPartialInterpretation(target);
27 return activationTuple -> {
28 int arity = argumentIndices.length;
29 var arguments = new int[arity];
30 for (int i = 0; i < arity; i++) {
31 arguments[i] = activationTuple.get(argumentIndices[i]);
32 }
33 return targetInterpretation.merge(Tuple.of(arguments), value);
34 };
35 }
36}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/Rule.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/Rule.java
new file mode 100644
index 00000000..c7b16d47
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/Rule.java
@@ -0,0 +1,38 @@
1package tools.refinery.store.reasoning.rule;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.query.dnf.Dnf;
5
6import java.util.ArrayList;
7import java.util.HashSet;
8import java.util.List;
9
10public record Rule(Dnf precondition, List<RuleAction> actions) {
11 public Rule {
12 var parameterSet = new HashSet<>(precondition.getParameters());
13 for (var action : actions) {
14 for (var argument : action.arguments()) {
15 if (!parameterSet.contains(argument)) {
16 throw new IllegalArgumentException(
17 "Argument %s of action %s does not appear in the parameter list %s of %s"
18 .formatted(argument, action, precondition.getParameters(), precondition.name()));
19 }
20 }
21 }
22 }
23
24 public RuleExecutor createExecutor(Model model) {
25 var parameters = precondition.getParameters();
26 var actionExecutors = new ArrayList<RuleActionExecutor>(actions.size());
27 for (var action : actions) {
28 var arguments = action.arguments();
29 int arity = arguments.size();
30 var argumentIndices = new int[arity];
31 for (int i = 0; i < arity; i++) {
32 argumentIndices[i] = parameters.indexOf(arguments.get(i));
33 }
34 actionExecutors.add(action.createExecutor(argumentIndices, model));
35 }
36 return new RuleExecutor(this, model, actionExecutors);
37 }
38}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleAction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleAction.java
new file mode 100644
index 00000000..4753b8bc
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleAction.java
@@ -0,0 +1,12 @@
1package tools.refinery.store.reasoning.rule;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.query.term.Variable;
5
6import java.util.List;
7
8public interface RuleAction {
9 List<Variable> arguments();
10
11 RuleActionExecutor createExecutor(int[] argumentIndices, Model model);
12}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleActionExecutor.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleActionExecutor.java
new file mode 100644
index 00000000..80bfa6f8
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleActionExecutor.java
@@ -0,0 +1,9 @@
1package tools.refinery.store.reasoning.rule;
2
3import tools.refinery.store.reasoning.MergeResult;
4import tools.refinery.store.tuple.TupleLike;
5
6@FunctionalInterface
7public interface RuleActionExecutor {
8 MergeResult execute(TupleLike activationTuple);
9}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleExecutor.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleExecutor.java
new file mode 100644
index 00000000..1e5322b4
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleExecutor.java
@@ -0,0 +1,34 @@
1package tools.refinery.store.reasoning.rule;
2
3import tools.refinery.store.reasoning.MergeResult;
4import tools.refinery.store.model.Model;
5import tools.refinery.store.tuple.TupleLike;
6
7import java.util.List;
8
9public final class RuleExecutor {
10 private final Rule rule;
11 private final Model model;
12 private final List<RuleActionExecutor> actionExecutors;
13
14 RuleExecutor(Rule rule, Model model, List<RuleActionExecutor> actionExecutors) {
15 this.rule = rule;
16 this.model = model;
17 this.actionExecutors = actionExecutors;
18 }
19
20 public Rule getRule() {
21 return rule;
22 }
23
24 public Model getModel() {
25 return model;
26 }
27 public MergeResult execute(TupleLike activationTuple) {
28 MergeResult mergeResult = MergeResult.UNCHANGED;
29 for (var actionExecutor : actionExecutors) {
30 mergeResult = mergeResult.andAlso(actionExecutor.execute(activationTuple));
31 }
32 return mergeResult;
33 }
34}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/Seed.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/Seed.java
new file mode 100644
index 00000000..90633495
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/Seed.java
@@ -0,0 +1,14 @@
1package tools.refinery.store.reasoning.seed;
2
3import tools.refinery.store.map.Cursor;
4import tools.refinery.store.tuple.Tuple;
5
6public interface Seed<T> {
7 int arity();
8
9 T reducedValue();
10
11 T get(Tuple key);
12
13 Cursor<Tuple, T> getCursor(T defaultValue, int nodeCount);
14}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/UniformSeed.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/UniformSeed.java
new file mode 100644
index 00000000..a030f6ea
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/UniformSeed.java
@@ -0,0 +1,22 @@
1package tools.refinery.store.reasoning.seed;
2
3import tools.refinery.store.map.Cursor;
4import tools.refinery.store.tuple.Tuple;
5
6public record UniformSeed<T>(int arity, T reducedValue) implements Seed<T> {
7 public UniformSeed {
8 if (arity < 0) {
9 throw new IllegalArgumentException("Arity must not be negative");
10 }
11 }
12
13 @Override
14 public T get(Tuple key) {
15 return reducedValue;
16 }
17
18 @Override
19 public Cursor<Tuple, T> getCursor(T defaultValue, int nodeCount) {
20 return null;
21 }
22}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/Advice.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/Advice.java
new file mode 100644
index 00000000..5cdfedf7
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/Advice.java
@@ -0,0 +1,159 @@
1package tools.refinery.store.reasoning.translator;
2
3import tools.refinery.store.reasoning.representation.AnyPartialSymbol;
4import tools.refinery.store.reasoning.representation.PartialRelation;
5import tools.refinery.store.query.term.Variable;
6import tools.refinery.store.query.literal.Literal;
7import tools.refinery.store.query.substitution.Substitutions;
8
9import java.util.*;
10
11public final class Advice {
12 private final AnyPartialSymbol source;
13 private final PartialRelation target;
14 private final AdviceSlot slot;
15 private final boolean mandatory;
16 private final List<Variable> parameters;
17 private final List<Literal> literals;
18 private boolean processed;
19
20 public Advice(AnyPartialSymbol source, PartialRelation target, AdviceSlot slot, boolean mandatory, List<Variable> parameters, List<Literal> literals) {
21 if (mandatory && !slot.isMonotonic()) {
22 throw new IllegalArgumentException("Only monotonic advice can be mandatory");
23 }
24 this.source = source;
25 this.target = target;
26 this.slot = slot;
27 this.mandatory = mandatory;
28 checkArity(parameters);
29 this.parameters = parameters;
30 this.literals = literals;
31 }
32
33 public AnyPartialSymbol source() {
34 return source;
35 }
36
37 public PartialRelation target() {
38 return target;
39 }
40
41 public AdviceSlot slot() {
42 return slot;
43 }
44
45 public boolean mandatory() {
46 return mandatory;
47 }
48
49 public List<Variable> parameters() {
50 return parameters;
51 }
52
53 public List<Literal> literals() {
54 return literals;
55 }
56
57 public boolean processed() {
58 return processed;
59 }
60
61 public List<Literal> substitute(List<Variable> substituteParameters) {
62 checkArity(substituteParameters);
63 markProcessed();
64 int arity = parameters.size();
65 var variableMap = new HashMap<Variable, Variable>(arity);
66 for (int i = 0; i < arity; i++) {
67 variableMap.put(parameters.get(i), substituteParameters.get(i));
68 }
69 // Use a renewing substitution to remove any non-parameter variables and avoid clashed between variables
70 // coming from different advice in the same clause.
71 var substitution = Substitutions.renewing(variableMap);
72 return literals.stream().map(literal -> literal.substitute(substitution)).toList();
73 }
74
75 private void markProcessed() {
76 processed = true;
77 }
78
79 public void checkProcessed() {
80 if (mandatory && !processed) {
81 throw new IllegalStateException("Mandatory advice %s was not processed".formatted(this));
82 }
83 }
84
85 private void checkArity(List<Variable> toCheck) {
86 if (toCheck.size() != target.arity()) {
87 throw new IllegalArgumentException("%s needs %d parameters, but got %s".formatted(target.name(),
88 target.arity(), parameters.size()));
89 }
90 }
91
92 public static Builder builderFor(AnyPartialSymbol source, PartialRelation target, AdviceSlot slot) {
93 return new Builder(source, target, slot);
94 }
95
96
97 @Override
98 public String toString() {
99 return "Advice[source=%s, target=%s, slot=%s, mandatory=%s, parameters=%s, literals=%s]".formatted(source,
100 target, slot, mandatory, parameters, literals);
101 }
102
103 public static class Builder {
104 private final AnyPartialSymbol source;
105 private final PartialRelation target;
106 private final AdviceSlot slot;
107 private boolean mandatory;
108 private final List<Variable> parameters = new ArrayList<>();
109 private final List<Literal> literals = new ArrayList<>();
110
111 private Builder(AnyPartialSymbol source, PartialRelation target, AdviceSlot slot) {
112 this.source = source;
113 this.target = target;
114 this.slot = slot;
115 }
116
117 public Builder mandatory(boolean mandatory) {
118 this.mandatory = mandatory;
119 return this;
120 }
121
122 public Builder mandatory() {
123 return mandatory(false);
124 }
125
126 public Builder parameters(List<Variable> variables) {
127 parameters.addAll(variables);
128 return this;
129 }
130
131 public Builder parameters(Variable... variables) {
132 return parameters(List.of(variables));
133 }
134
135 public Builder parameter(Variable variable) {
136 parameters.add(variable);
137 return this;
138 }
139
140 public Builder literals(Collection<Literal> literals) {
141 this.literals.addAll(literals);
142 return this;
143 }
144
145 public Builder literals(Literal... literals) {
146 return literals(List.of(literals));
147 }
148
149 public Builder literal(Literal literal) {
150 literals.add(literal);
151 return this;
152 }
153
154 public Advice build() {
155 return new Advice(source, target, slot, mandatory, Collections.unmodifiableList(parameters),
156 Collections.unmodifiableList(literals));
157 }
158 }
159}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/AdviceSlot.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/AdviceSlot.java
new file mode 100644
index 00000000..f3bd9c5e
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/AdviceSlot.java
@@ -0,0 +1,25 @@
1package tools.refinery.store.reasoning.translator;
2
3import tools.refinery.store.representation.TruthValue;
4
5public enum AdviceSlot {
6 EXTEND_MUST(true),
7
8 RESTRICT_MAY(true),
9
10 /**
11 * Same as {@link #RESTRICT_MAY}, but only active if the value of the relation is not {@link TruthValue#TRUE} or
12 * {@link TruthValue#ERROR}.
13 */
14 RESTRICT_NEW(false);
15
16 private final boolean monotonic;
17
18 AdviceSlot(boolean monotonic) {
19 this.monotonic = monotonic;
20 }
21
22 public boolean isMonotonic() {
23 return monotonic;
24 }
25}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslatedRelation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslatedRelation.java
new file mode 100644
index 00000000..9bab80c9
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslatedRelation.java
@@ -0,0 +1,22 @@
1package tools.refinery.store.reasoning.translator;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.query.term.Variable;
5import tools.refinery.store.query.literal.CallPolarity;
6import tools.refinery.store.query.literal.Literal;
7import tools.refinery.store.reasoning.PartialInterpretation;
8import tools.refinery.store.reasoning.literal.Modality;
9import tools.refinery.store.reasoning.representation.PartialRelation;
10import tools.refinery.store.representation.TruthValue;
11
12import java.util.List;
13
14public interface TranslatedRelation {
15 PartialRelation getSource();
16
17 void configure(List<Advice> advices);
18
19 List<Literal> call(CallPolarity polarity, Modality modality, List<Variable> arguments);
20
21 PartialInterpretation<TruthValue, Boolean> createPartialInterpretation(Model model);
22}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslationUnit.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslationUnit.java
new file mode 100644
index 00000000..24b93911
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslationUnit.java
@@ -0,0 +1,32 @@
1package tools.refinery.store.reasoning.translator;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.model.ModelStoreBuilder;
5import tools.refinery.store.reasoning.ReasoningBuilder;
6
7import java.util.Collection;
8
9public abstract class TranslationUnit {
10 private ReasoningBuilder reasoningBuilder;
11
12 protected ReasoningBuilder getReasoningBuilder() {
13 return reasoningBuilder;
14 }
15
16 public void setPartialInterpretationBuilder(ReasoningBuilder reasoningBuilder) {
17 this.reasoningBuilder = reasoningBuilder;
18 configureReasoningBuilder();
19 }
20
21 protected ModelStoreBuilder getModelStoreBuilder() {
22 return reasoningBuilder.getStoreBuilder();
23 }
24
25 protected void configureReasoningBuilder() {
26 // Nothing to configure by default.
27 }
28
29 public abstract Collection<TranslatedRelation> getTranslatedRelations();
30
31 public abstract void initializeModel(Model model, int nodeCount);
32}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionInterpretation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionInterpretation.java
new file mode 100644
index 00000000..b703f142
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionInterpretation.java
@@ -0,0 +1,88 @@
1package tools.refinery.store.reasoning.translator.base;
2
3import tools.refinery.store.map.Cursor;
4import tools.refinery.store.model.Interpretation;
5import tools.refinery.store.query.ResultSet;
6import tools.refinery.store.reasoning.MergeResult;
7import tools.refinery.store.reasoning.PartialInterpretation;
8import tools.refinery.store.reasoning.ReasoningAdapter;
9import tools.refinery.store.reasoning.representation.PartialRelation;
10import tools.refinery.store.representation.TruthValue;
11import tools.refinery.store.tuple.Tuple;
12
13public class BaseDecisionInterpretation implements PartialInterpretation<TruthValue, Boolean> {
14 private final ReasoningAdapter reasoningAdapter;
15 private PartialRelation partialRelation;
16 private final ResultSet<Boolean> mustResultSet;
17 private final ResultSet<Boolean> mayResultSet;
18 private final ResultSet<Boolean> errorResultSet;
19 private final ResultSet<Boolean> currentResultSet;
20 private final Interpretation<TruthValue> interpretation;
21
22 public BaseDecisionInterpretation(ReasoningAdapter reasoningAdapter, ResultSet<Boolean> mustResultSet,
23 ResultSet<Boolean> mayResultSet, ResultSet<Boolean> errorResultSet,
24 ResultSet<Boolean> currentResultSet, Interpretation<TruthValue> interpretation) {
25 this.reasoningAdapter = reasoningAdapter;
26 this.mustResultSet = mustResultSet;
27 this.mayResultSet = mayResultSet;
28 this.errorResultSet = errorResultSet;
29 this.currentResultSet = currentResultSet;
30 this.interpretation = interpretation;
31 }
32
33 @Override
34 public ReasoningAdapter getAdapter() {
35 return reasoningAdapter;
36 }
37
38 @Override
39 public int countUnfinished() {
40 return 0;
41 }
42
43 @Override
44 public int countErrors() {
45 return errorResultSet.size();
46 }
47
48 @Override
49 public PartialRelation getPartialSymbol() {
50 return partialRelation;
51 }
52
53 @Override
54 public TruthValue get(Tuple key) {
55 return null;
56 }
57
58 @Override
59 public Cursor<Tuple, TruthValue> getAll() {
60 return null;
61 }
62
63 @Override
64 public MergeResult merge(Tuple key, TruthValue value) {
65 TruthValue newValue;
66 switch (value) {
67 case UNKNOWN -> {
68 return MergeResult.UNCHANGED;
69 }
70 case TRUE -> newValue = mayResultSet.get(key) ? TruthValue.TRUE : TruthValue.ERROR;
71 case FALSE -> newValue = mustResultSet.get(key) ? TruthValue.ERROR : TruthValue.FALSE;
72 case ERROR -> newValue = TruthValue.ERROR;
73 default -> throw new IllegalArgumentException("Unknown truth value: " + value);
74 }
75 var oldValue = interpretation.put(key, newValue);
76 return oldValue == TruthValue.ERROR ? MergeResult.UNCHANGED : MergeResult.REFINED;
77 }
78
79 @Override
80 public Boolean getConcrete(Tuple key) {
81 return currentResultSet.get(key);
82 }
83
84 @Override
85 public Cursor<Tuple, Boolean> getAllConcrete() {
86 return null;
87 }
88}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionTranslationUnit.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionTranslationUnit.java
new file mode 100644
index 00000000..36e2782a
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionTranslationUnit.java
@@ -0,0 +1,49 @@
1package tools.refinery.store.reasoning.translator.base;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.reasoning.representation.PartialRelation;
5import tools.refinery.store.reasoning.seed.Seed;
6import tools.refinery.store.reasoning.seed.UniformSeed;
7import tools.refinery.store.reasoning.translator.TranslatedRelation;
8import tools.refinery.store.reasoning.translator.TranslationUnit;
9import tools.refinery.store.representation.Symbol;
10import tools.refinery.store.representation.TruthValue;
11
12import java.util.Collection;
13import java.util.List;
14
15public class BaseDecisionTranslationUnit extends TranslationUnit {
16 private final PartialRelation partialRelation;
17 private final Seed<TruthValue> seed;
18 private final Symbol<TruthValue> symbol;
19
20 public BaseDecisionTranslationUnit(PartialRelation partialRelation, Seed<TruthValue> seed) {
21 if (seed.arity() != partialRelation.arity()) {
22 throw new IllegalArgumentException("Expected seed with arity %d for %s, got arity %s"
23 .formatted(partialRelation.arity(), partialRelation, seed.arity()));
24 }
25 this.partialRelation = partialRelation;
26 this.seed = seed;
27 symbol = new Symbol<>(partialRelation.name(), partialRelation.arity(), TruthValue.class, TruthValue.UNKNOWN);
28 }
29
30 public BaseDecisionTranslationUnit(PartialRelation partialRelation) {
31 this(partialRelation, new UniformSeed<>(partialRelation.arity(), TruthValue.UNKNOWN));
32 }
33
34 @Override
35 protected void configureReasoningBuilder() {
36 getModelStoreBuilder().symbol(symbol);
37 }
38
39 @Override
40 public Collection<TranslatedRelation> getTranslatedRelations() {
41 return List.of(new TranslatedBaseDecision(getReasoningBuilder(), partialRelation, symbol));
42 }
43
44 @Override
45 public void initializeModel(Model model, int nodeCount) {
46 var interpretation = model.getInterpretation(symbol);
47 interpretation.putAll(seed.getCursor(TruthValue.UNKNOWN, nodeCount));
48 }
49}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/TranslatedBaseDecision.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/TranslatedBaseDecision.java
new file mode 100644
index 00000000..2294b4fd
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/TranslatedBaseDecision.java
@@ -0,0 +1,49 @@
1package tools.refinery.store.reasoning.translator.base;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.query.term.Variable;
5import tools.refinery.store.query.literal.CallPolarity;
6import tools.refinery.store.query.literal.Literal;
7import tools.refinery.store.reasoning.PartialInterpretation;
8import tools.refinery.store.reasoning.ReasoningBuilder;
9import tools.refinery.store.reasoning.literal.Modality;
10import tools.refinery.store.reasoning.representation.PartialRelation;
11import tools.refinery.store.reasoning.translator.Advice;
12import tools.refinery.store.reasoning.translator.TranslatedRelation;
13import tools.refinery.store.representation.Symbol;
14import tools.refinery.store.representation.TruthValue;
15
16import java.util.List;
17
18class TranslatedBaseDecision implements TranslatedRelation {
19 private final ReasoningBuilder reasoningBuilder;
20 private final PartialRelation partialRelation;
21 private final Symbol<TruthValue> symbol;
22
23 public TranslatedBaseDecision(ReasoningBuilder reasoningBuilder, PartialRelation partialRelation,
24 Symbol<TruthValue> symbol) {
25 this.reasoningBuilder = reasoningBuilder;
26 this.partialRelation = partialRelation;
27 this.symbol = symbol;
28 }
29
30 @Override
31 public PartialRelation getSource() {
32 return partialRelation;
33 }
34
35 @Override
36 public void configure(List<Advice> advices) {
37
38 }
39
40 @Override
41 public List<Literal> call(CallPolarity polarity, Modality modality, List<Variable> arguments) {
42 return null;
43 }
44
45 @Override
46 public PartialInterpretation<TruthValue, Boolean> createPartialInterpretation(Model model) {
47 return null;
48 }
49}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/EliminatedType.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/EliminatedType.java
new file mode 100644
index 00000000..1b8d7cc9
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/EliminatedType.java
@@ -0,0 +1,6 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4
5record EliminatedType(PartialRelation replacement) implements TypeAnalysisResult {
6}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/ExtendedTypeInfo.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/ExtendedTypeInfo.java
new file mode 100644
index 00000000..43b8e1dd
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/ExtendedTypeInfo.java
@@ -0,0 +1,101 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import org.jetbrains.annotations.NotNull;
4import tools.refinery.store.reasoning.representation.PartialRelation;
5
6import java.util.HashSet;
7import java.util.LinkedHashSet;
8import java.util.Objects;
9import java.util.Set;
10
11final class ExtendedTypeInfo implements Comparable<ExtendedTypeInfo> {
12 private final int index;
13 private final PartialRelation type;
14 private final TypeInfo typeInfo;
15 private final Set<PartialRelation> allSubtypes = new LinkedHashSet<>();
16 private final Set<PartialRelation> allSupertypes;
17 private final Set<PartialRelation> concreteSubtypesAndSelf = new LinkedHashSet<>();
18 private Set<PartialRelation> directSubtypes;
19 private final Set<PartialRelation> unsortedDirectSupertypes = new HashSet<>();
20
21 public ExtendedTypeInfo(int index, PartialRelation type, TypeInfo typeInfo) {
22 this.index = index;
23 this.type = type;
24 this.typeInfo = typeInfo;
25 this.allSupertypes = new LinkedHashSet<>(typeInfo.supertypes());
26 }
27
28 public PartialRelation getType() {
29 return type;
30 }
31
32 public TypeInfo getTypeInfo() {
33 return typeInfo;
34 }
35
36 public boolean isAbstractType() {
37 return getTypeInfo().abstractType();
38 }
39
40 public Set<PartialRelation> getAllSubtypes() {
41 return allSubtypes;
42 }
43
44 public Set<PartialRelation> getAllSupertypes() {
45 return allSupertypes;
46 }
47
48 public Set<PartialRelation> getAllSupertypesAndSelf() {
49 var allSubtypesAndSelf = new HashSet<PartialRelation>(allSupertypes.size() + 1);
50 addMust(allSubtypesAndSelf);
51 return allSubtypesAndSelf;
52 }
53
54 public Set<PartialRelation> getConcreteSubtypesAndSelf() {
55 return concreteSubtypesAndSelf;
56 }
57
58 public Set<PartialRelation> getDirectSubtypes() {
59 return directSubtypes;
60 }
61
62 public Set<PartialRelation> getUnsortedDirectSupertypes() {
63 return unsortedDirectSupertypes;
64 }
65
66 public void setDirectSubtypes(Set<PartialRelation> directSubtypes) {
67 this.directSubtypes = directSubtypes;
68 }
69
70 public boolean allowsAllConcreteTypes(Set<PartialRelation> concreteTypes) {
71 for (var concreteType : concreteTypes) {
72 if (!concreteSubtypesAndSelf.contains(concreteType)) {
73 return false;
74 }
75 }
76 return true;
77 }
78
79 public void addMust(Set<PartialRelation> mustTypes) {
80 mustTypes.add(type);
81 mustTypes.addAll(allSupertypes);
82 }
83
84 @Override
85 public int compareTo(@NotNull ExtendedTypeInfo extendedTypeInfo) {
86 return Integer.compare(index, extendedTypeInfo.index);
87 }
88
89 @Override
90 public boolean equals(Object o) {
91 if (this == o) return true;
92 if (o == null || getClass() != o.getClass()) return false;
93 ExtendedTypeInfo that = (ExtendedTypeInfo) o;
94 return index == that.index;
95 }
96
97 @Override
98 public int hashCode() {
99 return Objects.hash(index);
100 }
101}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeRelationView.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeRelationView.java
new file mode 100644
index 00000000..12c37c86
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeRelationView.java
@@ -0,0 +1,19 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4import tools.refinery.store.query.view.TuplePreservingRelationView;
5import tools.refinery.store.tuple.Tuple;
6
7class InferredMayTypeRelationView extends TuplePreservingRelationView<InferredType> {
8 private final PartialRelation type;
9
10 InferredMayTypeRelationView(PartialRelation type) {
11 super(TypeHierarchyTranslationUnit.INFERRED_TYPE_SYMBOL, "%s#may".formatted(type));
12 this.type = type;
13 }
14
15 @Override
16 public boolean filter(Tuple key, InferredType value) {
17 return value.mayConcreteTypes().contains(type);
18 }
19}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeRelationView.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeRelationView.java
new file mode 100644
index 00000000..975f627e
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeRelationView.java
@@ -0,0 +1,19 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4import tools.refinery.store.query.view.TuplePreservingRelationView;
5import tools.refinery.store.tuple.Tuple;
6
7class InferredMustTypeRelationView extends TuplePreservingRelationView<InferredType> {
8 private final PartialRelation type;
9
10 InferredMustTypeRelationView(PartialRelation type) {
11 super(TypeHierarchyTranslationUnit.INFERRED_TYPE_SYMBOL, "%s#must".formatted(type));
12 this.type = type;
13 }
14
15 @Override
16 public boolean filter(Tuple key, InferredType value) {
17 return value.mustTypes().contains(type);
18 }
19}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredType.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredType.java
new file mode 100644
index 00000000..a366e262
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredType.java
@@ -0,0 +1,30 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4
5import java.util.Collections;
6import java.util.Set;
7
8record InferredType(Set<PartialRelation> mustTypes, Set<PartialRelation> mayConcreteTypes,
9 PartialRelation currentType) {
10 public static final InferredType UNTYPED = new InferredType(Set.of(), Set.of(), null);
11
12 public InferredType(Set<PartialRelation> mustTypes, Set<PartialRelation> mayConcreteTypes,
13 PartialRelation currentType) {
14 this.mustTypes = Collections.unmodifiableSet(mustTypes);
15 this.mayConcreteTypes = Collections.unmodifiableSet(mayConcreteTypes);
16 this.currentType = currentType;
17 }
18
19 public boolean isConsistent() {
20 return currentType != null || mustTypes.isEmpty();
21 }
22
23 public boolean isMust(PartialRelation partialRelation) {
24 return mustTypes.contains(partialRelation);
25 }
26
27 public boolean isMayConcrete(PartialRelation partialRelation) {
28 return mayConcreteTypes.contains(partialRelation);
29 }
30}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/PreservedType.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/PreservedType.java
new file mode 100644
index 00000000..63dba964
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/PreservedType.java
@@ -0,0 +1,136 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4import tools.refinery.store.representation.TruthValue;
5
6import java.util.*;
7
8final class PreservedType implements TypeAnalysisResult {
9 private final ExtendedTypeInfo extendedTypeInfo;
10 private final List<PartialRelation> directSubtypes;
11 private final List<ExtendedTypeInfo> allExternalTypeInfoList;
12 private final InferredType inferredType;
13
14 public PreservedType(ExtendedTypeInfo extendedTypeInfo, List<ExtendedTypeInfo> allExternalTypeInfoList) {
15 this.extendedTypeInfo = extendedTypeInfo;
16 directSubtypes = List.copyOf(extendedTypeInfo.getDirectSubtypes());
17 this.allExternalTypeInfoList = allExternalTypeInfoList;
18 inferredType = propagateMust(extendedTypeInfo.getAllSupertypesAndSelf(),
19 extendedTypeInfo.getConcreteSubtypesAndSelf());
20 }
21
22 public PartialRelation type() {
23 return extendedTypeInfo.getType();
24 }
25
26 public List<PartialRelation> getDirectSubtypes() {
27 return directSubtypes;
28 }
29
30 public boolean isAbstractType() {
31 return extendedTypeInfo.isAbstractType();
32 }
33
34 public boolean isVacuous() {
35 return isAbstractType() && directSubtypes.isEmpty();
36 }
37
38 public InferredType asInferredType() {
39 return inferredType;
40 }
41
42 public InferredType merge(InferredType inferredType, TruthValue value) {
43 return switch (value) {
44 case UNKNOWN -> inferredType;
45 case TRUE -> addMust(inferredType);
46 case FALSE -> removeMay(inferredType);
47 case ERROR -> addError(inferredType);
48 };
49 }
50
51 private InferredType addMust(InferredType inferredType) {
52 var originalMustTypes = inferredType.mustTypes();
53 if (originalMustTypes.contains(type())) {
54 return inferredType;
55 }
56 var mustTypes = new HashSet<>(originalMustTypes);
57 extendedTypeInfo.addMust(mustTypes);
58 var originalMayConcreteTypes = inferredType.mayConcreteTypes();
59 var mayConcreteTypes = new LinkedHashSet<>(originalMayConcreteTypes);
60 Set<PartialRelation> mayConcreteTypesResult;
61 if (mayConcreteTypes.retainAll(extendedTypeInfo.getConcreteSubtypesAndSelf())) {
62 mayConcreteTypesResult = mayConcreteTypes;
63 } else {
64 mayConcreteTypesResult = originalMayConcreteTypes;
65 }
66 return propagateMust(mustTypes, mayConcreteTypesResult);
67 }
68
69 private InferredType removeMay(InferredType inferredType) {
70 var originalMayConcreteTypes = inferredType.mayConcreteTypes();
71 var mayConcreteTypes = new LinkedHashSet<>(originalMayConcreteTypes);
72 if (!mayConcreteTypes.removeAll(extendedTypeInfo.getConcreteSubtypesAndSelf())) {
73 return inferredType;
74 }
75 return propagateMust(inferredType.mustTypes(), mayConcreteTypes);
76 }
77
78 private InferredType addError(InferredType inferredType) {
79 var originalMustTypes = inferredType.mustTypes();
80 if (originalMustTypes.contains(type())) {
81 if (inferredType.mayConcreteTypes().isEmpty()) {
82 return inferredType;
83 }
84 return new InferredType(originalMustTypes, Set.of(), null);
85 }
86 var mustTypes = new HashSet<>(originalMustTypes);
87 extendedTypeInfo.addMust(mustTypes);
88 return new InferredType(mustTypes, Set.of(), null);
89 }
90
91 private InferredType propagateMust(Set<PartialRelation> originalMustTypes,
92 Set<PartialRelation> mayConcreteTypes) {
93 // It is possible that there is not type at all, do not force one by propagation.
94 var maybeUntyped = originalMustTypes.isEmpty();
95 // Para-consistent case, do not propagate must types to avoid logical explosion.
96 var paraConsistentOrSurelyUntyped = mayConcreteTypes.isEmpty();
97 if (maybeUntyped || paraConsistentOrSurelyUntyped) {
98 return new InferredType(originalMustTypes, mayConcreteTypes, null);
99 }
100 var currentType = computeCurrentType(mayConcreteTypes);
101 var mustTypes = new HashSet<>(originalMustTypes);
102 boolean changed = false;
103 for (var newMustExtendedTypeInfo : allExternalTypeInfoList) {
104 var newMustType = newMustExtendedTypeInfo.getType();
105 if (mustTypes.contains(newMustType)) {
106 continue;
107 }
108 if (newMustExtendedTypeInfo.allowsAllConcreteTypes(mayConcreteTypes)) {
109 newMustExtendedTypeInfo.addMust(mustTypes);
110 changed = true;
111 }
112 }
113 if (!changed) {
114 return new InferredType(originalMustTypes, mayConcreteTypes, currentType);
115 }
116 return new InferredType(mustTypes, mayConcreteTypes, currentType);
117 }
118
119 /**
120 * Returns a concrete type that is allowed by a (consistent, i.e., nonempty) set of <b>may</b> concrete types.
121 *
122 * @param mayConcreteTypes The set of allowed concrete types. Must not be empty.
123 * @return The first concrete type that is allowed by {@code matConcreteTypes}.
124 */
125 private PartialRelation computeCurrentType(Set<PartialRelation> mayConcreteTypes) {
126 for (var concreteExtendedTypeInfo : allExternalTypeInfoList) {
127 var concreteType = concreteExtendedTypeInfo.getType();
128 if (!concreteExtendedTypeInfo.isAbstractType() && mayConcreteTypes.contains(concreteType)) {
129 return concreteType;
130 }
131 }
132 // We have already filtered out the para-consistent case in {@link #propagateMust(Set<PartialRelation>,
133 // Set<PartialRelation>}.
134 throw new AssertionError("No concrete type in %s".formatted(mayConcreteTypes));
135 }
136}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalysisResult.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalysisResult.java
new file mode 100644
index 00000000..4f915108
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalysisResult.java
@@ -0,0 +1,4 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3sealed interface TypeAnalysisResult permits EliminatedType, PreservedType {
4}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzer.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzer.java
new file mode 100644
index 00000000..62f8e750
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzer.java
@@ -0,0 +1,202 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4
5import java.util.*;
6
7class TypeAnalyzer {
8 private final Map<PartialRelation, ExtendedTypeInfo> extendedTypeInfoMap;
9 private final Map<PartialRelation, PartialRelation> replacements = new LinkedHashMap<>();
10 private final InferredType unknownType;
11 private final Map<PartialRelation, TypeAnalysisResult> analysisResults;
12
13 public TypeAnalyzer(Map<PartialRelation, TypeInfo> typeInfoMap) {
14 int size = typeInfoMap.size();
15 extendedTypeInfoMap = new LinkedHashMap<>(size);
16 var concreteTypes = new LinkedHashSet<PartialRelation>();
17 int index = 0;
18 for (var entry : typeInfoMap.entrySet()) {
19 var type = entry.getKey();
20 var typeInfo = entry.getValue();
21 extendedTypeInfoMap.put(type, new ExtendedTypeInfo(index, type, typeInfo));
22 if (!typeInfo.abstractType()) {
23 concreteTypes.add(type);
24 }
25 index++;
26 }
27 unknownType = new InferredType(Set.of(), concreteTypes, null);
28 computeAllSupertypes();
29 computeAllAndConcreteSubtypes();
30 computeDirectSubtypes();
31 eliminateTrivialSupertypes();
32 analysisResults = computeAnalysisResults();
33 }
34
35 public InferredType getUnknownType() {
36 return unknownType;
37 }
38
39 public Map<PartialRelation, TypeAnalysisResult> getAnalysisResults() {
40 return analysisResults;
41 }
42
43 private void computeAllSupertypes() {
44 boolean changed;
45 do {
46 changed = false;
47 for (var extendedTypeInfo : extendedTypeInfoMap.values()) {
48 var found = new HashSet<PartialRelation>();
49 var allSupertypes = extendedTypeInfo.getAllSupertypes();
50 for (var supertype : allSupertypes) {
51 found.addAll(extendedTypeInfoMap.get(supertype).getAllSupertypes());
52 }
53 if (allSupertypes.addAll(found)) {
54 changed = true;
55 }
56 }
57 } while (changed);
58 }
59
60 private void computeAllAndConcreteSubtypes() {
61 for (var extendedTypeInfo : extendedTypeInfoMap.values()) {
62 var type = extendedTypeInfo.getType();
63 if (!extendedTypeInfo.isAbstractType()) {
64 extendedTypeInfo.getConcreteSubtypesAndSelf().add(type);
65 }
66 for (var supertype : extendedTypeInfo.getAllSupertypes()) {
67 if (type.equals(supertype)) {
68 throw new IllegalArgumentException("%s cannot be a supertype of itself".formatted(type));
69 }
70 var supertypeInfo = extendedTypeInfoMap.get(supertype);
71 supertypeInfo.getAllSubtypes().add(type);
72 if (!extendedTypeInfo.isAbstractType()) {
73 supertypeInfo.getConcreteSubtypesAndSelf().add(type);
74 }
75 }
76 }
77 }
78
79 private void computeDirectSubtypes() {
80 for (var extendedTypeInfo : extendedTypeInfoMap.values()) {
81 var allSubtypes = extendedTypeInfo.getAllSubtypes();
82 var directSubtypes = new LinkedHashSet<>(allSubtypes);
83 var indirectSubtypes = new LinkedHashSet<PartialRelation>(allSubtypes.size());
84 for (var subtype : allSubtypes) {
85 indirectSubtypes.addAll(extendedTypeInfoMap.get(subtype).getAllSubtypes());
86 }
87 directSubtypes.removeAll(indirectSubtypes);
88 extendedTypeInfo.setDirectSubtypes(directSubtypes);
89 }
90 }
91
92 private void eliminateTrivialSupertypes() {
93 boolean changed;
94 do {
95 var toRemove = new ArrayList<PartialRelation>();
96 for (var entry : extendedTypeInfoMap.entrySet()) {
97 var extendedTypeInfo = entry.getValue();
98 boolean isAbstract = extendedTypeInfo.isAbstractType();
99 // Do not eliminate abstract types with 0 subtypes, because they can be used para-consistently, i.e.,
100 // an object determined to <b>must</b> have an abstract type with 0 subtypes <b>may not</b> ever exist.
101 boolean hasSingleDirectSubtype = extendedTypeInfo.getDirectSubtypes().size() == 1;
102 if (isAbstract && hasSingleDirectSubtype) {
103 toRemove.add(entry.getKey());
104 }
105 }
106 toRemove.forEach(this::removeTrivialType);
107 changed = !toRemove.isEmpty();
108 } while (changed);
109 }
110
111 private void removeTrivialType(PartialRelation trivialType) {
112 var extendedTypeInfo = extendedTypeInfoMap.get(trivialType);
113 var iterator = extendedTypeInfo.getDirectSubtypes().iterator();
114 if (!iterator.hasNext()) {
115 throw new AssertionError("Expected trivial supertype %s to have a direct subtype"
116 .formatted(trivialType));
117 }
118 PartialRelation replacement = setReplacement(trivialType, iterator.next());
119 if (iterator.hasNext()) {
120 throw new AssertionError("Expected trivial supertype %s to have at most 1 direct subtype"
121 .formatted(trivialType));
122 }
123 replacements.put(trivialType, replacement);
124 for (var supertype : extendedTypeInfo.getAllSupertypes()) {
125 var extendedSupertypeInfo = extendedTypeInfoMap.get(supertype);
126 if (!extendedSupertypeInfo.getAllSubtypes().remove(trivialType)) {
127 throw new AssertionError("Expected %s to be subtype of %s".formatted(trivialType, supertype));
128 }
129 var directSubtypes = extendedSupertypeInfo.getDirectSubtypes();
130 if (directSubtypes.remove(trivialType)) {
131 directSubtypes.add(replacement);
132 }
133 }
134 for (var subtype : extendedTypeInfo.getAllSubtypes()) {
135 var extendedSubtypeInfo = extendedTypeInfoMap.get(subtype);
136 if (!extendedSubtypeInfo.getAllSupertypes().remove(trivialType)) {
137 throw new AssertionError("Expected %s to be supertype of %s".formatted(trivialType, subtype));
138 }
139 }
140 extendedTypeInfoMap.remove(trivialType);
141 }
142
143 private PartialRelation setReplacement(PartialRelation trivialRelation, PartialRelation replacement) {
144 if (replacement == null) {
145 return trivialRelation;
146 }
147 var resolved = setReplacement(replacement, replacements.get(replacement));
148 replacements.put(trivialRelation, resolved);
149 return resolved;
150 }
151
152 private Map<PartialRelation, TypeAnalysisResult> computeAnalysisResults() {
153 var allExtendedTypeInfoList = sortTypes();
154 var results = new LinkedHashMap<PartialRelation, TypeAnalysisResult>(
155 allExtendedTypeInfoList.size() + replacements.size());
156 for (var extendedTypeInfo : allExtendedTypeInfoList) {
157 var type = extendedTypeInfo.getType();
158 results.put(type, new PreservedType(extendedTypeInfo, allExtendedTypeInfoList));
159 }
160 for (var entry : replacements.entrySet()) {
161 var type = entry.getKey();
162 results.put(type, new EliminatedType(entry.getValue()));
163 }
164 return Collections.unmodifiableMap(results);
165 }
166
167 private List<ExtendedTypeInfo> sortTypes() {
168 // Invert {@code directSubtypes} to keep track of the out-degree of types.
169 for (var extendedTypeInfo : extendedTypeInfoMap.values()) {
170 for (var directSubtype : extendedTypeInfo.getDirectSubtypes()) {
171 var extendedDirectSubtypeInfo = extendedTypeInfoMap.get(directSubtype);
172 extendedDirectSubtypeInfo.getUnsortedDirectSupertypes().add(extendedTypeInfo.getType());
173 }
174 }
175 // Build a <i>inverse</i> topological order ({@code extends} edges always points to earlier nodes in the order,
176 // breaking ties according to the original order ({@link ExtendedTypeInfo#index}) to form a 'stable' sort.
177 // See, e.g., https://stackoverflow.com/a/11236027.
178 var priorityQueue = new PriorityQueue<ExtendedTypeInfo>();
179 for (var extendedTypeInfo : extendedTypeInfoMap.values()) {
180 if (extendedTypeInfo.getUnsortedDirectSupertypes().isEmpty()) {
181 priorityQueue.add(extendedTypeInfo);
182 }
183 }
184 var sorted = new ArrayList<ExtendedTypeInfo>(extendedTypeInfoMap.size());
185 while (!priorityQueue.isEmpty()) {
186 var extendedTypeInfo = priorityQueue.remove();
187 sorted.add(extendedTypeInfo);
188 for (var directSubtype : extendedTypeInfo.getDirectSubtypes()) {
189 var extendedDirectSubtypeInfo = extendedTypeInfoMap.get(directSubtype);
190 var unsortedDirectSupertypes = extendedDirectSubtypeInfo.getUnsortedDirectSupertypes();
191 if (!unsortedDirectSupertypes.remove(extendedTypeInfo.getType())) {
192 throw new AssertionError("Expected %s to be a direct supertype of %s"
193 .formatted(extendedTypeInfo.getType(), directSubtype));
194 }
195 if (unsortedDirectSupertypes.isEmpty()) {
196 priorityQueue.add(extendedDirectSubtypeInfo);
197 }
198 }
199 }
200 return Collections.unmodifiableList(sorted);
201 }
202}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslationUnit.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslationUnit.java
new file mode 100644
index 00000000..4b0761f2
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslationUnit.java
@@ -0,0 +1,32 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.reasoning.representation.PartialRelation;
5import tools.refinery.store.reasoning.translator.TranslatedRelation;
6import tools.refinery.store.reasoning.translator.TranslationUnit;
7import tools.refinery.store.representation.Symbol;
8
9import java.util.Collection;
10import java.util.List;
11import java.util.Map;
12
13public class TypeHierarchyTranslationUnit extends TranslationUnit {
14 static final Symbol<InferredType> INFERRED_TYPE_SYMBOL = new Symbol<>("inferredType", 1,
15 InferredType.class, InferredType.UNTYPED);
16
17 private final TypeAnalyzer typeAnalyzer;
18
19 public TypeHierarchyTranslationUnit(Map<PartialRelation, TypeInfo> typeInfoMap) {
20 typeAnalyzer = new TypeAnalyzer(typeInfoMap);
21 }
22
23 @Override
24 public Collection<TranslatedRelation> getTranslatedRelations() {
25 return List.of();
26 }
27
28 @Override
29 public void initializeModel(Model model, int nodeCount) {
30
31 }
32}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeInfo.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeInfo.java
new file mode 100644
index 00000000..313df4df
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeInfo.java
@@ -0,0 +1,46 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4
5import java.util.*;
6
7public record TypeInfo(Collection<PartialRelation> supertypes, boolean abstractType) {
8 public static Builder builder() {
9 return new Builder();
10 }
11
12 public static class Builder {
13 private final Set<PartialRelation> supertypes = new LinkedHashSet<>();
14 private boolean abstractType;
15
16 private Builder() {
17 }
18
19 public Builder supertypes(Collection<PartialRelation> supertypes) {
20 this.supertypes.addAll(supertypes);
21 return this;
22 }
23
24 public Builder supertypes(PartialRelation... supertypes) {
25 return supertypes(List.of(supertypes));
26 }
27
28 public Builder supertype(PartialRelation supertype) {
29 supertypes.add(supertype);
30 return this;
31 }
32
33 public Builder abstractType(boolean abstractType) {
34 this.abstractType = abstractType;
35 return this;
36 }
37
38 public Builder abstractType() {
39 return abstractType(true);
40 }
41
42 public TypeInfo build() {
43 return new TypeInfo(Collections.unmodifiableSet(supertypes), abstractType);
44 }
45 }
46}
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredTypeTest.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredTypeTest.java
new file mode 100644
index 00000000..a8df2312
--- /dev/null
+++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredTypeTest.java
@@ -0,0 +1,32 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import org.junit.jupiter.api.Test;
4import tools.refinery.store.reasoning.representation.PartialRelation;
5
6import java.util.Set;
7
8import static org.hamcrest.MatcherAssert.assertThat;
9import static org.hamcrest.Matchers.is;
10
11class InferredTypeTest {
12 private final PartialRelation c1 = new PartialRelation("C1", 1);
13 private final PartialRelation c2 = new PartialRelation("C2", 1);
14
15 @Test
16 void untypedIsConsistentTest() {
17 var sut = new InferredType(Set.of(), Set.of(c1, c2), null);
18 assertThat(sut.isConsistent(), is(true));
19 }
20
21 @Test
22 void typedIsConsistentTest() {
23 var sut = new InferredType(Set.of(c1), Set.of(c1, c2), c1);
24 assertThat(sut.isConsistent(), is(true));
25 }
26
27 @Test
28 void typedIsInconsistentTest() {
29 var sut = new InferredType(Set.of(c1), Set.of(), null);
30 assertThat(sut.isConsistent(), is(false));
31 }
32}
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerExampleHierarchyTest.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerExampleHierarchyTest.java
new file mode 100644
index 00000000..b2c1ef1b
--- /dev/null
+++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerExampleHierarchyTest.java
@@ -0,0 +1,203 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import org.junit.jupiter.api.BeforeEach;
4import org.junit.jupiter.api.Test;
5import tools.refinery.store.reasoning.representation.PartialRelation;
6import tools.refinery.store.representation.TruthValue;
7
8import java.util.LinkedHashMap;
9import java.util.Set;
10
11import static org.hamcrest.MatcherAssert.assertThat;
12import static org.hamcrest.Matchers.is;
13import static org.junit.jupiter.api.Assertions.assertAll;
14
15class TypeAnalyzerExampleHierarchyTest {
16 private final PartialRelation a1 = new PartialRelation("A1", 1);
17 private final PartialRelation a2 = new PartialRelation("A2", 1);
18 private final PartialRelation a3 = new PartialRelation("A3", 1);
19 private final PartialRelation a4 = new PartialRelation("A4", 1);
20 private final PartialRelation a5 = new PartialRelation("A5", 1);
21 private final PartialRelation c1 = new PartialRelation("C1", 1);
22 private final PartialRelation c2 = new PartialRelation("C2", 1);
23 private final PartialRelation c3 = new PartialRelation("C3", 1);
24 private final PartialRelation c4 = new PartialRelation("C4", 1);
25
26 private TypeAnalyzer sut;
27 private TypeAnalyzerTester tester;
28
29 @BeforeEach
30 void beforeEach() {
31 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
32 typeInfoMap.put(a1, TypeInfo.builder().abstractType().build());
33 typeInfoMap.put(a2, TypeInfo.builder().abstractType().build());
34 typeInfoMap.put(a3, TypeInfo.builder().abstractType().build());
35 typeInfoMap.put(a4, TypeInfo.builder().abstractType().build());
36 typeInfoMap.put(a5, TypeInfo.builder().abstractType().build());
37 typeInfoMap.put(c1, TypeInfo.builder().supertypes(a1, a4).build());
38 typeInfoMap.put(c2, TypeInfo.builder().supertypes(a1, a2, a3, a4).build());
39 typeInfoMap.put(c3, TypeInfo.builder().supertype(a3).build());
40 typeInfoMap.put(c4, TypeInfo.builder().supertype(a4).build());
41 sut = new TypeAnalyzer(typeInfoMap);
42 tester = new TypeAnalyzerTester(sut);
43 }
44
45 @Test
46 void analysisResultsTest() {
47 assertAll(
48 () -> tester.assertAbstractType(a1, c1, c2),
49 () -> tester.assertEliminatedType(a2, c2),
50 () -> tester.assertAbstractType(a3, c2, c3),
51 () -> tester.assertAbstractType(a4, c1, c2, c4),
52 () -> tester.assertVacuousType(a5),
53 () -> tester.assertConcreteType(c1),
54 () -> tester.assertConcreteType(c2),
55 () -> tester.assertConcreteType(c3),
56 () -> tester.assertConcreteType(c4)
57 );
58 }
59
60 @Test
61 void inferredTypesTest() {
62 assertAll(
63 () -> assertThat(sut.getUnknownType(), is(new InferredType(Set.of(), Set.of(c1, c2, c3, c4), null))),
64 () -> assertThat(tester.getInferredType(a1), is(new InferredType(Set.of(a1, a4), Set.of(c1, c2), c1))),
65 () -> assertThat(tester.getInferredType(a3), is(new InferredType(Set.of(a3), Set.of(c2, c3), c2))),
66 () -> assertThat(tester.getInferredType(a4), is(new InferredType(Set.of(a4), Set.of(c1, c2, c4), c1))),
67 () -> assertThat(tester.getInferredType(a5), is(new InferredType(Set.of(a5), Set.of(), null))),
68 () -> assertThat(tester.getInferredType(c1), is(new InferredType(Set.of(a1, a4, c1), Set.of(c1), c1))),
69 () -> assertThat(tester.getInferredType(c2),
70 is(new InferredType(Set.of(a1, a3, a4, c2), Set.of(c2), c2))),
71 () -> assertThat(tester.getInferredType(c3), is(new InferredType(Set.of(a3, c3), Set.of(c3), c3))),
72 () -> assertThat(tester.getInferredType(c4), is(new InferredType(Set.of(a4, c4), Set.of(c4), c4)))
73 );
74 }
75
76 @Test
77 void consistentMustTest() {
78 var a1Result = tester.getPreservedType(a1);
79 var a3Result = tester.getPreservedType(a3);
80 var expected = new InferredType(Set.of(a1, a3, a4, c2), Set.of(c2), c2);
81 assertAll(
82 () -> assertThat(a1Result.merge(a3Result.asInferredType(), TruthValue.TRUE), is(expected)),
83 () -> assertThat(a3Result.merge(a1Result.asInferredType(), TruthValue.TRUE), is(expected)),
84 () -> assertThat(a1Result.merge(sut.getUnknownType(), TruthValue.TRUE), is(a1Result.asInferredType())),
85 () -> assertThat(a3Result.merge(sut.getUnknownType(), TruthValue.TRUE), is(a3Result.asInferredType())),
86 () -> assertThat(a1Result.merge(a1Result.asInferredType(), TruthValue.TRUE),
87 is(a1Result.asInferredType()))
88 );
89 }
90
91 @Test
92 void consistentMayNotTest() {
93 var a1Result = tester.getPreservedType(a1);
94 var a3Result = tester.getPreservedType(a3);
95 var a4Result = tester.getPreservedType(a4);
96 assertAll(
97 () -> assertThat(a1Result.merge(a3Result.asInferredType(), TruthValue.FALSE),
98 is(new InferredType(Set.of(a3, c3), Set.of(c3), c3))),
99 () -> assertThat(a3Result.merge(a1Result.asInferredType(), TruthValue.FALSE),
100 is(new InferredType(Set.of(a1, a4, c1), Set.of(c1), c1))),
101 () -> assertThat(a4Result.merge(a3Result.asInferredType(), TruthValue.FALSE),
102 is(new InferredType(Set.of(a3, c3), Set.of(c3), c3))),
103 () -> assertThat(a3Result.merge(a4Result.asInferredType(), TruthValue.FALSE),
104 is(new InferredType(Set.of(a4), Set.of(c1, c4), c1))),
105 () -> assertThat(a1Result.merge(sut.getUnknownType(), TruthValue.FALSE),
106 is(new InferredType(Set.of(), Set.of(c3, c4), null))),
107 () -> assertThat(a3Result.merge(sut.getUnknownType(), TruthValue.FALSE),
108 is(new InferredType(Set.of(), Set.of(c1, c4), null))),
109 () -> assertThat(a4Result.merge(sut.getUnknownType(), TruthValue.FALSE),
110 is(new InferredType(Set.of(), Set.of(c3), null)))
111 );
112 }
113
114 @Test
115 void consistentErrorTest() {
116 var c1Result = tester.getPreservedType(c1);
117 var a4Result = tester.getPreservedType(a4);
118 var expected = new InferredType(Set.of(c1, a1, a4), Set.of(), null);
119 assertAll(
120 () -> assertThat(c1Result.merge(a4Result.asInferredType(), TruthValue.ERROR), is(expected)),
121 () -> assertThat(a4Result.merge(c1Result.asInferredType(), TruthValue.ERROR), is(expected))
122 );
123 }
124
125 @Test
126 void consistentUnknownTest() {
127 var c1Result = tester.getPreservedType(c1);
128 var a4Result = tester.getPreservedType(a4);
129 assertAll(
130 () -> assertThat(c1Result.merge(a4Result.asInferredType(), TruthValue.UNKNOWN),
131 is(a4Result.asInferredType())),
132 () -> assertThat(a4Result.merge(c1Result.asInferredType(), TruthValue.UNKNOWN),
133 is(c1Result.asInferredType()))
134 );
135 }
136
137 @Test
138 void inconsistentMustTest() {
139 var a1Result = tester.getPreservedType(a1);
140 var c3Result = tester.getPreservedType(c3);
141 assertAll(
142 () -> assertThat(a1Result.merge(c3Result.asInferredType(), TruthValue.TRUE),
143 is(new InferredType(Set.of(a1, a3, c3), Set.of(), null))),
144 () -> assertThat(c3Result.merge(a1Result.asInferredType(), TruthValue.TRUE),
145 is(new InferredType(Set.of(a1, a3, a4, c3), Set.of(), null)))
146 );
147 }
148
149 @Test
150 void inconsistentMayNotTest() {
151 var a1Result = tester.getPreservedType(a1);
152 var a4Result = tester.getPreservedType(a4);
153 var c1Result = tester.getPreservedType(c1);
154 assertAll(
155 () -> assertThat(a4Result.merge(a1Result.asInferredType(), TruthValue.FALSE),
156 is(new InferredType(Set.of(a1, a4), Set.of(), null))),
157 () -> assertThat(a1Result.merge(c1Result.asInferredType(), TruthValue.FALSE),
158 is(new InferredType(Set.of(a1, a4, c1), Set.of(), null))),
159 () -> assertThat(a4Result.merge(c1Result.asInferredType(), TruthValue.FALSE),
160 is(new InferredType(Set.of(a1, a4, c1), Set.of(), null))),
161 () -> assertThat(a1Result.merge(a1Result.asInferredType(), TruthValue.FALSE),
162 is(new InferredType(Set.of(a1, a4), Set.of(), null)))
163 );
164 }
165
166 @Test
167 void vacuousMustTest() {
168 var c1Result = tester.getPreservedType(c1);
169 var a5Result = tester.getPreservedType(a5);
170 assertAll(
171 () -> assertThat(c1Result.merge(a5Result.asInferredType(), TruthValue.TRUE),
172 is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null))),
173 () -> assertThat(a5Result.merge(c1Result.asInferredType(), TruthValue.TRUE),
174 is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null)))
175 );
176 }
177
178 @Test
179 void vacuousMayNotTest() {
180 var c1Result = tester.getPreservedType(c1);
181 var a5Result = tester.getPreservedType(a5);
182 assertAll(
183 () -> assertThat(c1Result.merge(a5Result.asInferredType(), TruthValue.FALSE),
184 is(a5Result.asInferredType())),
185 () -> assertThat(a5Result.merge(c1Result.asInferredType(), TruthValue.FALSE),
186 is(c1Result.asInferredType()))
187 );
188 }
189
190 @Test
191 void vacuousErrorTest() {
192 var c1Result = tester.getPreservedType(c1);
193 var a5Result = tester.getPreservedType(a5);
194 assertAll(
195 () -> assertThat(c1Result.merge(a5Result.asInferredType(), TruthValue.ERROR),
196 is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null))),
197 () -> assertThat(a5Result.merge(c1Result.asInferredType(), TruthValue.ERROR),
198 is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null))),
199 () -> assertThat(a5Result.merge(a5Result.asInferredType(), TruthValue.ERROR),
200 is(a5Result.asInferredType()))
201 );
202 }
203}
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTest.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTest.java
new file mode 100644
index 00000000..b7b69ed8
--- /dev/null
+++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTest.java
@@ -0,0 +1,200 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import org.junit.jupiter.api.Test;
4import tools.refinery.store.reasoning.representation.PartialRelation;
5import tools.refinery.store.representation.TruthValue;
6
7import java.util.LinkedHashMap;
8import java.util.Set;
9
10import static org.hamcrest.MatcherAssert.assertThat;
11import static org.hamcrest.Matchers.is;
12import static org.junit.jupiter.api.Assertions.assertAll;
13import static org.junit.jupiter.api.Assertions.assertThrows;
14
15class TypeAnalyzerTest {
16 @Test
17 void directSupertypesTest() {
18 var c1 = new PartialRelation("C1", 1);
19 var c2 = new PartialRelation("C2", 1);
20 var c3 = new PartialRelation("C3", 1);
21 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
22 typeInfoMap.put(c1, TypeInfo.builder().supertypes(c2, c3).build());
23 typeInfoMap.put(c2, TypeInfo.builder().supertype(c3).build());
24 typeInfoMap.put(c3, TypeInfo.builder().build());
25
26 var sut = new TypeAnalyzer(typeInfoMap);
27 var tester = new TypeAnalyzerTester(sut);
28
29 assertAll(
30 () -> tester.assertConcreteType(c1),
31 () -> tester.assertConcreteType(c2, c1),
32 () -> tester.assertConcreteType(c3, c2)
33 );
34 }
35
36 @Test
37 void typeEliminationAbstractToConcreteTest() {
38 var c1 = new PartialRelation("C1", 1);
39 var c2 = new PartialRelation("C2", 1);
40 var a11 = new PartialRelation("A11", 1);
41 var a12 = new PartialRelation("A12", 1);
42 var a21 = new PartialRelation("A21", 1);
43 var a22 = new PartialRelation("A22", 1);
44 var a3 = new PartialRelation("A3", 1);
45 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
46 typeInfoMap.put(a3, TypeInfo.builder().abstractType().build());
47 typeInfoMap.put(a21, TypeInfo.builder().abstractType().supertype(a3).build());
48 typeInfoMap.put(a22, TypeInfo.builder().abstractType().supertype(a3).build());
49 typeInfoMap.put(a11, TypeInfo.builder().abstractType().supertypes(a21, a22).build());
50 typeInfoMap.put(a12, TypeInfo.builder().abstractType().supertypes(a21, a22).build());
51 typeInfoMap.put(c1, TypeInfo.builder().supertypes(a11, a12).build());
52 typeInfoMap.put(c2, TypeInfo.builder().supertype(a3).build());
53
54 var sut = new TypeAnalyzer(typeInfoMap);
55 var tester = new TypeAnalyzerTester(sut);
56
57 assertAll(
58 () -> tester.assertConcreteType(c1),
59 () -> tester.assertConcreteType(c2),
60 () -> tester.assertEliminatedType(a11, c1),
61 () -> tester.assertEliminatedType(a12, c1),
62 () -> tester.assertEliminatedType(a21, c1),
63 () -> tester.assertEliminatedType(a22, c1),
64 () -> tester.assertAbstractType(a3, c1, c2)
65 );
66 }
67
68 @Test
69 void typeEliminationConcreteToAbstractTest() {
70 var c1 = new PartialRelation("C1", 1);
71 var c2 = new PartialRelation("C2", 1);
72 var a11 = new PartialRelation("A11", 1);
73 var a12 = new PartialRelation("A12", 1);
74 var a21 = new PartialRelation("A21", 1);
75 var a22 = new PartialRelation("A22", 1);
76 var a3 = new PartialRelation("A3", 1);
77 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
78 typeInfoMap.put(c1, TypeInfo.builder().supertypes(a11, a12).build());
79 typeInfoMap.put(c2, TypeInfo.builder().supertype(a3).build());
80 typeInfoMap.put(a11, TypeInfo.builder().abstractType().supertypes(a21, a22).build());
81 typeInfoMap.put(a12, TypeInfo.builder().abstractType().supertypes(a21, a22).build());
82 typeInfoMap.put(a21, TypeInfo.builder().abstractType().supertype(a3).build());
83 typeInfoMap.put(a22, TypeInfo.builder().abstractType().supertype(a3).build());
84 typeInfoMap.put(a3, TypeInfo.builder().abstractType().build());
85
86 var sut = new TypeAnalyzer(typeInfoMap);
87 var tester = new TypeAnalyzerTester(sut);
88
89 assertAll(
90 () -> tester.assertConcreteType(c1),
91 () -> tester.assertConcreteType(c2),
92 () -> tester.assertEliminatedType(a11, c1),
93 () -> tester.assertEliminatedType(a12, c1),
94 () -> tester.assertEliminatedType(a21, c1),
95 () -> tester.assertEliminatedType(a22, c1),
96 () -> tester.assertAbstractType(a3, c1, c2)
97 );
98 }
99
100 @Test
101 void preserveConcreteTypeTest() {
102 var c1 = new PartialRelation("C1", 1);
103 var a1 = new PartialRelation("A1", 1);
104 var c2 = new PartialRelation("C2", 1);
105 var a2 = new PartialRelation("A2", 1);
106 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
107 typeInfoMap.put(c1, TypeInfo.builder().supertype(a1).build());
108 typeInfoMap.put(a1, TypeInfo.builder().abstractType().supertype(c2).build());
109 typeInfoMap.put(c2, TypeInfo.builder().supertype(a2).build());
110 typeInfoMap.put(a2, TypeInfo.builder().abstractType().build());
111
112 var sut = new TypeAnalyzer(typeInfoMap);
113 var tester = new TypeAnalyzerTester(sut);
114
115 assertAll(
116 () -> tester.assertConcreteType(c1),
117 () -> tester.assertEliminatedType(a1, c1),
118 () -> tester.assertConcreteType(c2, c1),
119 () -> tester.assertEliminatedType(a2, c2)
120 );
121 }
122
123 @Test
124 void mostGeneralCurrentTypeTest() {
125 var c1 = new PartialRelation("C1", 1);
126 var c2 = new PartialRelation("C2", 1);
127 var c3 = new PartialRelation("C3", 1);
128 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
129 typeInfoMap.put(c1, TypeInfo.builder().supertype(c3).build());
130 typeInfoMap.put(c2, TypeInfo.builder().supertype(c3).build());
131 typeInfoMap.put(c3, TypeInfo.builder().build());
132
133 var sut = new TypeAnalyzer(typeInfoMap);
134 var tester = new TypeAnalyzerTester(sut);
135 var c3Result = tester.getPreservedType(c3);
136
137 var expected = new InferredType(Set.of(c3), Set.of(c1, c2, c3), c3);
138 assertAll(
139 () -> assertThat(tester.getInferredType(c3), is(expected)),
140 () -> assertThat(c3Result.merge(sut.getUnknownType(), TruthValue.TRUE), is(expected))
141 );
142 }
143
144 @Test
145 void preferFirstConcreteTypeTest() {
146 var a1 = new PartialRelation("A1", 1);
147 var c1 = new PartialRelation("C1", 1);
148 var c2 = new PartialRelation("C2", 1);
149 var c3 = new PartialRelation("C3", 1);
150 var c4 = new PartialRelation("C4", 1);
151 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
152 typeInfoMap.put(c1, TypeInfo.builder().supertype(a1).build());
153 typeInfoMap.put(c2, TypeInfo.builder().supertype(a1).build());
154 typeInfoMap.put(c3, TypeInfo.builder().supertype(a1).build());
155 typeInfoMap.put(c4, TypeInfo.builder().supertype(c3).build());
156 typeInfoMap.put(a1, TypeInfo.builder().abstractType().build());
157
158 var sut = new TypeAnalyzer(typeInfoMap);
159 var tester = new TypeAnalyzerTester(sut);
160 var c1Result = tester.getPreservedType(c1);
161 var a1Result = tester.getPreservedType(a1);
162
163 assertThat(c1Result.merge(a1Result.asInferredType(), TruthValue.FALSE),
164 is(new InferredType(Set.of(a1), Set.of(c2, c3, c4), c2)));
165 }
166
167 @Test
168 void preferFirstMostGeneralConcreteTypeTest() {
169 var a1 = new PartialRelation("A1", 1);
170 var c1 = new PartialRelation("C1", 1);
171 var c2 = new PartialRelation("C2", 1);
172 var c3 = new PartialRelation("C3", 1);
173 var c4 = new PartialRelation("C4", 1);
174 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
175 typeInfoMap.put(c4, TypeInfo.builder().supertype(c3).build());
176 typeInfoMap.put(c3, TypeInfo.builder().supertype(a1).build());
177 typeInfoMap.put(c2, TypeInfo.builder().supertype(a1).build());
178 typeInfoMap.put(c1, TypeInfo.builder().supertype(a1).build());
179 typeInfoMap.put(a1, TypeInfo.builder().abstractType().build());
180
181 var sut = new TypeAnalyzer(typeInfoMap);
182 var tester = new TypeAnalyzerTester(sut);
183 var c1Result = tester.getPreservedType(c1);
184 var a1Result = tester.getPreservedType(a1);
185
186 assertThat(c1Result.merge(a1Result.asInferredType(), TruthValue.FALSE),
187 is(new InferredType(Set.of(a1), Set.of(c2, c3, c4), c3)));
188 }
189
190 @Test
191 void circularTypeHierarchyTest() {
192 var c1 = new PartialRelation("C1", 1);
193 var c2 = new PartialRelation("C2", 1);
194 var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>();
195 typeInfoMap.put(c1, TypeInfo.builder().supertype(c2).build());
196 typeInfoMap.put(c2, TypeInfo.builder().supertype(c1).build());
197
198 assertThrows(IllegalArgumentException.class, () -> new TypeAnalyzer(typeInfoMap));
199 }
200}
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTester.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTester.java
new file mode 100644
index 00000000..56407730
--- /dev/null
+++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTester.java
@@ -0,0 +1,51 @@
1package tools.refinery.store.reasoning.translator.typehierarchy;
2
3import tools.refinery.store.reasoning.representation.PartialRelation;
4
5import static org.hamcrest.MatcherAssert.assertThat;
6import static org.hamcrest.Matchers.*;
7import static org.hamcrest.Matchers.is;
8
9class TypeAnalyzerTester {
10 private final TypeAnalyzer sut;
11
12 public TypeAnalyzerTester(TypeAnalyzer sut) {
13 this.sut = sut;
14 }
15
16 public void assertAbstractType(PartialRelation partialRelation, PartialRelation... directSubtypes) {
17 assertPreservedType(partialRelation, true, false, directSubtypes);
18 }
19
20 public void assertVacuousType(PartialRelation partialRelation) {
21 assertPreservedType(partialRelation, true, true);
22 }
23
24 public void assertConcreteType(PartialRelation partialRelation, PartialRelation... directSubtypes) {
25 assertPreservedType(partialRelation, false, false, directSubtypes);
26 }
27
28 private void assertPreservedType(PartialRelation partialRelation, boolean isAbstract, boolean isVacuous,
29 PartialRelation... directSubtypes) {
30 var result = sut.getAnalysisResults().get(partialRelation);
31 assertThat(result, is(instanceOf(PreservedType.class)));
32 var preservedResult = (PreservedType) result;
33 assertThat(preservedResult.isAbstractType(), is(isAbstract));
34 assertThat(preservedResult.isVacuous(), is(isVacuous));
35 assertThat(preservedResult.getDirectSubtypes(), hasItems(directSubtypes));
36 }
37
38 public void assertEliminatedType(PartialRelation partialRelation, PartialRelation replacement) {
39 var result = sut.getAnalysisResults().get(partialRelation);
40 assertThat(result, is(instanceOf(EliminatedType.class)));
41 assertThat(((EliminatedType) result).replacement(), is(replacement));
42 }
43
44 public PreservedType getPreservedType(PartialRelation partialRelation) {
45 return (PreservedType) sut.getAnalysisResults().get(partialRelation);
46 }
47
48 public InferredType getInferredType(PartialRelation partialRelation) {
49 return getPreservedType(partialRelation).asInferredType();
50 }
51}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/map/Cursors.java b/subprojects/store/src/main/java/tools/refinery/store/map/Cursors.java
new file mode 100644
index 00000000..fc8e628b
--- /dev/null
+++ b/subprojects/store/src/main/java/tools/refinery/store/map/Cursors.java
@@ -0,0 +1,36 @@
1package tools.refinery.store.map;
2
3public final class Cursors {
4 private Cursors() {
5 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
6 }
7
8 public static <K, V> Cursor<K, V> empty() {
9 return new Empty<>();
10 }
11
12 private static class Empty<K, V> implements Cursor<K, V> {
13 private boolean terminated = false;
14
15 @Override
16 public K getKey() {
17 return null;
18 }
19
20 @Override
21 public V getValue() {
22 return null;
23 }
24
25 @Override
26 public boolean isTerminated() {
27 return terminated;
28 }
29
30 @Override
31 public boolean move() {
32 terminated = true;
33 return false;
34 }
35 }
36}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretation.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretation.java
deleted file mode 100644
index 331fa294..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretation.java
+++ /dev/null
@@ -1,19 +0,0 @@
1package tools.refinery.store.partial;
2
3import tools.refinery.store.adapter.ModelAdapterBuilderFactory;
4import tools.refinery.store.model.ModelStoreBuilder;
5import tools.refinery.store.partial.internal.PartialInterpretationBuilderImpl;
6
7public final class PartialInterpretation extends ModelAdapterBuilderFactory<PartialInterpretationAdapter,
8 PartialInterpretationStoreAdapter, PartialInterpretationBuilder> {
9 public static final PartialInterpretation ADAPTER = new PartialInterpretation();
10
11 private PartialInterpretation() {
12 super(PartialInterpretationAdapter.class, PartialInterpretationStoreAdapter.class, PartialInterpretationBuilder.class);
13 }
14
15 @Override
16 public PartialInterpretationBuilder createBuilder(ModelStoreBuilder storeBuilder) {
17 return new PartialInterpretationBuilderImpl(storeBuilder);
18 }
19}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationAdapter.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationAdapter.java
deleted file mode 100644
index 2c83a200..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationAdapter.java
+++ /dev/null
@@ -1,9 +0,0 @@
1package tools.refinery.store.partial;
2
3import tools.refinery.store.adapter.ModelAdapter;
4
5public interface PartialInterpretationAdapter extends ModelAdapter {
6 @Override
7 PartialInterpretationStoreAdapter getStoreAdapter();
8}
9
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationBuilder.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationBuilder.java
deleted file mode 100644
index 0ec13836..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationBuilder.java
+++ /dev/null
@@ -1,9 +0,0 @@
1package tools.refinery.store.partial;
2
3import tools.refinery.store.adapter.ModelAdapterBuilder;
4import tools.refinery.store.model.ModelStore;
5
6public interface PartialInterpretationBuilder extends ModelAdapterBuilder {
7 @Override
8 PartialInterpretationStoreAdapter createStoreAdapter(ModelStore store);
9}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationStoreAdapter.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationStoreAdapter.java
deleted file mode 100644
index d4eb770d..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationStoreAdapter.java
+++ /dev/null
@@ -1,9 +0,0 @@
1package tools.refinery.store.partial;
2
3import tools.refinery.store.adapter.ModelStoreAdapter;
4import tools.refinery.store.model.Model;
5
6public interface PartialInterpretationStoreAdapter extends ModelStoreAdapter {
7 @Override
8 PartialInterpretationAdapter createModelAdapter(Model model);
9}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationAdapterImpl.java b/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationAdapterImpl.java
deleted file mode 100644
index 4b3977c0..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationAdapterImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
1package tools.refinery.store.partial.internal;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.partial.PartialInterpretationAdapter;
5
6public class PartialInterpretationAdapterImpl implements PartialInterpretationAdapter {
7 private final Model model;
8 private final PartialInterpretationStoreAdapterImpl storeAdapter;
9
10 PartialInterpretationAdapterImpl(Model model, PartialInterpretationStoreAdapterImpl storeAdapter) {
11 this.model = model;
12 this.storeAdapter = storeAdapter;
13 }
14
15 @Override
16 public Model getModel() {
17 return model;
18 }
19
20 @Override
21 public PartialInterpretationStoreAdapterImpl getStoreAdapter() {
22 return storeAdapter;
23 }
24}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationBuilderImpl.java b/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationBuilderImpl.java
deleted file mode 100644
index 4609dc32..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationBuilderImpl.java
+++ /dev/null
@@ -1,17 +0,0 @@
1package tools.refinery.store.partial.internal;
2
3import tools.refinery.store.adapter.AbstractModelAdapterBuilder;
4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.model.ModelStoreBuilder;
6import tools.refinery.store.partial.PartialInterpretationBuilder;
7
8public class PartialInterpretationBuilderImpl extends AbstractModelAdapterBuilder implements PartialInterpretationBuilder {
9 public PartialInterpretationBuilderImpl(ModelStoreBuilder storeBuilder) {
10 super(storeBuilder);
11 }
12
13 @Override
14 public PartialInterpretationStoreAdapterImpl createStoreAdapter(ModelStore store) {
15 return null;
16 }
17}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationStoreAdapterImpl.java b/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationStoreAdapterImpl.java
deleted file mode 100644
index 970b802b..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationStoreAdapterImpl.java
+++ /dev/null
@@ -1,23 +0,0 @@
1package tools.refinery.store.partial.internal;
2
3import tools.refinery.store.model.Model;
4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.partial.PartialInterpretationStoreAdapter;
6
7public class PartialInterpretationStoreAdapterImpl implements PartialInterpretationStoreAdapter {
8 private final ModelStore store;
9
10 PartialInterpretationStoreAdapterImpl(ModelStore store) {
11 this.store = store;
12 }
13
14 @Override
15 public ModelStore getStore() {
16 return store;
17 }
18
19 @Override
20 public PartialInterpretationAdapterImpl createModelAdapter(Model model) {
21 return new PartialInterpretationAdapterImpl(model, this);
22 }
23}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/DNF.java b/subprojects/store/src/main/java/tools/refinery/store/query/DNF.java
deleted file mode 100644
index 95c5d787..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/DNF.java
+++ /dev/null
@@ -1,169 +0,0 @@
1package tools.refinery.store.query;
2
3import tools.refinery.store.query.atom.DNFAtom;
4
5import java.util.*;
6
7public final class DNF implements RelationLike {
8 private final String name;
9
10 private final String uniqueName;
11
12 private final List<Variable> parameters;
13
14 private final List<FunctionalDependency<Variable>> functionalDependencies;
15
16 private final List<DNFAnd> clauses;
17
18 private DNF(String name, List<Variable> parameters, List<FunctionalDependency<Variable>> functionalDependencies,
19 List<DNFAnd> clauses) {
20 validateFunctionalDependencies(parameters, functionalDependencies);
21 this.name = name;
22 this.uniqueName = DNFUtils.generateUniqueName(name);
23 this.parameters = parameters;
24 this.functionalDependencies = functionalDependencies;
25 this.clauses = clauses;
26 }
27
28 private static void validateFunctionalDependencies(
29 Collection<Variable> parameters, Collection<FunctionalDependency<Variable>> functionalDependencies) {
30 var parameterSet = new HashSet<>(parameters);
31 for (var functionalDependency : functionalDependencies) {
32 validateParameters(parameters, parameterSet, functionalDependency.forEach(), functionalDependency);
33 validateParameters(parameters, parameterSet, functionalDependency.unique(), functionalDependency);
34 }
35 }
36
37 private static void validateParameters(Collection<Variable> parameters, Set<Variable> parameterSet,
38 Collection<Variable> toValidate,
39 FunctionalDependency<Variable> functionalDependency) {
40 for (var variable : toValidate) {
41 if (!parameterSet.contains(variable)) {
42 throw new IllegalArgumentException(
43 "Variable %s of functional dependency %s does not appear in the parameter list %s"
44 .formatted(variable, functionalDependency, parameters));
45 }
46 }
47 }
48
49 @Override
50 public String name() {
51 return name;
52 }
53
54 public String getUniqueName() {
55 return uniqueName;
56 }
57
58 public List<Variable> getParameters() {
59 return parameters;
60 }
61
62 public List<FunctionalDependency<Variable>> getFunctionalDependencies() {
63 return functionalDependencies;
64 }
65
66 @Override
67 public int arity() {
68 return parameters.size();
69 }
70
71 public List<DNFAnd> getClauses() {
72 return clauses;
73 }
74
75 public static Builder builder() {
76 return builder(null);
77 }
78
79 public static Builder builder(String name) {
80 return new Builder(name);
81 }
82
83 @SuppressWarnings("UnusedReturnValue")
84 public static class Builder {
85 private final String name;
86
87 private final List<Variable> parameters = new ArrayList<>();
88
89 private final List<FunctionalDependency<Variable>> functionalDependencies = new ArrayList<>();
90
91 private final List<List<DNFAtom>> clauses = new ArrayList<>();
92
93 private Builder(String name) {
94 this.name = name;
95 }
96
97 public Builder parameter(Variable variable) {
98 parameters.add(variable);
99 return this;
100 }
101
102 public Builder parameters(Variable... variables) {
103 return parameters(List.of(variables));
104 }
105
106 public Builder parameters(Collection<Variable> variables) {
107 parameters.addAll(variables);
108 return this;
109 }
110
111 public Builder functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) {
112 this.functionalDependencies.addAll(functionalDependencies);
113 return this;
114 }
115
116 public Builder functionalDependency(FunctionalDependency<Variable> functionalDependency) {
117 functionalDependencies.add(functionalDependency);
118 return this;
119 }
120
121 public Builder functionalDependency(Set<Variable> forEach, Set<Variable> unique) {
122 return functionalDependency(new FunctionalDependency<>(forEach, unique));
123 }
124
125 public Builder clause(DNFAtom... atoms) {
126 clauses.add(List.of(atoms));
127 return this;
128 }
129
130 public Builder clause(Collection<DNFAtom> atoms) {
131 clauses.add(List.copyOf(atoms));
132 return this;
133 }
134
135 public Builder clause(DNFAnd clause) {
136 return clause(clause.constraints());
137 }
138
139 public Builder clauses(DNFAnd... clauses) {
140 for (var clause : clauses) {
141 this.clause(clause);
142 }
143 return this;
144 }
145
146 public Builder clauses(Collection<DNFAnd> clauses) {
147 for (var clause : clauses) {
148 this.clause(clause);
149 }
150 return this;
151 }
152
153 public DNF build() {
154 var postProcessedClauses = new ArrayList<DNFAnd>();
155 for (var constraints : clauses) {
156 var variables = new HashSet<Variable>();
157 for (var constraint : constraints) {
158 constraint.collectAllVariables(variables);
159 }
160 parameters.forEach(variables::remove);
161 postProcessedClauses.add(new DNFAnd(Collections.unmodifiableSet(variables),
162 Collections.unmodifiableList(constraints)));
163 }
164 return new DNF(name, Collections.unmodifiableList(parameters),
165 Collections.unmodifiableList(functionalDependencies),
166 Collections.unmodifiableList(postProcessedClauses));
167 }
168 }
169}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/DNFAnd.java b/subprojects/store/src/main/java/tools/refinery/store/query/DNFAnd.java
deleted file mode 100644
index 8c3bf05d..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/DNFAnd.java
+++ /dev/null
@@ -1,9 +0,0 @@
1package tools.refinery.store.query;
2
3import tools.refinery.store.query.atom.DNFAtom;
4
5import java.util.List;
6import java.util.Set;
7
8public record DNFAnd(Set<Variable> quantifiedVariables, List<DNFAtom> constraints) {
9}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/RelationLike.java b/subprojects/store/src/main/java/tools/refinery/store/query/RelationLike.java
deleted file mode 100644
index 8c784d8b..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/RelationLike.java
+++ /dev/null
@@ -1,11 +0,0 @@
1package tools.refinery.store.query;
2
3public interface RelationLike {
4 String name();
5
6 int arity();
7
8 default boolean invalidIndex(int i) {
9 return i < 0 || i >= arity();
10 }
11}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ResultSet.java b/subprojects/store/src/main/java/tools/refinery/store/query/ResultSet.java
deleted file mode 100644
index 3542e252..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/ResultSet.java
+++ /dev/null
@@ -1,25 +0,0 @@
1package tools.refinery.store.query;
2
3import tools.refinery.store.tuple.Tuple;
4import tools.refinery.store.tuple.TupleLike;
5
6import java.util.Optional;
7import java.util.stream.Stream;
8
9public interface ResultSet {
10 boolean hasResult();
11
12 boolean hasResult(Tuple parameters);
13
14 Optional<TupleLike> oneResult();
15
16 Optional<TupleLike> oneResult(Tuple parameters);
17
18 Stream<TupleLike> allResults();
19
20 Stream<TupleLike> allResults(Tuple parameters);
21
22 int countResults();
23
24 int countResults(Tuple parameters);
25}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/Variable.java b/subprojects/store/src/main/java/tools/refinery/store/query/Variable.java
deleted file mode 100644
index 3632f3c5..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/Variable.java
+++ /dev/null
@@ -1,43 +0,0 @@
1package tools.refinery.store.query;
2
3import java.util.Objects;
4
5public class Variable {
6 private final String name;
7 private final String uniqueName;
8
9 public Variable() {
10 this(null);
11 }
12
13 public Variable(String name) {
14 super();
15 this.name = name;
16 this.uniqueName = DNFUtils.generateUniqueName(name);
17
18 }
19 public String getName() {
20 return name;
21 }
22
23 public String getUniqueName() {
24 return uniqueName;
25 }
26
27 public boolean isNamed() {
28 return name != null;
29 }
30
31 @Override
32 public boolean equals(Object o) {
33 if (this == o) return true;
34 if (o == null || getClass() != o.getClass()) return false;
35 Variable variable = (Variable) o;
36 return Objects.equals(uniqueName, variable.uniqueName);
37 }
38
39 @Override
40 public int hashCode() {
41 return Objects.hash(uniqueName);
42 }
43}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java
deleted file mode 100644
index 47121870..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java
+++ /dev/null
@@ -1,80 +0,0 @@
1package tools.refinery.store.query.atom;
2
3import tools.refinery.store.query.Variable;
4import tools.refinery.store.query.RelationLike;
5
6import java.util.List;
7import java.util.Objects;
8import java.util.Set;
9
10public abstract class CallAtom<T extends RelationLike> implements DNFAtom {
11 private final CallPolarity polarity;
12 private final T target;
13 private final List<Variable> substitution;
14
15 protected CallAtom(CallPolarity polarity, T target, List<Variable> substitution) {
16 if (substitution.size() != target.arity()) {
17 throw new IllegalArgumentException("%s needs %d arguments, but got %s".formatted(target.name(),
18 target.arity(), substitution.size()));
19 }
20 if (polarity.isTransitive() && target.arity() != 2) {
21 throw new IllegalArgumentException("Transitive closures can only take binary relations");
22 }
23 this.polarity = polarity;
24 this.target = target;
25 this.substitution = substitution;
26 }
27
28 protected CallAtom(CallPolarity polarity, T target, Variable... substitution) {
29 this(polarity, target, List.of(substitution));
30 }
31
32 protected CallAtom(boolean positive, T target, List<Variable> substitution) {
33 this(CallPolarity.fromBoolean(positive), target, substitution);
34 }
35
36 protected CallAtom(boolean positive, T target, Variable... substitution) {
37 this(positive, target, List.of(substitution));
38 }
39
40 protected CallAtom(T target, List<Variable> substitution) {
41 this(true, target, substitution);
42 }
43
44 protected CallAtom(T target, Variable... substitution) {
45 this(target, List.of(substitution));
46 }
47
48 public CallPolarity getPolarity() {
49 return polarity;
50 }
51
52 public T getTarget() {
53 return target;
54 }
55
56 public List<Variable> getSubstitution() {
57 return substitution;
58 }
59
60 @Override
61 public void collectAllVariables(Set<Variable> variables) {
62 if (polarity.isPositive()) {
63 variables.addAll(substitution);
64 }
65 }
66
67 @Override
68 public boolean equals(Object o) {
69 if (this == o) return true;
70 if (o == null || getClass() != o.getClass()) return false;
71 CallAtom<?> callAtom = (CallAtom<?>) o;
72 return polarity == callAtom.polarity && Objects.equals(target, callAtom.target) && Objects.equals(substitution
73 , callAtom.substitution);
74 }
75
76 @Override
77 public int hashCode() {
78 return Objects.hash(polarity, target, substitution);
79 }
80}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/ConstantAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/ConstantAtom.java
deleted file mode 100644
index 13dae7d0..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/ConstantAtom.java
+++ /dev/null
@@ -1,12 +0,0 @@
1package tools.refinery.store.query.atom;
2
3import tools.refinery.store.query.Variable;
4
5import java.util.Set;
6
7public record ConstantAtom(Variable variable, int nodeId) implements DNFAtom {
8 @Override
9 public void collectAllVariables(Set<Variable> variables) {
10 variables.add(variable);
11 }
12}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFAtom.java
deleted file mode 100644
index ebf71236..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFAtom.java
+++ /dev/null
@@ -1,9 +0,0 @@
1package tools.refinery.store.query.atom;
2
3import tools.refinery.store.query.Variable;
4
5import java.util.Set;
6
7public interface DNFAtom {
8 void collectAllVariables(Set<Variable> variables);
9}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFCallAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFCallAtom.java
deleted file mode 100644
index 3b4f5cd1..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFCallAtom.java
+++ /dev/null
@@ -1,32 +0,0 @@
1package tools.refinery.store.query.atom;
2
3import tools.refinery.store.query.DNF;
4import tools.refinery.store.query.Variable;
5
6import java.util.List;
7
8public class DNFCallAtom extends CallAtom<DNF> {
9 public DNFCallAtom(CallPolarity polarity, DNF target, List<Variable> substitution) {
10 super(polarity, target, substitution);
11 }
12
13 public DNFCallAtom(CallPolarity polarity, DNF target, Variable... substitution) {
14 super(polarity, target, substitution);
15 }
16
17 public DNFCallAtom(boolean positive, DNF target, List<Variable> substitution) {
18 super(positive, target, substitution);
19 }
20
21 public DNFCallAtom(boolean positive, DNF target, Variable... substitution) {
22 super(positive, target, substitution);
23 }
24
25 public DNFCallAtom(DNF target, List<Variable> substitution) {
26 super(target, substitution);
27 }
28
29 public DNFCallAtom(DNF target, Variable... substitution) {
30 super(target, substitution);
31 }
32}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/EquivalenceAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/EquivalenceAtom.java
deleted file mode 100644
index b1b3a6f7..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/EquivalenceAtom.java
+++ /dev/null
@@ -1,17 +0,0 @@
1package tools.refinery.store.query.atom;
2
3import tools.refinery.store.query.Variable;
4
5import java.util.Set;
6
7public record EquivalenceAtom(boolean positive, Variable left, Variable right) implements DNFAtom {
8 public EquivalenceAtom(Variable left, Variable right) {
9 this(true, left, right);
10 }
11
12 @Override
13 public void collectAllVariables(Set<Variable> variables) {
14 variables.add(left);
15 variables.add(right);
16 }
17}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/RelationViewAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/RelationViewAtom.java
deleted file mode 100644
index a2b176c4..00000000
--- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/RelationViewAtom.java
+++ /dev/null
@@ -1,32 +0,0 @@
1package tools.refinery.store.query.atom;
2
3import tools.refinery.store.query.Variable;
4import tools.refinery.store.query.view.AnyRelationView;
5
6import java.util.List;
7
8public final class RelationViewAtom extends CallAtom<AnyRelationView> {
9 public RelationViewAtom(CallPolarity polarity, AnyRelationView target, List<Variable> substitution) {
10 super(polarity, target, substitution);
11 }
12
13 public RelationViewAtom(CallPolarity polarity, AnyRelationView target, Variable... substitution) {
14 super(polarity, target, substitution);
15 }
16
17 public RelationViewAtom(boolean positive, AnyRelationView target, List<Variable> substitution) {
18 super(positive, target, substitution);
19 }
20
21 public RelationViewAtom(boolean positive, AnyRelationView target, Variable... substitution) {
22 super(positive, target, substitution);
23 }
24
25 public RelationViewAtom(AnyRelationView target, List<Variable> substitution) {
26 super(target, substitution);
27 }
28
29 public RelationViewAtom(AnyRelationView target, Variable... substitution) {
30 super(target, substitution);
31 }
32}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/AbstractDomain.java b/subprojects/store/src/main/java/tools/refinery/store/representation/AbstractDomain.java
new file mode 100644
index 00000000..18903ead
--- /dev/null
+++ b/subprojects/store/src/main/java/tools/refinery/store/representation/AbstractDomain.java
@@ -0,0 +1,29 @@
1package tools.refinery.store.representation;
2
3import java.util.Optional;
4
5public non-sealed interface AbstractDomain<A, C> extends AnyAbstractDomain {
6 @Override
7 Class<A> abstractType();
8
9 @Override
10 Class<C> concreteType();
11
12 A toAbstract(C concreteValue);
13
14 Optional<C> toConcrete(A abstractValue);
15
16 default boolean isConcrete(A abstractValue) {
17 return toConcrete(abstractValue).isPresent();
18 }
19
20 boolean isRefinement(A originalValue, A refinedValue);
21
22 A commonRefinement(A leftValue, A rightValue);
23
24 A commonAncestor(A leftValue, A rightValue);
25
26 A unknown();
27
28 boolean isError(A abstractValue);
29}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/AnyAbstractDomain.java b/subprojects/store/src/main/java/tools/refinery/store/representation/AnyAbstractDomain.java
new file mode 100644
index 00000000..4c428a1e
--- /dev/null
+++ b/subprojects/store/src/main/java/tools/refinery/store/representation/AnyAbstractDomain.java
@@ -0,0 +1,7 @@
1package tools.refinery.store.representation;
2
3public sealed interface AnyAbstractDomain permits AbstractDomain {
4 Class<?> abstractType();
5
6 Class<?> concreteType();
7}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java b/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java
index 85ea15f4..30b1c03f 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java
+++ b/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java
@@ -1,12 +1,6 @@
1package tools.refinery.store.representation; 1package tools.refinery.store.representation;
2 2
3import java.util.Objects;
4
5public record Symbol<T>(String name, int arity, Class<T> valueType, T defaultValue) implements AnySymbol { 3public record Symbol<T>(String name, int arity, Class<T> valueType, T defaultValue) implements AnySymbol {
6 public boolean isDefaultValue(T value) {
7 return Objects.equals(defaultValue, value);
8 }
9
10 @Override 4 @Override
11 public boolean equals(Object o) { 5 public boolean equals(Object o) {
12 return this == o; 6 return this == o;
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/TruthValueDomain.java b/subprojects/store/src/main/java/tools/refinery/store/representation/TruthValueDomain.java
new file mode 100644
index 00000000..29858bce
--- /dev/null
+++ b/subprojects/store/src/main/java/tools/refinery/store/representation/TruthValueDomain.java
@@ -0,0 +1,60 @@
1package tools.refinery.store.representation;
2
3import java.util.Optional;
4
5public final class TruthValueDomain implements AbstractDomain<TruthValue, Boolean> {
6 public static final TruthValueDomain INSTANCE = new TruthValueDomain();
7
8 private TruthValueDomain() {
9 }
10
11 @Override
12 public Class<TruthValue> abstractType() {
13 return null;
14 }
15
16 @Override
17 public Class<Boolean> concreteType() {
18 return null;
19 }
20
21 @Override
22 public TruthValue toAbstract(Boolean concreteValue) {
23 return null;
24 }
25
26 @Override
27 public Optional<Boolean> toConcrete(TruthValue abstractValue) {
28 return Optional.empty();
29 }
30
31 @Override
32 public boolean isConcrete(TruthValue abstractValue) {
33 return AbstractDomain.super.isConcrete(abstractValue);
34 }
35
36 @Override
37 public boolean isRefinement(TruthValue originalValue, TruthValue refinedValue) {
38 return false;
39 }
40
41 @Override
42 public TruthValue commonRefinement(TruthValue leftValue, TruthValue rightValue) {
43 return null;
44 }
45
46 @Override
47 public TruthValue commonAncestor(TruthValue leftValue, TruthValue rightValue) {
48 return null;
49 }
50
51 @Override
52 public TruthValue unknown() {
53 return null;
54 }
55
56 @Override
57 public boolean isError(TruthValue abstractValue) {
58 return false;
59 }
60}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java
index 470ca298..953ea9f8 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java
+++ b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java
@@ -1,5 +1,8 @@
1package tools.refinery.store.tuple; 1package tools.refinery.store.tuple;
2 2
3import java.util.stream.Collectors;
4import java.util.stream.IntStream;
5
3public interface TupleLike { 6public interface TupleLike {
4 int getSize(); 7 int getSize();
5 8
@@ -22,4 +25,11 @@ public interface TupleLike {
22 default -> Tuple.of(toArray()); 25 default -> Tuple.of(toArray());
23 }; 26 };
24 } 27 }
28
29 static String toString(TupleLike tuple) {
30 var valuesString = IntStream.range(0, tuple.getSize())
31 .mapToObj(i -> Integer.toString(tuple.get(i)))
32 .collect(Collectors.joining(", "));
33 return "[" + valuesString + "]";
34 }
25} 35}
diff --git a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java
index 15fd063b..c3aed847 100644
--- a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java
+++ b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java
@@ -1,7 +1,6 @@
1package tools.refinery.store.tuple; 1package tools.refinery.store.tuple;
2 2
3import java.util.Arrays; 3import java.util.Arrays;
4import java.util.stream.Collectors;
5 4
6public record TupleN(int[] values) implements Tuple { 5public record TupleN(int[] values) implements Tuple {
7 static final int CUSTOM_TUPLE_SIZE = 2; 6 static final int CUSTOM_TUPLE_SIZE = 2;
@@ -29,8 +28,7 @@ public record TupleN(int[] values) implements Tuple {
29 28
30 @Override 29 @Override
31 public String toString() { 30 public String toString() {
32 var valuesString = Arrays.stream(values).mapToObj(Integer::toString).collect(Collectors.joining(", ")); 31 return TupleLike.toString(this);
33 return "[" + valuesString + "]";
34 } 32 }
35 33
36 @Override 34 @Override
diff --git a/subprojects/store/src/main/java/tools/refinery/store/util/CycleDetectingMapper.java b/subprojects/store/src/main/java/tools/refinery/store/util/CycleDetectingMapper.java
new file mode 100644
index 00000000..8a151d01
--- /dev/null
+++ b/subprojects/store/src/main/java/tools/refinery/store/util/CycleDetectingMapper.java
@@ -0,0 +1,52 @@
1package tools.refinery.store.util;
2
3import java.util.*;
4import java.util.function.Function;
5import java.util.stream.Collectors;
6
7public class CycleDetectingMapper<T, R> {
8 private static final String SEPARATOR = " -> ";
9
10 private final Function<T, String> getName;
11
12 private final Function<T, R> doMap;
13
14 private final Set<T> inProgress = new LinkedHashSet<>();
15
16 private final Map<T, R> results = new HashMap<>();
17
18 public CycleDetectingMapper(Function<T, String> getName, Function<T, R> doMap) {
19 this.getName = getName;
20 this.doMap = doMap;
21 }
22
23 public R map(T input) {
24 if (inProgress.contains(input)) {
25 var path = inProgress.stream().map(getName).collect(Collectors.joining(SEPARATOR));
26 throw new IllegalArgumentException("Circular reference %s%s%s detected".formatted(path, SEPARATOR,
27 getName.apply(input)));
28 }
29 // We can't use computeIfAbsent here, because translating referenced queries calls this method in a reentrant
30 // way, which would cause a ConcurrentModificationException with computeIfAbsent.
31 @SuppressWarnings("squid:S3824")
32 var result = results.get(input);
33 if (result == null) {
34 inProgress.add(input);
35 try {
36 result = doMap.apply(input);
37 results.put(input, result);
38 } finally {
39 inProgress.remove(input);
40 }
41 }
42 return result;
43 }
44
45 public List<T> getInProgress() {
46 return List.copyOf(inProgress);
47 }
48
49 public R getAlreadyMapped(T input) {
50 return results.get(input);
51 }
52}
diff --git a/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java b/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java
index 371b5e47..9536a444 100644
--- a/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java
+++ b/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java
@@ -49,7 +49,7 @@ class ModelTest {
49 49
50 assertEquals(3, ageInterpretation.get(Tuple.of(0))); 50 assertEquals(3, ageInterpretation.get(Tuple.of(0)));
51 assertEquals(1, ageInterpretation.get(Tuple.of(1))); 51 assertEquals(1, ageInterpretation.get(Tuple.of(1)));
52 assertNull(ageInterpretation.get( Tuple.of(2))); 52 assertNull(ageInterpretation.get(Tuple.of(2)));
53 53
54 assertTrue(friendInterpretation.get(Tuple.of(0, 1))); 54 assertTrue(friendInterpretation.get(Tuple.of(0, 1)));
55 assertFalse(friendInterpretation.get(Tuple.of(0, 5))); 55 assertFalse(friendInterpretation.get(Tuple.of(0, 5)));
diff --git a/yarn.lock b/yarn.lock
index f83611f4..082b1287 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -140,9 +140,9 @@ __metadata:
140 languageName: node 140 languageName: node
141 linkType: hard 141 linkType: hard
142 142
143"@babel/helper-define-polyfill-provider@npm:^0.3.2": 143"@babel/helper-define-polyfill-provider@npm:^0.3.2, @babel/helper-define-polyfill-provider@npm:^0.3.3":
144 version: 0.3.2 144 version: 0.3.3
145 resolution: "@babel/helper-define-polyfill-provider@npm:0.3.2" 145 resolution: "@babel/helper-define-polyfill-provider@npm:0.3.3"
146 dependencies: 146 dependencies:
147 "@babel/helper-compilation-targets": "npm:^7.17.7" 147 "@babel/helper-compilation-targets": "npm:^7.17.7"
148 "@babel/helper-plugin-utils": "npm:^7.16.7" 148 "@babel/helper-plugin-utils": "npm:^7.16.7"
@@ -152,7 +152,7 @@ __metadata:
152 semver: "npm:^6.1.2" 152 semver: "npm:^6.1.2"
153 peerDependencies: 153 peerDependencies:
154 "@babel/core": ^7.4.0-0 154 "@babel/core": ^7.4.0-0
155 checksum: ceebf63084b4e975bd121eff699c632820c9645c2fac36fb61f2ea456bbfe1c6e836dac8ebda54f3f8d9270a402ea400a1c53c20bc9e7f9d17aeef445576672b 155 checksum: 2991b9b87f6c3248c343a394c0bb09c14a6f9b5b1c22cd2e51b6127f79d08fb6ea5d65e889b2331466f154e9d407e47b891de2eab2a6dafa4c62b3c59ff1720c
156 languageName: node 156 languageName: node
157 linkType: hard 157 linkType: hard
158 158
@@ -649,17 +649,6 @@ __metadata:
649 languageName: node 649 languageName: node
650 linkType: hard 650 linkType: hard
651 651
652"@babel/plugin-syntax-jsx@npm:^7.17.12":
653 version: 7.18.6
654 resolution: "@babel/plugin-syntax-jsx@npm:7.18.6"
655 dependencies:
656 "@babel/helper-plugin-utils": "npm:^7.18.6"
657 peerDependencies:
658 "@babel/core": ^7.0.0-0
659 checksum: 93aa8b4803ade912560529ffebed69cf29617f5025fdd39eeea3b2c60fa16f7120dee3e310931fd8faf14e2bd0bc5227210efea987bd393e61dcb4287d9aac8b
660 languageName: node
661 linkType: hard
662
663"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": 652"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4":
664 version: 7.10.4 653 version: 7.10.4
665 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" 654 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4"
@@ -1228,12 +1217,19 @@ __metadata:
1228 languageName: node 1217 languageName: node
1229 linkType: hard 1218 linkType: hard
1230 1219
1231"@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": 1220"@babel/regjsgen@npm:^0.8.0":
1232 version: 7.20.7 1221 version: 0.8.0
1233 resolution: "@babel/runtime@npm:7.20.7" 1222 resolution: "@babel/regjsgen@npm:0.8.0"
1223 checksum: 26a6ef60f1d4b392fc81dd0dbfae4e0fb08c21c8556f16735f02d07ebc89de349ddae48d804b1fe0a450b62eaa119db584c639ae11c3e5a95ccee4e88e88ea7b
1224 languageName: node
1225 linkType: hard
1226
1227"@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7":
1228 version: 7.21.0
1229 resolution: "@babel/runtime@npm:7.21.0"
1234 dependencies: 1230 dependencies:
1235 regenerator-runtime: "npm:^0.13.11" 1231 regenerator-runtime: "npm:^0.13.11"
1236 checksum: b22b904439569fa3b28627fc398d9bb9619f14bc9165cdf63ab5fa248660a10104ae81514607cbe55e4e26fe0d4048a89263f47f1f3da1e37f8e670b95acf244 1232 checksum: adff473f615f797cffbd64d6839a5e3816e6e7942a6c9bfc23369e6d89a18c92eda974e2f538540a0ce543c28e3d637c59a0a8c391cee978e0b7dc31b606ef08
1237 languageName: node 1233 languageName: node
1238 linkType: hard 1234 linkType: hard
1239 1235
@@ -1277,9 +1273,9 @@ __metadata:
1277 languageName: node 1273 languageName: node
1278 linkType: hard 1274 linkType: hard
1279 1275
1280"@codemirror/autocomplete@npm:^6.4.0": 1276"@codemirror/autocomplete@npm:^6.4.2":
1281 version: 6.4.0 1277 version: 6.4.2
1282 resolution: "@codemirror/autocomplete@npm:6.4.0" 1278 resolution: "@codemirror/autocomplete@npm:6.4.2"
1283 dependencies: 1279 dependencies:
1284 "@codemirror/language": "npm:^6.0.0" 1280 "@codemirror/language": "npm:^6.0.0"
1285 "@codemirror/state": "npm:^6.0.0" 1281 "@codemirror/state": "npm:^6.0.0"
@@ -1290,25 +1286,25 @@ __metadata:
1290 "@codemirror/state": ^6.0.0 1286 "@codemirror/state": ^6.0.0
1291 "@codemirror/view": ^6.0.0 1287 "@codemirror/view": ^6.0.0
1292 "@lezer/common": ^1.0.0 1288 "@lezer/common": ^1.0.0
1293 checksum: 71c2e3911063937e6b99cbf5932006a8b06f2bf3712431e97b80d1cd4bbd1cd91db6b2b31efd07b1e59cf284d95cd991175f6ce33d4eace23c4a5e750d0eec57 1289 checksum: d87cb8f208a1c11877522caf93cc6528aff156d52c0ca43833c7789017fe9664c91c39790d4217e9c6ac822b3b523319ccd971ca951b389edd07d526ce70ef02
1294 languageName: node 1290 languageName: node
1295 linkType: hard 1291 linkType: hard
1296 1292
1297"@codemirror/commands@npm:^6.2.0": 1293"@codemirror/commands@npm:^6.2.2":
1298 version: 6.2.0 1294 version: 6.2.2
1299 resolution: "@codemirror/commands@npm:6.2.0" 1295 resolution: "@codemirror/commands@npm:6.2.2"
1300 dependencies: 1296 dependencies:
1301 "@codemirror/language": "npm:^6.0.0" 1297 "@codemirror/language": "npm:^6.0.0"
1302 "@codemirror/state": "npm:^6.2.0" 1298 "@codemirror/state": "npm:^6.2.0"
1303 "@codemirror/view": "npm:^6.0.0" 1299 "@codemirror/view": "npm:^6.0.0"
1304 "@lezer/common": "npm:^1.0.0" 1300 "@lezer/common": "npm:^1.0.0"
1305 checksum: 8acb4a0cc0276a5370770378a38952c079a730c80310ccd08a0c51223af9de1955fecff107cbce3df18850ab4dcc7427fcefd734e99cae8e36a0d6242b52f01f 1301 checksum: 079e661a0c9ac6eabb0a390ce643af29a35d9a5eeda512b392185d94f36f2493f46889b0e20d156cae6addf8e22746dbc14fcf2f87e151f15ec9995a96c42337
1306 languageName: node 1302 languageName: node
1307 linkType: hard 1303 linkType: hard
1308 1304
1309"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.4.0": 1305"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.6.0":
1310 version: 6.4.0 1306 version: 6.6.0
1311 resolution: "@codemirror/language@npm:6.4.0" 1307 resolution: "@codemirror/language@npm:6.6.0"
1312 dependencies: 1308 dependencies:
1313 "@codemirror/state": "npm:^6.0.0" 1309 "@codemirror/state": "npm:^6.0.0"
1314 "@codemirror/view": "npm:^6.0.0" 1310 "@codemirror/view": "npm:^6.0.0"
@@ -1316,29 +1312,29 @@ __metadata:
1316 "@lezer/highlight": "npm:^1.0.0" 1312 "@lezer/highlight": "npm:^1.0.0"
1317 "@lezer/lr": "npm:^1.0.0" 1313 "@lezer/lr": "npm:^1.0.0"
1318 style-mod: "npm:^4.0.0" 1314 style-mod: "npm:^4.0.0"
1319 checksum: 3840114395e07837e72396110d3e44e01767fd682f215891a46a843700cad2513ae966c384477860f5de48439a25e545f5481959beb763b1a627ad4aab1c7de0 1315 checksum: f0186b896733a44342c139ee7edd8be91192bb99f56cdda2b4b999636d4bc661618cfd97c6c4cc4581533cfa11be449adf9e6748b844f3dd54ed50d6161bb83e
1320 languageName: node 1316 languageName: node
1321 linkType: hard 1317 linkType: hard
1322 1318
1323"@codemirror/lint@npm:^6.1.0": 1319"@codemirror/lint@npm:^6.2.0":
1324 version: 6.1.0 1320 version: 6.2.0
1325 resolution: "@codemirror/lint@npm:6.1.0" 1321 resolution: "@codemirror/lint@npm:6.2.0"
1326 dependencies: 1322 dependencies:
1327 "@codemirror/state": "npm:^6.0.0" 1323 "@codemirror/state": "npm:^6.0.0"
1328 "@codemirror/view": "npm:^6.0.0" 1324 "@codemirror/view": "npm:^6.0.0"
1329 crelt: "npm:^1.0.5" 1325 crelt: "npm:^1.0.5"
1330 checksum: 076c60e87aea52c666b171ff4c4e738e208170d2b384386c1f6ba3b1f09474eaa1530548b69ed865168df7cc13b441bc68c4f6dfd90016cc4eb4267f4555f144 1326 checksum: 638e4b55a477580225e0f97045769891182756a5d74909b2a264dd8ca96d755d7687df88514f7c61abf17bf2ae6c2af927e18c6850169e9ae404489366f277b2
1331 languageName: node 1327 languageName: node
1332 linkType: hard 1328 linkType: hard
1333 1329
1334"@codemirror/search@npm:^6.2.3": 1330"@codemirror/search@npm:^6.3.0":
1335 version: 6.2.3 1331 version: 6.3.0
1336 resolution: "@codemirror/search@npm:6.2.3" 1332 resolution: "@codemirror/search@npm:6.3.0"
1337 dependencies: 1333 dependencies:
1338 "@codemirror/state": "npm:^6.0.0" 1334 "@codemirror/state": "npm:^6.0.0"
1339 "@codemirror/view": "npm:^6.0.0" 1335 "@codemirror/view": "npm:^6.0.0"
1340 crelt: "npm:^1.0.5" 1336 crelt: "npm:^1.0.5"
1341 checksum: dc283e6fb390f43eec342664e525bb2ac7b317b1c89b1d16403ccfadf29815ba054d2dce5b5d58aa4575e45c9b406053c55f5da83f490a64485137c1ff498609 1337 checksum: 1f098a1d2f194c6fdf2405938d5fb69d88a6ec9d5ceb1121b163f9f1db293c1c8d524ef41f3895bad379bc2540c4ba5f85f7d03711f0715a0fe4846545026bee
1342 languageName: node 1338 languageName: node
1343 linkType: hard 1339 linkType: hard
1344 1340
@@ -1349,23 +1345,22 @@ __metadata:
1349 languageName: node 1345 languageName: node
1350 linkType: hard 1346 linkType: hard
1351 1347
1352"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.6.0, @codemirror/view@npm:^6.7.3": 1348"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.6.0, @codemirror/view@npm:^6.9.3":
1353 version: 6.7.3 1349 version: 6.9.3
1354 resolution: "@codemirror/view@npm:6.7.3" 1350 resolution: "@codemirror/view@npm:6.9.3"
1355 dependencies: 1351 dependencies:
1356 "@codemirror/state": "npm:^6.1.4" 1352 "@codemirror/state": "npm:^6.1.4"
1357 style-mod: "npm:^4.0.0" 1353 style-mod: "npm:^4.0.0"
1358 w3c-keyname: "npm:^2.2.4" 1354 w3c-keyname: "npm:^2.2.4"
1359 checksum: 361e941980f3a2b8826fa4a63e74f56b092d340196a9a3b2df06d9e8cea692a561fef870e8a06b566ba1a02602300c544eb55e9b0a707e5161c9154ab0fdb5c9 1355 checksum: ab856cd03a87f4a045965ddb1cd051e2120898348593dafa8bd216e79d18f4b6250c463bb35b7ba4d235cfd319a54deecdc54d944e7830337a0145f5e1a21229
1360 languageName: node 1356 languageName: node
1361 linkType: hard 1357 linkType: hard
1362 1358
1363"@emotion/babel-plugin@npm:^11.10.5": 1359"@emotion/babel-plugin@npm:^11.10.6":
1364 version: 11.10.5 1360 version: 11.10.6
1365 resolution: "@emotion/babel-plugin@npm:11.10.5" 1361 resolution: "@emotion/babel-plugin@npm:11.10.6"
1366 dependencies: 1362 dependencies:
1367 "@babel/helper-module-imports": "npm:^7.16.7" 1363 "@babel/helper-module-imports": "npm:^7.16.7"
1368 "@babel/plugin-syntax-jsx": "npm:^7.17.12"
1369 "@babel/runtime": "npm:^7.18.3" 1364 "@babel/runtime": "npm:^7.18.3"
1370 "@emotion/hash": "npm:^0.9.0" 1365 "@emotion/hash": "npm:^0.9.0"
1371 "@emotion/memoize": "npm:^0.8.0" 1366 "@emotion/memoize": "npm:^0.8.0"
@@ -1376,9 +1371,7 @@ __metadata:
1376 find-root: "npm:^1.1.0" 1371 find-root: "npm:^1.1.0"
1377 source-map: "npm:^0.5.7" 1372 source-map: "npm:^0.5.7"
1378 stylis: "npm:4.1.3" 1373 stylis: "npm:4.1.3"
1379 peerDependencies: 1374 checksum: 859004f5af7b6d426d9ede5ba5917da51764f62bd4c915efd2f769dd8fb513a8c792c6e2fa5b3f50fe8101816220beb6fb6e93fb51310d83a038afed8247d05e
1380 "@babel/core": ^7.0.0
1381 checksum: 71d95f306740a8547d021e3149db4302348f3dd5f9f15ee8969e8f809b0bdf6d9efe9842055848d255b8d921e823ac1def3a1c4620f81d2f41bbfc11fa807f76
1382 languageName: node 1375 languageName: node
1383 linkType: hard 1376 linkType: hard
1384 1377
@@ -1418,12 +1411,12 @@ __metadata:
1418 languageName: node 1411 languageName: node
1419 linkType: hard 1412 linkType: hard
1420 1413
1421"@emotion/react@npm:^11.10.5": 1414"@emotion/react@npm:^11.10.6":
1422 version: 11.10.5 1415 version: 11.10.6
1423 resolution: "@emotion/react@npm:11.10.5" 1416 resolution: "@emotion/react@npm:11.10.6"
1424 dependencies: 1417 dependencies:
1425 "@babel/runtime": "npm:^7.18.3" 1418 "@babel/runtime": "npm:^7.18.3"
1426 "@emotion/babel-plugin": "npm:^11.10.5" 1419 "@emotion/babel-plugin": "npm:^11.10.6"
1427 "@emotion/cache": "npm:^11.10.5" 1420 "@emotion/cache": "npm:^11.10.5"
1428 "@emotion/serialize": "npm:^1.1.1" 1421 "@emotion/serialize": "npm:^1.1.1"
1429 "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" 1422 "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0"
@@ -1431,14 +1424,11 @@ __metadata:
1431 "@emotion/weak-memoize": "npm:^0.3.0" 1424 "@emotion/weak-memoize": "npm:^0.3.0"
1432 hoist-non-react-statics: "npm:^3.3.1" 1425 hoist-non-react-statics: "npm:^3.3.1"
1433 peerDependencies: 1426 peerDependencies:
1434 "@babel/core": ^7.0.0
1435 react: ">=16.8.0" 1427 react: ">=16.8.0"
1436 peerDependenciesMeta: 1428 peerDependenciesMeta:
1437 "@babel/core":
1438 optional: true
1439 "@types/react": 1429 "@types/react":
1440 optional: true 1430 optional: true
1441 checksum: 068fece54080e4809e7e61e1a0aa5531e03c0891d395b01ba32cb2bebce10fdb55be602532efe5f7ebc6484ed4ffaf17d67a4270850118e944846380b20938a3 1431 checksum: b43bed600827bef5d5243bd141f25c66f18a1250e652ad7e32dae868a89290105df9e9f248e7e8f4f36879da75b397c5a1572e140a61a9d7a6c3b990c225c896
1442 languageName: node 1432 languageName: node
1443 linkType: hard 1433 linkType: hard
1444 1434
@@ -1462,26 +1452,23 @@ __metadata:
1462 languageName: node 1452 languageName: node
1463 linkType: hard 1453 linkType: hard
1464 1454
1465"@emotion/styled@npm:^11.10.5": 1455"@emotion/styled@npm:^11.10.6":
1466 version: 11.10.5 1456 version: 11.10.6
1467 resolution: "@emotion/styled@npm:11.10.5" 1457 resolution: "@emotion/styled@npm:11.10.6"
1468 dependencies: 1458 dependencies:
1469 "@babel/runtime": "npm:^7.18.3" 1459 "@babel/runtime": "npm:^7.18.3"
1470 "@emotion/babel-plugin": "npm:^11.10.5" 1460 "@emotion/babel-plugin": "npm:^11.10.6"
1471 "@emotion/is-prop-valid": "npm:^1.2.0" 1461 "@emotion/is-prop-valid": "npm:^1.2.0"
1472 "@emotion/serialize": "npm:^1.1.1" 1462 "@emotion/serialize": "npm:^1.1.1"
1473 "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" 1463 "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0"
1474 "@emotion/utils": "npm:^1.2.0" 1464 "@emotion/utils": "npm:^1.2.0"
1475 peerDependencies: 1465 peerDependencies:
1476 "@babel/core": ^7.0.0
1477 "@emotion/react": ^11.0.0-rc.0 1466 "@emotion/react": ^11.0.0-rc.0
1478 react: ">=16.8.0" 1467 react: ">=16.8.0"
1479 peerDependenciesMeta: 1468 peerDependenciesMeta:
1480 "@babel/core":
1481 optional: true
1482 "@types/react": 1469 "@types/react":
1483 optional: true 1470 optional: true
1484 checksum: 9a135212e9be199ca180b4a92f1bed208880ae8994143f2b0f3689a3549746484454302e301d5b5c4166f6ba51862cee923ba5ac8676b2369a7f62e29fd6d27f 1471 checksum: a3d861dc9c3c01dfbea03f981516ccd8228415df65e485365b577e3e5572d1d54552381c0d9e9819a75ee1f496f06fe34f915455e427bed4c30b04dd8108b99f
1485 languageName: node 1472 languageName: node
1486 linkType: hard 1473 linkType: hard
1487 1474
@@ -1515,174 +1502,199 @@ __metadata:
1515 languageName: node 1502 languageName: node
1516 linkType: hard 1503 linkType: hard
1517 1504
1518"@esbuild/android-arm64@npm:0.16.17": 1505"@esbuild/android-arm64@npm:0.17.14":
1519 version: 0.16.17 1506 version: 0.17.14
1520 resolution: "@esbuild/android-arm64@npm:0.16.17" 1507 resolution: "@esbuild/android-arm64@npm:0.17.14"
1521 conditions: os=android & cpu=arm64 1508 conditions: os=android & cpu=arm64
1522 languageName: node 1509 languageName: node
1523 linkType: hard 1510 linkType: hard
1524 1511
1525"@esbuild/android-arm@npm:0.16.17": 1512"@esbuild/android-arm@npm:0.17.14":
1526 version: 0.16.17 1513 version: 0.17.14
1527 resolution: "@esbuild/android-arm@npm:0.16.17" 1514 resolution: "@esbuild/android-arm@npm:0.17.14"
1528 conditions: os=android & cpu=arm 1515 conditions: os=android & cpu=arm
1529 languageName: node 1516 languageName: node
1530 linkType: hard 1517 linkType: hard
1531 1518
1532"@esbuild/android-x64@npm:0.16.17": 1519"@esbuild/android-x64@npm:0.17.14":
1533 version: 0.16.17 1520 version: 0.17.14
1534 resolution: "@esbuild/android-x64@npm:0.16.17" 1521 resolution: "@esbuild/android-x64@npm:0.17.14"
1535 conditions: os=android & cpu=x64 1522 conditions: os=android & cpu=x64
1536 languageName: node 1523 languageName: node
1537 linkType: hard 1524 linkType: hard
1538 1525
1539"@esbuild/darwin-arm64@npm:0.16.17": 1526"@esbuild/darwin-arm64@npm:0.17.14":
1540 version: 0.16.17 1527 version: 0.17.14
1541 resolution: "@esbuild/darwin-arm64@npm:0.16.17" 1528 resolution: "@esbuild/darwin-arm64@npm:0.17.14"
1542 conditions: os=darwin & cpu=arm64 1529 conditions: os=darwin & cpu=arm64
1543 languageName: node 1530 languageName: node
1544 linkType: hard 1531 linkType: hard
1545 1532
1546"@esbuild/darwin-x64@npm:0.16.17": 1533"@esbuild/darwin-x64@npm:0.17.14":
1547 version: 0.16.17 1534 version: 0.17.14
1548 resolution: "@esbuild/darwin-x64@npm:0.16.17" 1535 resolution: "@esbuild/darwin-x64@npm:0.17.14"
1549 conditions: os=darwin & cpu=x64 1536 conditions: os=darwin & cpu=x64
1550 languageName: node 1537 languageName: node
1551 linkType: hard 1538 linkType: hard
1552 1539
1553"@esbuild/freebsd-arm64@npm:0.16.17": 1540"@esbuild/freebsd-arm64@npm:0.17.14":
1554 version: 0.16.17 1541 version: 0.17.14
1555 resolution: "@esbuild/freebsd-arm64@npm:0.16.17" 1542 resolution: "@esbuild/freebsd-arm64@npm:0.17.14"
1556 conditions: os=freebsd & cpu=arm64 1543 conditions: os=freebsd & cpu=arm64
1557 languageName: node 1544 languageName: node
1558 linkType: hard 1545 linkType: hard
1559 1546
1560"@esbuild/freebsd-x64@npm:0.16.17": 1547"@esbuild/freebsd-x64@npm:0.17.14":
1561 version: 0.16.17 1548 version: 0.17.14
1562 resolution: "@esbuild/freebsd-x64@npm:0.16.17" 1549 resolution: "@esbuild/freebsd-x64@npm:0.17.14"
1563 conditions: os=freebsd & cpu=x64 1550 conditions: os=freebsd & cpu=x64
1564 languageName: node 1551 languageName: node
1565 linkType: hard 1552 linkType: hard
1566 1553
1567"@esbuild/linux-arm64@npm:0.16.17": 1554"@esbuild/linux-arm64@npm:0.17.14":
1568 version: 0.16.17 1555 version: 0.17.14
1569 resolution: "@esbuild/linux-arm64@npm:0.16.17" 1556 resolution: "@esbuild/linux-arm64@npm:0.17.14"
1570 conditions: os=linux & cpu=arm64 1557 conditions: os=linux & cpu=arm64
1571 languageName: node 1558 languageName: node
1572 linkType: hard 1559 linkType: hard
1573 1560
1574"@esbuild/linux-arm@npm:0.16.17": 1561"@esbuild/linux-arm@npm:0.17.14":
1575 version: 0.16.17 1562 version: 0.17.14
1576 resolution: "@esbuild/linux-arm@npm:0.16.17" 1563 resolution: "@esbuild/linux-arm@npm:0.17.14"
1577 conditions: os=linux & cpu=arm 1564 conditions: os=linux & cpu=arm
1578 languageName: node 1565 languageName: node
1579 linkType: hard 1566 linkType: hard
1580 1567
1581"@esbuild/linux-ia32@npm:0.16.17": 1568"@esbuild/linux-ia32@npm:0.17.14":
1582 version: 0.16.17 1569 version: 0.17.14
1583 resolution: "@esbuild/linux-ia32@npm:0.16.17" 1570 resolution: "@esbuild/linux-ia32@npm:0.17.14"
1584 conditions: os=linux & cpu=ia32 1571 conditions: os=linux & cpu=ia32
1585 languageName: node 1572 languageName: node
1586 linkType: hard 1573 linkType: hard
1587 1574
1588"@esbuild/linux-loong64@npm:0.16.17": 1575"@esbuild/linux-loong64@npm:0.17.14":
1589 version: 0.16.17 1576 version: 0.17.14
1590 resolution: "@esbuild/linux-loong64@npm:0.16.17" 1577 resolution: "@esbuild/linux-loong64@npm:0.17.14"
1591 conditions: os=linux & cpu=loong64 1578 conditions: os=linux & cpu=loong64
1592 languageName: node 1579 languageName: node
1593 linkType: hard 1580 linkType: hard
1594 1581
1595"@esbuild/linux-mips64el@npm:0.16.17": 1582"@esbuild/linux-mips64el@npm:0.17.14":
1596 version: 0.16.17 1583 version: 0.17.14
1597 resolution: "@esbuild/linux-mips64el@npm:0.16.17" 1584 resolution: "@esbuild/linux-mips64el@npm:0.17.14"
1598 conditions: os=linux & cpu=mips64el 1585 conditions: os=linux & cpu=mips64el
1599 languageName: node 1586 languageName: node
1600 linkType: hard 1587 linkType: hard
1601 1588
1602"@esbuild/linux-ppc64@npm:0.16.17": 1589"@esbuild/linux-ppc64@npm:0.17.14":
1603 version: 0.16.17 1590 version: 0.17.14
1604 resolution: "@esbuild/linux-ppc64@npm:0.16.17" 1591 resolution: "@esbuild/linux-ppc64@npm:0.17.14"
1605 conditions: os=linux & cpu=ppc64 1592 conditions: os=linux & cpu=ppc64
1606 languageName: node 1593 languageName: node
1607 linkType: hard 1594 linkType: hard
1608 1595
1609"@esbuild/linux-riscv64@npm:0.16.17": 1596"@esbuild/linux-riscv64@npm:0.17.14":
1610 version: 0.16.17 1597 version: 0.17.14
1611 resolution: "@esbuild/linux-riscv64@npm:0.16.17" 1598 resolution: "@esbuild/linux-riscv64@npm:0.17.14"
1612 conditions: os=linux & cpu=riscv64 1599 conditions: os=linux & cpu=riscv64
1613 languageName: node 1600 languageName: node
1614 linkType: hard 1601 linkType: hard
1615 1602
1616"@esbuild/linux-s390x@npm:0.16.17": 1603"@esbuild/linux-s390x@npm:0.17.14":
1617 version: 0.16.17 1604 version: 0.17.14
1618 resolution: "@esbuild/linux-s390x@npm:0.16.17" 1605 resolution: "@esbuild/linux-s390x@npm:0.17.14"
1619 conditions: os=linux & cpu=s390x 1606 conditions: os=linux & cpu=s390x
1620 languageName: node 1607 languageName: node
1621 linkType: hard 1608 linkType: hard
1622 1609
1623"@esbuild/linux-x64@npm:0.16.17": 1610"@esbuild/linux-x64@npm:0.17.14":
1624 version: 0.16.17 1611 version: 0.17.14
1625 resolution: "@esbuild/linux-x64@npm:0.16.17" 1612 resolution: "@esbuild/linux-x64@npm:0.17.14"
1626 conditions: os=linux & cpu=x64 1613 conditions: os=linux & cpu=x64
1627 languageName: node 1614 languageName: node
1628 linkType: hard 1615 linkType: hard
1629 1616
1630"@esbuild/netbsd-x64@npm:0.16.17": 1617"@esbuild/netbsd-x64@npm:0.17.14":
1631 version: 0.16.17 1618 version: 0.17.14
1632 resolution: "@esbuild/netbsd-x64@npm:0.16.17" 1619 resolution: "@esbuild/netbsd-x64@npm:0.17.14"
1633 conditions: os=netbsd & cpu=x64 1620 conditions: os=netbsd & cpu=x64
1634 languageName: node 1621 languageName: node
1635 linkType: hard 1622 linkType: hard
1636 1623
1637"@esbuild/openbsd-x64@npm:0.16.17": 1624"@esbuild/openbsd-x64@npm:0.17.14":
1638 version: 0.16.17 1625 version: 0.17.14
1639 resolution: "@esbuild/openbsd-x64@npm:0.16.17" 1626 resolution: "@esbuild/openbsd-x64@npm:0.17.14"
1640 conditions: os=openbsd & cpu=x64 1627 conditions: os=openbsd & cpu=x64
1641 languageName: node 1628 languageName: node
1642 linkType: hard 1629 linkType: hard
1643 1630
1644"@esbuild/sunos-x64@npm:0.16.17": 1631"@esbuild/sunos-x64@npm:0.17.14":
1645 version: 0.16.17 1632 version: 0.17.14
1646 resolution: "@esbuild/sunos-x64@npm:0.16.17" 1633 resolution: "@esbuild/sunos-x64@npm:0.17.14"
1647 conditions: os=sunos & cpu=x64 1634 conditions: os=sunos & cpu=x64
1648 languageName: node 1635 languageName: node
1649 linkType: hard 1636 linkType: hard
1650 1637
1651"@esbuild/win32-arm64@npm:0.16.17": 1638"@esbuild/win32-arm64@npm:0.17.14":
1652 version: 0.16.17 1639 version: 0.17.14
1653 resolution: "@esbuild/win32-arm64@npm:0.16.17" 1640 resolution: "@esbuild/win32-arm64@npm:0.17.14"
1654 conditions: os=win32 & cpu=arm64 1641 conditions: os=win32 & cpu=arm64
1655 languageName: node 1642 languageName: node
1656 linkType: hard 1643 linkType: hard
1657 1644
1658"@esbuild/win32-ia32@npm:0.16.17": 1645"@esbuild/win32-ia32@npm:0.17.14":
1659 version: 0.16.17 1646 version: 0.17.14
1660 resolution: "@esbuild/win32-ia32@npm:0.16.17" 1647 resolution: "@esbuild/win32-ia32@npm:0.17.14"
1661 conditions: os=win32 & cpu=ia32 1648 conditions: os=win32 & cpu=ia32
1662 languageName: node 1649 languageName: node
1663 linkType: hard 1650 linkType: hard
1664 1651
1665"@esbuild/win32-x64@npm:0.16.17": 1652"@esbuild/win32-x64@npm:0.17.14":
1666 version: 0.16.17 1653 version: 0.17.14
1667 resolution: "@esbuild/win32-x64@npm:0.16.17" 1654 resolution: "@esbuild/win32-x64@npm:0.17.14"
1668 conditions: os=win32 & cpu=x64 1655 conditions: os=win32 & cpu=x64
1669 languageName: node 1656 languageName: node
1670 linkType: hard 1657 linkType: hard
1671 1658
1672"@eslint/eslintrc@npm:^1.4.1": 1659"@eslint-community/eslint-utils@npm:^4.2.0":
1673 version: 1.4.1 1660 version: 4.4.0
1674 resolution: "@eslint/eslintrc@npm:1.4.1" 1661 resolution: "@eslint-community/eslint-utils@npm:4.4.0"
1662 dependencies:
1663 eslint-visitor-keys: "npm:^3.3.0"
1664 peerDependencies:
1665 eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
1666 checksum: b9d700a83a743f2e152b4038d02a4bf807bc7363d59efeafec93b9498e59a3aa4d2604d206c213b91966416d628f33d88a4b773b8ff0d384b44353e8072ba922
1667 languageName: node
1668 linkType: hard
1669
1670"@eslint-community/regexpp@npm:^4.4.0":
1671 version: 4.5.0
1672 resolution: "@eslint-community/regexpp@npm:4.5.0"
1673 checksum: 14f8f9f865bfe07a41e7f274ce5eddc456e194d5e5fe7928b6520f5eaf7312c2da683be06133f3cd775af41fc9992f4181b71dd12e370cfab94a82e9bb74169a
1674 languageName: node
1675 linkType: hard
1676
1677"@eslint/eslintrc@npm:^2.0.2":
1678 version: 2.0.2
1679 resolution: "@eslint/eslintrc@npm:2.0.2"
1675 dependencies: 1680 dependencies:
1676 ajv: "npm:^6.12.4" 1681 ajv: "npm:^6.12.4"
1677 debug: "npm:^4.3.2" 1682 debug: "npm:^4.3.2"
1678 espree: "npm:^9.4.0" 1683 espree: "npm:^9.5.1"
1679 globals: "npm:^13.19.0" 1684 globals: "npm:^13.19.0"
1680 ignore: "npm:^5.2.0" 1685 ignore: "npm:^5.2.0"
1681 import-fresh: "npm:^3.2.1" 1686 import-fresh: "npm:^3.2.1"
1682 js-yaml: "npm:^4.1.0" 1687 js-yaml: "npm:^4.1.0"
1683 minimatch: "npm:^3.1.2" 1688 minimatch: "npm:^3.1.2"
1684 strip-json-comments: "npm:^3.1.1" 1689 strip-json-comments: "npm:^3.1.1"
1685 checksum: 4e469ed508c3154078503b1f22b9d7f2498e76e770ff3f8c61c9961a16760c817e977f2f00b02201d1e91d6a4ebc766c1c67aae9189b00d5c1fe2e7205b6ad72 1690 checksum: 95c94b88d32373e07b14c6697df329f952ad79b0d8a1388f90e7753dfaba4c17d80295c9537e812056385a93b09971108a4c647d56e2c81e0856e9968d4062ac
1691 languageName: node
1692 linkType: hard
1693
1694"@eslint/js@npm:8.37.0":
1695 version: 8.37.0
1696 resolution: "@eslint/js@npm:8.37.0"
1697 checksum: 4c2ec3cc0eed454e101d91402334cbb75c96e326960fab0326e2fb9a7d2fb137fd9047bcf5bf6114204dc1d43e7027bf02fd676f2806aa95bd5714c79cfdd821
1686 languageName: node 1698 languageName: node
1687 linkType: hard 1699 linkType: hard
1688 1700
@@ -1700,10 +1712,10 @@ __metadata:
1700 languageName: node 1712 languageName: node
1701 linkType: hard 1713 linkType: hard
1702 1714
1703"@gar/promisify@npm:^1.0.1": 1715"@gar/promisify@npm:^1.1.3":
1704 version: 1.1.2 1716 version: 1.1.3
1705 resolution: "@gar/promisify@npm:1.1.2" 1717 resolution: "@gar/promisify@npm:1.1.3"
1706 checksum: aa6792cfe42659321bfffa8ea42c623b0bcaed96e735a48b226417a220a1e18df0c1284d1e69bfdc263948ed926e9509843951de8d6d1b11078ba693a8b95b0f 1718 checksum: 3fadc40481a783ddb90397f5759f92650b57465f7a4a778056bd24b47060595012e9181a55ae547d57a893d37d9776abe9e368f1f6918e37225eb6a83f9a75f8
1707 languageName: node 1719 languageName: node
1708 linkType: hard 1720 linkType: hard
1709 1721
@@ -1813,12 +1825,12 @@ __metadata:
1813 languageName: node 1825 languageName: node
1814 linkType: hard 1826 linkType: hard
1815 1827
1816"@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3": 1828"@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.4":
1817 version: 1.1.3 1829 version: 1.1.4
1818 resolution: "@lezer/highlight@npm:1.1.3" 1830 resolution: "@lezer/highlight@npm:1.1.4"
1819 dependencies: 1831 dependencies:
1820 "@lezer/common": "npm:^1.0.0" 1832 "@lezer/common": "npm:^1.0.0"
1821 checksum: d74ec9ff4fd276c2ef771964eb8a19c07016afd22b945b38190b95eb19c85be2cd3674dcc1c213911087ea184b42b372dc07fcb5b7ab04b321c02c19f6fedcc9 1833 checksum: 226d43d12d2237e9b0f6a3765034e37c27e3c4a55faa7ec0a7cc241cb2961f4faee7a048930b5f2168985d0241d14714cd8e88a68e1f77be554ff609fa5a51b0
1822 languageName: node 1834 languageName: node
1823 linkType: hard 1835 linkType: hard
1824 1836
@@ -1838,15 +1850,15 @@ __metadata:
1838 languageName: node 1850 languageName: node
1839 linkType: hard 1851 linkType: hard
1840 1852
1841"@mui/base@npm:5.0.0-alpha.116": 1853"@mui/base@npm:5.0.0-alpha.123":
1842 version: 5.0.0-alpha.116 1854 version: 5.0.0-alpha.123
1843 resolution: "@mui/base@npm:5.0.0-alpha.116" 1855 resolution: "@mui/base@npm:5.0.0-alpha.123"
1844 dependencies: 1856 dependencies:
1845 "@babel/runtime": "npm:^7.20.7" 1857 "@babel/runtime": "npm:^7.21.0"
1846 "@emotion/is-prop-valid": "npm:^1.2.0" 1858 "@emotion/is-prop-valid": "npm:^1.2.0"
1847 "@mui/types": "npm:^7.2.3" 1859 "@mui/types": "npm:^7.2.3"
1848 "@mui/utils": "npm:^5.11.7" 1860 "@mui/utils": "npm:^5.11.13"
1849 "@popperjs/core": "npm:^2.11.6" 1861 "@popperjs/core": "npm:^2.11.7"
1850 clsx: "npm:^1.2.1" 1862 clsx: "npm:^1.2.1"
1851 prop-types: "npm:^15.8.1" 1863 prop-types: "npm:^15.8.1"
1852 react-is: "npm:^18.2.0" 1864 react-is: "npm:^18.2.0"
@@ -1857,22 +1869,22 @@ __metadata:
1857 peerDependenciesMeta: 1869 peerDependenciesMeta:
1858 "@types/react": 1870 "@types/react":
1859 optional: true 1871 optional: true
1860 checksum: 183dfc581e8a349a92ce44a7775173b0c3037885df986bf09ae07f922f6e9445406a4b9b8da59dd6cf23beb3bef8d80a97aa23e3ccfded986321a38a050c1cd6 1872 checksum: 85e446722e14ec8d4e1c70dc1c245e4c952d967b2f5c939f48fa4b88ec16c0bd02a4ee7e1e9a9738b2ab55a61d6bc860d8f5b9c612cb414ba2d7a763edb33186
1861 languageName: node 1873 languageName: node
1862 linkType: hard 1874 linkType: hard
1863 1875
1864"@mui/core-downloads-tracker@npm:^5.11.7": 1876"@mui/core-downloads-tracker@npm:^5.11.15":
1865 version: 5.11.7 1877 version: 5.11.15
1866 resolution: "@mui/core-downloads-tracker@npm:5.11.7" 1878 resolution: "@mui/core-downloads-tracker@npm:5.11.15"
1867 checksum: 23d69fcdfe089e08edceb5692c221266f83bc2f1d62070e7d2fa9acd3f62bb02fc4bf48106ee82035da068da86b74d3b6b75b33ff31ed1cf2735d5db39fe9879 1879 checksum: e47f71d5ca91fceacbb469b3e1fb8e895957f8eabac1407d6de5729dce19db0e6c0587be3c534ce8c56b1736e5b9e54455703086f225d46eb4af2e0ff41c27e0
1868 languageName: node 1880 languageName: node
1869 linkType: hard 1881 linkType: hard
1870 1882
1871"@mui/icons-material@npm:5.11.0": 1883"@mui/icons-material@npm:5.11.11":
1872 version: 5.11.0 1884 version: 5.11.11
1873 resolution: "@mui/icons-material@npm:5.11.0" 1885 resolution: "@mui/icons-material@npm:5.11.11"
1874 dependencies: 1886 dependencies:
1875 "@babel/runtime": "npm:^7.20.6" 1887 "@babel/runtime": "npm:^7.21.0"
1876 peerDependencies: 1888 peerDependencies:
1877 "@mui/material": ^5.0.0 1889 "@mui/material": ^5.0.0
1878 "@types/react": ^17.0.0 || ^18.0.0 1890 "@types/react": ^17.0.0 || ^18.0.0
@@ -1880,20 +1892,20 @@ __metadata:
1880 peerDependenciesMeta: 1892 peerDependenciesMeta:
1881 "@types/react": 1893 "@types/react":
1882 optional: true 1894 optional: true
1883 checksum: b6d7e860415ed1870b438afc7f79339a1f828b0103d852dea040b5b2195e9c229bc03c1a4902fa47a47483f77a6a61e906d30e0e8d037bfef3b302b951372571 1895 checksum: 5aae14a311366773a2553595c5a7cf7ba7bc15d8be940d7b4a495d8aa1c5cc13080f2a798d422f4b5bf3a43507cac9519dca4e453c60955620e9f7ca29d60eac
1884 languageName: node 1896 languageName: node
1885 linkType: hard 1897 linkType: hard
1886 1898
1887"@mui/material@npm:5.11.7": 1899"@mui/material@npm:5.11.15":
1888 version: 5.11.7 1900 version: 5.11.15
1889 resolution: "@mui/material@npm:5.11.7" 1901 resolution: "@mui/material@npm:5.11.15"
1890 dependencies: 1902 dependencies:
1891 "@babel/runtime": "npm:^7.20.7" 1903 "@babel/runtime": "npm:^7.21.0"
1892 "@mui/base": "npm:5.0.0-alpha.116" 1904 "@mui/base": "npm:5.0.0-alpha.123"
1893 "@mui/core-downloads-tracker": "npm:^5.11.7" 1905 "@mui/core-downloads-tracker": "npm:^5.11.15"
1894 "@mui/system": "npm:^5.11.7" 1906 "@mui/system": "npm:^5.11.15"
1895 "@mui/types": "npm:^7.2.3" 1907 "@mui/types": "npm:^7.2.3"
1896 "@mui/utils": "npm:^5.11.7" 1908 "@mui/utils": "npm:^5.11.13"
1897 "@types/react-transition-group": "npm:^4.4.5" 1909 "@types/react-transition-group": "npm:^4.4.5"
1898 clsx: "npm:^1.2.1" 1910 clsx: "npm:^1.2.1"
1899 csstype: "npm:^3.1.1" 1911 csstype: "npm:^3.1.1"
@@ -1913,16 +1925,16 @@ __metadata:
1913 optional: true 1925 optional: true
1914 "@types/react": 1926 "@types/react":
1915 optional: true 1927 optional: true
1916 checksum: a123f3466775c50bd87c9238c187a3d4ca05806d18c93352e167c331ae8405780b8dba394917e40226425c70aa7f8192c4e7057e1b4fc8174d7d0e0c85ca98e5 1928 checksum: f252dda54044f4eec330e74112b2a9c63a9ee8d3c1ab1665f1f0d0bdb2665a0005314121fd8166b069a4956888370784bedd30a9a71ae6a3e430ec3fdb8e0b97
1917 languageName: node 1929 languageName: node
1918 linkType: hard 1930 linkType: hard
1919 1931
1920"@mui/private-theming@npm:^5.11.7": 1932"@mui/private-theming@npm:^5.11.13":
1921 version: 5.11.7 1933 version: 5.11.13
1922 resolution: "@mui/private-theming@npm:5.11.7" 1934 resolution: "@mui/private-theming@npm:5.11.13"
1923 dependencies: 1935 dependencies:
1924 "@babel/runtime": "npm:^7.20.7" 1936 "@babel/runtime": "npm:^7.21.0"
1925 "@mui/utils": "npm:^5.11.7" 1937 "@mui/utils": "npm:^5.11.13"
1926 prop-types: "npm:^15.8.1" 1938 prop-types: "npm:^15.8.1"
1927 peerDependencies: 1939 peerDependencies:
1928 "@types/react": ^17.0.0 || ^18.0.0 1940 "@types/react": ^17.0.0 || ^18.0.0
@@ -1930,15 +1942,15 @@ __metadata:
1930 peerDependenciesMeta: 1942 peerDependenciesMeta:
1931 "@types/react": 1943 "@types/react":
1932 optional: true 1944 optional: true
1933 checksum: d6838f349a18eb35019b12151d12882c8da67968bcdf1570b4a3b989f35939ed917239ef6fd486161b129f8e97bc0fd9a18b451906c9572dc43e17e312cd00de 1945 checksum: 9028e6be77b517dc4bf902daa4e966441ea982b0c19731028de459272132cfb824c71e8daddb96d2d2c79ed95eb680a322fb1621f464a458e1e04a143bd315c5
1934 languageName: node 1946 languageName: node
1935 linkType: hard 1947 linkType: hard
1936 1948
1937"@mui/styled-engine@npm:^5.11.0": 1949"@mui/styled-engine@npm:^5.11.11":
1938 version: 5.11.0 1950 version: 5.11.11
1939 resolution: "@mui/styled-engine@npm:5.11.0" 1951 resolution: "@mui/styled-engine@npm:5.11.11"
1940 dependencies: 1952 dependencies:
1941 "@babel/runtime": "npm:^7.20.6" 1953 "@babel/runtime": "npm:^7.21.0"
1942 "@emotion/cache": "npm:^11.10.5" 1954 "@emotion/cache": "npm:^11.10.5"
1943 csstype: "npm:^3.1.1" 1955 csstype: "npm:^3.1.1"
1944 prop-types: "npm:^15.8.1" 1956 prop-types: "npm:^15.8.1"
@@ -1951,19 +1963,19 @@ __metadata:
1951 optional: true 1963 optional: true
1952 "@emotion/styled": 1964 "@emotion/styled":
1953 optional: true 1965 optional: true
1954 checksum: c070526fec81d7c280b1a797106b872795e3869d52813aa55bc3d133e87656babbd6774ae97ff0c2c058606a551dfd0a5ee56f4e2aeca43068f97238fd296b1e 1966 checksum: a4e3408749e6f7069962b98fd6912f3e6c85587c14d578bcc381cafdb681faa7af05a644d4ce6dbcaaa0c3388745a1b83f9542ecafb037c2984ddf2d91fc1b47
1955 languageName: node 1967 languageName: node
1956 linkType: hard 1968 linkType: hard
1957 1969
1958"@mui/system@npm:^5.11.7": 1970"@mui/system@npm:^5.11.15":
1959 version: 5.11.7 1971 version: 5.11.15
1960 resolution: "@mui/system@npm:5.11.7" 1972 resolution: "@mui/system@npm:5.11.15"
1961 dependencies: 1973 dependencies:
1962 "@babel/runtime": "npm:^7.20.7" 1974 "@babel/runtime": "npm:^7.21.0"
1963 "@mui/private-theming": "npm:^5.11.7" 1975 "@mui/private-theming": "npm:^5.11.13"
1964 "@mui/styled-engine": "npm:^5.11.0" 1976 "@mui/styled-engine": "npm:^5.11.11"
1965 "@mui/types": "npm:^7.2.3" 1977 "@mui/types": "npm:^7.2.3"
1966 "@mui/utils": "npm:^5.11.7" 1978 "@mui/utils": "npm:^5.11.13"
1967 clsx: "npm:^1.2.1" 1979 clsx: "npm:^1.2.1"
1968 csstype: "npm:^3.1.1" 1980 csstype: "npm:^3.1.1"
1969 prop-types: "npm:^15.8.1" 1981 prop-types: "npm:^15.8.1"
@@ -1979,7 +1991,7 @@ __metadata:
1979 optional: true 1991 optional: true
1980 "@types/react": 1992 "@types/react":
1981 optional: true 1993 optional: true
1982 checksum: 754add2a130f5e3330cdf7a7fc11e794faab56177c59418295547c130d5fe0bf92165c3d0e1c1a3a4f6a09d819c48650893860fb80ee31001e9dbf2221cf7d30 1994 checksum: 8dd447cc52931f68306dcdea2eea6934c4e9e714571af6f679ce7db41e791b46c9a69afb36180d44ef0f040c3f0d674b39f7801e7cfca2f99cc4c04f5b6d226c
1983 languageName: node 1995 languageName: node
1984 linkType: hard 1996 linkType: hard
1985 1997
@@ -1995,18 +2007,18 @@ __metadata:
1995 languageName: node 2007 languageName: node
1996 linkType: hard 2008 linkType: hard
1997 2009
1998"@mui/utils@npm:^5.11.7": 2010"@mui/utils@npm:^5.11.13":
1999 version: 5.11.7 2011 version: 5.11.13
2000 resolution: "@mui/utils@npm:5.11.7" 2012 resolution: "@mui/utils@npm:5.11.13"
2001 dependencies: 2013 dependencies:
2002 "@babel/runtime": "npm:^7.20.7" 2014 "@babel/runtime": "npm:^7.21.0"
2003 "@types/prop-types": "npm:^15.7.5" 2015 "@types/prop-types": "npm:^15.7.5"
2004 "@types/react-is": "npm:^16.7.1 || ^17.0.0" 2016 "@types/react-is": "npm:^16.7.1 || ^17.0.0"
2005 prop-types: "npm:^15.8.1" 2017 prop-types: "npm:^15.8.1"
2006 react-is: "npm:^18.2.0" 2018 react-is: "npm:^18.2.0"
2007 peerDependencies: 2019 peerDependencies:
2008 react: ^17.0.0 || ^18.0.0 2020 react: ^17.0.0 || ^18.0.0
2009 checksum: df465709713a6e51d7941694741237b0519869856093086e4dba8d8fc512733802afa6407cdc01192550e751f923a15c66f8b402e82e205c1fa910e36ba7ab37 2021 checksum: 8ca3debcb4a506e8b97bde4cfcd7e7358ba5e3b90bc375e36175b623212f509a10caf58621b84de1991a6304b695a7041adbc54cac923d4be19b52f15ef4fff9
2010 languageName: node 2022 languageName: node
2011 linkType: hard 2023 linkType: hard
2012 2024
@@ -2037,23 +2049,23 @@ __metadata:
2037 languageName: node 2049 languageName: node
2038 linkType: hard 2050 linkType: hard
2039 2051
2040"@npmcli/fs@npm:^1.0.0": 2052"@npmcli/fs@npm:^2.1.0":
2041 version: 1.1.0 2053 version: 2.1.2
2042 resolution: "@npmcli/fs@npm:1.1.0" 2054 resolution: "@npmcli/fs@npm:2.1.2"
2043 dependencies: 2055 dependencies:
2044 "@gar/promisify": "npm:^1.0.1" 2056 "@gar/promisify": "npm:^1.1.3"
2045 semver: "npm:^7.3.5" 2057 semver: "npm:^7.3.5"
2046 checksum: adf61b4c4708d6f070c50ed08e112cb8ea3fa05a1dc674e8e65c2c01485cc68053c1b0a5b5d6dbf75b49bb843cde050dcf50278ecd3890ef97c016b9d404ac44 2058 checksum: 82bc61f832f45e2033ea3522f66a94de50e5561577b1f3af226576ad5467c240375eba948d4ea1ca146e7871740fb3005e7c4f3f1ab616e79a5a5cedd9fdb789
2047 languageName: node 2059 languageName: node
2048 linkType: hard 2060 linkType: hard
2049 2061
2050"@npmcli/move-file@npm:^1.0.1": 2062"@npmcli/move-file@npm:^2.0.0":
2051 version: 1.1.2 2063 version: 2.0.1
2052 resolution: "@npmcli/move-file@npm:1.1.2" 2064 resolution: "@npmcli/move-file@npm:2.0.1"
2053 dependencies: 2065 dependencies:
2054 mkdirp: "npm:^1.0.4" 2066 mkdirp: "npm:^1.0.4"
2055 rimraf: "npm:^3.0.2" 2067 rimraf: "npm:^3.0.2"
2056 checksum: 6fdcd5e51041da8d3d84f6ba89ff290900bf3adb736816c4b441b1fc8a41045db7253860c54a4ccdeb0e84e1c9548551bfb893f7392423de752a016a2a16952a 2068 checksum: 3557a12cd18dfb5bcd5d5cf910b783832af50ffba28fd5bb510c3c56b2df0481558b9ec6d3008e8eeefb9f2944bdc1d34832b1a8bbf6ad1cd2f256bf12c84ff0
2057 languageName: node 2069 languageName: node
2058 linkType: hard 2070 linkType: hard
2059 2071
@@ -2071,10 +2083,10 @@ __metadata:
2071 languageName: node 2083 languageName: node
2072 linkType: hard 2084 linkType: hard
2073 2085
2074"@popperjs/core@npm:^2.11.6": 2086"@popperjs/core@npm:^2.11.7":
2075 version: 2.11.6 2087 version: 2.11.7
2076 resolution: "@popperjs/core@npm:2.11.6" 2088 resolution: "@popperjs/core@npm:2.11.7"
2077 checksum: 39ed8d02c4d16dbe90bc537f7d4702320a95276d1fd902f74a48f544c6214a89a51a13f81603cb08786156350734f54834c41e011857637ae25340519d6160df 2089 checksum: 6d9dfd4ce852e6c6d6f4d27ae955d29869bc6f511fefcf1b80881029b072fe663d70f7fc7959ad6f3e6ad1a686d1141658a46e1d44c15d88c12f14907a2c352a
2078 languageName: node 2090 languageName: node
2079 linkType: hard 2091 linkType: hard
2080 2092
@@ -2082,46 +2094,47 @@ __metadata:
2082 version: 0.0.0-use.local 2094 version: 0.0.0-use.local
2083 resolution: "@refinery/frontend@workspace:subprojects/frontend" 2095 resolution: "@refinery/frontend@workspace:subprojects/frontend"
2084 dependencies: 2096 dependencies:
2085 "@codemirror/autocomplete": "npm:^6.4.0" 2097 "@codemirror/autocomplete": "npm:^6.4.2"
2086 "@codemirror/commands": "npm:^6.2.0" 2098 "@codemirror/commands": "npm:^6.2.2"
2087 "@codemirror/language": "npm:^6.4.0" 2099 "@codemirror/language": "npm:^6.6.0"
2088 "@codemirror/lint": "npm:^6.1.0" 2100 "@codemirror/lint": "npm:^6.2.0"
2089 "@codemirror/search": "npm:^6.2.3" 2101 "@codemirror/search": "npm:^6.3.0"
2090 "@codemirror/state": "npm:^6.2.0" 2102 "@codemirror/state": "npm:^6.2.0"
2091 "@codemirror/view": "npm:^6.7.3" 2103 "@codemirror/view": "npm:^6.9.3"
2092 "@emotion/react": "npm:^11.10.5" 2104 "@emotion/react": "npm:^11.10.6"
2093 "@emotion/styled": "npm:^11.10.5" 2105 "@emotion/styled": "npm:^11.10.6"
2094 "@fontsource/inter": "npm:^4.5.15" 2106 "@fontsource/inter": "npm:^4.5.15"
2095 "@fontsource/jetbrains-mono": "npm:^4.5.12" 2107 "@fontsource/jetbrains-mono": "npm:^4.5.12"
2096 "@lezer/common": "npm:^1.0.2" 2108 "@lezer/common": "npm:^1.0.2"
2097 "@lezer/generator": "npm:^1.2.2" 2109 "@lezer/generator": "npm:^1.2.2"
2098 "@lezer/highlight": "npm:^1.1.3" 2110 "@lezer/highlight": "npm:^1.1.4"
2099 "@lezer/lr": "npm:^1.3.3" 2111 "@lezer/lr": "npm:^1.3.3"
2100 "@material-icons/svg": "npm:^1.0.33" 2112 "@material-icons/svg": "npm:^1.0.33"
2101 "@mui/icons-material": "npm:5.11.0" 2113 "@mui/icons-material": "npm:5.11.11"
2102 "@mui/material": "npm:5.11.7" 2114 "@mui/material": "npm:5.11.15"
2103 "@tsconfig/node18-strictest-esm": "npm:^1.0.1" 2115 "@tsconfig/strictest": "npm:^2.0.0"
2104 "@types/eslint": "npm:^8.21.0" 2116 "@types/eslint": "npm:^8.37.0"
2105 "@types/html-minifier-terser": "npm:^7.0.0" 2117 "@types/html-minifier-terser": "npm:^7.0.0"
2106 "@types/lodash-es": "npm:^4.17.6" 2118 "@types/lodash-es": "npm:^4.17.7"
2107 "@types/micromatch": "npm:^4.0.2" 2119 "@types/micromatch": "npm:^4.0.2"
2108 "@types/ms": "npm:^0.7.31" 2120 "@types/ms": "npm:^0.7.31"
2109 "@types/node": "npm:^18.11.18" 2121 "@types/node": "npm:^18.15.11"
2110 "@types/prettier": "npm:^2.7.2" 2122 "@types/prettier": "npm:^2.7.2"
2111 "@types/react": "npm:^18.0.27" 2123 "@types/react": "npm:^18.0.31"
2112 "@types/react-dom": "npm:^18.0.10" 2124 "@types/react-dom": "npm:^18.0.11"
2113 "@typescript-eslint/eslint-plugin": "npm:^5.50.0" 2125 "@typescript-eslint/eslint-plugin": "npm:^5.57.0"
2114 "@typescript-eslint/parser": "npm:^5.50.0" 2126 "@typescript-eslint/parser": "npm:^5.57.0"
2115 "@vitejs/plugin-react-swc": "npm:^3.1.0" 2127 "@vitejs/plugin-react-swc": "npm:^3.2.0"
2116 "@xstate/cli": "npm:^0.4.2" 2128 "@xstate/cli": "npm:^0.4.2"
2117 ansi-styles: "npm:^6.2.1" 2129 ansi-styles: "npm:^6.2.1"
2118 cross-env: "npm:^7.0.3" 2130 cross-env: "npm:^7.0.3"
2131 csstype: "npm:^3.1.1"
2119 escape-string-regexp: "npm:^5.0.0" 2132 escape-string-regexp: "npm:^5.0.0"
2120 eslint: "npm:^8.33.0" 2133 eslint: "npm:^8.37.0"
2121 eslint-config-airbnb: "npm:^19.0.4" 2134 eslint-config-airbnb: "npm:^19.0.4"
2122 eslint-config-airbnb-typescript: "npm:^17.0.0" 2135 eslint-config-airbnb-typescript: "npm:^17.0.0"
2123 eslint-config-prettier: "npm:^8.6.0" 2136 eslint-config-prettier: "npm:^8.8.0"
2124 eslint-import-resolver-typescript: "npm:^3.5.3" 2137 eslint-import-resolver-typescript: "npm:^3.5.4"
2125 eslint-plugin-import: "npm:^2.27.5" 2138 eslint-plugin-import: "npm:^2.27.5"
2126 eslint-plugin-jsx-a11y: "npm:^6.7.1" 2139 eslint-plugin-jsx-a11y: "npm:^6.7.1"
2127 eslint-plugin-mobx: "npm:^0.0.9" 2140 eslint-plugin-mobx: "npm:^0.0.9"
@@ -2133,20 +2146,20 @@ __metadata:
2133 loglevel: "npm:^1.8.1" 2146 loglevel: "npm:^1.8.1"
2134 loglevel-plugin-prefix: "npm:^0.8.4" 2147 loglevel-plugin-prefix: "npm:^0.8.4"
2135 micromatch: "npm:^4.0.5" 2148 micromatch: "npm:^4.0.5"
2136 mobx: "npm:^6.7.0" 2149 mobx: "npm:^6.9.0"
2137 mobx-react-lite: "npm:^3.4.0" 2150 mobx-react-lite: "npm:^3.4.3"
2138 ms: "npm:^2.1.3" 2151 ms: "npm:^2.1.3"
2139 nanoid: "npm:^4.0.0" 2152 nanoid: "npm:^4.0.2"
2140 notistack: "npm:^2.0.8" 2153 notistack: "npm:^3.0.1"
2141 prettier: "npm:^2.8.3" 2154 prettier: "npm:^2.8.7"
2142 react: "npm:^18.2.0" 2155 react: "npm:^18.2.0"
2143 react-dom: "npm:^18.2.0" 2156 react-dom: "npm:^18.2.0"
2144 typescript: "npm:4.9.5" 2157 typescript: "npm:5.0.3"
2145 vite: "npm:^4.1.1" 2158 vite: "npm:^4.2.1"
2146 vite-plugin-pwa: "npm:^0.14.1" 2159 vite-plugin-pwa: "npm:^0.14.7"
2147 workbox-window: "npm:^6.5.4" 2160 workbox-window: "npm:^6.5.4"
2148 xstate: "npm:^4.35.4" 2161 xstate: "npm:^4.37.1"
2149 zod: "npm:^3.20.2" 2162 zod: "npm:^3.21.4"
2150 languageName: unknown 2163 languageName: unknown
2151 linkType: soft 2164 linkType: soft
2152 2165
@@ -2154,8 +2167,8 @@ __metadata:
2154 version: 0.0.0-use.local 2167 version: 0.0.0-use.local
2155 resolution: "@refinery/root@workspace:." 2168 resolution: "@refinery/root@workspace:."
2156 dependencies: 2169 dependencies:
2157 eslint: "npm:^8.33.0" 2170 eslint: "npm:^8.37.0"
2158 typescript: "npm:4.9.5" 2171 typescript: "npm:5.0.3"
2159 languageName: unknown 2172 languageName: unknown
2160 linkType: soft 2173 linkType: soft
2161 2174
@@ -2260,90 +2273,90 @@ __metadata:
2260 languageName: node 2273 languageName: node
2261 linkType: hard 2274 linkType: hard
2262 2275
2263"@swc/core-darwin-arm64@npm:1.3.32": 2276"@swc/core-darwin-arm64@npm:1.3.36":
2264 version: 1.3.32 2277 version: 1.3.36
2265 resolution: "@swc/core-darwin-arm64@npm:1.3.32" 2278 resolution: "@swc/core-darwin-arm64@npm:1.3.36"
2266 conditions: os=darwin & cpu=arm64 2279 conditions: os=darwin & cpu=arm64
2267 languageName: node 2280 languageName: node
2268 linkType: hard 2281 linkType: hard
2269 2282
2270"@swc/core-darwin-x64@npm:1.3.32": 2283"@swc/core-darwin-x64@npm:1.3.36":
2271 version: 1.3.32 2284 version: 1.3.36
2272 resolution: "@swc/core-darwin-x64@npm:1.3.32" 2285 resolution: "@swc/core-darwin-x64@npm:1.3.36"
2273 conditions: os=darwin & cpu=x64 2286 conditions: os=darwin & cpu=x64
2274 languageName: node 2287 languageName: node
2275 linkType: hard 2288 linkType: hard
2276 2289
2277"@swc/core-linux-arm-gnueabihf@npm:1.3.32": 2290"@swc/core-linux-arm-gnueabihf@npm:1.3.36":
2278 version: 1.3.32 2291 version: 1.3.36
2279 resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.32" 2292 resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.36"
2280 conditions: os=linux & cpu=arm 2293 conditions: os=linux & cpu=arm
2281 languageName: node 2294 languageName: node
2282 linkType: hard 2295 linkType: hard
2283 2296
2284"@swc/core-linux-arm64-gnu@npm:1.3.32": 2297"@swc/core-linux-arm64-gnu@npm:1.3.36":
2285 version: 1.3.32 2298 version: 1.3.36
2286 resolution: "@swc/core-linux-arm64-gnu@npm:1.3.32" 2299 resolution: "@swc/core-linux-arm64-gnu@npm:1.3.36"
2287 conditions: os=linux & cpu=arm64 & libc=glibc 2300 conditions: os=linux & cpu=arm64 & libc=glibc
2288 languageName: node 2301 languageName: node
2289 linkType: hard 2302 linkType: hard
2290 2303
2291"@swc/core-linux-arm64-musl@npm:1.3.32": 2304"@swc/core-linux-arm64-musl@npm:1.3.36":
2292 version: 1.3.32 2305 version: 1.3.36
2293 resolution: "@swc/core-linux-arm64-musl@npm:1.3.32" 2306 resolution: "@swc/core-linux-arm64-musl@npm:1.3.36"
2294 conditions: os=linux & cpu=arm64 & libc=musl 2307 conditions: os=linux & cpu=arm64 & libc=musl
2295 languageName: node 2308 languageName: node
2296 linkType: hard 2309 linkType: hard
2297 2310
2298"@swc/core-linux-x64-gnu@npm:1.3.32": 2311"@swc/core-linux-x64-gnu@npm:1.3.36":
2299 version: 1.3.32 2312 version: 1.3.36
2300 resolution: "@swc/core-linux-x64-gnu@npm:1.3.32" 2313 resolution: "@swc/core-linux-x64-gnu@npm:1.3.36"
2301 conditions: os=linux & cpu=x64 & libc=glibc 2314 conditions: os=linux & cpu=x64 & libc=glibc
2302 languageName: node 2315 languageName: node
2303 linkType: hard 2316 linkType: hard
2304 2317
2305"@swc/core-linux-x64-musl@npm:1.3.32": 2318"@swc/core-linux-x64-musl@npm:1.3.36":
2306 version: 1.3.32 2319 version: 1.3.36
2307 resolution: "@swc/core-linux-x64-musl@npm:1.3.32" 2320 resolution: "@swc/core-linux-x64-musl@npm:1.3.36"
2308 conditions: os=linux & cpu=x64 & libc=musl 2321 conditions: os=linux & cpu=x64 & libc=musl
2309 languageName: node 2322 languageName: node
2310 linkType: hard 2323 linkType: hard
2311 2324
2312"@swc/core-win32-arm64-msvc@npm:1.3.32": 2325"@swc/core-win32-arm64-msvc@npm:1.3.36":
2313 version: 1.3.32 2326 version: 1.3.36
2314 resolution: "@swc/core-win32-arm64-msvc@npm:1.3.32" 2327 resolution: "@swc/core-win32-arm64-msvc@npm:1.3.36"
2315 conditions: os=win32 & cpu=arm64 2328 conditions: os=win32 & cpu=arm64
2316 languageName: node 2329 languageName: node
2317 linkType: hard 2330 linkType: hard
2318 2331
2319"@swc/core-win32-ia32-msvc@npm:1.3.32": 2332"@swc/core-win32-ia32-msvc@npm:1.3.36":
2320 version: 1.3.32 2333 version: 1.3.36
2321 resolution: "@swc/core-win32-ia32-msvc@npm:1.3.32" 2334 resolution: "@swc/core-win32-ia32-msvc@npm:1.3.36"
2322 conditions: os=win32 & cpu=ia32 2335 conditions: os=win32 & cpu=ia32
2323 languageName: node 2336 languageName: node
2324 linkType: hard 2337 linkType: hard
2325 2338
2326"@swc/core-win32-x64-msvc@npm:1.3.32": 2339"@swc/core-win32-x64-msvc@npm:1.3.36":
2327 version: 1.3.32 2340 version: 1.3.36
2328 resolution: "@swc/core-win32-x64-msvc@npm:1.3.32" 2341 resolution: "@swc/core-win32-x64-msvc@npm:1.3.36"
2329 conditions: os=win32 & cpu=x64 2342 conditions: os=win32 & cpu=x64
2330 languageName: node 2343 languageName: node
2331 linkType: hard 2344 linkType: hard
2332 2345
2333"@swc/core@npm:^1.3.30": 2346"@swc/core@npm:^1.3.35":
2334 version: 1.3.32 2347 version: 1.3.36
2335 resolution: "@swc/core@npm:1.3.32" 2348 resolution: "@swc/core@npm:1.3.36"
2336 dependencies: 2349 dependencies:
2337 "@swc/core-darwin-arm64": "npm:1.3.32" 2350 "@swc/core-darwin-arm64": "npm:1.3.36"
2338 "@swc/core-darwin-x64": "npm:1.3.32" 2351 "@swc/core-darwin-x64": "npm:1.3.36"
2339 "@swc/core-linux-arm-gnueabihf": "npm:1.3.32" 2352 "@swc/core-linux-arm-gnueabihf": "npm:1.3.36"
2340 "@swc/core-linux-arm64-gnu": "npm:1.3.32" 2353 "@swc/core-linux-arm64-gnu": "npm:1.3.36"
2341 "@swc/core-linux-arm64-musl": "npm:1.3.32" 2354 "@swc/core-linux-arm64-musl": "npm:1.3.36"
2342 "@swc/core-linux-x64-gnu": "npm:1.3.32" 2355 "@swc/core-linux-x64-gnu": "npm:1.3.36"
2343 "@swc/core-linux-x64-musl": "npm:1.3.32" 2356 "@swc/core-linux-x64-musl": "npm:1.3.36"
2344 "@swc/core-win32-arm64-msvc": "npm:1.3.32" 2357 "@swc/core-win32-arm64-msvc": "npm:1.3.36"
2345 "@swc/core-win32-ia32-msvc": "npm:1.3.32" 2358 "@swc/core-win32-ia32-msvc": "npm:1.3.36"
2346 "@swc/core-win32-x64-msvc": "npm:1.3.32" 2359 "@swc/core-win32-x64-msvc": "npm:1.3.36"
2347 dependenciesMeta: 2360 dependenciesMeta:
2348 "@swc/core-darwin-arm64": 2361 "@swc/core-darwin-arm64":
2349 optional: true 2362 optional: true
@@ -2365,21 +2378,21 @@ __metadata:
2365 optional: true 2378 optional: true
2366 "@swc/core-win32-x64-msvc": 2379 "@swc/core-win32-x64-msvc":
2367 optional: true 2380 optional: true
2368 checksum: 546738f03411454070721ec64387761b0a817649d63c9328e5eed838f0104d4c5d79b8697bde73a20adc72eef9479715e374fad1687c2ed9dd5f1712f0591de9 2381 checksum: eeb878fd88a5df1dda67b49657c92f333e0210b6b7469879bf8a22d71a35abfc6f2d40385ecdf5ae1dc3e0afaccf7567a3b1ee180a1f49be42482512aa9e6f10
2369 languageName: node 2382 languageName: node
2370 linkType: hard 2383 linkType: hard
2371 2384
2372"@tootallnate/once@npm:1": 2385"@tootallnate/once@npm:2":
2373 version: 1.1.2 2386 version: 2.0.0
2374 resolution: "@tootallnate/once@npm:1.1.2" 2387 resolution: "@tootallnate/once@npm:2.0.0"
2375 checksum: 6d907308b0b5eaa8536a862e4292ab506ec56eb3df9fc45c3fa84b66e7053a1508ba26a7d8345295f332a06a320b80ae09af03d167e4b4d2ef9e595d3a9fa492 2388 checksum: d9f7f2130a0a2e1ea50f3bc90b83a8b99c913bbb80d7a1706f7f4730292ef299d18443c3b57a42dfb17c6559c9085e13f751b1b6c969bcff7bee3eeaf9da4dec
2376 languageName: node 2389 languageName: node
2377 linkType: hard 2390 linkType: hard
2378 2391
2379"@tsconfig/node18-strictest-esm@npm:^1.0.1": 2392"@tsconfig/strictest@npm:^2.0.0":
2380 version: 1.0.1 2393 version: 2.0.0
2381 resolution: "@tsconfig/node18-strictest-esm@npm:1.0.1" 2394 resolution: "@tsconfig/strictest@npm:2.0.0"
2382 checksum: e60cd8fc182df4a1f982fed1efcefca660b44cae6740531aaf8b6e9d5e86409e7f81ec2d4e2f9f590eb6eb3cdb2024b81cd0863ceed69d12210ee7707dd10dc4 2395 checksum: d3a0f23cc1b0bdfd3d4470dec51e83cb5750c4b867f3e4d74f6900160497d256a291cbc94f700fcb0cf77444618490f637b69d5eeeebe149c6164691f27dc3cd
2383 languageName: node 2396 languageName: node
2384 linkType: hard 2397 linkType: hard
2385 2398
@@ -2390,13 +2403,13 @@ __metadata:
2390 languageName: node 2403 languageName: node
2391 linkType: hard 2404 linkType: hard
2392 2405
2393"@types/eslint@npm:^8.21.0": 2406"@types/eslint@npm:^8.37.0":
2394 version: 8.21.0 2407 version: 8.37.0
2395 resolution: "@types/eslint@npm:8.21.0" 2408 resolution: "@types/eslint@npm:8.37.0"
2396 dependencies: 2409 dependencies:
2397 "@types/estree": "npm:*" 2410 "@types/estree": "npm:*"
2398 "@types/json-schema": "npm:*" 2411 "@types/json-schema": "npm:*"
2399 checksum: ddb802f77b1a850666704019704588c0e3e1a5971865dc56a87b2722f3d5aa7290ccfff39ba59d7a13ee7c1c93150470029343e51b198a22d1596237fb9e5b95 2412 checksum: 5a1b547b4fbebeb173fd3e4a717de868021a14322cb7bd1bc2b432f3ac3cfec2e268623d24543a4ca7787fe64c59dd310a6ee329199e9f16b0d168d26a2da026
2400 languageName: node 2413 languageName: node
2401 linkType: hard 2414 linkType: hard
2402 2415
@@ -2435,12 +2448,12 @@ __metadata:
2435 languageName: node 2448 languageName: node
2436 linkType: hard 2449 linkType: hard
2437 2450
2438"@types/lodash-es@npm:^4.17.6": 2451"@types/lodash-es@npm:^4.17.7":
2439 version: 4.17.6 2452 version: 4.17.7
2440 resolution: "@types/lodash-es@npm:4.17.6" 2453 resolution: "@types/lodash-es@npm:4.17.7"
2441 dependencies: 2454 dependencies:
2442 "@types/lodash": "npm:*" 2455 "@types/lodash": "npm:*"
2443 checksum: 78b7a3b9626bce41ca3b04fce5df499a983cd2396c25bff0d86c1437de73f82d1bbe13ef025e1e9d1848233ba248d696b43f8c49e34cb14f68a44d93ae707d2c 2456 checksum: 4dfde517db4cfc7b25b5a20a0851244c0ca4aebbdae272eebe77a3f3388eae6a4f47d7850cca712e0256c033a30bfebd366948b4286743e20e2c862c7c3830ad
2444 languageName: node 2457 languageName: node
2445 linkType: hard 2458 linkType: hard
2446 2459
@@ -2467,10 +2480,10 @@ __metadata:
2467 languageName: node 2480 languageName: node
2468 linkType: hard 2481 linkType: hard
2469 2482
2470"@types/node@npm:*, @types/node@npm:^18.11.18": 2483"@types/node@npm:*, @types/node@npm:^18.15.11":
2471 version: 18.11.18 2484 version: 18.15.11
2472 resolution: "@types/node@npm:18.11.18" 2485 resolution: "@types/node@npm:18.15.11"
2473 checksum: bd39552701928d4a1613bc46adf8b65f8212064c2b5475a67161b6c4cef21ddb0a5c2ba062673213f8f5301ef6e171241a9e274a9b59c9fc1f5e2b69764740eb 2486 checksum: 2ad6c7aeb0841a821d5f0556ccbc9c0cec597cb31b5fe58b085740983f6b01a21a3c62c37ca642dd92b5de8935d6084896634af19f1f022e8d173049ad258a60
2474 languageName: node 2487 languageName: node
2475 linkType: hard 2488 linkType: hard
2476 2489
@@ -2495,12 +2508,12 @@ __metadata:
2495 languageName: node 2508 languageName: node
2496 linkType: hard 2509 linkType: hard
2497 2510
2498"@types/react-dom@npm:^18.0.10": 2511"@types/react-dom@npm:^18.0.11":
2499 version: 18.0.10 2512 version: 18.0.11
2500 resolution: "@types/react-dom@npm:18.0.10" 2513 resolution: "@types/react-dom@npm:18.0.11"
2501 dependencies: 2514 dependencies:
2502 "@types/react": "npm:*" 2515 "@types/react": "npm:*"
2503 checksum: 2c191e8dbe394e0690f8e5caacdb5ef710491478a95ceefc97cc8697e6e7e02c6a2fc3562b37791f92a4c08a6a82dd9dc57d42e8f98bce5f7e7110965845c068 2516 checksum: 429119548045bb8ca6f34522c2698973fb92a0ebb1f1b2afa061e41ae9d091d10d0cc9bbbfd52b3cfe948486898cfaaf29d3721650a6d52dc0d3ab81c0245b82
2504 languageName: node 2517 languageName: node
2505 linkType: hard 2518 linkType: hard
2506 2519
@@ -2522,14 +2535,14 @@ __metadata:
2522 languageName: node 2535 languageName: node
2523 linkType: hard 2536 linkType: hard
2524 2537
2525"@types/react@npm:*, @types/react@npm:^18.0.27": 2538"@types/react@npm:*, @types/react@npm:^18.0.31":
2526 version: 18.0.27 2539 version: 18.0.31
2527 resolution: "@types/react@npm:18.0.27" 2540 resolution: "@types/react@npm:18.0.31"
2528 dependencies: 2541 dependencies:
2529 "@types/prop-types": "npm:*" 2542 "@types/prop-types": "npm:*"
2530 "@types/scheduler": "npm:*" 2543 "@types/scheduler": "npm:*"
2531 csstype: "npm:^3.0.2" 2544 csstype: "npm:^3.0.2"
2532 checksum: 75c0b64773dc36bd094b3cc7fff5fb4cc385f60d7696bec2e0243806de69f2a2e35bec25d31f51bbbd6681639d8682a2d6eb94379759c70afc2f3ef5f87927b5 2545 checksum: 566a40c89bf50695e8feba6188e5bc390db2895a9d9cc05e3285a9365d13e3abe695c25947758955bea21b94ce112bafb0c21d9c6e9240bea801de070bf29d59
2533 languageName: node 2546 languageName: node
2534 linkType: hard 2547 linkType: hard
2535 2548
@@ -2563,18 +2576,18 @@ __metadata:
2563 languageName: node 2576 languageName: node
2564 linkType: hard 2577 linkType: hard
2565 2578
2566"@typescript-eslint/eslint-plugin@npm:^5.50.0": 2579"@typescript-eslint/eslint-plugin@npm:^5.57.0":
2567 version: 5.50.0 2580 version: 5.57.0
2568 resolution: "@typescript-eslint/eslint-plugin@npm:5.50.0" 2581 resolution: "@typescript-eslint/eslint-plugin@npm:5.57.0"
2569 dependencies: 2582 dependencies:
2570 "@typescript-eslint/scope-manager": "npm:5.50.0" 2583 "@eslint-community/regexpp": "npm:^4.4.0"
2571 "@typescript-eslint/type-utils": "npm:5.50.0" 2584 "@typescript-eslint/scope-manager": "npm:5.57.0"
2572 "@typescript-eslint/utils": "npm:5.50.0" 2585 "@typescript-eslint/type-utils": "npm:5.57.0"
2586 "@typescript-eslint/utils": "npm:5.57.0"
2573 debug: "npm:^4.3.4" 2587 debug: "npm:^4.3.4"
2574 grapheme-splitter: "npm:^1.0.4" 2588 grapheme-splitter: "npm:^1.0.4"
2575 ignore: "npm:^5.2.0" 2589 ignore: "npm:^5.2.0"
2576 natural-compare-lite: "npm:^1.4.0" 2590 natural-compare-lite: "npm:^1.4.0"
2577 regexpp: "npm:^3.2.0"
2578 semver: "npm:^7.3.7" 2591 semver: "npm:^7.3.7"
2579 tsutils: "npm:^3.21.0" 2592 tsutils: "npm:^3.21.0"
2580 peerDependencies: 2593 peerDependencies:
@@ -2583,43 +2596,43 @@ __metadata:
2583 peerDependenciesMeta: 2596 peerDependenciesMeta:
2584 typescript: 2597 typescript:
2585 optional: true 2598 optional: true
2586 checksum: 92b4c1747ddf077214fe1860c64474153966ef38ddc49713a929bfa0f11853c07b41621a5105c8a453c70f6cb993f82245af3c4b95a95ff748f7fe453a530095 2599 checksum: 91f9484747d8fad9d12516f52994e9792ae3529650bbc09277feed4b1880ca944280746278c550a0974512d87b93309e9fbf08974c3baa0b0eaffc8d55555b6f
2587 languageName: node 2600 languageName: node
2588 linkType: hard 2601 linkType: hard
2589 2602
2590"@typescript-eslint/parser@npm:^5.50.0": 2603"@typescript-eslint/parser@npm:^5.57.0":
2591 version: 5.50.0 2604 version: 5.57.0
2592 resolution: "@typescript-eslint/parser@npm:5.50.0" 2605 resolution: "@typescript-eslint/parser@npm:5.57.0"
2593 dependencies: 2606 dependencies:
2594 "@typescript-eslint/scope-manager": "npm:5.50.0" 2607 "@typescript-eslint/scope-manager": "npm:5.57.0"
2595 "@typescript-eslint/types": "npm:5.50.0" 2608 "@typescript-eslint/types": "npm:5.57.0"
2596 "@typescript-eslint/typescript-estree": "npm:5.50.0" 2609 "@typescript-eslint/typescript-estree": "npm:5.57.0"
2597 debug: "npm:^4.3.4" 2610 debug: "npm:^4.3.4"
2598 peerDependencies: 2611 peerDependencies:
2599 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 2612 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
2600 peerDependenciesMeta: 2613 peerDependenciesMeta:
2601 typescript: 2614 typescript:
2602 optional: true 2615 optional: true
2603 checksum: 67d5b5b714456b6c52fbf945869becb7f337f49312197120fc8dda82373d1fe310b3fa8fcac2ef92d967bceca6192bfc4a9f355df5d0c862d57ee3203cb7fe2d 2616 checksum: 147c20b5c08a1ce02fd79473ab8a6e6d12eb107b1e591dccdbb434db5f21347b9e63e4ef0db6836233442191c2e1c5e1bf78afd654164b46ede6ca35990a2e2d
2604 languageName: node 2617 languageName: node
2605 linkType: hard 2618 linkType: hard
2606 2619
2607"@typescript-eslint/scope-manager@npm:5.50.0": 2620"@typescript-eslint/scope-manager@npm:5.57.0":
2608 version: 5.50.0 2621 version: 5.57.0
2609 resolution: "@typescript-eslint/scope-manager@npm:5.50.0" 2622 resolution: "@typescript-eslint/scope-manager@npm:5.57.0"
2610 dependencies: 2623 dependencies:
2611 "@typescript-eslint/types": "npm:5.50.0" 2624 "@typescript-eslint/types": "npm:5.57.0"
2612 "@typescript-eslint/visitor-keys": "npm:5.50.0" 2625 "@typescript-eslint/visitor-keys": "npm:5.57.0"
2613 checksum: 06ab882dc92f11febac75d7a6989eef38882568dd7c9d1a6aafae9cb0d13f3d4b2e9761f81e54e145b4a4e4676a15ee70e510bfd979ac0b83919785385728ac9 2626 checksum: 21b5b6b5793c6d9797e0106c1ab13e356283de7a34d95eeb49ece8016bad7977140689403a7d529828dacf9f1de314bc36961a96ffc39d81193cb2addbe86b7f
2614 languageName: node 2627 languageName: node
2615 linkType: hard 2628 linkType: hard
2616 2629
2617"@typescript-eslint/type-utils@npm:5.50.0": 2630"@typescript-eslint/type-utils@npm:5.57.0":
2618 version: 5.50.0 2631 version: 5.57.0
2619 resolution: "@typescript-eslint/type-utils@npm:5.50.0" 2632 resolution: "@typescript-eslint/type-utils@npm:5.57.0"
2620 dependencies: 2633 dependencies:
2621 "@typescript-eslint/typescript-estree": "npm:5.50.0" 2634 "@typescript-eslint/typescript-estree": "npm:5.57.0"
2622 "@typescript-eslint/utils": "npm:5.50.0" 2635 "@typescript-eslint/utils": "npm:5.57.0"
2623 debug: "npm:^4.3.4" 2636 debug: "npm:^4.3.4"
2624 tsutils: "npm:^3.21.0" 2637 tsutils: "npm:^3.21.0"
2625 peerDependencies: 2638 peerDependencies:
@@ -2627,23 +2640,23 @@ __metadata:
2627 peerDependenciesMeta: 2640 peerDependenciesMeta:
2628 typescript: 2641 typescript:
2629 optional: true 2642 optional: true
2630 checksum: 6559b90d56516d114cd620da3caea3898200cbfd93896932753951ae4cb3ffe2caf932784e6997d2fceaf273979546519d65f5ba7512a7252cd3867a0f0aad02 2643 checksum: 42ffcee993ceb67a18f09e9db5cd0cc69711dfd24b22a0990b61e551d7041538ddd24973f631d03070faa4501e62db30d421fa19eb3b8760aa6094147ca3f4fa
2631 languageName: node 2644 languageName: node
2632 linkType: hard 2645 linkType: hard
2633 2646
2634"@typescript-eslint/types@npm:5.50.0": 2647"@typescript-eslint/types@npm:5.57.0":
2635 version: 5.50.0 2648 version: 5.57.0
2636 resolution: "@typescript-eslint/types@npm:5.50.0" 2649 resolution: "@typescript-eslint/types@npm:5.57.0"
2637 checksum: a872c53714db51c27e66429f19671bdf089c044ec023a2e05fde527d2fd2e04b6d9e5ac006f6609dc99a3c39cf6d77929dd0c5392be9473fae9bb66bcab2fa92 2650 checksum: 0395cb9abb12534019033d9802798a072662bc184d79f0a4365294b2086c5e3617e78a76451ec7461f73e3b41327467f8ec124543ae812fa8c61060bbb297e1d
2638 languageName: node 2651 languageName: node
2639 linkType: hard 2652 linkType: hard
2640 2653
2641"@typescript-eslint/typescript-estree@npm:5.50.0": 2654"@typescript-eslint/typescript-estree@npm:5.57.0":
2642 version: 5.50.0 2655 version: 5.57.0
2643 resolution: "@typescript-eslint/typescript-estree@npm:5.50.0" 2656 resolution: "@typescript-eslint/typescript-estree@npm:5.57.0"
2644 dependencies: 2657 dependencies:
2645 "@typescript-eslint/types": "npm:5.50.0" 2658 "@typescript-eslint/types": "npm:5.57.0"
2646 "@typescript-eslint/visitor-keys": "npm:5.50.0" 2659 "@typescript-eslint/visitor-keys": "npm:5.57.0"
2647 debug: "npm:^4.3.4" 2660 debug: "npm:^4.3.4"
2648 globby: "npm:^11.1.0" 2661 globby: "npm:^11.1.0"
2649 is-glob: "npm:^4.0.3" 2662 is-glob: "npm:^4.0.3"
@@ -2652,46 +2665,46 @@ __metadata:
2652 peerDependenciesMeta: 2665 peerDependenciesMeta:
2653 typescript: 2666 typescript:
2654 optional: true 2667 optional: true
2655 checksum: 66ae8bbcc8fa556613c9d4f77677cc765b008e81f46b7c7425fa6d9a3c470ee0bd4df82d816aefcab748d0f88b6ac817e304157cdb04a21b22ca9c4a8d444f9c 2668 checksum: 34f7e4186f938d319a6df51dcdadba548e22d20674d7c826a3ffedce2723224e42982ff76547bc28f3357580a32ab27d107f3e312607924156fe15985c9431ee
2656 languageName: node 2669 languageName: node
2657 linkType: hard 2670 linkType: hard
2658 2671
2659"@typescript-eslint/utils@npm:5.50.0": 2672"@typescript-eslint/utils@npm:5.57.0":
2660 version: 5.50.0 2673 version: 5.57.0
2661 resolution: "@typescript-eslint/utils@npm:5.50.0" 2674 resolution: "@typescript-eslint/utils@npm:5.57.0"
2662 dependencies: 2675 dependencies:
2676 "@eslint-community/eslint-utils": "npm:^4.2.0"
2663 "@types/json-schema": "npm:^7.0.9" 2677 "@types/json-schema": "npm:^7.0.9"
2664 "@types/semver": "npm:^7.3.12" 2678 "@types/semver": "npm:^7.3.12"
2665 "@typescript-eslint/scope-manager": "npm:5.50.0" 2679 "@typescript-eslint/scope-manager": "npm:5.57.0"
2666 "@typescript-eslint/types": "npm:5.50.0" 2680 "@typescript-eslint/types": "npm:5.57.0"
2667 "@typescript-eslint/typescript-estree": "npm:5.50.0" 2681 "@typescript-eslint/typescript-estree": "npm:5.57.0"
2668 eslint-scope: "npm:^5.1.1" 2682 eslint-scope: "npm:^5.1.1"
2669 eslint-utils: "npm:^3.0.0"
2670 semver: "npm:^7.3.7" 2683 semver: "npm:^7.3.7"
2671 peerDependencies: 2684 peerDependencies:
2672 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 2685 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
2673 checksum: 8279671c4e36d26bf708a71658efddd49699aa99f02e47d4bba3ebc4f4f03e7e49bf836f5b76509f429d98c271436613623c2d6d45cc8c6720622272f62f909b 2686 checksum: 5b3007f7db5dfdf1eb1befbef69bb2dfd1352cc8c21f78f31727c02c075eab06a3d59a4a30f4a417589a3f635f4c541a0180efa4b05baf6003911005029d5b05
2674 languageName: node 2687 languageName: node
2675 linkType: hard 2688 linkType: hard
2676 2689
2677"@typescript-eslint/visitor-keys@npm:5.50.0": 2690"@typescript-eslint/visitor-keys@npm:5.57.0":
2678 version: 5.50.0 2691 version: 5.57.0
2679 resolution: "@typescript-eslint/visitor-keys@npm:5.50.0" 2692 resolution: "@typescript-eslint/visitor-keys@npm:5.57.0"
2680 dependencies: 2693 dependencies:
2681 "@typescript-eslint/types": "npm:5.50.0" 2694 "@typescript-eslint/types": "npm:5.57.0"
2682 eslint-visitor-keys: "npm:^3.3.0" 2695 eslint-visitor-keys: "npm:^3.3.0"
2683 checksum: e8b79a969e7c64e90b527c808c7998fe4f4e329905578018b527bdc58ad1f48b5339fbd232afbebacb1754a1bac335f06a86f184b2b10ab35cf90766c4576a08 2696 checksum: 19a09590cf2a4218dbc5a5ddf09acf989a450a635c881d9ca77ae2f7075fc5f14386fa4cf9ceb2bdbfd4166e81ff0089ab1b6c6ee999ed32830374ff25f87ea1
2684 languageName: node 2697 languageName: node
2685 linkType: hard 2698 linkType: hard
2686 2699
2687"@vitejs/plugin-react-swc@npm:^3.1.0": 2700"@vitejs/plugin-react-swc@npm:^3.2.0":
2688 version: 3.1.0 2701 version: 3.2.0
2689 resolution: "@vitejs/plugin-react-swc@npm:3.1.0" 2702 resolution: "@vitejs/plugin-react-swc@npm:3.2.0"
2690 dependencies: 2703 dependencies:
2691 "@swc/core": "npm:^1.3.30" 2704 "@swc/core": "npm:^1.3.35"
2692 peerDependencies: 2705 peerDependencies:
2693 vite: ^4 2706 vite: ^4
2694 checksum: 550634924cee9edb6545a1519b4ad577c53d650ffe3ae26c437a36b329278d09f35ea36d96e0ccd4a35fcabe202f8a797e58a5a871f2294c5adaf45476a53ea6 2707 checksum: cd5da8d9f96261d5b062f588393576748d75c245242fa8cd88ec1a983510cd3d5aeadc58f543f5a8a51e214866d966492a743b0f284197b531a00a202487b32c
2695 languageName: node 2708 languageName: node
2696 linkType: hard 2709 linkType: hard
2697 2710
@@ -2737,7 +2750,7 @@ __metadata:
2737 languageName: node 2750 languageName: node
2738 linkType: hard 2751 linkType: hard
2739 2752
2740"abbrev@npm:1": 2753"abbrev@npm:^1.0.0":
2741 version: 1.1.1 2754 version: 1.1.1
2742 resolution: "abbrev@npm:1.1.1" 2755 resolution: "abbrev@npm:1.1.1"
2743 checksum: 76e7fb9283b13208d5cf55df46669f9cf5e72007cb66595849be2d5e96c0a43704132d030c5705f9447266183986e1e8a4fc3e9578cb60a1f19cf0157664f957 2756 checksum: 76e7fb9283b13208d5cf55df46669f9cf5e72007cb66595849be2d5e96c0a43704132d030c5705f9447266183986e1e8a4fc3e9578cb60a1f19cf0157664f957
@@ -2754,11 +2767,11 @@ __metadata:
2754 linkType: hard 2767 linkType: hard
2755 2768
2756"acorn@npm:^8.5.0, acorn@npm:^8.8.0": 2769"acorn@npm:^8.5.0, acorn@npm:^8.8.0":
2757 version: 8.8.0 2770 version: 8.8.2
2758 resolution: "acorn@npm:8.8.0" 2771 resolution: "acorn@npm:8.8.2"
2759 bin: 2772 bin:
2760 acorn: bin/acorn 2773 acorn: bin/acorn
2761 checksum: 15b10fb381a8a0394a718eba147e120b9d1ae6ed087e61612ee5fda94f98182e5fcd78ef6725c027dc3c5677ce920617c14c359d7777e8ef6a058d2ba113f81f 2774 checksum: 5a47325f0aa08202080cb167d5b8103720d8a1d199f57988afa48bdfbc3c9973270b00e38c2c874240a49929625beaaae8c4ec683f5272b5f07f1119a457e5d0
2762 languageName: node 2775 languageName: node
2763 linkType: hard 2776 linkType: hard
2764 2777
@@ -2771,14 +2784,14 @@ __metadata:
2771 languageName: node 2784 languageName: node
2772 linkType: hard 2785 linkType: hard
2773 2786
2774"agentkeepalive@npm:^4.1.3": 2787"agentkeepalive@npm:^4.2.1":
2775 version: 4.1.4 2788 version: 4.3.0
2776 resolution: "agentkeepalive@npm:4.1.4" 2789 resolution: "agentkeepalive@npm:4.3.0"
2777 dependencies: 2790 dependencies:
2778 debug: "npm:^4.1.0" 2791 debug: "npm:^4.1.0"
2779 depd: "npm:^1.1.2" 2792 depd: "npm:^2.0.0"
2780 humanize-ms: "npm:^1.2.1" 2793 humanize-ms: "npm:^1.2.1"
2781 checksum: c9bb9b8537c540a5bdf25f5e9fa0ef924339ec013761b3272395ea1791f9adee3e6eb6fc8cfe006fe4fb90fc638186a1e1900eb808b07af23cb92707d3d2258f 2794 checksum: b3cce4e2faf86c01bad23b471a67f4aa2e6001b833bc2f63a3d5a8b2a671636f8aac7d215e6f8243ce1c07c7a5d8d5fa90ab894ff0d9f0c3e05c2cda801103fb
2782 languageName: node 2795 languageName: node
2783 linkType: hard 2796 linkType: hard
2784 2797
@@ -2805,14 +2818,14 @@ __metadata:
2805 linkType: hard 2818 linkType: hard
2806 2819
2807"ajv@npm:^8.6.0": 2820"ajv@npm:^8.6.0":
2808 version: 8.11.0 2821 version: 8.12.0
2809 resolution: "ajv@npm:8.11.0" 2822 resolution: "ajv@npm:8.12.0"
2810 dependencies: 2823 dependencies:
2811 fast-deep-equal: "npm:^3.1.1" 2824 fast-deep-equal: "npm:^3.1.1"
2812 json-schema-traverse: "npm:^1.0.0" 2825 json-schema-traverse: "npm:^1.0.0"
2813 require-from-string: "npm:^2.0.2" 2826 require-from-string: "npm:^2.0.2"
2814 uri-js: "npm:^4.2.2" 2827 uri-js: "npm:^4.2.2"
2815 checksum: 08625cf91d13177f3064cf333c7e041bba66f8aa811884a2de5c08b420add67b481779368b0bbf8fc232400b7a3f47aa78459d48ac73e60568c5afec538aa02b 2828 checksum: adab5a15cfce05aa97767b5f01da510f79f351021c643b5593b001dc5063aac3822d9265da94f7e39fd32cc4054277e43728aa522f83d82daca50858a5c29361
2816 languageName: node 2829 languageName: node
2817 linkType: hard 2830 linkType: hard
2818 2831
@@ -2849,12 +2862,12 @@ __metadata:
2849 linkType: hard 2862 linkType: hard
2850 2863
2851"anymatch@npm:~3.1.2": 2864"anymatch@npm:~3.1.2":
2852 version: 3.1.2 2865 version: 3.1.3
2853 resolution: "anymatch@npm:3.1.2" 2866 resolution: "anymatch@npm:3.1.3"
2854 dependencies: 2867 dependencies:
2855 normalize-path: "npm:^3.0.0" 2868 normalize-path: "npm:^3.0.0"
2856 picomatch: "npm:^2.0.4" 2869 picomatch: "npm:^2.0.4"
2857 checksum: b9266228a3e1406086ece57c20f9cbfc9755375218697c79a71fba9245ad23a672687314422e97753fbb3bccd245d7c76974d7c15ba513386b499de6ba002300 2870 checksum: 0d50ce459783767bb68ce635c0a8f3e7de9843ebd6e6733accd59e13a49421a84944b8be5d68b5acecf74eca767a06229e07cae48151757744618e1a32dda0ed
2858 languageName: node 2871 languageName: node
2859 linkType: hard 2872 linkType: hard
2860 2873
@@ -2865,13 +2878,13 @@ __metadata:
2865 languageName: node 2878 languageName: node
2866 linkType: hard 2879 linkType: hard
2867 2880
2868"are-we-there-yet@npm:^2.0.0": 2881"are-we-there-yet@npm:^3.0.0":
2869 version: 2.0.0 2882 version: 3.0.1
2870 resolution: "are-we-there-yet@npm:2.0.0" 2883 resolution: "are-we-there-yet@npm:3.0.1"
2871 dependencies: 2884 dependencies:
2872 delegates: "npm:^1.0.0" 2885 delegates: "npm:^1.0.0"
2873 readable-stream: "npm:^3.6.0" 2886 readable-stream: "npm:^3.6.0"
2874 checksum: 8e178f4924d1062cf04df1afb27927f005429805027ea5f8d751cb66287910a3584b9f0548d0a7aa490dff60a0600e1f31da0bb53344f65f0836234529908d3a 2887 checksum: 7137e25713c611cf38054434ba377e2f7ad3a4bbdb7ac3565ed5caac786080d1c86ed0b280edd917b4c1001ee0d6ed7bdd53effd69b5af4251e5a4fd18d09fbe
2875 languageName: node 2888 languageName: node
2876 linkType: hard 2889 linkType: hard
2877 2890
@@ -2891,6 +2904,16 @@ __metadata:
2891 languageName: node 2904 languageName: node
2892 linkType: hard 2905 linkType: hard
2893 2906
2907"array-buffer-byte-length@npm:^1.0.0":
2908 version: 1.0.0
2909 resolution: "array-buffer-byte-length@npm:1.0.0"
2910 dependencies:
2911 call-bind: "npm:^1.0.2"
2912 is-array-buffer: "npm:^3.0.1"
2913 checksum: ff6fd5a16868943441dc2b8de7c0a8b070677457f1953d13b366e6fd01d7bf187a29268412ca5115f14031d3c00cea22c832af6da61569351d9967d8a5d803cb
2914 languageName: node
2915 linkType: hard
2916
2894"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": 2917"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6":
2895 version: 3.1.6 2918 version: 3.1.6
2896 resolution: "array-includes@npm:3.1.6" 2919 resolution: "array-includes@npm:3.1.6"
@@ -2986,9 +3009,9 @@ __metadata:
2986 linkType: hard 3009 linkType: hard
2987 3010
2988"axe-core@npm:^4.6.2": 3011"axe-core@npm:^4.6.2":
2989 version: 4.6.2 3012 version: 4.6.3
2990 resolution: "axe-core@npm:4.6.2" 3013 resolution: "axe-core@npm:4.6.3"
2991 checksum: d46654e4008499efe8cfb47c4de7ec4fd7ccd03dcd37dde3e37d1d3035ec5d784dac1112a0671d60f5f9ff116c25b9984dd3805f3db3fdd2ca3b4b254c2e2076 3014 checksum: 0dea15ef524fdc92071f15958485cfc2d5b2c1820b79d542cf7368a5eade9fb9e03f9735ac6f03444238ec1aa544ddc93846925105c2f4edfb302e520c4c3076
2992 languageName: node 3015 languageName: node
2993 linkType: hard 3016 linkType: hard
2994 3017
@@ -3022,15 +3045,15 @@ __metadata:
3022 linkType: hard 3045 linkType: hard
3023 3046
3024"babel-plugin-polyfill-corejs2@npm:^0.3.2": 3047"babel-plugin-polyfill-corejs2@npm:^0.3.2":
3025 version: 0.3.2 3048 version: 0.3.3
3026 resolution: "babel-plugin-polyfill-corejs2@npm:0.3.2" 3049 resolution: "babel-plugin-polyfill-corejs2@npm:0.3.3"
3027 dependencies: 3050 dependencies:
3028 "@babel/compat-data": "npm:^7.17.7" 3051 "@babel/compat-data": "npm:^7.17.7"
3029 "@babel/helper-define-polyfill-provider": "npm:^0.3.2" 3052 "@babel/helper-define-polyfill-provider": "npm:^0.3.3"
3030 semver: "npm:^6.1.1" 3053 semver: "npm:^6.1.1"
3031 peerDependencies: 3054 peerDependencies:
3032 "@babel/core": ^7.0.0-0 3055 "@babel/core": ^7.0.0-0
3033 checksum: 1faae7c9107ca2e851c063b5da13878669ab44b2c09a270f521f1de8d30dbef7cae2af2b98d2c70bf164d975efeadf848e28f6c1eed5dea9ec62228750754074 3056 checksum: a7a7dd4b47129eadcc1cb50ab16ca9876c0353a16dbfb4a8ebe44afd5beb576bb1dc852b6819658695e5f19988517f7428cb5003d86586f977e5bbd2a982689e
3034 languageName: node 3057 languageName: node
3035 linkType: hard 3058 linkType: hard
3036 3059
@@ -3047,13 +3070,13 @@ __metadata:
3047 linkType: hard 3070 linkType: hard
3048 3071
3049"babel-plugin-polyfill-regenerator@npm:^0.4.0": 3072"babel-plugin-polyfill-regenerator@npm:^0.4.0":
3050 version: 0.4.0 3073 version: 0.4.1
3051 resolution: "babel-plugin-polyfill-regenerator@npm:0.4.0" 3074 resolution: "babel-plugin-polyfill-regenerator@npm:0.4.1"
3052 dependencies: 3075 dependencies:
3053 "@babel/helper-define-polyfill-provider": "npm:^0.3.2" 3076 "@babel/helper-define-polyfill-provider": "npm:^0.3.3"
3054 peerDependencies: 3077 peerDependencies:
3055 "@babel/core": ^7.0.0-0 3078 "@babel/core": ^7.0.0-0
3056 checksum: 43880dfd6b1ca5947acb82af3083180b58adb0032fcb55ee5d808405d1c997e3571cdcf3d1d1fc8df7bffbfb3f4f7d05f02b48f49302b75801eff77f9a557895 3079 checksum: dfa6c1448285c90720cbac9a3237a1de0dce442492dfe20dd3755c7b2bc97f71f364ea1f2a7669785aaa50c058ed19998baff046de625e12da66072994a418ae
3057 languageName: node 3080 languageName: node
3058 linkType: hard 3081 linkType: hard
3059 3082
@@ -3099,17 +3122,17 @@ __metadata:
3099 languageName: node 3122 languageName: node
3100 linkType: hard 3123 linkType: hard
3101 3124
3102"browserslist@npm:^4.21.3": 3125"browserslist@npm:^4.21.3, browserslist@npm:^4.21.5":
3103 version: 4.21.3 3126 version: 4.21.5
3104 resolution: "browserslist@npm:4.21.3" 3127 resolution: "browserslist@npm:4.21.5"
3105 dependencies: 3128 dependencies:
3106 caniuse-lite: "npm:^1.0.30001370" 3129 caniuse-lite: "npm:^1.0.30001449"
3107 electron-to-chromium: "npm:^1.4.202" 3130 electron-to-chromium: "npm:^1.4.284"
3108 node-releases: "npm:^2.0.6" 3131 node-releases: "npm:^2.0.8"
3109 update-browserslist-db: "npm:^1.0.5" 3132 update-browserslist-db: "npm:^1.0.10"
3110 bin: 3133 bin:
3111 browserslist: cli.js 3134 browserslist: cli.js
3112 checksum: 1c12b4b9b69138e1697aee58ad8b7e706fc868a90c03f9973ad8cf2bc5b283ccda07b4e7e751b7301b6df4726a41c6e8a9245e18ab3b11e0e4bc2cbfaeabaff3 3135 checksum: 66c055357fda71fcde8a9dc1f5af7e5bd320670ad5199196275703e305b77f92969c07a70a383e8130cd0f8c98a8b6d2a211b57ee6b5b4c2ac37779d9800a6c4
3113 languageName: node 3136 languageName: node
3114 linkType: hard 3137 linkType: hard
3115 3138
@@ -3127,29 +3150,29 @@ __metadata:
3127 languageName: node 3150 languageName: node
3128 linkType: hard 3151 linkType: hard
3129 3152
3130"cacache@npm:^15.2.0": 3153"cacache@npm:^16.1.0":
3131 version: 15.3.0 3154 version: 16.1.3
3132 resolution: "cacache@npm:15.3.0" 3155 resolution: "cacache@npm:16.1.3"
3133 dependencies: 3156 dependencies:
3134 "@npmcli/fs": "npm:^1.0.0" 3157 "@npmcli/fs": "npm:^2.1.0"
3135 "@npmcli/move-file": "npm:^1.0.1" 3158 "@npmcli/move-file": "npm:^2.0.0"
3136 chownr: "npm:^2.0.0" 3159 chownr: "npm:^2.0.0"
3137 fs-minipass: "npm:^2.0.0" 3160 fs-minipass: "npm:^2.1.0"
3138 glob: "npm:^7.1.4" 3161 glob: "npm:^8.0.1"
3139 infer-owner: "npm:^1.0.4" 3162 infer-owner: "npm:^1.0.4"
3140 lru-cache: "npm:^6.0.0" 3163 lru-cache: "npm:^7.7.1"
3141 minipass: "npm:^3.1.1" 3164 minipass: "npm:^3.1.6"
3142 minipass-collect: "npm:^1.0.2" 3165 minipass-collect: "npm:^1.0.2"
3143 minipass-flush: "npm:^1.0.5" 3166 minipass-flush: "npm:^1.0.5"
3144 minipass-pipeline: "npm:^1.2.2" 3167 minipass-pipeline: "npm:^1.2.4"
3145 mkdirp: "npm:^1.0.3" 3168 mkdirp: "npm:^1.0.4"
3146 p-map: "npm:^4.0.0" 3169 p-map: "npm:^4.0.0"
3147 promise-inflight: "npm:^1.0.1" 3170 promise-inflight: "npm:^1.0.1"
3148 rimraf: "npm:^3.0.2" 3171 rimraf: "npm:^3.0.2"
3149 ssri: "npm:^8.0.1" 3172 ssri: "npm:^9.0.0"
3150 tar: "npm:^6.0.2" 3173 tar: "npm:^6.1.11"
3151 unique-filename: "npm:^1.1.1" 3174 unique-filename: "npm:^2.0.0"
3152 checksum: 7ee6c3ca9cddcb35071cfa592b54ef195b944b8df9dc844a2a4a5cb9a7dee1debb53b7bab4ec77b295d7310d59183829457c80bf55c56045bc3d8547c4e89d50 3175 checksum: 54f39565219c47ac624e0efeae123551b5391844f18ae69d0c344f51ce2b9ae4adec62316e5eae7e11cf83c3c21f726a0117d55400182779dce687887ce3f50e
3153 languageName: node 3176 languageName: node
3154 linkType: hard 3177 linkType: hard
3155 3178
@@ -3180,10 +3203,10 @@ __metadata:
3180 languageName: node 3203 languageName: node
3181 linkType: hard 3204 linkType: hard
3182 3205
3183"caniuse-lite@npm:^1.0.30001370": 3206"caniuse-lite@npm:^1.0.30001449":
3184 version: 1.0.30001370 3207 version: 1.0.30001473
3185 resolution: "caniuse-lite@npm:1.0.30001370" 3208 resolution: "caniuse-lite@npm:1.0.30001473"
3186 checksum: 8a8d8e9ab026aa8165da80e34a5f4814703314fef3197888ca30f6faca0af5c07532c16b45048d47fdfab9b9b110666c6ff541cc0e0dabf02b6b826a11d844c8 3209 checksum: cdd4672faf6fec985579a9156d4e2e0bfbfdab1307c64e50f1b1d79a1b756e4a161dc98d19e0f47a940b58bb455b430c656faaba3799bb64956e24a9c9dbea02
3187 languageName: node 3210 languageName: node
3188 linkType: hard 3211 linkType: hard
3189 3212
@@ -3289,7 +3312,7 @@ __metadata:
3289 languageName: node 3312 languageName: node
3290 linkType: hard 3313 linkType: hard
3291 3314
3292"color-support@npm:^1.1.2": 3315"color-support@npm:^1.1.3":
3293 version: 1.1.3 3316 version: 1.1.3
3294 resolution: "color-support@npm:1.1.3" 3317 resolution: "color-support@npm:1.1.3"
3295 bin: 3318 bin:
@@ -3313,9 +3336,9 @@ __metadata:
3313 linkType: hard 3336 linkType: hard
3314 3337
3315"commander@npm:^9.4.1": 3338"commander@npm:^9.4.1":
3316 version: 9.4.1 3339 version: 9.5.0
3317 resolution: "commander@npm:9.4.1" 3340 resolution: "commander@npm:9.5.0"
3318 checksum: 7d4c1f3bd4ad451f43fce51b9c73dc2d61fca00a9249196aa2d3d66fc46f2460c917c73ea9221c278fb8d35f496384f5125806e69108581a8e8bc673752c94e6 3341 checksum: 1d09146ccb60400550629bcded4b72eeb100728207ecb2538dd827b19571dc16d3b0ee5da762d9bdbbe680ed5cca6658cac5bfce262b1b73eabe5ef8c15cdd9d
3319 languageName: node 3342 languageName: node
3320 linkType: hard 3343 linkType: hard
3321 3344
@@ -3334,13 +3357,13 @@ __metadata:
3334 linkType: hard 3357 linkType: hard
3335 3358
3336"confusing-browser-globals@npm:^1.0.10": 3359"confusing-browser-globals@npm:^1.0.10":
3337 version: 1.0.10 3360 version: 1.0.11
3338 resolution: "confusing-browser-globals@npm:1.0.10" 3361 resolution: "confusing-browser-globals@npm:1.0.11"
3339 checksum: 152167105914af30de63f941a3405eb1973253d07b7c25a9705bc96ace915e8b9337a2cf8194523749832c52d47c1f7afea70dfccc6281be8dc174b4dd212a3e 3362 checksum: 1e2de021f111bd078564c4c6e03f1259260e297499de229875c583fac9de2de0719c75169bc24ed53020329e6f167c8c598c1228611baa72c6cf309204ddc192
3340 languageName: node 3363 languageName: node
3341 linkType: hard 3364 linkType: hard
3342 3365
3343"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": 3366"console-control-strings@npm:^1.1.0":
3344 version: 1.1.0 3367 version: 1.1.0
3345 resolution: "console-control-strings@npm:1.1.0" 3368 resolution: "console-control-strings@npm:1.1.0"
3346 checksum: d286ffd439aac97472557325e6aa4cc3a2eefe495a70a9640b89508880db4bba1bd1b29bb011608c23033d884c84cac8da95c8f12ca0ec69ccc70d6d5f39c618 3369 checksum: d286ffd439aac97472557325e6aa4cc3a2eefe495a70a9640b89508880db4bba1bd1b29bb011608c23033d884c84cac8da95c8f12ca0ec69ccc70d6d5f39c618
@@ -3348,34 +3371,31 @@ __metadata:
3348 linkType: hard 3371 linkType: hard
3349 3372
3350"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.7.0": 3373"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.7.0":
3351 version: 1.8.0 3374 version: 1.9.0
3352 resolution: "convert-source-map@npm:1.8.0" 3375 resolution: "convert-source-map@npm:1.9.0"
3353 dependencies: 3376 checksum: 7c665ec75a792623eff22413a59fb6646770063eb871efe7550cfba4f17177137ea300f964c2763db69355384398de491126fbe064fa83b25e3023b87711b6e4
3354 safe-buffer: "npm:~5.1.1"
3355 checksum: 1548dbc3808672aec5942ada45bf57ceb2287ac2566e9935e35d95ffeab562f33ee1221922ec2ea7f3ff4b85828c8247599144069fae81a86e295cc932190dcf
3356 languageName: node 3377 languageName: node
3357 linkType: hard 3378 linkType: hard
3358 3379
3359"core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": 3380"core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1":
3360 version: 3.24.1 3381 version: 3.29.1
3361 resolution: "core-js-compat@npm:3.24.1" 3382 resolution: "core-js-compat@npm:3.29.1"
3362 dependencies: 3383 dependencies:
3363 browserslist: "npm:^4.21.3" 3384 browserslist: "npm:^4.21.5"
3364 semver: "npm:7.0.0" 3385 checksum: 83bf140005baa05ea461f1bc02fad065b9f5cb59c82259af9f79e44ff4b2844bb6402cf4a699a076bcf67e7a55c9f5138f348e406b2a9a4e29d5ab9778663eff
3365 checksum: 6e2180c33e614357bfb9bb933e2ed112d21c1d7e18e61a9c5ed1786d85f7c89f88a9bb54bb342ca4e8ae240dbb64749021db02612e1e6c7a4b3f43a954fc908f
3366 languageName: node 3386 languageName: node
3367 linkType: hard 3387 linkType: hard
3368 3388
3369"cosmiconfig@npm:^7.0.0": 3389"cosmiconfig@npm:^7.0.0":
3370 version: 7.0.1 3390 version: 7.1.0
3371 resolution: "cosmiconfig@npm:7.0.1" 3391 resolution: "cosmiconfig@npm:7.1.0"
3372 dependencies: 3392 dependencies:
3373 "@types/parse-json": "npm:^4.0.0" 3393 "@types/parse-json": "npm:^4.0.0"
3374 import-fresh: "npm:^3.2.1" 3394 import-fresh: "npm:^3.2.1"
3375 parse-json: "npm:^5.0.0" 3395 parse-json: "npm:^5.0.0"
3376 path-type: "npm:^4.0.0" 3396 path-type: "npm:^4.0.0"
3377 yaml: "npm:^1.10.0" 3397 yaml: "npm:^1.10.0"
3378 checksum: f5b0588faeb39d1bcb846504cb6693121bf6af4d09a5a0523a9201d189a769a067db33e36d6c6fe23937cc24f9771ad0e76ecb3056a4e244697867d62aa50ec0 3398 checksum: 8add352f0abd55fc5eaef0823937c33992e5ae670831418c8ff98bb301952260467533b09b8e9257dc360baa270610a7a92b288d94eb25d6f577a0d7e507801b
3379 languageName: node 3399 languageName: node
3380 linkType: hard 3400 linkType: hard
3381 3401
@@ -3430,7 +3450,7 @@ __metadata:
3430 languageName: node 3450 languageName: node
3431 linkType: hard 3451 linkType: hard
3432 3452
3433"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": 3453"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4":
3434 version: 4.3.4 3454 version: 4.3.4
3435 resolution: "debug@npm:4.3.4" 3455 resolution: "debug@npm:4.3.4"
3436 dependencies: 3456 dependencies:
@@ -3484,9 +3504,9 @@ __metadata:
3484 linkType: hard 3504 linkType: hard
3485 3505
3486"deepmerge@npm:^4.2.2": 3506"deepmerge@npm:^4.2.2":
3487 version: 4.2.2 3507 version: 4.3.1
3488 resolution: "deepmerge@npm:4.2.2" 3508 resolution: "deepmerge@npm:4.3.1"
3489 checksum: f37e1f5e8cfca71833a43a5d14ad1bf533689b1e5acff72eefa9bdd26f1a4fe80153e29238e8b3052e5f8c4169a95992456f3b60cd50a9db94a84680712a9aca 3509 checksum: 367ae28f98c94b2807dd6eba48f4c3d051742c2ab431f1037d60f5cb5af989aac2b170b6a891d5617679bcb95881b4e22a0616161a1f2154894b349b13d384e0
3490 languageName: node 3510 languageName: node
3491 linkType: hard 3511 linkType: hard
3492 3512
@@ -3498,12 +3518,12 @@ __metadata:
3498 linkType: hard 3518 linkType: hard
3499 3519
3500"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": 3520"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4":
3501 version: 1.1.4 3521 version: 1.2.0
3502 resolution: "define-properties@npm:1.1.4" 3522 resolution: "define-properties@npm:1.2.0"
3503 dependencies: 3523 dependencies:
3504 has-property-descriptors: "npm:^1.0.0" 3524 has-property-descriptors: "npm:^1.0.0"
3505 object-keys: "npm:^1.1.1" 3525 object-keys: "npm:^1.1.1"
3506 checksum: 94a6a24f787300c11c53b76e207e53908c86fd508f0dacf0bab49afff62b20439513e14318cebdb3223eef7a49d572eaf7f069a21af80e3ca3f898bbf22c9c8e 3526 checksum: f7d87afb83055124b9c0d18d1abb349ca0741d3c5c38e79422447ac800cea5ee1d0ffbc01f121f059964fd0f17e4d80602ba5533427b9dec18df0fa6b9c91585
3507 languageName: node 3527 languageName: node
3508 linkType: hard 3528 linkType: hard
3509 3529
@@ -3514,10 +3534,10 @@ __metadata:
3514 languageName: node 3534 languageName: node
3515 linkType: hard 3535 linkType: hard
3516 3536
3517"depd@npm:^1.1.2": 3537"depd@npm:^2.0.0":
3518 version: 1.1.2 3538 version: 2.0.0
3519 resolution: "depd@npm:1.1.2" 3539 resolution: "depd@npm:2.0.0"
3520 checksum: e9fb93771e7cf3d88c4e38ca95742f7c58cae31928eb5e67a1a14d970325a02755451bb7fafc2db72333a5cf7fc14e07e4f8d709c0df70143355e77e8d090bac 3540 checksum: 170e90bfa90081462303140623fdf938aeba2f066b1c7a9a1c599b257ea8127d36b9d39fad5a9d71f5282a3bb5a8ca287ce4d8c6cecd0f65e6bf3779cc6091be
3521 languageName: node 3541 languageName: node
3522 linkType: hard 3542 linkType: hard
3523 3543
@@ -3569,20 +3589,20 @@ __metadata:
3569 linkType: hard 3589 linkType: hard
3570 3590
3571"ejs@npm:^3.1.6": 3591"ejs@npm:^3.1.6":
3572 version: 3.1.8 3592 version: 3.1.9
3573 resolution: "ejs@npm:3.1.8" 3593 resolution: "ejs@npm:3.1.9"
3574 dependencies: 3594 dependencies:
3575 jake: "npm:^10.8.5" 3595 jake: "npm:^10.8.5"
3576 bin: 3596 bin:
3577 ejs: bin/cli.js 3597 ejs: bin/cli.js
3578 checksum: 0135c63a1e0745cbbad1a44f64674535f46821b58a30f55b14f25812cdd8dc3036b70bdbb6fe79f8d7c438fb10ede54adcd2ac3f5a88a4734d0dee48b91e614f 3598 checksum: c970131c2c9831dc260d2420055c1e69500a75a460301cf3cac3bab8ff19cb15de2fcc2c695051420b123cd9f8c20c2a18154916d3494b4870ea68a0d677ac12
3579 languageName: node 3599 languageName: node
3580 linkType: hard 3600 linkType: hard
3581 3601
3582"electron-to-chromium@npm:^1.4.202": 3602"electron-to-chromium@npm:^1.4.284":
3583 version: 1.4.202 3603 version: 1.4.347
3584 resolution: "electron-to-chromium@npm:1.4.202" 3604 resolution: "electron-to-chromium@npm:1.4.347"
3585 checksum: 731fbbc1977346d9877fdf1586f10b13db0c957d29d2ad97576841f6005defe1aa24aad86c7426a01d81b680c1ccd2a713829de7d98948887466fa090324a1e3 3605 checksum: a8363b679c0aee9d4fcbd224e3625e9c52e608dfe3525b773b0c400c3c83cc50253f45e022f463d0ff2fb04d7eec4919babe79b6c1bfb5ada19d84876646763c
3586 languageName: node 3606 languageName: node
3587 linkType: hard 3607 linkType: hard
3588 3608
@@ -3600,7 +3620,7 @@ __metadata:
3600 languageName: node 3620 languageName: node
3601 linkType: hard 3621 linkType: hard
3602 3622
3603"encoding@npm:^0.1.12": 3623"encoding@npm:^0.1.13":
3604 version: 0.1.13 3624 version: 0.1.13
3605 resolution: "encoding@npm:0.1.13" 3625 resolution: "encoding@npm:0.1.13"
3606 dependencies: 3626 dependencies:
@@ -3609,13 +3629,13 @@ __metadata:
3609 languageName: node 3629 languageName: node
3610 linkType: hard 3630 linkType: hard
3611 3631
3612"enhanced-resolve@npm:^5.10.0": 3632"enhanced-resolve@npm:^5.12.0":
3613 version: 5.10.0 3633 version: 5.12.0
3614 resolution: "enhanced-resolve@npm:5.10.0" 3634 resolution: "enhanced-resolve@npm:5.12.0"
3615 dependencies: 3635 dependencies:
3616 graceful-fs: "npm:^4.2.4" 3636 graceful-fs: "npm:^4.2.4"
3617 tapable: "npm:^2.2.0" 3637 tapable: "npm:^2.2.0"
3618 checksum: 97f2cb6318920931b84ea1209b220b7f0324581eef434f16c1df95d1997a4bbd80cceabd6be81465cf450060dee84b265d317ac23276369756b2d8a3ca68e9d6 3638 checksum: 37c59d96743be343aa8cf32540745675175125b105d0b9a4f72cfc9e8a5218e17139304a7e56e289f5795feb4d3b342345242f4d7c4d9f7df0e16aa1a8eede3e
3619 languageName: node 3639 languageName: node
3620 linkType: hard 3640 linkType: hard
3621 3641
@@ -3649,51 +3669,73 @@ __metadata:
3649 languageName: node 3669 languageName: node
3650 linkType: hard 3670 linkType: hard
3651 3671
3652"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.4": 3672"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4":
3653 version: 1.20.4 3673 version: 1.21.2
3654 resolution: "es-abstract@npm:1.20.4" 3674 resolution: "es-abstract@npm:1.21.2"
3655 dependencies: 3675 dependencies:
3676 array-buffer-byte-length: "npm:^1.0.0"
3677 available-typed-arrays: "npm:^1.0.5"
3656 call-bind: "npm:^1.0.2" 3678 call-bind: "npm:^1.0.2"
3679 es-set-tostringtag: "npm:^2.0.1"
3657 es-to-primitive: "npm:^1.2.1" 3680 es-to-primitive: "npm:^1.2.1"
3658 function-bind: "npm:^1.1.1"
3659 function.prototype.name: "npm:^1.1.5" 3681 function.prototype.name: "npm:^1.1.5"
3660 get-intrinsic: "npm:^1.1.3" 3682 get-intrinsic: "npm:^1.2.0"
3661 get-symbol-description: "npm:^1.0.0" 3683 get-symbol-description: "npm:^1.0.0"
3684 globalthis: "npm:^1.0.3"
3685 gopd: "npm:^1.0.1"
3662 has: "npm:^1.0.3" 3686 has: "npm:^1.0.3"
3663 has-property-descriptors: "npm:^1.0.0" 3687 has-property-descriptors: "npm:^1.0.0"
3688 has-proto: "npm:^1.0.1"
3664 has-symbols: "npm:^1.0.3" 3689 has-symbols: "npm:^1.0.3"
3665 internal-slot: "npm:^1.0.3" 3690 internal-slot: "npm:^1.0.5"
3691 is-array-buffer: "npm:^3.0.2"
3666 is-callable: "npm:^1.2.7" 3692 is-callable: "npm:^1.2.7"
3667 is-negative-zero: "npm:^2.0.2" 3693 is-negative-zero: "npm:^2.0.2"
3668 is-regex: "npm:^1.1.4" 3694 is-regex: "npm:^1.1.4"
3669 is-shared-array-buffer: "npm:^1.0.2" 3695 is-shared-array-buffer: "npm:^1.0.2"
3670 is-string: "npm:^1.0.7" 3696 is-string: "npm:^1.0.7"
3697 is-typed-array: "npm:^1.1.10"
3671 is-weakref: "npm:^1.0.2" 3698 is-weakref: "npm:^1.0.2"
3672 object-inspect: "npm:^1.12.2" 3699 object-inspect: "npm:^1.12.3"
3673 object-keys: "npm:^1.1.1" 3700 object-keys: "npm:^1.1.1"
3674 object.assign: "npm:^4.1.4" 3701 object.assign: "npm:^4.1.4"
3675 regexp.prototype.flags: "npm:^1.4.3" 3702 regexp.prototype.flags: "npm:^1.4.3"
3676 safe-regex-test: "npm:^1.0.0" 3703 safe-regex-test: "npm:^1.0.0"
3677 string.prototype.trimend: "npm:^1.0.5" 3704 string.prototype.trim: "npm:^1.2.7"
3678 string.prototype.trimstart: "npm:^1.0.5" 3705 string.prototype.trimend: "npm:^1.0.6"
3706 string.prototype.trimstart: "npm:^1.0.6"
3707 typed-array-length: "npm:^1.0.4"
3679 unbox-primitive: "npm:^1.0.2" 3708 unbox-primitive: "npm:^1.0.2"
3680 checksum: afe27b8a805e0d46799b505c828c6331e7c3624ff62a237ea2b8040881c10a332eb685cb5443d27a99438764191f3c52fde54efca063098483f4c0a735948103 3709 which-typed-array: "npm:^1.1.9"
3710 checksum: 63800c131f77145c020be1a4340031f8322f03c6c73cd1336d5893cab09bce257f6c217e60a60188539096f72bc1f4885f474e8bbae8fa949edc8679f905dfd2
3681 languageName: node 3711 languageName: node
3682 linkType: hard 3712 linkType: hard
3683 3713
3684"es-get-iterator@npm:^1.1.2": 3714"es-get-iterator@npm:^1.1.2":
3685 version: 1.1.2 3715 version: 1.1.3
3686 resolution: "es-get-iterator@npm:1.1.2" 3716 resolution: "es-get-iterator@npm:1.1.3"
3687 dependencies: 3717 dependencies:
3688 call-bind: "npm:^1.0.2" 3718 call-bind: "npm:^1.0.2"
3689 get-intrinsic: "npm:^1.1.0" 3719 get-intrinsic: "npm:^1.1.3"
3690 has-symbols: "npm:^1.0.1" 3720 has-symbols: "npm:^1.0.3"
3691 is-arguments: "npm:^1.1.0" 3721 is-arguments: "npm:^1.1.1"
3692 is-map: "npm:^2.0.2" 3722 is-map: "npm:^2.0.2"
3693 is-set: "npm:^2.0.2" 3723 is-set: "npm:^2.0.2"
3694 is-string: "npm:^1.0.5" 3724 is-string: "npm:^1.0.7"
3695 isarray: "npm:^2.0.5" 3725 isarray: "npm:^2.0.5"
3696 checksum: 65ec8b2482715444bc92121a2e63d8795ca2026ddc29efaca925eba16331a74b0f3edee0530708932a3710dfe42855a35dd039dc9bb794874ee793ff2cbd1f09 3726 stop-iteration-iterator: "npm:^1.0.0"
3727 checksum: a4f7676e8cc1d4bb5ab1f725bd0b7880dbb3d3bf1b696fd405486c811fb10451fd071924ae6ff18083ae5bd74416e60de032530282dab3e33f0a6dd410d7cb60
3728 languageName: node
3729 linkType: hard
3730
3731"es-set-tostringtag@npm:^2.0.1":
3732 version: 2.0.1
3733 resolution: "es-set-tostringtag@npm:2.0.1"
3734 dependencies:
3735 get-intrinsic: "npm:^1.1.3"
3736 has: "npm:^1.0.3"
3737 has-tostringtag: "npm:^1.0.0"
3738 checksum: fecdbc1f62b901b58b33d47e2daa6b43105b33dd233792643dc7aa1d7256d2fa13c47816d1e03e121e948d01d009faa366466e436baefb886afa18720945d439
3697 languageName: node 3739 languageName: node
3698 linkType: hard 3740 linkType: hard
3699 3741
@@ -3717,32 +3759,32 @@ __metadata:
3717 languageName: node 3759 languageName: node
3718 linkType: hard 3760 linkType: hard
3719 3761
3720"esbuild@npm:^0.16.14": 3762"esbuild@npm:^0.17.5":
3721 version: 0.16.17 3763 version: 0.17.14
3722 resolution: "esbuild@npm:0.16.17" 3764 resolution: "esbuild@npm:0.17.14"
3723 dependencies: 3765 dependencies:
3724 "@esbuild/android-arm": "npm:0.16.17" 3766 "@esbuild/android-arm": "npm:0.17.14"
3725 "@esbuild/android-arm64": "npm:0.16.17" 3767 "@esbuild/android-arm64": "npm:0.17.14"
3726 "@esbuild/android-x64": "npm:0.16.17" 3768 "@esbuild/android-x64": "npm:0.17.14"
3727 "@esbuild/darwin-arm64": "npm:0.16.17" 3769 "@esbuild/darwin-arm64": "npm:0.17.14"
3728 "@esbuild/darwin-x64": "npm:0.16.17" 3770 "@esbuild/darwin-x64": "npm:0.17.14"
3729 "@esbuild/freebsd-arm64": "npm:0.16.17" 3771 "@esbuild/freebsd-arm64": "npm:0.17.14"
3730 "@esbuild/freebsd-x64": "npm:0.16.17" 3772 "@esbuild/freebsd-x64": "npm:0.17.14"
3731 "@esbuild/linux-arm": "npm:0.16.17" 3773 "@esbuild/linux-arm": "npm:0.17.14"
3732 "@esbuild/linux-arm64": "npm:0.16.17" 3774 "@esbuild/linux-arm64": "npm:0.17.14"
3733 "@esbuild/linux-ia32": "npm:0.16.17" 3775 "@esbuild/linux-ia32": "npm:0.17.14"
3734 "@esbuild/linux-loong64": "npm:0.16.17" 3776 "@esbuild/linux-loong64": "npm:0.17.14"
3735 "@esbuild/linux-mips64el": "npm:0.16.17" 3777 "@esbuild/linux-mips64el": "npm:0.17.14"
3736 "@esbuild/linux-ppc64": "npm:0.16.17" 3778 "@esbuild/linux-ppc64": "npm:0.17.14"
3737 "@esbuild/linux-riscv64": "npm:0.16.17" 3779 "@esbuild/linux-riscv64": "npm:0.17.14"
3738 "@esbuild/linux-s390x": "npm:0.16.17" 3780 "@esbuild/linux-s390x": "npm:0.17.14"
3739 "@esbuild/linux-x64": "npm:0.16.17" 3781 "@esbuild/linux-x64": "npm:0.17.14"
3740 "@esbuild/netbsd-x64": "npm:0.16.17" 3782 "@esbuild/netbsd-x64": "npm:0.17.14"
3741 "@esbuild/openbsd-x64": "npm:0.16.17" 3783 "@esbuild/openbsd-x64": "npm:0.17.14"
3742 "@esbuild/sunos-x64": "npm:0.16.17" 3784 "@esbuild/sunos-x64": "npm:0.17.14"
3743 "@esbuild/win32-arm64": "npm:0.16.17" 3785 "@esbuild/win32-arm64": "npm:0.17.14"
3744 "@esbuild/win32-ia32": "npm:0.16.17" 3786 "@esbuild/win32-ia32": "npm:0.17.14"
3745 "@esbuild/win32-x64": "npm:0.16.17" 3787 "@esbuild/win32-x64": "npm:0.17.14"
3746 dependenciesMeta: 3788 dependenciesMeta:
3747 "@esbuild/android-arm": 3789 "@esbuild/android-arm":
3748 optional: true 3790 optional: true
@@ -3790,7 +3832,7 @@ __metadata:
3790 optional: true 3832 optional: true
3791 bin: 3833 bin:
3792 esbuild: bin/esbuild 3834 esbuild: bin/esbuild
3793 checksum: a5fdcf450570aa4486216ac219789f381c1ba52f658e637e7fdce1daa3595f2c67050bdde622cb2c2cd3b2ee885192db163fcbb3d3e84891f5dca40369d093d4 3835 checksum: b69bc210efc10fcb1fd9521ed143a1e9384ee2fd1c502e0509022785e0cb128bf6bd330b4a307f8a4e7de17ca0926b6c60049a08708968bff158d638b3db6bfe
3794 languageName: node 3836 languageName: node
3795 linkType: hard 3837 linkType: hard
3796 3838
@@ -3868,14 +3910,14 @@ __metadata:
3868 languageName: node 3910 languageName: node
3869 linkType: hard 3911 linkType: hard
3870 3912
3871"eslint-config-prettier@npm:^8.6.0": 3913"eslint-config-prettier@npm:^8.8.0":
3872 version: 8.6.0 3914 version: 8.8.0
3873 resolution: "eslint-config-prettier@npm:8.6.0" 3915 resolution: "eslint-config-prettier@npm:8.8.0"
3874 peerDependencies: 3916 peerDependencies:
3875 eslint: ">=7.0.0" 3917 eslint: ">=7.0.0"
3876 bin: 3918 bin:
3877 eslint-config-prettier: bin/cli.js 3919 eslint-config-prettier: bin/cli.js
3878 checksum: 2aeb302e532b739d4a440a22463dab157c2aee4a5b89da168deade0feccdf2e645a1a40add6f3b9c635d30fd0a7a4d61339dc7df5d7c57f0a19b04eed0a0ab81 3920 checksum: 942d0b9d162729967a1816a23107066ae176e5f3f3ebaa3be9fd05cc3dbc1d10e389f127a298fbd564f9cc3e419c9635623a974de9327042289d96469dd91528
3879 languageName: node 3921 languageName: node
3880 linkType: hard 3922 linkType: hard
3881 3923
@@ -3890,21 +3932,21 @@ __metadata:
3890 languageName: node 3932 languageName: node
3891 linkType: hard 3933 linkType: hard
3892 3934
3893"eslint-import-resolver-typescript@npm:^3.5.3": 3935"eslint-import-resolver-typescript@npm:^3.5.4":
3894 version: 3.5.3 3936 version: 3.5.4
3895 resolution: "eslint-import-resolver-typescript@npm:3.5.3" 3937 resolution: "eslint-import-resolver-typescript@npm:3.5.4"
3896 dependencies: 3938 dependencies:
3897 debug: "npm:^4.3.4" 3939 debug: "npm:^4.3.4"
3898 enhanced-resolve: "npm:^5.10.0" 3940 enhanced-resolve: "npm:^5.12.0"
3899 get-tsconfig: "npm:^4.2.0" 3941 get-tsconfig: "npm:^4.5.0"
3900 globby: "npm:^13.1.2" 3942 globby: "npm:^13.1.3"
3901 is-core-module: "npm:^2.10.0" 3943 is-core-module: "npm:^2.11.0"
3902 is-glob: "npm:^4.0.3" 3944 is-glob: "npm:^4.0.3"
3903 synckit: "npm:^0.8.4" 3945 synckit: "npm:^0.8.5"
3904 peerDependencies: 3946 peerDependencies:
3905 eslint: "*" 3947 eslint: "*"
3906 eslint-plugin-import: "*" 3948 eslint-plugin-import: "*"
3907 checksum: 0775904784f39582f0e3f26530a26a5994a8147a9d3f403f020514af1a625ee0062b2bd54b0306e686245910c2001172c130cf42e7f0a28b4146c81ff4cec537 3949 checksum: 63c46e28f5c7aa7c37bf581184535251a291949f9cbd44ff65101cb1ff70767ac8a3a303d5c3ac5543e966182235a75b31bba5dd7641487537dcaa5c0f230221
3908 languageName: node 3950 languageName: node
3909 linkType: hard 3951 linkType: hard
3910 3952
@@ -4049,36 +4091,21 @@ __metadata:
4049 languageName: node 4091 languageName: node
4050 linkType: hard 4092 linkType: hard
4051 4093
4052"eslint-utils@npm:^3.0.0": 4094"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.0":
4053 version: 3.0.0 4095 version: 3.4.0
4054 resolution: "eslint-utils@npm:3.0.0" 4096 resolution: "eslint-visitor-keys@npm:3.4.0"
4055 dependencies: 4097 checksum: c55d5b9300877e364e3c3c7929735408e2e75411faf1b02e634b29b737d938a93ec9a134883454572454125ee8831eb5a2c5d2b02bb3edc0f9365de9687ea79f
4056 eslint-visitor-keys: "npm:^2.0.0"
4057 peerDependencies:
4058 eslint: ">=5"
4059 checksum: c7941cb26c5a1dea52fd7588e2e7ca2c12f28a6769119b3697074170f8e9d32a820dbaf822d30361dc54949eb95e8da3509f76fae77dbf8d53499932a828cb65
4060 languageName: node
4061 linkType: hard
4062
4063"eslint-visitor-keys@npm:^2.0.0":
4064 version: 2.1.0
4065 resolution: "eslint-visitor-keys@npm:2.1.0"
4066 checksum: fba2e0be2450d1bc52c74b42008e3da7480fc38cb588b3e0474552c290ed0056465d8754cf579503bdb239d3001c91733e3ff26f659f2479e85baf6bf6559b84
4067 languageName: node
4068 linkType: hard
4069
4070"eslint-visitor-keys@npm:^3.3.0":
4071 version: 3.3.0
4072 resolution: "eslint-visitor-keys@npm:3.3.0"
4073 checksum: 37b1372b3481e978856692724f065da7e3ded80c1a57fd347ad9c63692b6310756d0eb432badb5afaa125f0d4fcbc7692ba93ae85b17bd8e628bd8c8bcd03c1d
4074 languageName: node 4098 languageName: node
4075 linkType: hard 4099 linkType: hard
4076 4100
4077"eslint@npm:^8.33.0": 4101"eslint@npm:^8.37.0":
4078 version: 8.33.0 4102 version: 8.37.0
4079 resolution: "eslint@npm:8.33.0" 4103 resolution: "eslint@npm:8.37.0"
4080 dependencies: 4104 dependencies:
4081 "@eslint/eslintrc": "npm:^1.4.1" 4105 "@eslint-community/eslint-utils": "npm:^4.2.0"
4106 "@eslint-community/regexpp": "npm:^4.4.0"
4107 "@eslint/eslintrc": "npm:^2.0.2"
4108 "@eslint/js": "npm:8.37.0"
4082 "@humanwhocodes/config-array": "npm:^0.11.8" 4109 "@humanwhocodes/config-array": "npm:^0.11.8"
4083 "@humanwhocodes/module-importer": "npm:^1.0.1" 4110 "@humanwhocodes/module-importer": "npm:^1.0.1"
4084 "@nodelib/fs.walk": "npm:^1.2.8" 4111 "@nodelib/fs.walk": "npm:^1.2.8"
@@ -4089,10 +4116,9 @@ __metadata:
4089 doctrine: "npm:^3.0.0" 4116 doctrine: "npm:^3.0.0"
4090 escape-string-regexp: "npm:^4.0.0" 4117 escape-string-regexp: "npm:^4.0.0"
4091 eslint-scope: "npm:^7.1.1" 4118 eslint-scope: "npm:^7.1.1"
4092 eslint-utils: "npm:^3.0.0" 4119 eslint-visitor-keys: "npm:^3.4.0"
4093 eslint-visitor-keys: "npm:^3.3.0" 4120 espree: "npm:^9.5.1"
4094 espree: "npm:^9.4.0" 4121 esquery: "npm:^1.4.2"
4095 esquery: "npm:^1.4.0"
4096 esutils: "npm:^2.0.2" 4122 esutils: "npm:^2.0.2"
4097 fast-deep-equal: "npm:^3.1.3" 4123 fast-deep-equal: "npm:^3.1.3"
4098 file-entry-cache: "npm:^6.0.1" 4124 file-entry-cache: "npm:^6.0.1"
@@ -4113,24 +4139,23 @@ __metadata:
4113 minimatch: "npm:^3.1.2" 4139 minimatch: "npm:^3.1.2"
4114 natural-compare: "npm:^1.4.0" 4140 natural-compare: "npm:^1.4.0"
4115 optionator: "npm:^0.9.1" 4141 optionator: "npm:^0.9.1"
4116 regexpp: "npm:^3.2.0"
4117 strip-ansi: "npm:^6.0.1" 4142 strip-ansi: "npm:^6.0.1"
4118 strip-json-comments: "npm:^3.1.0" 4143 strip-json-comments: "npm:^3.1.0"
4119 text-table: "npm:^0.2.0" 4144 text-table: "npm:^0.2.0"
4120 bin: 4145 bin:
4121 eslint: bin/eslint.js 4146 eslint: bin/eslint.js
4122 checksum: 616877cf98325f619070e6c85b1bb4734fe99202871f5f43cbb9c56b13d7cacf8caa499c61c0a112541067be3b6143cd0497d1319950a4a1d355adeff8504596 4147 checksum: b2a3a4d5bca66dd8df2af7f5fbc2d983c065d958ee7682cd54ee17902dc3016c2cddddad593d56e6357fe863f65fe44c0996886f369d142026f3c1a8b95530be
4123 languageName: node 4148 languageName: node
4124 linkType: hard 4149 linkType: hard
4125 4150
4126"espree@npm:^9.4.0": 4151"espree@npm:^9.5.1":
4127 version: 9.4.0 4152 version: 9.5.1
4128 resolution: "espree@npm:9.4.0" 4153 resolution: "espree@npm:9.5.1"
4129 dependencies: 4154 dependencies:
4130 acorn: "npm:^8.8.0" 4155 acorn: "npm:^8.8.0"
4131 acorn-jsx: "npm:^5.3.2" 4156 acorn-jsx: "npm:^5.3.2"
4132 eslint-visitor-keys: "npm:^3.3.0" 4157 eslint-visitor-keys: "npm:^3.4.0"
4133 checksum: a40ed725d7e29557f17c6b9613c71cee4a0b81303cb7c4d6a5b41ad9c367daf19ffab21f1f8ded287b8e341bf334025e7442d28bec73fc4fc14ac3543050c5d1 4158 checksum: cdf0058252cbbbac5a36bf34809de1675558233fc04b74809a6e7f30b0cb41187044e816e596efb910d2f000e8a107d96d341efaf190c4cb9777d29da440aad0
4134 languageName: node 4159 languageName: node
4135 linkType: hard 4160 linkType: hard
4136 4161
@@ -4144,12 +4169,12 @@ __metadata:
4144 languageName: node 4169 languageName: node
4145 linkType: hard 4170 linkType: hard
4146 4171
4147"esquery@npm:^1.4.0": 4172"esquery@npm:^1.4.2":
4148 version: 1.4.0 4173 version: 1.5.0
4149 resolution: "esquery@npm:1.4.0" 4174 resolution: "esquery@npm:1.5.0"
4150 dependencies: 4175 dependencies:
4151 estraverse: "npm:^5.1.0" 4176 estraverse: "npm:^5.1.0"
4152 checksum: 7f287f5390f12feed1b2b4dd42f3a4501774effcbcbb76c340e5b9a3c25a133739dc18657c6103cb520dd4a8814d33ff732587c7de42f0ff51a0deaf4c190428 4177 checksum: 4bde95396273b2960a330c296e921d88b7d3fb5c9cbc84a1e29cf75664c318b194b1a8b46f507fce30222a68b64527f70e09bdd5863e14248fa2f6da5e78fdfd
4153 languageName: node 4178 languageName: node
4154 linkType: hard 4179 linkType: hard
4155 4180
@@ -4239,11 +4264,11 @@ __metadata:
4239 linkType: hard 4264 linkType: hard
4240 4265
4241"fastq@npm:^1.6.0": 4266"fastq@npm:^1.6.0":
4242 version: 1.13.0 4267 version: 1.15.0
4243 resolution: "fastq@npm:1.13.0" 4268 resolution: "fastq@npm:1.15.0"
4244 dependencies: 4269 dependencies:
4245 reusify: "npm:^1.0.4" 4270 reusify: "npm:^1.0.4"
4246 checksum: 150b77dcf0d1e023aaed9bb5f9789f9c8828497fa44b050ba79b039798aeee6c4bcab7e533b5bacb6476811ca9c0eb7f1d021fd7ff8da54f67e3db9b35efd84c 4271 checksum: 9c256d4b1c55c2a494ef198632ad19b801f98fb05b804c761c8c733da58b8f63888fdfe5e4c8ec7144f369135b71f23da1457e71b3aebaa943d2d5337bb86262
4247 languageName: node 4272 languageName: node
4248 linkType: hard 4273 linkType: hard
4249 4274
@@ -4302,9 +4327,9 @@ __metadata:
4302 linkType: hard 4327 linkType: hard
4303 4328
4304"flatted@npm:^3.1.0": 4329"flatted@npm:^3.1.0":
4305 version: 3.2.4 4330 version: 3.2.7
4306 resolution: "flatted@npm:3.2.4" 4331 resolution: "flatted@npm:3.2.7"
4307 checksum: 1f74183120a8e5a2db88e2a321aa589c3dcfa47ba89748d1d96e8e9dfd2dd22b33fe46775a49a9de751b485bc58907a61171988921cccd94366d5bcb4f4135f4 4332 checksum: d57a559a56f8743f48067b992e70f222921bec6656de4617ee60dab5e531c2aeba67ace287965b759cca80fa0d3f0c7ffc39341ccc9bc874594f4b73c0fea48c
4308 languageName: node 4333 languageName: node
4309 linkType: hard 4334 linkType: hard
4310 4335
@@ -4329,7 +4354,7 @@ __metadata:
4329 languageName: node 4354 languageName: node
4330 linkType: hard 4355 linkType: hard
4331 4356
4332"fs-minipass@npm:^2.0.0": 4357"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0":
4333 version: 2.1.0 4358 version: 2.1.0
4334 resolution: "fs-minipass@npm:2.1.0" 4359 resolution: "fs-minipass@npm:2.1.0"
4335 dependencies: 4360 dependencies:
@@ -4390,20 +4415,19 @@ __metadata:
4390 languageName: node 4415 languageName: node
4391 linkType: hard 4416 linkType: hard
4392 4417
4393"gauge@npm:^4.0.0": 4418"gauge@npm:^4.0.3":
4394 version: 4.0.0 4419 version: 4.0.4
4395 resolution: "gauge@npm:4.0.0" 4420 resolution: "gauge@npm:4.0.4"
4396 dependencies: 4421 dependencies:
4397 ansi-regex: "npm:^5.0.1"
4398 aproba: "npm:^1.0.3 || ^2.0.0" 4422 aproba: "npm:^1.0.3 || ^2.0.0"
4399 color-support: "npm:^1.1.2" 4423 color-support: "npm:^1.1.3"
4400 console-control-strings: "npm:^1.0.0" 4424 console-control-strings: "npm:^1.1.0"
4401 has-unicode: "npm:^2.0.1" 4425 has-unicode: "npm:^2.0.1"
4402 signal-exit: "npm:^3.0.0" 4426 signal-exit: "npm:^3.0.7"
4403 string-width: "npm:^4.2.3" 4427 string-width: "npm:^4.2.3"
4404 strip-ansi: "npm:^6.0.1" 4428 strip-ansi: "npm:^6.0.1"
4405 wide-align: "npm:^1.1.2" 4429 wide-align: "npm:^1.1.5"
4406 checksum: bc5860ab4bd40ba081ea0bba3a16b093c5d6297b46ddebe99790ee5820c692567bf8f65bfcb225ceb171510fc330dbfd7d1ff75c9d7a4f73a4675c4245354123 4430 checksum: 4fc68f770dba9962a326918f33f58f2458eddea08442c2d716238357e4291dee4223a812ce11084b54f928d607e4dfb6f380ba28d435b2721de94a22d5600669
4407 languageName: node 4431 languageName: node
4408 linkType: hard 4432 linkType: hard
4409 4433
@@ -4414,14 +4438,14 @@ __metadata:
4414 languageName: node 4438 languageName: node
4415 linkType: hard 4439 linkType: hard
4416 4440
4417"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3": 4441"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0":
4418 version: 1.1.3 4442 version: 1.2.0
4419 resolution: "get-intrinsic@npm:1.1.3" 4443 resolution: "get-intrinsic@npm:1.2.0"
4420 dependencies: 4444 dependencies:
4421 function-bind: "npm:^1.1.1" 4445 function-bind: "npm:^1.1.1"
4422 has: "npm:^1.0.3" 4446 has: "npm:^1.0.3"
4423 has-symbols: "npm:^1.0.3" 4447 has-symbols: "npm:^1.0.3"
4424 checksum: 885245c0964b0acf38383792a1174022f00db91624239fa0338b6101f865601df0f17dbef15083dc875374d9b50c64bb4177e411a5a40edb0e5cd0e60829caad 4448 checksum: 6db1e521478d0a0f4e61c94c23e7a731b163d2904067b1b6efcac78e8b015404883dab4acb5570517df55aab6eb23eeef6a8d7310de76d9570fcbce4a3f80b18
4425 languageName: node 4449 languageName: node
4426 linkType: hard 4450 linkType: hard
4427 4451
@@ -4442,10 +4466,10 @@ __metadata:
4442 languageName: node 4466 languageName: node
4443 linkType: hard 4467 linkType: hard
4444 4468
4445"get-tsconfig@npm:^4.2.0": 4469"get-tsconfig@npm:^4.5.0":
4446 version: 4.2.0 4470 version: 4.5.0
4447 resolution: "get-tsconfig@npm:4.2.0" 4471 resolution: "get-tsconfig@npm:4.5.0"
4448 checksum: 9bdb940c9a30bbc87818e2c1c46fdf39708b913388e71fe0d30a3e8f6b4146d871d6fc9d6834220de84ece85f45872f41a1a8207f709bbfa7f9dcb38909a1a99 4472 checksum: 55326d2fdfcf0f07096e948928ada42560d0bfc6b215232393da09738301ea19200c0e94f0214d223a3264f0ec72fbbb38a3769502076f2c34edd01f006ed6d9
4449 languageName: node 4473 languageName: node
4450 linkType: hard 4474 linkType: hard
4451 4475
@@ -4481,6 +4505,19 @@ __metadata:
4481 languageName: node 4505 languageName: node
4482 linkType: hard 4506 linkType: hard
4483 4507
4508"glob@npm:^8.0.1":
4509 version: 8.1.0
4510 resolution: "glob@npm:8.1.0"
4511 dependencies:
4512 fs.realpath: "npm:^1.0.0"
4513 inflight: "npm:^1.0.4"
4514 inherits: "npm:2"
4515 minimatch: "npm:^5.0.1"
4516 once: "npm:^1.3.0"
4517 checksum: b2d53aa8d54a3e5b3998f52e72140deea385d292a68719144cda70148c335aa956bd03a643f50f6e4f685ee40ae538ee62a96278cc7b797f731a50a3babfcf63
4518 languageName: node
4519 linkType: hard
4520
4484"globals@npm:^11.1.0": 4521"globals@npm:^11.1.0":
4485 version: 11.12.0 4522 version: 11.12.0
4486 resolution: "globals@npm:11.12.0" 4523 resolution: "globals@npm:11.12.0"
@@ -4489,11 +4526,20 @@ __metadata:
4489 linkType: hard 4526 linkType: hard
4490 4527
4491"globals@npm:^13.19.0": 4528"globals@npm:^13.19.0":
4492 version: 13.19.0 4529 version: 13.20.0
4493 resolution: "globals@npm:13.19.0" 4530 resolution: "globals@npm:13.20.0"
4494 dependencies: 4531 dependencies:
4495 type-fest: "npm:^0.20.2" 4532 type-fest: "npm:^0.20.2"
4496 checksum: 3f3d6606b78da1731d7a2837e75c5e941e7db414ca4a5ad90e456f771b68552095214457295f88a2b1580cd60b430c72020a3e10e39be1093c55c9331b5889ce 4533 checksum: 1ba80ad03f29b8ca83b066c9d9ae305e7f0ee46164de36efac286fc3a58efc48986d688bf1f427f164f2a65bb1bdfa53beb8c56ae3092be255fc097bdcab1f1a
4534 languageName: node
4535 linkType: hard
4536
4537"globalthis@npm:^1.0.3":
4538 version: 1.0.3
4539 resolution: "globalthis@npm:1.0.3"
4540 dependencies:
4541 define-properties: "npm:^1.1.3"
4542 checksum: 712d9e130f2c47067e6590cb1eee418df1106f53ffeddaadb4c8b0793ac0f46039e5f71008c44089523aa2b58d270bb2c4e5721795ddad114bc23d9eb63ec6d5
4497 languageName: node 4543 languageName: node
4498 linkType: hard 4544 linkType: hard
4499 4545
@@ -4518,16 +4564,16 @@ __metadata:
4518 languageName: node 4564 languageName: node
4519 linkType: hard 4565 linkType: hard
4520 4566
4521"globby@npm:^13.1.2": 4567"globby@npm:^13.1.3":
4522 version: 13.1.2 4568 version: 13.1.3
4523 resolution: "globby@npm:13.1.2" 4569 resolution: "globby@npm:13.1.3"
4524 dependencies: 4570 dependencies:
4525 dir-glob: "npm:^3.0.1" 4571 dir-glob: "npm:^3.0.1"
4526 fast-glob: "npm:^3.2.11" 4572 fast-glob: "npm:^3.2.11"
4527 ignore: "npm:^5.2.0" 4573 ignore: "npm:^5.2.0"
4528 merge2: "npm:^1.4.1" 4574 merge2: "npm:^1.4.1"
4529 slash: "npm:^4.0.0" 4575 slash: "npm:^4.0.0"
4530 checksum: 9b418983d4b2dab9599cf9b2d1535c547d206e96796a699086e7a6b0e5d8ba63ee7653b1e3e3afa1747e1accf70fdc58fcb246dec282b3235a23a0b03fe14a7c 4576 checksum: a4b8f38a118310286f684c0146301f375f40b9550fa172f37a668f7de0b52d955f7f5c05e83885b517cedb39ebfc523a7155efa8e3366c375d3fff14e5924af4
4531 languageName: node 4577 languageName: node
4532 linkType: hard 4578 linkType: hard
4533 4579
@@ -4538,6 +4584,15 @@ __metadata:
4538 languageName: node 4584 languageName: node
4539 linkType: hard 4585 linkType: hard
4540 4586
4587"goober@npm:^2.0.33":
4588 version: 2.1.12
4589 resolution: "goober@npm:2.1.12"
4590 peerDependencies:
4591 csstype: ^3.0.10
4592 checksum: 160fa271ad7782c1763cf903d65001a4a25065de2d2c502cd6733d0700767032ad5218c60da98fea1a31d0f8579b52b9900c9c0c00bb24a23423c7569cf9c09b
4593 languageName: node
4594 linkType: hard
4595
4541"gopd@npm:^1.0.1": 4596"gopd@npm:^1.0.1":
4542 version: 1.0.1 4597 version: 1.0.1
4543 resolution: "gopd@npm:1.0.1" 4598 resolution: "gopd@npm:1.0.1"
@@ -4548,9 +4603,9 @@ __metadata:
4548 linkType: hard 4603 linkType: hard
4549 4604
4550"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": 4605"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6":
4551 version: 4.2.10 4606 version: 4.2.11
4552 resolution: "graceful-fs@npm:4.2.10" 4607 resolution: "graceful-fs@npm:4.2.11"
4553 checksum: 6b5f9b5aeaee0459b9c37bdbf9624f788703ce291d6bf2d7751f5003942e853f232ca613aec818d1ff7622379bc8b434c635bfda99db93e0b9b8da80ec3d844d 4608 checksum: 0228fc1080e6cb20d31920aff457e5d44f137b8864220c204b5ba6461d2d46d30361557a4c054373a8c04a03b59c92a42d40230104bb59c5ea737072bc15709c
4554 languageName: node 4609 languageName: node
4555 linkType: hard 4610 linkType: hard
4556 4611
@@ -4591,7 +4646,14 @@ __metadata:
4591 languageName: node 4646 languageName: node
4592 linkType: hard 4647 linkType: hard
4593 4648
4594"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": 4649"has-proto@npm:^1.0.1":
4650 version: 1.0.1
4651 resolution: "has-proto@npm:1.0.1"
4652 checksum: 0aa0de6013c2132a79fb8b885dc0274b99362807195bed0c69e2469eb0de41bf1695067d5e41adcd4bbd8daed8684250716c55db17478249f225ae3d0846e6bf
4653 languageName: node
4654 linkType: hard
4655
4656"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3":
4595 version: 1.0.3 4657 version: 1.0.3
4596 resolution: "has-symbols@npm:1.0.3" 4658 resolution: "has-symbols@npm:1.0.3"
4597 checksum: 2d0abb3382da2945b1b8d9a4afebc8a0770fe07198e727b4fbd7f616c70796f040bf2bd8d6db47e0c590507812a2680594fc77f871238289f6c7870318cf62c9 4659 checksum: 2d0abb3382da2945b1b8d9a4afebc8a0770fe07198e727b4fbd7f616c70796f040bf2bd8d6db47e0c590507812a2680594fc77f871238289f6c7870318cf62c9
@@ -4623,7 +4685,7 @@ __metadata:
4623 languageName: node 4685 languageName: node
4624 linkType: hard 4686 linkType: hard
4625 4687
4626"hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1": 4688"hoist-non-react-statics@npm:^3.3.1":
4627 version: 3.3.2 4689 version: 3.3.2
4628 resolution: "hoist-non-react-statics@npm:3.3.2" 4690 resolution: "hoist-non-react-statics@npm:3.3.2"
4629 dependencies: 4691 dependencies:
@@ -4656,24 +4718,24 @@ __metadata:
4656 languageName: node 4718 languageName: node
4657 linkType: hard 4719 linkType: hard
4658 4720
4659"http-proxy-agent@npm:^4.0.1": 4721"http-proxy-agent@npm:^5.0.0":
4660 version: 4.0.1 4722 version: 5.0.0
4661 resolution: "http-proxy-agent@npm:4.0.1" 4723 resolution: "http-proxy-agent@npm:5.0.0"
4662 dependencies: 4724 dependencies:
4663 "@tootallnate/once": "npm:1" 4725 "@tootallnate/once": "npm:2"
4664 agent-base: "npm:6" 4726 agent-base: "npm:6"
4665 debug: "npm:4" 4727 debug: "npm:4"
4666 checksum: 469cd61a706ceebddbdec12624b793e2b467537b6db97b040325558b6ebc2cff66fc2960406dcf29957906a0001ea724f6a0180a88c6ea0349a0ca96fac6ded1 4728 checksum: b59a9b4bdd7c1d3450956a2974cb7b685517c758853a873064a536f5a831879ac92a28c717f69eb60ff3c924b262cb5aaf80cf62f5c2c24d1129d2b8dadf1e7c
4667 languageName: node 4729 languageName: node
4668 linkType: hard 4730 linkType: hard
4669 4731
4670"https-proxy-agent@npm:^5.0.0": 4732"https-proxy-agent@npm:^5.0.0":
4671 version: 5.0.0 4733 version: 5.0.1
4672 resolution: "https-proxy-agent@npm:5.0.0" 4734 resolution: "https-proxy-agent@npm:5.0.1"
4673 dependencies: 4735 dependencies:
4674 agent-base: "npm:6" 4736 agent-base: "npm:6"
4675 debug: "npm:4" 4737 debug: "npm:4"
4676 checksum: 77d11b0e2c164d1f63f689247551b821b67c3daa7f13fe2d0445989d9ad224f67f2af8ebda09599de3f4be490b343c82bb37024d8a669c004fd4f38dc12a4d23 4738 checksum: 8e767faec977400c31bca2ef0f5338b843b781b63fd985c00d199adac2d6c8a5ecc6e553588a6821a058198960f167a3c83f014bd64bef9a15b176d992d29dfe
4677 languageName: node 4739 languageName: node
4678 linkType: hard 4740 linkType: hard
4679 4741
@@ -4696,16 +4758,16 @@ __metadata:
4696 linkType: hard 4758 linkType: hard
4697 4759
4698"idb@npm:^7.0.1": 4760"idb@npm:^7.0.1":
4699 version: 7.0.2 4761 version: 7.1.1
4700 resolution: "idb@npm:7.0.2" 4762 resolution: "idb@npm:7.1.1"
4701 checksum: 54612e6c597a4f3e641104f5abace53a2d78aa7344b2b4cabdbc795e90e57e6ec81b35b6902517076ccfdde8086a84adbf6372fca180cba10c6e02b601e13ce7 4763 checksum: 9f9a55d7ef9409d37a0270104b89137cdd2a29fbc5cab65561a1dc1d4cdb25f1239ce9dcd1abdb25b81bf81269fad0e601be7d3bd3d8f06f2060c4c65d059748
4702 languageName: node 4764 languageName: node
4703 linkType: hard 4765 linkType: hard
4704 4766
4705"ignore@npm:^5.2.0": 4767"ignore@npm:^5.2.0":
4706 version: 5.2.0 4768 version: 5.2.4
4707 resolution: "ignore@npm:5.2.0" 4769 resolution: "ignore@npm:5.2.4"
4708 checksum: 0086b6992b2e2c9ec23f009e5939022323f1b4ad291607507045cc67b0a3b5d9724fc425f5300b3ba6d10ef74311bdf71cd26040227c30a182cf1b2a5971226b 4770 checksum: 55c58d848bb753a2b7e0b4a19352f9212eae2e4a05e4a12753e90b921108a6caa140adf958a5084b144bedd886b44e3bc93f6b4839e5aba1fb4a72c6625da4c1
4709 languageName: node 4771 languageName: node
4710 linkType: hard 4772 linkType: hard
4711 4773
@@ -4757,25 +4819,25 @@ __metadata:
4757 languageName: node 4819 languageName: node
4758 linkType: hard 4820 linkType: hard
4759 4821
4760"internal-slot@npm:^1.0.3": 4822"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5":
4761 version: 1.0.3 4823 version: 1.0.5
4762 resolution: "internal-slot@npm:1.0.3" 4824 resolution: "internal-slot@npm:1.0.5"
4763 dependencies: 4825 dependencies:
4764 get-intrinsic: "npm:^1.1.0" 4826 get-intrinsic: "npm:^1.2.0"
4765 has: "npm:^1.0.3" 4827 has: "npm:^1.0.3"
4766 side-channel: "npm:^1.0.4" 4828 side-channel: "npm:^1.0.4"
4767 checksum: b08401f1c652927be5238b68ace42c65fda969289b5d38b212389a547762db2602f4f2984c4e83a7b10dd0ca26f3faa1ab609828f0a6f3bfed8aca5ad7a91941 4829 checksum: 7ba9f797e33d9f7fb623ed4eb63a8f4697da1423e8dd47a336c759707a14aebc9d2e04c7df286a493f4eac30c178c6ffad89f559beb3e9641992b6a57f933088
4768 languageName: node 4830 languageName: node
4769 linkType: hard 4831 linkType: hard
4770 4832
4771"ip@npm:^1.1.5": 4833"ip@npm:^2.0.0":
4772 version: 1.1.5 4834 version: 2.0.0
4773 resolution: "ip@npm:1.1.5" 4835 resolution: "ip@npm:2.0.0"
4774 checksum: bf1e24b6571eda04959cb77e8c52f507c326a6282bf347d888c3121c80c8ca1b1b01f83b38ce413988fcd9bdac35208666db56f012e0314180a8f42ea49e591d 4836 checksum: 42a7cf251b844d98a4c3373d06997b991cd1a7f8a5d43bcf2b4f610517d39c5504f6eb3e73e77f5c1453ac766690e82dab28a8a05a49a6fd7d4a40fad93640e9
4775 languageName: node 4837 languageName: node
4776 linkType: hard 4838 linkType: hard
4777 4839
4778"is-arguments@npm:^1.1.0, is-arguments@npm:^1.1.1": 4840"is-arguments@npm:^1.1.1":
4779 version: 1.1.1 4841 version: 1.1.1
4780 resolution: "is-arguments@npm:1.1.1" 4842 resolution: "is-arguments@npm:1.1.1"
4781 dependencies: 4843 dependencies:
@@ -4785,14 +4847,14 @@ __metadata:
4785 languageName: node 4847 languageName: node
4786 linkType: hard 4848 linkType: hard
4787 4849
4788"is-array-buffer@npm:^3.0.1": 4850"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2":
4789 version: 3.0.1 4851 version: 3.0.2
4790 resolution: "is-array-buffer@npm:3.0.1" 4852 resolution: "is-array-buffer@npm:3.0.2"
4791 dependencies: 4853 dependencies:
4792 call-bind: "npm:^1.0.2" 4854 call-bind: "npm:^1.0.2"
4793 get-intrinsic: "npm:^1.1.3" 4855 get-intrinsic: "npm:^1.2.0"
4794 is-typed-array: "npm:^1.1.10" 4856 is-typed-array: "npm:^1.1.10"
4795 checksum: b0af6728a739bc5f3f045df4471accacb791fcdbc29b2ea54038729e61ac2dd05c33231d9ce8486d32575f01eeb1268cf88d92d3d63fa0e8ab8078d6955ff6f2 4857 checksum: a16f8a01bef76922e75984bd33e38dff931c512d8bb7b8e994898643513fbfedfd7c270f375d4a9c41819c5161b23d9e7fff6c9cbcbd97189a97c1f934a3f7c0
4796 languageName: node 4858 languageName: node
4797 linkType: hard 4859 linkType: hard
4798 4860
@@ -4838,7 +4900,7 @@ __metadata:
4838 languageName: node 4900 languageName: node
4839 linkType: hard 4901 linkType: hard
4840 4902
4841"is-core-module@npm:^2.10.0, is-core-module@npm:^2.11.0, is-core-module@npm:^2.9.0": 4903"is-core-module@npm:^2.11.0, is-core-module@npm:^2.9.0":
4842 version: 2.11.0 4904 version: 2.11.0
4843 resolution: "is-core-module@npm:2.11.0" 4905 resolution: "is-core-module@npm:2.11.0"
4844 dependencies: 4906 dependencies:
@@ -4917,11 +4979,11 @@ __metadata:
4917 linkType: hard 4979 linkType: hard
4918 4980
4919"is-number-object@npm:^1.0.4": 4981"is-number-object@npm:^1.0.4":
4920 version: 1.0.6 4982 version: 1.0.7
4921 resolution: "is-number-object@npm:1.0.6" 4983 resolution: "is-number-object@npm:1.0.7"
4922 dependencies: 4984 dependencies:
4923 has-tostringtag: "npm:^1.0.0" 4985 has-tostringtag: "npm:^1.0.0"
4924 checksum: da78381e641f96531851cb9092a8a19c655effb5591a9ab15b16b3fd6f3a86430c1abc3f72e88cced238baa0d2836eca242efe48a3ee3877a38587977ab14874 4986 checksum: fd67ff18bad5c64ce2054a03d92c9f264f0f0cd197ea6951207c3dd1b9bea5b40e933be440e7673ea2f1e2a6b265c1842651c94c12d16efd84bbe9310d9cc600
4925 languageName: node 4987 languageName: node
4926 linkType: hard 4988 linkType: hard
4927 4989
@@ -5004,7 +5066,7 @@ __metadata:
5004 languageName: node 5066 languageName: node
5005 linkType: hard 5067 linkType: hard
5006 5068
5007"is-typed-array@npm:^1.1.10": 5069"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9":
5008 version: 1.1.10 5070 version: 1.1.10
5009 resolution: "is-typed-array@npm:1.1.10" 5071 resolution: "is-typed-array@npm:1.1.10"
5010 dependencies: 5072 dependencies:
@@ -5092,9 +5154,9 @@ __metadata:
5092 linkType: hard 5154 linkType: hard
5093 5155
5094"js-sdsl@npm:^4.1.4": 5156"js-sdsl@npm:^4.1.4":
5095 version: 4.1.4 5157 version: 4.4.0
5096 resolution: "js-sdsl@npm:4.1.4" 5158 resolution: "js-sdsl@npm:4.4.0"
5097 checksum: bf97179276b433ff4f138bd53fe411549893999f5571cc0da7cc5d16bc24cd50631bad83a61c32ed7e6f4ded7cc2ae06ad5ad4d56e05ed70d5c6993fc4553c41 5159 checksum: 8c85413f74e8bce8390d49474c8b0ff9d99626bd913ab41ad36f92ad297b89c50198daca84ff56bfb0dd1d5b4e64abfbd0e3ea8b016739dc64b5f076784d3b79
5098 languageName: node 5160 languageName: node
5099 linkType: hard 5161 linkType: hard
5100 5162
@@ -5169,7 +5231,7 @@ __metadata:
5169 languageName: node 5231 languageName: node
5170 linkType: hard 5232 linkType: hard
5171 5233
5172"json5@npm:^1.0.1": 5234"json5@npm:^1.0.2":
5173 version: 1.0.2 5235 version: 1.0.2
5174 resolution: "json5@npm:1.0.2" 5236 resolution: "json5@npm:1.0.2"
5175 dependencies: 5237 dependencies:
@@ -5220,9 +5282,9 @@ __metadata:
5220 linkType: hard 5282 linkType: hard
5221 5283
5222"language-subtag-registry@npm:~0.3.2": 5284"language-subtag-registry@npm:~0.3.2":
5223 version: 0.3.21 5285 version: 0.3.22
5224 resolution: "language-subtag-registry@npm:0.3.21" 5286 resolution: "language-subtag-registry@npm:0.3.22"
5225 checksum: 52e0593bc0b1d69d487339961458bd89a76ddbfac23ffe973fcadad64bd305b20880b2f159b93283cb3593869cc1d7a480548b3eb665be276c5d49d892ff98a0 5287 checksum: 5d97350e417c3e06add9d30a7d39f40885578fa06210e9e07ca2eb527b580a16842bfc76ab1a71a7891d3f908a2928d335a8d8712f0049a183ebe2d4d60fee56
5226 languageName: node 5288 languageName: node
5227 linkType: hard 5289 linkType: hard
5228 5290
@@ -5346,6 +5408,13 @@ __metadata:
5346 languageName: node 5408 languageName: node
5347 linkType: hard 5409 linkType: hard
5348 5410
5411"lru-cache@npm:^7.7.1":
5412 version: 7.18.3
5413 resolution: "lru-cache@npm:7.18.3"
5414 checksum: 884c7cb51963cc45bc0d864c704d141c904c93db1bbc236be0eed759e35fc44b5e794a34b0666e193926e5a4320b66e787b1cf531f4f89ed8514a97156f07cb1
5415 languageName: node
5416 linkType: hard
5417
5349"magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": 5418"magic-string@npm:^0.25.0, magic-string@npm:^0.25.7":
5350 version: 0.25.9 5419 version: 0.25.9
5351 resolution: "magic-string@npm:0.25.9" 5420 resolution: "magic-string@npm:0.25.9"
@@ -5364,27 +5433,27 @@ __metadata:
5364 languageName: node 5433 languageName: node
5365 linkType: hard 5434 linkType: hard
5366 5435
5367"make-fetch-happen@npm:^9.1.0": 5436"make-fetch-happen@npm:^10.0.3":
5368 version: 9.1.0 5437 version: 10.2.1
5369 resolution: "make-fetch-happen@npm:9.1.0" 5438 resolution: "make-fetch-happen@npm:10.2.1"
5370 dependencies: 5439 dependencies:
5371 agentkeepalive: "npm:^4.1.3" 5440 agentkeepalive: "npm:^4.2.1"
5372 cacache: "npm:^15.2.0" 5441 cacache: "npm:^16.1.0"
5373 http-cache-semantics: "npm:^4.1.0" 5442 http-cache-semantics: "npm:^4.1.0"
5374 http-proxy-agent: "npm:^4.0.1" 5443 http-proxy-agent: "npm:^5.0.0"
5375 https-proxy-agent: "npm:^5.0.0" 5444 https-proxy-agent: "npm:^5.0.0"
5376 is-lambda: "npm:^1.0.1" 5445 is-lambda: "npm:^1.0.1"
5377 lru-cache: "npm:^6.0.0" 5446 lru-cache: "npm:^7.7.1"
5378 minipass: "npm:^3.1.3" 5447 minipass: "npm:^3.1.6"
5379 minipass-collect: "npm:^1.0.2" 5448 minipass-collect: "npm:^1.0.2"
5380 minipass-fetch: "npm:^1.3.2" 5449 minipass-fetch: "npm:^2.0.3"
5381 minipass-flush: "npm:^1.0.5" 5450 minipass-flush: "npm:^1.0.5"
5382 minipass-pipeline: "npm:^1.2.4" 5451 minipass-pipeline: "npm:^1.2.4"
5383 negotiator: "npm:^0.6.2" 5452 negotiator: "npm:^0.6.3"
5384 promise-retry: "npm:^2.0.1" 5453 promise-retry: "npm:^2.0.1"
5385 socks-proxy-agent: "npm:^6.0.0" 5454 socks-proxy-agent: "npm:^7.0.0"
5386 ssri: "npm:^8.0.0" 5455 ssri: "npm:^9.0.0"
5387 checksum: b2458728fe9e4db3bd1624b8385bf30b20d42b456a2eca7623306b37b08e5eb0ee4420e618d8382b6988c9cf808ff94f1f66c2f036afe09f4b1d5e062cd6e5ea 5456 checksum: cf0d4b94fb0b022d41373fe7ce0f2a170a7c2668c7404f985c4fa6fe465c24cc3d1a6a84e0a6d4b2cd60cf7d41ec26cc5205d258e15f06c33179c14a31a5e4bd
5388 languageName: node 5457 languageName: node
5389 linkType: hard 5458 linkType: hard
5390 5459
@@ -5422,18 +5491,18 @@ __metadata:
5422 linkType: hard 5491 linkType: hard
5423 5492
5424"minimatch@npm:^5.0.1": 5493"minimatch@npm:^5.0.1":
5425 version: 5.1.0 5494 version: 5.1.6
5426 resolution: "minimatch@npm:5.1.0" 5495 resolution: "minimatch@npm:5.1.6"
5427 dependencies: 5496 dependencies:
5428 brace-expansion: "npm:^2.0.1" 5497 brace-expansion: "npm:^2.0.1"
5429 checksum: cf8124b47d19be2d6a4b2cab80114999239ab6a01062e2f0abe666b779de120b6f85ed9a73e3a27b61fa088fb45957929a8fcc727bd20de829d3e4e659ad01ff 5498 checksum: 0c0446ede579b1736bfea4efb288c2dea17ce80fd0339d00547625ed97a60ed403c7c2fb141211119937a811bc635b3f0f44debeb9d7870b3f58cf0fe78ddccc
5430 languageName: node 5499 languageName: node
5431 linkType: hard 5500 linkType: hard
5432 5501
5433"minimist@npm:^1.2.0, minimist@npm:^1.2.6": 5502"minimist@npm:^1.2.0, minimist@npm:^1.2.6":
5434 version: 1.2.6 5503 version: 1.2.8
5435 resolution: "minimist@npm:1.2.6" 5504 resolution: "minimist@npm:1.2.8"
5436 checksum: b0286df020a110fa0173e71d8c9903748eb2cc939396d04a61bc224635393c564bc264d04a16e36d51e5489be513f98d7dbe5c2cf11598da11c91f6a18b9449e 5505 checksum: 8598f846f2b7546b22b01ce486df27da216a302367afe17f2a032da12fcb8d33bfbf2c523051230864abf0b806748bd60d4cd0863fae35fe104da1ff6194a185
5437 languageName: node 5506 languageName: node
5438 linkType: hard 5507 linkType: hard
5439 5508
@@ -5446,18 +5515,18 @@ __metadata:
5446 languageName: node 5515 languageName: node
5447 linkType: hard 5516 linkType: hard
5448 5517
5449"minipass-fetch@npm:^1.3.2": 5518"minipass-fetch@npm:^2.0.3":
5450 version: 1.4.1 5519 version: 2.1.2
5451 resolution: "minipass-fetch@npm:1.4.1" 5520 resolution: "minipass-fetch@npm:2.1.2"
5452 dependencies: 5521 dependencies:
5453 encoding: "npm:^0.1.12" 5522 encoding: "npm:^0.1.13"
5454 minipass: "npm:^3.1.0" 5523 minipass: "npm:^3.1.6"
5455 minipass-sized: "npm:^1.0.3" 5524 minipass-sized: "npm:^1.0.3"
5456 minizlib: "npm:^2.0.0" 5525 minizlib: "npm:^2.1.2"
5457 dependenciesMeta: 5526 dependenciesMeta:
5458 encoding: 5527 encoding:
5459 optional: true 5528 optional: true
5460 checksum: e9e37b5688791c97f4d56a7fd93c8930e0a26dce98274ff9b48f4a5e18db994884c7cc34060c8c5d2ccfd6d6711307ee2b81725ae81e0676c94867c9357e89ba 5529 checksum: 8ec17c0895d8890b863bbdf860e25bc2f81580c0bbc2cfc05d220f8b5bc255203ee1931f54821e299fd1d5a53d63bfaca20a813a2f45e881423d096c24940366
5461 languageName: node 5530 languageName: node
5462 linkType: hard 5531 linkType: hard
5463 5532
@@ -5470,7 +5539,7 @@ __metadata:
5470 languageName: node 5539 languageName: node
5471 linkType: hard 5540 linkType: hard
5472 5541
5473"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": 5542"minipass-pipeline@npm:^1.2.4":
5474 version: 1.2.4 5543 version: 1.2.4
5475 resolution: "minipass-pipeline@npm:1.2.4" 5544 resolution: "minipass-pipeline@npm:1.2.4"
5476 dependencies: 5545 dependencies:
@@ -5488,16 +5557,23 @@ __metadata:
5488 languageName: node 5557 languageName: node
5489 linkType: hard 5558 linkType: hard
5490 5559
5491"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": 5560"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6":
5492 version: 3.1.6 5561 version: 3.3.6
5493 resolution: "minipass@npm:3.1.6" 5562 resolution: "minipass@npm:3.3.6"
5494 dependencies: 5563 dependencies:
5495 yallist: "npm:^4.0.0" 5564 yallist: "npm:^4.0.0"
5496 checksum: 352a2f87eca475d11c9a486233a2d2c19ce1425309370f42545ca934345bb95ec42a6f0b1e9ac4ee81b7f0046d6cc701feccf7243571d34e655b50c2534ffca6 5565 checksum: 9704cf677a05e82174c1a0765260f877ce3b4f09858b6c80a07a38a41ff661a2913a482f82faa73b89fc23ee3bcc4cff04d7e8ce6951de4fc2c2108d360b6f1f
5566 languageName: node
5567 linkType: hard
5568
5569"minipass@npm:^4.0.0":
5570 version: 4.2.5
5571 resolution: "minipass@npm:4.2.5"
5572 checksum: 9663cd373005095bc6b9f1c779e6beef3269e171a4049c2c6532ae430dea93647bfa6cf4fab43fc908f9e8ad333a3dbaadca20c15eb4ba9b697c764b7be90d65
5497 languageName: node 5573 languageName: node
5498 linkType: hard 5574 linkType: hard
5499 5575
5500"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1": 5576"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
5501 version: 2.1.2 5577 version: 2.1.2
5502 resolution: "minizlib@npm:2.1.2" 5578 resolution: "minizlib@npm:2.1.2"
5503 dependencies: 5579 dependencies:
@@ -5516,9 +5592,9 @@ __metadata:
5516 languageName: node 5592 languageName: node
5517 linkType: hard 5593 linkType: hard
5518 5594
5519"mobx-react-lite@npm:^3.4.0": 5595"mobx-react-lite@npm:^3.4.3":
5520 version: 3.4.0 5596 version: 3.4.3
5521 resolution: "mobx-react-lite@npm:3.4.0" 5597 resolution: "mobx-react-lite@npm:3.4.3"
5522 peerDependencies: 5598 peerDependencies:
5523 mobx: ^6.1.0 5599 mobx: ^6.1.0
5524 react: ^16.8.0 || ^17 || ^18 5600 react: ^16.8.0 || ^17 || ^18
@@ -5527,14 +5603,14 @@ __metadata:
5527 optional: true 5603 optional: true
5528 react-native: 5604 react-native:
5529 optional: true 5605 optional: true
5530 checksum: 7363315f2e566c7e601bdad118f1a64534226941deb937c5ee7ce09dc7d59f960653f54b31528757757463c1cc32471460098f9875801f8c78506e6bffee7390 5606 checksum: d7291f504c95e4f83ffca732698c58ec1acee0fc882ffabade5ac29d2f04ff44fc5a027dd7787ebd5ca3be795cf19c5b43b715948d972b685adf89d8826ec1f6
5531 languageName: node 5607 languageName: node
5532 linkType: hard 5608 linkType: hard
5533 5609
5534"mobx@npm:^6.7.0": 5610"mobx@npm:^6.9.0":
5535 version: 6.7.0 5611 version: 6.9.0
5536 resolution: "mobx@npm:6.7.0" 5612 resolution: "mobx@npm:6.9.0"
5537 checksum: d74a61a4becb421c6b9822807188048386b800a71e153a524906dcd7425932c7a25216781f89fe443cc264983a99e2bfe1f4f3e53a899d84015aeb0a4f69c285 5613 checksum: 8e4899424940d3e0e46621ad003c4f629d981fc72873fe3cb2cd01e4e0359895a0ee9c78aa975981dec7e69977dd463b6f8c8c30303bb1169e3d42bec759a32f
5538 languageName: node 5614 languageName: node
5539 linkType: hard 5615 linkType: hard
5540 5616
@@ -5553,20 +5629,20 @@ __metadata:
5553 linkType: hard 5629 linkType: hard
5554 5630
5555"nanoid@npm:^3.3.4": 5631"nanoid@npm:^3.3.4":
5556 version: 3.3.4 5632 version: 3.3.6
5557 resolution: "nanoid@npm:3.3.4" 5633 resolution: "nanoid@npm:3.3.6"
5558 bin: 5634 bin:
5559 nanoid: bin/nanoid.cjs 5635 nanoid: bin/nanoid.cjs
5560 checksum: 53d605377c76614170df4b5a8d3fa21f13c7077453a77e2393a9fe3df5722022f6b94a671f406b51f81e9c937a6928555c1589e3c46a0d9d29f31872d1362246 5636 checksum: c6f3fad3b9132b17f72f9ca018ff12caf5a9fd474d08881156deffe7c77cc76220e49610232e570e2a33e3aa941214c08634762390a87b1fb9816d6108aa9e64
5561 languageName: node 5637 languageName: node
5562 linkType: hard 5638 linkType: hard
5563 5639
5564"nanoid@npm:^4.0.0": 5640"nanoid@npm:^4.0.2":
5565 version: 4.0.0 5641 version: 4.0.2
5566 resolution: "nanoid@npm:4.0.0" 5642 resolution: "nanoid@npm:4.0.2"
5567 bin: 5643 bin:
5568 nanoid: bin/nanoid.js 5644 nanoid: bin/nanoid.js
5569 checksum: b6263a2a2425999b5aecabd18b25442ae4ef13048b2809ff173e0b0066f376b6fb2605d423763d1d26512cb095e71beee3d8b927f984603e05e169e171d8f6f0 5645 checksum: 0e28bade6b10396bc0936980c7569e9710341b3dd8775bcd0645b7d23f59ff64e59c4413f48836bc336711ef1cc4f61f6453946a3bf69c4c235fab9d221f9216
5570 languageName: node 5646 languageName: node
5571 linkType: hard 5647 linkType: hard
5572 5648
@@ -5584,7 +5660,7 @@ __metadata:
5584 languageName: node 5660 languageName: node
5585 linkType: hard 5661 linkType: hard
5586 5662
5587"negotiator@npm:^0.6.2": 5663"negotiator@npm:^0.6.3":
5588 version: 0.6.3 5664 version: 0.6.3
5589 resolution: "negotiator@npm:0.6.3" 5665 resolution: "negotiator@npm:0.6.3"
5590 checksum: d8e3b42d99638b1f363ce114c98e6906ade395c230058e50644417bd398b01381133dbca4bc49f30f6b1c93254e4b5a2d50cc47adcdabf2a8476b6f16311ad5d 5666 checksum: d8e3b42d99638b1f363ce114c98e6906ade395c230058e50644417bd398b01381133dbca4bc49f30f6b1c93254e4b5a2d50cc47adcdabf2a8476b6f16311ad5d
@@ -5602,14 +5678,14 @@ __metadata:
5602 linkType: hard 5678 linkType: hard
5603 5679
5604"node-gyp@npm:latest": 5680"node-gyp@npm:latest":
5605 version: 8.4.1 5681 version: 9.3.1
5606 resolution: "node-gyp@npm:8.4.1" 5682 resolution: "node-gyp@npm:9.3.1"
5607 dependencies: 5683 dependencies:
5608 env-paths: "npm:^2.2.0" 5684 env-paths: "npm:^2.2.0"
5609 glob: "npm:^7.1.4" 5685 glob: "npm:^7.1.4"
5610 graceful-fs: "npm:^4.2.6" 5686 graceful-fs: "npm:^4.2.6"
5611 make-fetch-happen: "npm:^9.1.0" 5687 make-fetch-happen: "npm:^10.0.3"
5612 nopt: "npm:^5.0.0" 5688 nopt: "npm:^6.0.0"
5613 npmlog: "npm:^6.0.0" 5689 npmlog: "npm:^6.0.0"
5614 rimraf: "npm:^3.0.2" 5690 rimraf: "npm:^3.0.2"
5615 semver: "npm:^7.3.5" 5691 semver: "npm:^7.3.5"
@@ -5617,25 +5693,25 @@ __metadata:
5617 which: "npm:^2.0.2" 5693 which: "npm:^2.0.2"
5618 bin: 5694 bin:
5619 node-gyp: bin/node-gyp.js 5695 node-gyp: bin/node-gyp.js
5620 checksum: 9dc3f289bf1eb3ef62242d5476db4d3a6010aaa74f56f545bde897caf1f3d581ada85b704f346734ce46da4fad2d5ca2e37501ea32065fc44e92470f0a6c91e4 5696 checksum: 40aca5b9b3cc5715d5407101d69826927db9a2cf140f113ac52e239a10b15fbae277844ff815c05bcaa9c9fc5256e4e23b3ce3bdace573429d929e3b5df99845
5621 languageName: node 5697 languageName: node
5622 linkType: hard 5698 linkType: hard
5623 5699
5624"node-releases@npm:^2.0.6": 5700"node-releases@npm:^2.0.8":
5625 version: 2.0.6 5701 version: 2.0.10
5626 resolution: "node-releases@npm:2.0.6" 5702 resolution: "node-releases@npm:2.0.10"
5627 checksum: 6d4a77d1566d9cf13d835bb2a9c4080c667417353260ba69092d570313c492772a030b5733f52838d90608e6ad558ab969673c67bc948e29143e527661e265b3 5703 checksum: 2047e77c66497fde77318ac163feb8ee18a3bca67c87b76642aeb0549bd01edcc88d7e002691b982513ebb46c809c456c7e027e38848ce9d2f915473552490b6
5628 languageName: node 5704 languageName: node
5629 linkType: hard 5705 linkType: hard
5630 5706
5631"nopt@npm:^5.0.0": 5707"nopt@npm:^6.0.0":
5632 version: 5.0.0 5708 version: 6.0.0
5633 resolution: "nopt@npm:5.0.0" 5709 resolution: "nopt@npm:6.0.0"
5634 dependencies: 5710 dependencies:
5635 abbrev: "npm:1" 5711 abbrev: "npm:^1.0.0"
5636 bin: 5712 bin:
5637 nopt: bin/nopt.js 5713 nopt: bin/nopt.js
5638 checksum: cb0f3672738e989b12d8459f30366e8a89f79462581a09816cbbd575e272bc0ae2a135ac0b60647748be64100787d631cd0ac18157d519021336ae277e3362a3 5714 checksum: 6ae5c083c5b205d0850f3b00c093cb0b1d4fb28fb69c68c3f933048e666695b1f218db6a4a7f61a4bae2f127268f526a7f2764223208e4dd527c51c56c49a5c7
5639 languageName: node 5715 languageName: node
5640 linkType: hard 5716 linkType: hard
5641 5717
@@ -5646,36 +5722,28 @@ __metadata:
5646 languageName: node 5722 languageName: node
5647 linkType: hard 5723 linkType: hard
5648 5724
5649"notistack@npm:^2.0.8": 5725"notistack@npm:^3.0.1":
5650 version: 2.0.8 5726 version: 3.0.1
5651 resolution: "notistack@npm:2.0.8" 5727 resolution: "notistack@npm:3.0.1"
5652 dependencies: 5728 dependencies:
5653 clsx: "npm:^1.1.0" 5729 clsx: "npm:^1.1.0"
5654 hoist-non-react-statics: "npm:^3.3.0" 5730 goober: "npm:^2.0.33"
5655 peerDependencies: 5731 peerDependencies:
5656 "@emotion/react": ^11.4.1
5657 "@emotion/styled": ^11.3.0
5658 "@mui/material": ^5.0.0
5659 react: ^16.8.0 || ^17.0.0 || ^18.0.0 5732 react: ^16.8.0 || ^17.0.0 || ^18.0.0
5660 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 5733 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
5661 peerDependenciesMeta: 5734 checksum: 2b9f69de8544089501a7b762ca64483eb93b95b1bf4448bc0b2576c9b1aaa44e7f2ea671220a11fb818f2826fe7bb80271b76b3735f7608fef8643394676fc09
5662 "@emotion/react":
5663 optional: true
5664 "@emotion/styled":
5665 optional: true
5666 checksum: f64e6232127f03e7b2e9b40cbd2f0893bda586359ba6c8bb368ee2520745f14d956076aa0aff2b07f31795a693247da37eaee1e6f5b4170a7cfa7b11bbe4bb3d
5667 languageName: node 5735 languageName: node
5668 linkType: hard 5736 linkType: hard
5669 5737
5670"npmlog@npm:^6.0.0": 5738"npmlog@npm:^6.0.0":
5671 version: 6.0.0 5739 version: 6.0.2
5672 resolution: "npmlog@npm:6.0.0" 5740 resolution: "npmlog@npm:6.0.2"
5673 dependencies: 5741 dependencies:
5674 are-we-there-yet: "npm:^2.0.0" 5742 are-we-there-yet: "npm:^3.0.0"
5675 console-control-strings: "npm:^1.1.0" 5743 console-control-strings: "npm:^1.1.0"
5676 gauge: "npm:^4.0.0" 5744 gauge: "npm:^4.0.3"
5677 set-blocking: "npm:^2.0.0" 5745 set-blocking: "npm:^2.0.0"
5678 checksum: 3a7b5b27a201953d468fd78c201b2326dec106bef62b523fb7c5ad070f7f96d3b0e1d97b65ced4d6564e3a116beb515e1a78cb285b8b65a63f5bf6c8751e90cf 5746 checksum: c04307b2991f128df6f3bb71c36fa56a65397f56f02a565ed269786ecd5609818e6cae36de3371555e52fdf049a5649a3591ac3bb432a2a0146d67093c4be93c
5679 languageName: node 5747 languageName: node
5680 linkType: hard 5748 linkType: hard
5681 5749
@@ -5686,10 +5754,10 @@ __metadata:
5686 languageName: node 5754 languageName: node
5687 linkType: hard 5755 linkType: hard
5688 5756
5689"object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": 5757"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0":
5690 version: 1.12.2 5758 version: 1.12.3
5691 resolution: "object-inspect@npm:1.12.2" 5759 resolution: "object-inspect@npm:1.12.3"
5692 checksum: 46e3fc4cb6a51a37c21c68bdf682befc2e50a0d1643d1f7cbdce9a5fd13e9d44ae8cbbf1b05f0c8daf739c02eb9044d825544e25c3aef2a7d315980c8c7ccb71 5760 checksum: 052c374ab0a4c85201480374c1039dddac0aaa8ef0fcbe1b04026f4c832c5632db6cb63617d6403b2b9dca08d4302d781aeb6c4d0260de4a84118ecaf1b5ebda
5693 languageName: node 5761 languageName: node
5694 linkType: hard 5762 linkType: hard
5695 5763
@@ -5775,13 +5843,13 @@ __metadata:
5775 linkType: hard 5843 linkType: hard
5776 5844
5777"open@npm:^8.4.0": 5845"open@npm:^8.4.0":
5778 version: 8.4.0 5846 version: 8.4.2
5779 resolution: "open@npm:8.4.0" 5847 resolution: "open@npm:8.4.2"
5780 dependencies: 5848 dependencies:
5781 define-lazy-prop: "npm:^2.0.0" 5849 define-lazy-prop: "npm:^2.0.0"
5782 is-docker: "npm:^2.1.1" 5850 is-docker: "npm:^2.1.1"
5783 is-wsl: "npm:^2.2.0" 5851 is-wsl: "npm:^2.2.0"
5784 checksum: 287db1bc10b3927b247d7c125d3ef998c410f57f434619a9d93f3e1384ff025ef12c18c1cfde1cb8f23f1326fb2bfe2634c789737bb65c18183015b5de81f594 5852 checksum: 132803ca71c3bb0f66bd2db969efbb9a2511d05588c02f7141dd346e74ca817dc605a28ab1426bbeb8cb43c9deb9697bbbe26ad5a8488603677c70c4b84959bd
5785 languageName: node 5853 languageName: node
5786 linkType: hard 5854 linkType: hard
5787 5855
@@ -5943,12 +6011,12 @@ __metadata:
5943 languageName: node 6011 languageName: node
5944 linkType: hard 6012 linkType: hard
5945 6013
5946"prettier@npm:^2.8.3": 6014"prettier@npm:^2.8.7":
5947 version: 2.8.3 6015 version: 2.8.7
5948 resolution: "prettier@npm:2.8.3" 6016 resolution: "prettier@npm:2.8.7"
5949 bin: 6017 bin:
5950 prettier: bin-prettier.js 6018 prettier: bin-prettier.js
5951 checksum: 9daf1c05e07337a96fec26b5518ce787e4f98bfd1a5eb72af988cf123ea7ed56584f10c0cc4fc3073bf9504d157a8604d93a8e17752c483ae114614a0c557b36 6019 checksum: ec15b2e0a2a34a4987cca4ee72b2df56c7f4a4c62322d9a0f3c9efccb2cc0e3efdb791bb2764f2268e69e05946dc72108e5b5957d4bb2c1a41a11733b8b09153
5952 languageName: node 6020 languageName: node
5953 linkType: hard 6021 linkType: hard
5954 6022
@@ -5960,9 +6028,9 @@ __metadata:
5960 linkType: hard 6028 linkType: hard
5961 6029
5962"pretty-bytes@npm:^6.0.0": 6030"pretty-bytes@npm:^6.0.0":
5963 version: 6.0.0 6031 version: 6.1.0
5964 resolution: "pretty-bytes@npm:6.0.0" 6032 resolution: "pretty-bytes@npm:6.1.0"
5965 checksum: 9033b687324fe83d1a74b2c69637e4eb26693da76010a3446bb24bdec1508106ed930fcfe61a7661a227c32ea2e499b1aa0493fe370c844dfb329e4c7c3ff0ff 6033 checksum: 6c2df1578394426e89388c1b482138480b9468daa618ceb8c974d0048ea3002d28dc80d61553be978aedaf67b2b2909a1d10280f9d00bb9ff693b088db44e3e1
5966 languageName: node 6034 languageName: node
5967 linkType: hard 6035 linkType: hard
5968 6036
@@ -5995,9 +6063,9 @@ __metadata:
5995 linkType: hard 6063 linkType: hard
5996 6064
5997"punycode@npm:^2.1.0": 6065"punycode@npm:^2.1.0":
5998 version: 2.1.1 6066 version: 2.3.0
5999 resolution: "punycode@npm:2.1.1" 6067 resolution: "punycode@npm:2.3.0"
6000 checksum: fd728ef9db90e7b4db37d5c4937d6c6302cf4f64748b2dea3abbf1efd21e6193bb670efb7814766c858b2e1ccdb65ce34e44b498d734922e1dcb2a8623a925d8 6068 checksum: c2b408c805927a6614ef581bd3d00deca1fef9f2da0ec95cecaedf6a985d8596a29e931e31f80f7313f94257895f9ac6cf4c2ae81cdca04964daf9c3c3d221c1
6001 languageName: node 6069 languageName: node
6002 linkType: hard 6070 linkType: hard
6003 6071
@@ -6068,13 +6136,13 @@ __metadata:
6068 linkType: hard 6136 linkType: hard
6069 6137
6070"readable-stream@npm:^3.6.0": 6138"readable-stream@npm:^3.6.0":
6071 version: 3.6.0 6139 version: 3.6.2
6072 resolution: "readable-stream@npm:3.6.0" 6140 resolution: "readable-stream@npm:3.6.2"
6073 dependencies: 6141 dependencies:
6074 inherits: "npm:^2.0.3" 6142 inherits: "npm:^2.0.3"
6075 string_decoder: "npm:^1.1.1" 6143 string_decoder: "npm:^1.1.1"
6076 util-deprecate: "npm:^1.0.1" 6144 util-deprecate: "npm:^1.0.1"
6077 checksum: bda7b24d3910bf0ec4a1df3c540e1b97b1ed3ca49ea0ddc0d2c6bf29d3997251a7244608de1d842555641d1c115d9b3566167fef9225ee6ef147c9e6a539395b 6145 checksum: b1cbe0fea6b407fc75bfbe4f6c54d48899e638d54a8a1207b5040c60566dd5f65059b32c3edf0ac0ce621ea46929b3337e8a19410870eff98b8be5a3ba543b7a
6078 languageName: node 6146 languageName: node
6079 linkType: hard 6147 linkType: hard
6080 6148
@@ -6099,12 +6167,12 @@ __metadata:
6099 languageName: node 6167 languageName: node
6100 linkType: hard 6168 linkType: hard
6101 6169
6102"regenerate-unicode-properties@npm:^10.0.1": 6170"regenerate-unicode-properties@npm:^10.1.0":
6103 version: 10.0.1 6171 version: 10.1.0
6104 resolution: "regenerate-unicode-properties@npm:10.0.1" 6172 resolution: "regenerate-unicode-properties@npm:10.1.0"
6105 dependencies: 6173 dependencies:
6106 regenerate: "npm:^1.4.2" 6174 regenerate: "npm:^1.4.2"
6107 checksum: 551c4eb58bcde309e942b2e721271d07c728381456cb86a98c522e73e47a95b91d07bd7d932d38b7444f3e5d348242b005f87217d9ac0c496ebb66d87cefb23e 6175 checksum: 8abc8d628a7b4733e69a6e113e79fee348d2cecade5b9a65442167ca17410c1aea5213ac4f5e1b7897013b6bae98238703fda09303acd763a6e5eaf849cc0830
6108 languageName: node 6176 languageName: node
6109 linkType: hard 6177 linkType: hard
6110 6178
@@ -6123,11 +6191,11 @@ __metadata:
6123 linkType: hard 6191 linkType: hard
6124 6192
6125"regenerator-transform@npm:^0.15.0": 6193"regenerator-transform@npm:^0.15.0":
6126 version: 0.15.0 6194 version: 0.15.1
6127 resolution: "regenerator-transform@npm:0.15.0" 6195 resolution: "regenerator-transform@npm:0.15.1"
6128 dependencies: 6196 dependencies:
6129 "@babel/runtime": "npm:^7.8.4" 6197 "@babel/runtime": "npm:^7.8.4"
6130 checksum: 275bd346e27f3f3e3940ef27ff10fce579941d13be545465649860b3e9d01304ef39d3045a0a7fd70a0d48bac28ccc4ef054cd126b2c5cd473093c31fc8f995f 6198 checksum: a3e4421b918fa650962898274588073dce1c49eb08d3a9b3dd7a4859c17cf362c72e5ae23dffef493d44c26cda2ac56ab3c47ad5b9874e2709f6c67c36b52391
6131 languageName: node 6199 languageName: node
6132 linkType: hard 6200 linkType: hard
6133 6201
@@ -6142,42 +6210,28 @@ __metadata:
6142 languageName: node 6210 languageName: node
6143 linkType: hard 6211 linkType: hard
6144 6212
6145"regexpp@npm:^3.2.0":
6146 version: 3.2.0
6147 resolution: "regexpp@npm:3.2.0"
6148 checksum: b171774d3380c053d3bd4af6b4f60f2e28c837dd4daeafb183d656e2f439dc606ee428bb44f14cbaa5a715524d2e8d88d168817445b4156d1ea06337f29eb405
6149 languageName: node
6150 linkType: hard
6151
6152"regexpu-core@npm:^5.1.0": 6213"regexpu-core@npm:^5.1.0":
6153 version: 5.1.0 6214 version: 5.3.2
6154 resolution: "regexpu-core@npm:5.1.0" 6215 resolution: "regexpu-core@npm:5.3.2"
6155 dependencies: 6216 dependencies:
6217 "@babel/regjsgen": "npm:^0.8.0"
6156 regenerate: "npm:^1.4.2" 6218 regenerate: "npm:^1.4.2"
6157 regenerate-unicode-properties: "npm:^10.0.1" 6219 regenerate-unicode-properties: "npm:^10.1.0"
6158 regjsgen: "npm:^0.6.0" 6220 regjsparser: "npm:^0.9.1"
6159 regjsparser: "npm:^0.8.2"
6160 unicode-match-property-ecmascript: "npm:^2.0.0" 6221 unicode-match-property-ecmascript: "npm:^2.0.0"
6161 unicode-match-property-value-ecmascript: "npm:^2.0.0" 6222 unicode-match-property-value-ecmascript: "npm:^2.1.0"
6162 checksum: eb3c2d2a9a85a3559e001c52c8f42cfea8cbbcebdc841e0f71a540fa92a3dcf0e1e24312269d01df1478f20a838b9051c66038281fe0426603c6fd1f408b621a 6223 checksum: bf3f31464f6f11161f6d19659abe771d69210ff148f7fb873074a1dc6a31f6494771e5424f6f9fb97fc708783fec5591efaa4bbc3943fac703775bb4653a39ad
6163 languageName: node
6164 linkType: hard
6165
6166"regjsgen@npm:^0.6.0":
6167 version: 0.6.0
6168 resolution: "regjsgen@npm:0.6.0"
6169 checksum: 194b4e28d881448023ffc08c06e2602e88115d44cdd38021bad5c5c77c18833598889c683859b87ca8d3fc20df37a8a124bfac0dbc98ca05fb44b9994a793f14
6170 languageName: node 6224 languageName: node
6171 linkType: hard 6225 linkType: hard
6172 6226
6173"regjsparser@npm:^0.8.2": 6227"regjsparser@npm:^0.9.1":
6174 version: 0.8.4 6228 version: 0.9.1
6175 resolution: "regjsparser@npm:0.8.4" 6229 resolution: "regjsparser@npm:0.9.1"
6176 dependencies: 6230 dependencies:
6177 jsesc: "npm:~0.5.0" 6231 jsesc: "npm:~0.5.0"
6178 bin: 6232 bin:
6179 regjsparser: bin/parser 6233 regjsparser: bin/parser
6180 checksum: 8d370d309ad77094d5b2fa57d5ccf9e37929f5d1ef7e5374eb233d8e470b5e41bbe150fad9629959393f57855ca0a54ea5472fc91e933f695adb17198382424f 6234 checksum: c706fb5d31aabd1951c0aa5fdfdb193bac82f9bec0e0ba77ab794e1260ec0589fdb270532387b8831124c9191ffccaf4eaceb7cd7df3f0be9572808d47c44266
6181 languageName: node 6235 languageName: node
6182 linkType: hard 6236 linkType: hard
6183 6237
@@ -6307,9 +6361,9 @@ __metadata:
6307 languageName: node 6361 languageName: node
6308 linkType: hard 6362 linkType: hard
6309 6363
6310"rollup@npm:^3.10.0, rollup@npm:^3.7.2": 6364"rollup@npm:^3.18.0, rollup@npm:^3.7.2":
6311 version: 3.12.1 6365 version: 3.20.2
6312 resolution: "rollup@npm:3.12.1" 6366 resolution: "rollup@npm:3.20.2"
6313 dependencies: 6367 dependencies:
6314 fsevents: "npm:~2.3.2" 6368 fsevents: "npm:~2.3.2"
6315 dependenciesMeta: 6369 dependenciesMeta:
@@ -6317,7 +6371,7 @@ __metadata:
6317 optional: true 6371 optional: true
6318 bin: 6372 bin:
6319 rollup: dist/bin/rollup 6373 rollup: dist/bin/rollup
6320 checksum: 9bf000f17910c383cbc3121dcb9e4c3814ea97939cfe817ef41dd19265a1214df2d77a0d612069ca6ad81d1df131c4910417dc892863bc6e3ff2b82ad15f37f9 6374 checksum: 170a0db203640593b9e500ca2c4a969ec0897154bf1bf9e354f6e6d2a1ee481791d360b9e80a61feff85407989c104b9cb37aab498c17ba58bdabf1940c50f80
6321 languageName: node 6375 languageName: node
6322 linkType: hard 6376 linkType: hard
6323 6377
@@ -6337,13 +6391,6 @@ __metadata:
6337 languageName: node 6391 languageName: node
6338 linkType: hard 6392 linkType: hard
6339 6393
6340"safe-buffer@npm:~5.1.1":
6341 version: 5.1.2
6342 resolution: "safe-buffer@npm:5.1.2"
6343 checksum: 86939c6de6b62c1d39b7da860a56d5e50ede9b0ab35a91b0620bff8a96f1f798084ff910059f605087c2c500dc23dfdf77ff5bc3bcc8d4d38e3d634de2e3e426
6344 languageName: node
6345 linkType: hard
6346
6347"safe-regex-test@npm:^1.0.0": 6394"safe-regex-test@npm:^1.0.0":
6348 version: 1.0.0 6395 version: 1.0.0
6349 resolution: "safe-regex-test@npm:1.0.0" 6396 resolution: "safe-regex-test@npm:1.0.0"
@@ -6371,15 +6418,6 @@ __metadata:
6371 languageName: node 6418 languageName: node
6372 linkType: hard 6419 linkType: hard
6373 6420
6374"semver@npm:7.0.0":
6375 version: 7.0.0
6376 resolution: "semver@npm:7.0.0"
6377 bin:
6378 semver: bin/semver.js
6379 checksum: c0b7fdd720c6ee955cd71172ef8d63f41976d70049f02aa7569edff0ab89846ee035e39c82f3733fd2af3285f6ca6e14c3778e8de84cd8ea6ec1a33c68bf072a
6380 languageName: node
6381 linkType: hard
6382
6383"semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": 6421"semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0":
6384 version: 6.3.0 6422 version: 6.3.0
6385 resolution: "semver@npm:6.3.0" 6423 resolution: "semver@npm:6.3.0"
@@ -6390,13 +6428,13 @@ __metadata:
6390 linkType: hard 6428 linkType: hard
6391 6429
6392"semver@npm:^7.3.5, semver@npm:^7.3.7": 6430"semver@npm:^7.3.5, semver@npm:^7.3.7":
6393 version: 7.3.7 6431 version: 7.3.8
6394 resolution: "semver@npm:7.3.7" 6432 resolution: "semver@npm:7.3.8"
6395 dependencies: 6433 dependencies:
6396 lru-cache: "npm:^6.0.0" 6434 lru-cache: "npm:^6.0.0"
6397 bin: 6435 bin:
6398 semver: bin/semver.js 6436 semver: bin/semver.js
6399 checksum: 67bcf24790dcba9c20b2cd4c8ade19eebbcb10c8868453570749b47b77bd5c7da503478997a7a3f663d5b2976ac39c545f38d2d9e7dfcc693cb87f4068f93f8e 6437 checksum: 94ad80ee14889020cb4a14d809fb99d16cbf4ff3dc7f4c564fc72efe2c5763a60090a1c16a9fd18ceeb1e993a1303a4d870c0a22f26adaf435b368b46a7d8462
6400 languageName: node 6438 languageName: node
6401 linkType: hard 6439 linkType: hard
6402 6440
@@ -6443,7 +6481,7 @@ __metadata:
6443 languageName: node 6481 languageName: node
6444 linkType: hard 6482 linkType: hard
6445 6483
6446"signal-exit@npm:^3.0.0": 6484"signal-exit@npm:^3.0.7":
6447 version: 3.0.7 6485 version: 3.0.7
6448 resolution: "signal-exit@npm:3.0.7" 6486 resolution: "signal-exit@npm:3.0.7"
6449 checksum: 5cf7525c55a72d8d104d914acf2e470f74b2c156197277ad7b331bc5de3d8790170fed3c82ff98c7c31adaa8ff941bfd5ba44f55171cbe8ed0e939fa82a8322a 6487 checksum: 5cf7525c55a72d8d104d914acf2e470f74b2c156197277ad7b331bc5de3d8790170fed3c82ff98c7c31adaa8ff941bfd5ba44f55171cbe8ed0e939fa82a8322a
@@ -6464,31 +6502,31 @@ __metadata:
6464 languageName: node 6502 languageName: node
6465 linkType: hard 6503 linkType: hard
6466 6504
6467"smart-buffer@npm:^4.1.0": 6505"smart-buffer@npm:^4.2.0":
6468 version: 4.2.0 6506 version: 4.2.0
6469 resolution: "smart-buffer@npm:4.2.0" 6507 resolution: "smart-buffer@npm:4.2.0"
6470 checksum: 898a5ce4651108164625916aa54b6f7c13e86279a31dd321737d27c4b795cfaaeb1c30417f8809029d80d20710d8a5045998afd35e0f1080b32648f5670aa99b 6508 checksum: 898a5ce4651108164625916aa54b6f7c13e86279a31dd321737d27c4b795cfaaeb1c30417f8809029d80d20710d8a5045998afd35e0f1080b32648f5670aa99b
6471 languageName: node 6509 languageName: node
6472 linkType: hard 6510 linkType: hard
6473 6511
6474"socks-proxy-agent@npm:^6.0.0": 6512"socks-proxy-agent@npm:^7.0.0":
6475 version: 6.1.1 6513 version: 7.0.0
6476 resolution: "socks-proxy-agent@npm:6.1.1" 6514 resolution: "socks-proxy-agent@npm:7.0.0"
6477 dependencies: 6515 dependencies:
6478 agent-base: "npm:^6.0.2" 6516 agent-base: "npm:^6.0.2"
6479 debug: "npm:^4.3.1" 6517 debug: "npm:^4.3.3"
6480 socks: "npm:^2.6.1" 6518 socks: "npm:^2.6.2"
6481 checksum: 94cd50706b762a25644f6733a9f557e87e590ac4546d7d4bfe3963724c931cadce3d393dc7ab7fd0ad872d42f9e16e2d2080950fe1324fdb6104377e5b9ec8ae 6519 checksum: d57c2c68a2c16a2ac0af30971e1c4899e80cab3bbe405fe2fa3fce26ccd007fe855110b97c0e6d96ddc56926e1e5927a868070cb09185a768d1ad8cbe1a68aa5
6482 languageName: node 6520 languageName: node
6483 linkType: hard 6521 linkType: hard
6484 6522
6485"socks@npm:^2.6.1": 6523"socks@npm:^2.6.2":
6486 version: 2.6.1 6524 version: 2.7.1
6487 resolution: "socks@npm:2.6.1" 6525 resolution: "socks@npm:2.7.1"
6488 dependencies: 6526 dependencies:
6489 ip: "npm:^1.1.5" 6527 ip: "npm:^2.0.0"
6490 smart-buffer: "npm:^4.1.0" 6528 smart-buffer: "npm:^4.2.0"
6491 checksum: 9bd84957676b7fcd88f6f70ef2a35d0d0b4f2fb4060c4fb70eac58b4629a22342daae2b9db4463283e420934c642b9357056bf71dc3181d345f1788feb9edc26 6529 checksum: a8026d6abfcd168a661240848f6989fbba66276e8fa97ff1cb1079c2f3c6907dcc8284fcbc4f6d3fee8d071afb4fc8313da7e5fbf6d8768f206347a671f1542b
6492 languageName: node 6530 languageName: node
6493 linkType: hard 6531 linkType: hard
6494 6532
@@ -6539,12 +6577,21 @@ __metadata:
6539 languageName: node 6577 languageName: node
6540 linkType: hard 6578 linkType: hard
6541 6579
6542"ssri@npm:^8.0.0, ssri@npm:^8.0.1": 6580"ssri@npm:^9.0.0":
6543 version: 8.0.1 6581 version: 9.0.1
6544 resolution: "ssri@npm:8.0.1" 6582 resolution: "ssri@npm:9.0.1"
6545 dependencies: 6583 dependencies:
6546 minipass: "npm:^3.1.1" 6584 minipass: "npm:^3.1.1"
6547 checksum: b004b327d00f6ef93089a79c8d5822b991c007438e3134368f9540d89c43614df80461f3ed6273c8d3f30846cdc979e8d35b5ef8a8affb13cff2910cd81bd6be 6585 checksum: ec9e6fbb74ccb030391fc33aa1a8373014f1cdde570e389cf25f201604d6889035fc8b4409a6e8e787d75ddad892839c0e5a4ea6b67e7ab91f3c619e5e6e087a
6586 languageName: node
6587 linkType: hard
6588
6589"stop-iteration-iterator@npm:^1.0.0":
6590 version: 1.0.0
6591 resolution: "stop-iteration-iterator@npm:1.0.0"
6592 dependencies:
6593 internal-slot: "npm:^1.0.4"
6594 checksum: 272fb892a8ab6217163a32284463e6f03720e4d897b77d23e1731d09f1cd9e1ba94473d3f9e965970527e2243d60985147ec4380cb0965c1dd812cc470f704bd
6548 languageName: node 6595 languageName: node
6549 linkType: hard 6596 linkType: hard
6550 6597
@@ -6575,25 +6622,36 @@ __metadata:
6575 languageName: node 6622 languageName: node
6576 linkType: hard 6623 linkType: hard
6577 6624
6578"string.prototype.trimend@npm:^1.0.5": 6625"string.prototype.trim@npm:^1.2.7":
6579 version: 1.0.5 6626 version: 1.2.7
6580 resolution: "string.prototype.trimend@npm:1.0.5" 6627 resolution: "string.prototype.trim@npm:1.2.7"
6628 dependencies:
6629 call-bind: "npm:^1.0.2"
6630 define-properties: "npm:^1.1.4"
6631 es-abstract: "npm:^1.20.4"
6632 checksum: 424e6ba5ec9778a637c225c2c06461882367fa91e03b30ab78a50b275ec95e6516f25cb44439e1b98d43931a4a1d9d023bd5d2dd0f9b203d468b541b7ea205f5
6633 languageName: node
6634 linkType: hard
6635
6636"string.prototype.trimend@npm:^1.0.6":
6637 version: 1.0.6
6638 resolution: "string.prototype.trimend@npm:1.0.6"
6581 dependencies: 6639 dependencies:
6582 call-bind: "npm:^1.0.2" 6640 call-bind: "npm:^1.0.2"
6583 define-properties: "npm:^1.1.4" 6641 define-properties: "npm:^1.1.4"
6584 es-abstract: "npm:^1.19.5" 6642 es-abstract: "npm:^1.20.4"
6585 checksum: b09b83119d8fd21d5125be72bc7e2a117a6313e35ce1f39ace2e4ead574834699a48b24587a5e92f6059335178ca139debc755cb9ec68f39bc7a4a41d6eba024 6643 checksum: 0c6b262932e2f065b4097fd3b17254b8fa2ac953f26d190e4defa2f01bca3313067c6672ff8b853f66edc2b4743af196f00ecd3c75f131d53fa772b16692cbf8
6586 languageName: node 6644 languageName: node
6587 linkType: hard 6645 linkType: hard
6588 6646
6589"string.prototype.trimstart@npm:^1.0.5": 6647"string.prototype.trimstart@npm:^1.0.6":
6590 version: 1.0.5 6648 version: 1.0.6
6591 resolution: "string.prototype.trimstart@npm:1.0.5" 6649 resolution: "string.prototype.trimstart@npm:1.0.6"
6592 dependencies: 6650 dependencies:
6593 call-bind: "npm:^1.0.2" 6651 call-bind: "npm:^1.0.2"
6594 define-properties: "npm:^1.1.4" 6652 define-properties: "npm:^1.1.4"
6595 es-abstract: "npm:^1.19.5" 6653 es-abstract: "npm:^1.20.4"
6596 checksum: 59b07da535af429b595a3a3e639dc6bc5b3022bd8e4b04a5f63e4845609e5ddf763477cc9bed1a856432bd30d89bd7faa734e6653fb4745a2d347815b103821f 6654 checksum: 87a4f42e4c0bde3508cb8d95260919c73ae4af5573fdbca1cd173d9ce53153d83b0fc3d218d49b9cabdca440ae71cd44b85a659cddd477b27b3f1344dc023a65
6597 languageName: node 6655 languageName: node
6598 linkType: hard 6656 linkType: hard
6599 6657
@@ -6648,9 +6706,9 @@ __metadata:
6648 linkType: hard 6706 linkType: hard
6649 6707
6650"style-mod@npm:^4.0.0": 6708"style-mod@npm:^4.0.0":
6651 version: 4.0.0 6709 version: 4.0.2
6652 resolution: "style-mod@npm:4.0.0" 6710 resolution: "style-mod@npm:4.0.2"
6653 checksum: 1722a8287c60b0f696df0e5fee787fc50c3bf0b84660df90284435964ef35b6c49aa321a4a07f4e3973f6a897535413ff2ab788fff1bdf0e5f8b2fdd9bf083e9 6711 checksum: 299f82cba0bfeca6cb2c223f4d5f3902012f783e11807eedd32790556ea8509a34e9a62eaff8afddbda10f1ea74578daab5068b1a326488878c9005fcbce8e08
6654 languageName: node 6712 languageName: node
6655 linkType: hard 6713 linkType: hard
6656 6714
@@ -6686,13 +6744,13 @@ __metadata:
6686 languageName: node 6744 languageName: node
6687 linkType: hard 6745 linkType: hard
6688 6746
6689"synckit@npm:^0.8.4": 6747"synckit@npm:^0.8.5":
6690 version: 0.8.4 6748 version: 0.8.5
6691 resolution: "synckit@npm:0.8.4" 6749 resolution: "synckit@npm:0.8.5"
6692 dependencies: 6750 dependencies:
6693 "@pkgr/utils": "npm:^2.3.1" 6751 "@pkgr/utils": "npm:^2.3.1"
6694 tslib: "npm:^2.4.0" 6752 tslib: "npm:^2.5.0"
6695 checksum: 4e48556558263008c05df5f747b20b34ba919d7b41dda61e0756d3a7e26ade65b1b2c30e2772f8a5782fac01a6973d6bb5cd9d5636c8f04f61a1bded9e9feea7 6753 checksum: 4f8cad99ececb0f22d91780c9882d1ef51fd551051cbd53f4674876771007e3b0ed6adcf17622a9bca8f9f8b16f49d91c4cc37d25888bc9d7ab3470e496bc4a6
6696 languageName: node 6754 languageName: node
6697 linkType: hard 6755 linkType: hard
6698 6756
@@ -6703,17 +6761,17 @@ __metadata:
6703 languageName: node 6761 languageName: node
6704 linkType: hard 6762 linkType: hard
6705 6763
6706"tar@npm:^6.0.2, tar@npm:^6.1.2": 6764"tar@npm:^6.1.11, tar@npm:^6.1.2":
6707 version: 6.1.11 6765 version: 6.1.13
6708 resolution: "tar@npm:6.1.11" 6766 resolution: "tar@npm:6.1.13"
6709 dependencies: 6767 dependencies:
6710 chownr: "npm:^2.0.0" 6768 chownr: "npm:^2.0.0"
6711 fs-minipass: "npm:^2.0.0" 6769 fs-minipass: "npm:^2.0.0"
6712 minipass: "npm:^3.0.0" 6770 minipass: "npm:^4.0.0"
6713 minizlib: "npm:^2.1.1" 6771 minizlib: "npm:^2.1.1"
6714 mkdirp: "npm:^1.0.3" 6772 mkdirp: "npm:^1.0.3"
6715 yallist: "npm:^4.0.0" 6773 yallist: "npm:^4.0.0"
6716 checksum: 5499de6e1998ca602c327f3359d085f6ab41e63a0ce530fb15de13089d3795262b6dfb7731989b7e1d0289a76658d715d8e1239fc06f70ae49349205e3a5fbcc 6774 checksum: b1254685cb870858a072a6863d7f769c5c27f964166cacdf2fee4aac526dc8949fb9cd609a9e0a77e5cb8f993e2d38c966c52de0e71827e8f14a3d4cd43209db
6717 languageName: node 6775 languageName: node
6718 linkType: hard 6776 linkType: hard
6719 6777
@@ -6737,8 +6795,8 @@ __metadata:
6737 linkType: hard 6795 linkType: hard
6738 6796
6739"terser@npm:^5.0.0, terser@npm:^5.15.1": 6797"terser@npm:^5.0.0, terser@npm:^5.15.1":
6740 version: 5.15.1 6798 version: 5.16.8
6741 resolution: "terser@npm:5.15.1" 6799 resolution: "terser@npm:5.16.8"
6742 dependencies: 6800 dependencies:
6743 "@jridgewell/source-map": "npm:^0.3.2" 6801 "@jridgewell/source-map": "npm:^0.3.2"
6744 acorn: "npm:^8.5.0" 6802 acorn: "npm:^8.5.0"
@@ -6746,7 +6804,7 @@ __metadata:
6746 source-map-support: "npm:~0.5.20" 6804 source-map-support: "npm:~0.5.20"
6747 bin: 6805 bin:
6748 terser: bin/terser 6806 terser: bin/terser
6749 checksum: 4d0c2a858eb2857fd8b58b2e2382865e3ecad30a8573b20d325cb6789d670f4057f3f84ac6e7437556033ec0c6fff9e913e5bbc05b67cdeac1a35b3da173c295 6807 checksum: 2dfbb8417f3621450d5b47be89d5ebcdbe52abdb454bf45e32e243bf52bf917d89b98cc168fcc9cd38adf72ff3df016fbbc9d10dd413457d307f726783871028
6750 languageName: node 6808 languageName: node
6751 linkType: hard 6809 linkType: hard
6752 6810
@@ -6793,14 +6851,14 @@ __metadata:
6793 linkType: hard 6851 linkType: hard
6794 6852
6795"tsconfig-paths@npm:^3.14.1": 6853"tsconfig-paths@npm:^3.14.1":
6796 version: 3.14.1 6854 version: 3.14.2
6797 resolution: "tsconfig-paths@npm:3.14.1" 6855 resolution: "tsconfig-paths@npm:3.14.2"
6798 dependencies: 6856 dependencies:
6799 "@types/json5": "npm:^0.0.29" 6857 "@types/json5": "npm:^0.0.29"
6800 json5: "npm:^1.0.1" 6858 json5: "npm:^1.0.2"
6801 minimist: "npm:^1.2.6" 6859 minimist: "npm:^1.2.6"
6802 strip-bom: "npm:^3.0.0" 6860 strip-bom: "npm:^3.0.0"
6803 checksum: 7f856252e523597e8fc3234b2f992d6d76a807793cb59bd2d924db9beb2594bfe7a18ee93898088733cb55b1cce4be306924a5da5f760eff137d4c2d7bf85fad 6861 checksum: e320ed312e798282cbdb037a0de88f7cf9c36514d38e21f1f538da8cfc436e199f44a9faa5073417f1110ef3db76256d873cf14dae1836bce5d541963ddf2c1b
6804 languageName: node 6862 languageName: node
6805 linkType: hard 6863 linkType: hard
6806 6864
@@ -6811,10 +6869,10 @@ __metadata:
6811 languageName: node 6869 languageName: node
6812 linkType: hard 6870 linkType: hard
6813 6871
6814"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0": 6872"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.5.0":
6815 version: 2.4.1 6873 version: 2.5.0
6816 resolution: "tslib@npm:2.4.1" 6874 resolution: "tslib@npm:2.5.0"
6817 checksum: a739a21e3ff059e62c7c3c0845333fbc9c081bcc91e015f2d246a31eeaf1fb0e29b10c0913c7d22f692b3203bb469fd60ca5288aa4f27d351a969df2d0714899 6875 checksum: 5a6ee935f56cd653af29de928483acbab7323f964b053e98b6b318abc69431fb0e4f660c4f4a396e2e93852510bef25eeb9f1d951d060b2d7bcc313811e5da6f
6818 languageName: node 6876 languageName: node
6819 linkType: hard 6877 linkType: hard
6820 6878
@@ -6852,23 +6910,34 @@ __metadata:
6852 languageName: node 6910 languageName: node
6853 linkType: hard 6911 linkType: hard
6854 6912
6855"typescript@npm:4.9.5": 6913"typed-array-length@npm:^1.0.4":
6856 version: 4.9.5 6914 version: 1.0.4
6857 resolution: "typescript@npm:4.9.5" 6915 resolution: "typed-array-length@npm:1.0.4"
6916 dependencies:
6917 call-bind: "npm:^1.0.2"
6918 for-each: "npm:^0.3.3"
6919 is-typed-array: "npm:^1.1.9"
6920 checksum: bd196be0cb6c267e1fc8c3d54f19c1059d1082e0baf0f6735b39ed2a01e9dd2fef0593b1b03e0bdb9c29d1e6e34bbb1498f951a19b4c78bc5c7af6786fc3c6b6
6921 languageName: node
6922 linkType: hard
6923
6924"typescript@npm:5.0.3":
6925 version: 5.0.3
6926 resolution: "typescript@npm:5.0.3"
6858 bin: 6927 bin:
6859 tsc: bin/tsc 6928 tsc: bin/tsc
6860 tsserver: bin/tsserver 6929 tsserver: bin/tsserver
6861 checksum: 550217a465c00b1d7ef0e0ddc3a6a0b2ae1fd7c1b9f53cde5a1cfe56aa457c7a43fa83792c1b98b2185d2156d0467c9ad6f6600515ad4f4fc2acee54c4bd320e 6930 checksum: 45ee631503499861d77d7a7b1d49fb5c62ae6bb5a99cdf5110f3e21c627397f5f76cf3d67ee0b223a33cfad469ea18de7650cab7a529b1376f5218a27b81671e
6862 languageName: node 6931 languageName: node
6863 linkType: hard 6932 linkType: hard
6864 6933
6865"typescript@patch:typescript@npm%3A4.9.5#optional!builtin<compat/typescript>": 6934"typescript@patch:typescript@npm%3A5.0.3#optional!builtin<compat/typescript>":
6866 version: 4.9.5 6935 version: 5.0.3
6867 resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin<compat/typescript>::version=4.9.5&hash=23ec76" 6936 resolution: "typescript@patch:typescript@npm%3A5.0.3#optional!builtin<compat/typescript>::version=5.0.3&hash=b5f058"
6868 bin: 6937 bin:
6869 tsc: bin/tsc 6938 tsc: bin/tsc
6870 tsserver: bin/tsserver 6939 tsserver: bin/tsserver
6871 checksum: 09f82f25664c79d5cccc389502175093becf51d691b443c79294303681544a399fb42f8384b535ddeba48cadb64e7d14b42de40d8ade4418bb43174989dd8685 6940 checksum: 66967b1418927f8c780bcec443e6e1572d0c88314e3b45797d22bffc8981b3c8e687a37f24bcad00e2d349722df225e758678559e810a6673f4773b8f44eb5d2
6872 languageName: node 6941 languageName: node
6873 linkType: hard 6942 linkType: hard
6874 6943
@@ -6901,35 +6970,35 @@ __metadata:
6901 languageName: node 6970 languageName: node
6902 linkType: hard 6971 linkType: hard
6903 6972
6904"unicode-match-property-value-ecmascript@npm:^2.0.0": 6973"unicode-match-property-value-ecmascript@npm:^2.1.0":
6905 version: 2.0.0 6974 version: 2.1.0
6906 resolution: "unicode-match-property-value-ecmascript@npm:2.0.0" 6975 resolution: "unicode-match-property-value-ecmascript@npm:2.1.0"
6907 checksum: 8b5ce98e39c6cd30ce1b150916135103fd0e541c9b08bb718a1fe8c4981c6d27ae43fd808476b963bceb2678f805e43ef1eceac24c58d91f91a3dace27ae4ba3 6976 checksum: ed36ed18f4e49d95634712960967511b8a0da1a808e673e89ade10a317b29c636dbc19138656ff6cb5e90e1999c3ff3c40464d20846d21347b4300eac84698b9
6908 languageName: node 6977 languageName: node
6909 linkType: hard 6978 linkType: hard
6910 6979
6911"unicode-property-aliases-ecmascript@npm:^2.0.0": 6980"unicode-property-aliases-ecmascript@npm:^2.0.0":
6912 version: 2.0.0 6981 version: 2.1.0
6913 resolution: "unicode-property-aliases-ecmascript@npm:2.0.0" 6982 resolution: "unicode-property-aliases-ecmascript@npm:2.1.0"
6914 checksum: 3e123410a4399a1e45390a0ef546d15e18d2d5c722e478414232291e69b732cf5cca70ba90e9b4a45fc9ce39b6afc776fddff26ec6b1533cc459d1363e1243f7 6983 checksum: 2a731ceba0a6d8e6b9bc576843f54f4ce5af36c1984a5a6023e012ceaa73f76a06dfc104b12a6b06f06decbd447d88980ec6787b44f708259b190d3594a84b85
6915 languageName: node 6984 languageName: node
6916 linkType: hard 6985 linkType: hard
6917 6986
6918"unique-filename@npm:^1.1.1": 6987"unique-filename@npm:^2.0.0":
6919 version: 1.1.1 6988 version: 2.0.1
6920 resolution: "unique-filename@npm:1.1.1" 6989 resolution: "unique-filename@npm:2.0.1"
6921 dependencies: 6990 dependencies:
6922 unique-slug: "npm:^2.0.0" 6991 unique-slug: "npm:^3.0.0"
6923 checksum: 8330bc7e98bd55c86baaa1aba4d0fef4b2e32d7230b3f7421142e728fda8dfcede4ba6a898429a28707ffec06911649dc2aeea5d0e18eee4c7e2b573b9ee3145 6992 checksum: 1efaebd1b9df4770537f73b040adc8ef2b7da29b837388d97d6d78a4a739dc67bc491e45d381a377bc80ee838e7e1dc904193b3e73cd6c117d96f92b3a09ed46
6924 languageName: node 6993 languageName: node
6925 linkType: hard 6994 linkType: hard
6926 6995
6927"unique-slug@npm:^2.0.0": 6996"unique-slug@npm:^3.0.0":
6928 version: 2.0.2 6997 version: 3.0.0
6929 resolution: "unique-slug@npm:2.0.2" 6998 resolution: "unique-slug@npm:3.0.0"
6930 dependencies: 6999 dependencies:
6931 imurmurhash: "npm:^0.1.4" 7000 imurmurhash: "npm:^0.1.4"
6932 checksum: 9c1111d986ecb9266678f02356a2e9f6485eca8ab2e82d5a5b4b9df1b4d6f11322bf893ed3c44d125039c76cb3e8dcf778b1eac85ff9df878e6317921319e7e2 7001 checksum: ae31bb1d8126400e512385ec239b3ca40f6a8790af9d6dedb0842b340b3ecc0a7de413ff270f3ea3dae1565c6f745ab6e28363387cd32ecddbe0fc72ee247303
6933 languageName: node 7002 languageName: node
6934 linkType: hard 7003 linkType: hard
6935 7004
@@ -6956,9 +7025,9 @@ __metadata:
6956 languageName: node 7025 languageName: node
6957 linkType: hard 7026 linkType: hard
6958 7027
6959"update-browserslist-db@npm:^1.0.5": 7028"update-browserslist-db@npm:^1.0.10":
6960 version: 1.0.5 7029 version: 1.0.10
6961 resolution: "update-browserslist-db@npm:1.0.5" 7030 resolution: "update-browserslist-db@npm:1.0.10"
6962 dependencies: 7031 dependencies:
6963 escalade: "npm:^3.1.1" 7032 escalade: "npm:^3.1.1"
6964 picocolors: "npm:^1.0.0" 7033 picocolors: "npm:^1.0.0"
@@ -6966,7 +7035,7 @@ __metadata:
6966 browserslist: ">= 4.21.0" 7035 browserslist: ">= 4.21.0"
6967 bin: 7036 bin:
6968 browserslist-lint: cli.js 7037 browserslist-lint: cli.js
6969 checksum: 53d12ebf5b266acd5795a4e2231b58cfefd2f0549a3cf4eb4e619370a35178293bcfad4d84f37b30a8df699a41e3bee77bcb17c8a5cf9b3b23d57042971493b1 7038 checksum: e55ee7f0562821e40808b5f265e4dfbc1436cdddd4c436dfe73ae4e71215302907d4b430807d45fabbb4c23aa2d67757f26dbd8f93fc9718f814566536b386d0
6970 languageName: node 7039 languageName: node
6971 linkType: hard 7040 linkType: hard
6972 7041
@@ -6986,9 +7055,9 @@ __metadata:
6986 languageName: node 7055 languageName: node
6987 linkType: hard 7056 linkType: hard
6988 7057
6989"vite-plugin-pwa@npm:^0.14.1": 7058"vite-plugin-pwa@npm:^0.14.7":
6990 version: 0.14.1 7059 version: 0.14.7
6991 resolution: "vite-plugin-pwa@npm:0.14.1" 7060 resolution: "vite-plugin-pwa@npm:0.14.7"
6992 dependencies: 7061 dependencies:
6993 "@rollup/plugin-replace": "npm:^5.0.1" 7062 "@rollup/plugin-replace": "npm:^5.0.1"
6994 debug: "npm:^4.3.4" 7063 debug: "npm:^4.3.4"
@@ -7001,19 +7070,19 @@ __metadata:
7001 vite: ^3.1.0 || ^4.0.0 7070 vite: ^3.1.0 || ^4.0.0
7002 workbox-build: ^6.5.4 7071 workbox-build: ^6.5.4
7003 workbox-window: ^6.5.4 7072 workbox-window: ^6.5.4
7004 checksum: 96ae0d392e05ea55e64138138ce300820949ee7fce807af4a49fea8617b039cc46e5f00fd9749275dfeb3b0fa763b180493d918d1b1815364baf8beb2e39414a 7073 checksum: f66ba146bdaae2bb0fad9dfa5289689d0a0b2cca9aeef5b759388ce8786d17787655a4d70745240a3ebbb7a51c0b4679f6811581a47853ab75adaf5ff6b64690
7005 languageName: node 7074 languageName: node
7006 linkType: hard 7075 linkType: hard
7007 7076
7008"vite@npm:^4.1.1": 7077"vite@npm:^4.2.1":
7009 version: 4.1.1 7078 version: 4.2.1
7010 resolution: "vite@npm:4.1.1" 7079 resolution: "vite@npm:4.2.1"
7011 dependencies: 7080 dependencies:
7012 esbuild: "npm:^0.16.14" 7081 esbuild: "npm:^0.17.5"
7013 fsevents: "npm:~2.3.2" 7082 fsevents: "npm:~2.3.2"
7014 postcss: "npm:^8.4.21" 7083 postcss: "npm:^8.4.21"
7015 resolve: "npm:^1.22.1" 7084 resolve: "npm:^1.22.1"
7016 rollup: "npm:^3.10.0" 7085 rollup: "npm:^3.18.0"
7017 peerDependencies: 7086 peerDependencies:
7018 "@types/node": ">= 14" 7087 "@types/node": ">= 14"
7019 less: "*" 7088 less: "*"
@@ -7039,14 +7108,14 @@ __metadata:
7039 optional: true 7108 optional: true
7040 bin: 7109 bin:
7041 vite: bin/vite.js 7110 vite: bin/vite.js
7042 checksum: 1214e901a0836cfad0b20abe3ba03684c5c6d1a5d486e7ddd55e56e2c786677cecd7c1822b97540a001867164a9e38e52aa5c14480cdc50afd2561ed4bc2f89b 7111 checksum: 9b784639d35a074b12b72f60764ba6d6eedcaa112ac4b5df00a706e2d5a01d7d4b9ce19ddc5ce8b65260770e56e084fcf2ae7b7c763a0880a2d9f3bfb5fa3450
7043 languageName: node 7112 languageName: node
7044 linkType: hard 7113 linkType: hard
7045 7114
7046"w3c-keyname@npm:^2.2.4": 7115"w3c-keyname@npm:^2.2.4":
7047 version: 2.2.4 7116 version: 2.2.6
7048 resolution: "w3c-keyname@npm:2.2.4" 7117 resolution: "w3c-keyname@npm:2.2.6"
7049 checksum: a82b6f64fb21f761276eaec81727c9930b6c6ec2d4f226ebed5766ccb8c0b52ac3ae3abcb2a1c1c6e6b81b134969314e31b023de1ec5108e84a998ea91c974e0 7118 checksum: ba0adb6be65ca5bc8dca4860e00784b4ff2bee5c8e028bc5bda95d15f435439094316dbafce06cc3989552110bd33a3311a5f76b5176b689545573fd8490e464
7050 languageName: node 7119 languageName: node
7051 linkType: hard 7120 linkType: hard
7052 7121
@@ -7118,7 +7187,7 @@ __metadata:
7118 languageName: node 7187 languageName: node
7119 linkType: hard 7188 linkType: hard
7120 7189
7121"wide-align@npm:^1.1.2": 7190"wide-align@npm:^1.1.5":
7122 version: 1.1.5 7191 version: 1.1.5
7123 resolution: "wide-align@npm:1.1.5" 7192 resolution: "wide-align@npm:1.1.5"
7124 dependencies: 7193 dependencies:
@@ -7331,10 +7400,10 @@ __metadata:
7331 languageName: node 7400 languageName: node
7332 linkType: hard 7401 linkType: hard
7333 7402
7334"xstate@npm:^4.33.4, xstate@npm:^4.35.4": 7403"xstate@npm:^4.33.4, xstate@npm:^4.37.1":
7335 version: 4.35.4 7404 version: 4.37.1
7336 resolution: "xstate@npm:4.35.4" 7405 resolution: "xstate@npm:4.37.1"
7337 checksum: 6bf12ea9369c3f2df6a040c1541666e263f0a018715d6820fd7ad308198a53991899c9c3b1e6afe6dd092ee0f4c3a228f1180e92498bbbe377b9013d1a809d48 7406 checksum: 56b8d7fe1f648684b7e708549d9ba647413ce20467b184dfbf80257e83262f2de8256d157515f7838bc38977c68451dab90dd7aac54d398e8ad125f095c03e4c
7338 languageName: node 7407 languageName: node
7339 linkType: hard 7408 linkType: hard
7340 7409
@@ -7359,9 +7428,9 @@ __metadata:
7359 languageName: node 7428 languageName: node
7360 linkType: hard 7429 linkType: hard
7361 7430
7362"zod@npm:^3.20.2": 7431"zod@npm:^3.21.4":
7363 version: 3.20.2 7432 version: 3.21.4
7364 resolution: "zod@npm:3.20.2" 7433 resolution: "zod@npm:3.21.4"
7365 checksum: 4afdc2d9962456e1f4dfd6e44791d3017280e0f2f365fd45f85336ea5a850d009ff2f6d671638db47f8b237dd153fe73c0417f9cc300fcf201afb4fff9051c8d 7434 checksum: f25f384f380c49d05a11541093a8d26f07688aa39f6a8adbd6dc338b43f63617bf138734fb1b79800ba374523f6a1bb561f7d401b3cc051fed2715eae5577d0a
7366 languageName: node 7435 languageName: node
7367 linkType: hard 7436 linkType: hard