From 7ee3c0a9ecf30b7cc9ffbbbe4c2280e2c00e3af5 Mon Sep 17 00:00:00 2001 From: Aleksei Tiurin Date: Mon, 24 Jun 2024 13:20:34 +0300 Subject: [PATCH] Kotlin Multiplatform Support (#72) * Compose Multiplatform KMP support & WebSite * 2.5.0-alpha05 --- .github/workflows/android-pipeline.yml | 4 +- .github/workflows/docs.yml | 25 + .github/workflows/publish.yml | 66 + .gitignore | 3 +- README.md | 21 +- build.gradle.kts | 35 +- buildSrc/src/main/kotlin/Versions.kt | 6 +- composeApp/build.gradle.kts | 133 + .../src/androidMain/AndroidManifest.xml | 23 + .../androidMain/kotlin/Platform.android.kt | 7 + .../com/atiurin/samplekmp/MainActivity.kt | 24 + .../drawable-v24/ic_launcher_foreground.xml | 30 + .../res/drawable/ic_launcher_background.xml | 170 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3593 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5339 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2636 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3388 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4926 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7472 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7909 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11873 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10652 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16570 bytes .../src/androidMain/res/values/strings.xml | 3 + .../drawable/compose-multiplatform.xml | 36 + composeApp/src/commonMain/kotlin/App.kt | 39 + composeApp/src/commonMain/kotlin/Greeting.kt | 7 + composeApp/src/commonMain/kotlin/Platform.kt | 5 + .../kotlin/repositories/ContactRepository.kt | 17 + .../commonMain/kotlin/repositories/Storage.kt | 52 + .../kotlin/ui/screens/ContactsListScreen.kt | 83 + composeApp/src/commonTest/kotlin/AppTest.kt | 58 + .../src/commonTest/kotlin/ExampleTest.kt | 32 + .../src/desktopMain/kotlin/Platform.jvm.kt | 5 + composeApp/src/desktopMain/kotlin/main.kt | 11 + .../desktopTest/kotlin/DesktopSampleTest.kt | 39 + .../src/iosMain/kotlin/MainViewController.kt | 3 + composeApp/src/iosMain/kotlin/Platform.ios.kt | 7 + .../src/wasmJsMain/kotlin/Platform.wasmJs.kt | 5 + composeApp/src/wasmJsMain/kotlin/main.kt | 10 + .../src/wasmJsMain/resources/index.html | 12 + .../src/wasmJsMain/resources/styles.css | 7 + docs/.gitignore | 20 + docs/README.md | 41 + docs/babel.config.js | 3 + docs/docs/android/_category_.json | 5 + docs/docs/android/espress.md | 231 + docs/docs/android/recyclerview.md | 198 + docs/docs/android/rootview.md | 53 + docs/docs/android/uiautomator.md | 220 + docs/docs/android/webview.md | 136 + docs/docs/common/_category_.json | 5 + docs/docs/common/allure.md | 164 + docs/docs/common/extension.md | 224 + docs/docs/common/listeners.md | 168 + docs/docs/compose/_category_.json | 5 + docs/docs/compose/android.md | 64 + docs/docs/compose/api.md | 206 + docs/docs/compose/index.md | 8 + docs/docs/compose/lazylist.md | 301 + docs/docs/compose/multiplatform.md | 101 + docs/docs/index.md | 253 + docs/docs/intro/_category_.json | 5 + docs/docs/intro/configuration.md | 149 + docs/docs/intro/connect.md | 39 + docs/docs/intro/dependencies.md | 53 + docs/docusaurus.config.ts | 113 + docs/package-lock.json | 14562 ++++++++++++++++ docs/package.json | 48 + docs/sidebars.ts | 31 + .../src/components/HomepageFeatures/index.tsx | 83 + .../HomepageFeatures/styles.module.css | 33 + docs/src/css/custom.css | 62 + docs/src/pages/index.module.css | 23 + docs/src/pages/index.tsx | 43 + docs/src/pages/markdown-page.md | 7 + docs/static/.nojekyll | 0 docs/static/img/favicon.ico | Bin 0 -> 15406 bytes docs/static/img/kotlin.png | Bin 0 -> 29501 bytes docs/static/img/logo.svg | 1 + docs/static/img/maintainability.webp | Bin 0 -> 270674 bytes docs/static/img/report.svg | 1 + docs/static/img/simple.webp | Bin 0 -> 224468 bytes docs/static/img/stable.webp | Bin 0 -> 154566 bytes docs/static/img/ultron_banner_dark.png | Bin 0 -> 235649 bytes docs/static/img/ultron_banner_light.png | Bin 0 -> 254018 bytes docs/static/img/ultron_full_light.png | Bin 0 -> 496481 bytes docs/tsconfig.json | 7 + gradle.properties | 46 +- gradle/libs.versions.toml | 63 + iosApp/Configuration/Config.xcconfig | 3 + iosApp/iosApp.xcodeproj/project.pbxproj | 403 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 14 + .../AppIcon.appiconset/app-icon-1024.png | Bin 0 -> 67285 bytes iosApp/iosApp/Assets.xcassets/Contents.json | 6 + iosApp/iosApp/ContentView.swift | 21 + iosApp/iosApp/Info.plist | 50 + .../Preview Assets.xcassets/Contents.json | 6 + iosApp/iosApp/iOSApp.swift | 10 + sample-app/build.gradle.kts | 7 +- .../framework/ultronext/UltronComposeExt.kt | 1 - .../sampleapp/framework/utils/AssertUtils.kt | 2 +- .../com/atiurin/sampleapp/tests/BaseTest.kt | 10 +- .../atiurin/sampleapp/tests/UiElementsTest.kt | 2 - .../tests/compose/ComposeConfigTest.kt | 7 +- .../tests/compose/ComposeEmptyListTest.kt | 1 - .../tests/compose/ComposeUIElementsTest.kt | 8 - .../espresso/UltronEspressoConfigTest.kt | 10 +- .../espresso/ViewInteractionActionsTest.kt | 2 - sample-app/src/main/AndroidManifest.xml | 3 +- .../data/repositories/ContactRepositoty.kt | 9 - settings.gradle.kts | 20 +- ultron-allure/build.gradle.kts | 100 +- ultron-allure/gradle.properties | 2 +- .../allure/config/UltronAllureConfig.kt | 16 +- .../UltronAllureResultsTransferListener.kt | 9 + .../runner/UltronLogAttachRunListener.kt | 11 +- .../runner/UltronLogCleanerRunListener.kt | 4 +- {ultron => ultron-android}/.gitignore | 0 ultron-android/build.gradle.kts | 118 + ultron-android/gradle.properties | 8 + .../ultron/core/config/UltronConfig.kt | 151 +- .../ultron/core/config/UltronConfigParams.kt | 13 + .../espresso/EspressoOperationExecutor.kt | 7 + .../core/espresso/EspressoOperationResult.kt | 0 .../ultron/core/espresso/UltronEspresso.kt | 0 .../espresso/UltronEspressoInteraction.kt | 0 .../core/espresso/UltronEspressoOperation.kt | 0 .../UltronEspressoOperationLifecycle.kt | 1 + .../espresso/action/EspressoActionExecutor.kt | 5 +- .../espresso/action/EspressoActionType.kt | 0 .../action/UltronCustomClickAction.kt | 0 .../action/UltronEspressoActionParams.kt | 0 .../assertion/EspressoAssertionExecutor.kt | 5 +- .../assertion/EspressoAssertionType.kt | 0 .../UltronEspressoAssertionParams.kt | 0 .../recyclerview/RecyclerViewItemExecutor.kt | 0 .../RecyclerViewItemMatchingExecutor.kt | 0 .../RecyclerViewItemPositionalExecutor.kt | 0 .../recyclerview/RecyclerViewScrollAction.kt | 0 .../recyclerview/RecyclerViewUtils.kt | 0 .../recyclerview/UltronRecyclerView.kt | 44 +- .../recyclerview/UltronRecyclerViewItem.kt | 0 .../core/espressoweb/UltronWebLifecycle.kt | 0 .../operation/EspressoWebOperationType.kt | 0 .../operation/WebInteractionOperation.kt | 0 .../WebInteractionOperationExecutor.kt | 7 +- .../WebInteractionOperationIterationResult.kt | 0 .../operation/WebOperationExecutor.kt | 6 + .../operation/WebOperationResult.kt | 0 .../webelement/UltronWebDocument.kt | 0 .../webelement/UltronWebElement.kt | 0 .../webelement/UltronWebElementId.kt | 0 .../webelement/UltronWebElementXpath.kt | 0 .../webelement/UltronWebElements.kt | 0 .../core/uiautomator/UiAutomatorActionType.kt | 0 .../uiautomator/UiAutomatorAssertionType.kt | 0 .../core/uiautomator/UiAutomatorOperation.kt | 0 .../UiAutomatorOperationExecutor.kt | 6 + .../uiautomator/UiAutomatorOperationResult.kt | 0 .../uiautomator/UltronUiAutomatorLifecycle.kt | 0 .../UiAutomatorUiSelectorOperation.kt | 0 .../UiAutomatorUiSelectorOperationExecutor.kt | 5 +- .../uiautomator/uiobject/UltronUiObject.kt | 0 .../uiobject2/UiAutomatorBySelectorAction.kt | 0 .../UiAutomatorBySelectorActionExecutor.kt | 5 +- .../UiAutomatorBySelectorAssertion.kt | 0 .../UiAutomatorBySelectorAssertionExecutor.kt | 5 +- .../uiautomator/uiobject2/UltronUiObject2.kt | 0 .../espresso/action/AnonymousViewAction.kt | 0 .../action/CustomEspressoActionType.kt | 0 .../action/GetContentDescriptionAction.kt | 0 .../espresso/action/GetDrawableAction.kt | 0 .../custom/espresso/action/GetTextAction.kt | 0 .../custom/espresso/action/GetViewAction.kt | 0 .../espresso/assertion/AnyRootAssertions.kt | 0 .../assertion/CustomEspressoAssertionType.kt | 0 .../espresso/assertion/DrawableAssertion.kt | 0 .../assertion/ExistsEspressoViewAssertion.kt | 0 .../espresso/assertion/TextColorAssertion.kt | 0 .../espresso/base/RootViewPickerCreator.kt | 0 .../espresso/base/UltronRootViewFinder.kt | 0 .../custom/espresso/base/UltronViewFinder.kt | 0 .../espresso/matcher/AppCompatTextMatcher.kt | 0 .../espresso/matcher/DrawableMatchers.kt | 0 .../matcher/ElementWithAttributeMatcher.kt | 0 .../espresso/matcher/NotUniqueViewMatchers.kt | 0 .../espresso/matcher/SuitableRootMatcher.kt | 0 .../espresso/matcher/TextColorMatchers.kt | 0 .../atiurin/ultron/extensions/BitmapExt.kt | 0 .../ultron/extensions/DataInterationExt.kt | 0 .../atiurin/ultron/extensions/DrawableExt.kt | 0 .../ultron/extensions/MatcherViewExt.kt | 0 .../ultron/extensions/PerfomOnViewExt.kt | 0 .../ultron/extensions/ReflectionExt.kt | 23 - .../ultron/extensions/ViewInteractionExt.kt | 0 .../atiurin/ultron/utils/ViewGroupUtils.kt | 0 .../com/atiurin/ultron/utils/ViewUtils.kt | 0 .../src/main/res/values/strings.xml | 0 .../com/atiurin/ultron/ExampleUnitTest.java | 0 ultron-common/.gitignore | 1 + ultron-common/build.gradle.kts | 154 + .../core/config/UltronAndroidCommonConfig.kt | 15 + .../ultron/extensions/AnyExt.android.kt | 24 + .../atiurin/ultron/extensions/BundleExt.kt | 0 .../ultron/extensions/DescriptionExt.kt | 0 .../ultron/extensions/FileExt.android.kt | 0 .../ultron/hierarchy/HierarchyDumpResult.kt | 0 .../ultron/hierarchy/HierarchyDumper.kt | 0 .../hierarchy/UiDeviceHierarchyDumper.kt | 4 +- .../log/UltronFileLoggerImpl.android.kt.kt | 13 +- .../atiurin/ultron/log/UltronLog.android.kt | 3 + .../ultron/log/UltronLogcatLogger.android.kt | 0 .../com/atiurin/ultron/runner/RunListener.kt | 0 .../ultron/runner/UltronLogRunListener.kt | 0 .../ultron/runner/UltronRunInformer.kt | 0 .../ultron/runner/UltronRunListener.kt | 0 .../ultron/screenshot/ScreenshotResult.kt | 0 .../atiurin/ultron/screenshot/Screenshoter.kt | 0 .../screenshot/UiAutomationScreenshoter.kt | 0 .../ultron/screenshot/ViewScreenshoter.kt | 2 - .../rulesequence/RuleSequence.kt | 0 .../testlifecycle/setupteardown/Condition.kt | 0 .../setupteardown/ConditionExecutorWrapper.kt | 0 .../setupteardown/ConditionRule.kt | 4 +- .../setupteardown/ConditionsExecutor.kt | 0 .../DefaultConditionExecutorWrapper.kt | 7 +- .../DefaultConditionsExecutor.kt | 10 +- .../setupteardown/RuleSequenceTearDown.kt | 0 .../testlifecycle/setupteardown/SetUp.kt | 0 .../testlifecycle/setupteardown/SetUpRule.kt | 0 .../testlifecycle/setupteardown/TearDown.kt | 0 .../setupteardown/TearDownRule.kt | 0 .../ultron/utils/ActivityUtil.android.kt.kt | 0 .../utils/InstrumentationUtil.android.kt | 2 +- .../ultron/utils/ThreadUtil.android.kt | 7 + .../core/common/AbstractOperationLifecycle.kt | 16 +- .../common/CheckOperationResultAnalyzer.kt | 0 .../ultron/core/common/DefaultElementInfo.kt | 0 .../common/DefaultOperationIterationResult.kt | 0 .../atiurin/ultron/core/common/ElementInfo.kt | 0 .../atiurin/ultron/core/common/Operation.kt | 0 .../ultron/core/common/OperationExecutor.kt | 72 +- .../core/common/OperationIterationResult.kt | 0 .../ultron/core/common/OperationProcessor.kt | 0 .../ultron/core/common/OperationResult.kt | 0 .../core/common/OperationResultAnalyzer.kt | 0 .../ultron/core/common/ResultDescriptor.kt | 6 +- .../UltronDefaultOperationResultAnalyzer.kt | 3 +- .../ultron/core/common/UltronOperationType.kt | 0 .../assertion/DefaultOperationAssertion.kt | 0 .../assertion/EmptyOperationAssertion.kt | 0 .../NoListenersOperationAssertion.kt | 0 .../common/assertion/OperationAssertion.kt | 0 .../ultron/core/common/options/ClickOption.kt | 0 .../ContentDescriptionContainsOption.kt | 0 .../core/common/options/DoubleClickOption.kt | 0 .../core/common/options/LongClickOption.kt | 0 .../options/PerformCustomBlockOption.kt | 0 .../core/common/options/TextContainsOption.kt | 0 .../core/common/options/TextEqualsOption.kt | 0 .../ultron/core/config/UltronCommonConfig.kt | 20 + .../UltronAssertionBlockException.kt | 0 .../exceptions/UltronAssertionException.kt | 0 .../ultron/exceptions/UltronException.kt | 0 .../exceptions/UltronOperationException.kt | 2 - .../exceptions/UltronUiAutomatorException.kt | 0 .../exceptions/UltronWrapperException.kt | 0 .../atiurin/ultron/extensions/AnyCommonExt.kt | 3 + .../com/atiurin/ultron/file/MimeType.kt | 0 .../ultron/listeners/AbstractListener.kt | 2 +- .../listeners/AbstractListenersContainer.kt | 6 +- .../ultron/listeners/LifecycleListener.kt | 0 .../ultron/listeners/LogLifecycleListener.kt | 0 .../listeners/UltronLifecycleListener.kt | 0 .../ultron/listeners/UltronListenerUtil.kt | 9 +- .../com/atiurin/ultron/log/LogLevel.kt | 0 .../kotlin}/com/atiurin/ultron/log/ULogger.kt | 2 +- .../atiurin/ultron/log/UltronFileLogger.kt | 7 + .../com/atiurin/ultron/log/UltronLog.kt | 23 +- .../com/atiurin/ultron/log/UltronLogUtil.kt | 0 .../kotlin}/com/atiurin/ultron/page/Page.kt | 0 .../kotlin}/com/atiurin/ultron/page/Screen.kt | 0 .../com/atiurin/ultron/utils/AssertUtils.kt | 25 +- .../com/atiurin/ultron/utils/ThreadUtil.kt | 3 + .../com/atiurin/ultron/utils/TimeUtil.kt | 12 + .../com/atiurin/ultron/log/UltronLog.js.kt | 5 + .../com/atiurin/ultron/utils/ThreadUtil.js.kt | 4 + .../atiurin/ultron/extensions/AnyExt.jvm.kt | 9 + .../com/atiurin/ultron/log/UltronLog.jvm.kt | 5 + .../atiurin/ultron/utils/ThreadUtil.jvm.kt | 5 + .../atiurin/ultron/log/UltronLog.native.kt | 5 + .../atiurin/ultron/utils/ThreadUtil.native.kt | 12 + .../atiurin/ultron/log/UltronLog.wasmJs.kt | 5 + .../atiurin/ultron/utils/ThreadUtil.wasmJs.kt | 4 + ultron-compose/build.gradle.kts | 146 +- ultron-compose/gradle.properties | 4 +- .../compose/ComposeRuleContainer.android.kt} | 13 +- .../ItemChildInteractionProvider.android.kt | 42 + ...ComposeSemanticsNodeInteraction.android.kt | 37 + .../ReflectionComposeExt.android.kt} | 3 +- .../extensions/SemanticsMatcherExt.android.kt | 11 + .../SemanticsNodeInteractionExt.android.kt} | 38 +- ...manticsNodeInteractionProviderContainer.kt | 15 + .../ultron/core/compose/UltronUiTest.kt | 18 + .../compose/config/UltronComposeConfig.kt | 40 +- .../config/UltronComposeConfigParams.kt | 3 +- .../core/compose/list/ComposeItemExecutor.kt | 0 .../compose/list/IndexComposeItemExecutor.kt | 3 +- .../list/ItemChildInteractionProvider.kt | 64 + .../list/MatcherComposeItemExecutor.kt | 0 .../list/PositionComposeItemExecutor.kt | 0 .../core/compose/list/UltronComposeList.kt | 68 +- .../compose/list/UltronComposeListItem.kt | 0 .../compose/nodeinteraction/SwipePosition.kt | 0 .../nodeinteraction/UltronComposeOffsets.kt | 0 .../UltronComposeSemanticsNodeInteraction.kt | 64 +- ...onComposeSemanticsNodeInteractionClicks.kt | 0 .../operation/ComposeOperationExecutor.kt | 4 +- .../operation/ComposeOperationResult.kt | 0 .../compose/operation/ComposeOperationType.kt | 0 .../UltronComposeCollectionInteraction.kt | 8 +- .../operation/UltronComposeOperation.kt | 0 .../UltronComposeOperationLifecycle.kt | 0 .../operation/UltronComposeOperationParams.kt | 0 .../core/compose/option/ComposeSwipeOption.kt | 0 .../ultron/extensions/SemanticsMatcherExt.kt | 1 - .../ultron/extensions/SemanticsNodeExt.kt | 0 .../extensions/SemanticsNodeInteractionExt.kt | 36 + .../ultron/extensions/SemanticsSelectorExt.kt | 0 .../extensions/TouchInjectionScopeExt.kt | 0 .../list/ItemChildInteractionProvider.js.kt | 5 + .../SemanticsNodeInteractionCommonExt.js.kt | 5 + .../list/ItemChildInteractionProvider.jvm.kt | 5 + .../SemanticsNodeInteractionExt.jvm.kt | 15 + .../ItemChildInteractionProvider.native.kt | 5 + ...emanticsNodeInteractionCommonExt.native.kt | 5 + .../ItemChildInteractionProvider.wasmJs.kt | 5 + ...emanticsNodeInteractionCommonExt.wasmJs.kt | 5 + ultron/build.gradle.kts | 86 - .../ultron/core/config/UltronConfigParams.kt | 9 - .../com/atiurin/ultron/extensions/AnyExt.kt | 3 - .../atiurin/ultron/listeners/TimeListener.kt | 22 - .../com/atiurin/ultron/log/UFileLogger.kt | 8 - 347 files changed, 20566 insertions(+), 661 deletions(-) create mode 100644 .github/workflows/docs.yml create mode 100644 .github/workflows/publish.yml create mode 100644 composeApp/build.gradle.kts create mode 100644 composeApp/src/androidMain/AndroidManifest.xml create mode 100644 composeApp/src/androidMain/kotlin/Platform.android.kt create mode 100644 composeApp/src/androidMain/kotlin/com/atiurin/samplekmp/MainActivity.kt create mode 100644 composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 composeApp/src/androidMain/res/drawable/ic_launcher_background.xml create mode 100644 composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/values/strings.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml create mode 100644 composeApp/src/commonMain/kotlin/App.kt create mode 100644 composeApp/src/commonMain/kotlin/Greeting.kt create mode 100644 composeApp/src/commonMain/kotlin/Platform.kt create mode 100644 composeApp/src/commonMain/kotlin/repositories/ContactRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/repositories/Storage.kt create mode 100644 composeApp/src/commonMain/kotlin/ui/screens/ContactsListScreen.kt create mode 100644 composeApp/src/commonTest/kotlin/AppTest.kt create mode 100644 composeApp/src/commonTest/kotlin/ExampleTest.kt create mode 100644 composeApp/src/desktopMain/kotlin/Platform.jvm.kt create mode 100644 composeApp/src/desktopMain/kotlin/main.kt create mode 100644 composeApp/src/desktopTest/kotlin/DesktopSampleTest.kt create mode 100644 composeApp/src/iosMain/kotlin/MainViewController.kt create mode 100644 composeApp/src/iosMain/kotlin/Platform.ios.kt create mode 100644 composeApp/src/wasmJsMain/kotlin/Platform.wasmJs.kt create mode 100644 composeApp/src/wasmJsMain/kotlin/main.kt create mode 100644 composeApp/src/wasmJsMain/resources/index.html create mode 100644 composeApp/src/wasmJsMain/resources/styles.css create mode 100644 docs/.gitignore create mode 100644 docs/README.md create mode 100644 docs/babel.config.js create mode 100644 docs/docs/android/_category_.json create mode 100644 docs/docs/android/espress.md create mode 100644 docs/docs/android/recyclerview.md create mode 100644 docs/docs/android/rootview.md create mode 100644 docs/docs/android/uiautomator.md create mode 100644 docs/docs/android/webview.md create mode 100644 docs/docs/common/_category_.json create mode 100644 docs/docs/common/allure.md create mode 100644 docs/docs/common/extension.md create mode 100644 docs/docs/common/listeners.md create mode 100644 docs/docs/compose/_category_.json create mode 100644 docs/docs/compose/android.md create mode 100644 docs/docs/compose/api.md create mode 100644 docs/docs/compose/index.md create mode 100644 docs/docs/compose/lazylist.md create mode 100644 docs/docs/compose/multiplatform.md create mode 100644 docs/docs/index.md create mode 100644 docs/docs/intro/_category_.json create mode 100644 docs/docs/intro/configuration.md create mode 100644 docs/docs/intro/connect.md create mode 100644 docs/docs/intro/dependencies.md create mode 100644 docs/docusaurus.config.ts create mode 100644 docs/package-lock.json create mode 100644 docs/package.json create mode 100644 docs/sidebars.ts create mode 100644 docs/src/components/HomepageFeatures/index.tsx create mode 100644 docs/src/components/HomepageFeatures/styles.module.css create mode 100644 docs/src/css/custom.css create mode 100644 docs/src/pages/index.module.css create mode 100644 docs/src/pages/index.tsx create mode 100644 docs/src/pages/markdown-page.md create mode 100644 docs/static/.nojekyll create mode 100644 docs/static/img/favicon.ico create mode 100644 docs/static/img/kotlin.png create mode 100644 docs/static/img/logo.svg create mode 100644 docs/static/img/maintainability.webp create mode 100644 docs/static/img/report.svg create mode 100644 docs/static/img/simple.webp create mode 100644 docs/static/img/stable.webp create mode 100644 docs/static/img/ultron_banner_dark.png create mode 100644 docs/static/img/ultron_banner_light.png create mode 100644 docs/static/img/ultron_full_light.png create mode 100644 docs/tsconfig.json create mode 100644 gradle/libs.versions.toml create mode 100644 iosApp/Configuration/Config.xcconfig create mode 100644 iosApp/iosApp.xcodeproj/project.pbxproj create mode 100644 iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png create mode 100644 iosApp/iosApp/Assets.xcassets/Contents.json create mode 100644 iosApp/iosApp/ContentView.swift create mode 100644 iosApp/iosApp/Info.plist create mode 100644 iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 iosApp/iosApp/iOSApp.swift rename {ultron => ultron-android}/.gitignore (100%) create mode 100644 ultron-android/build.gradle.kts create mode 100644 ultron-android/gradle.properties rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/config/UltronConfig.kt (69%) create mode 100644 ultron-android/src/main/kotlin/com/atiurin/ultron/core/config/UltronConfigParams.kt rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/EspressoOperationExecutor.kt (83%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/EspressoOperationResult.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/UltronEspresso.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/UltronEspressoInteraction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/UltronEspressoOperation.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/UltronEspressoOperationLifecycle.kt (99%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/action/EspressoActionExecutor.kt (87%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/action/EspressoActionType.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/action/UltronCustomClickAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/action/UltronEspressoActionParams.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionExecutor.kt (86%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionType.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/assertion/UltronEspressoAssertionParams.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemExecutor.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemMatchingExecutor.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemPositionalExecutor.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewScrollAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewUtils.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerView.kt (95%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerViewItem.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/UltronWebLifecycle.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/operation/EspressoWebOperationType.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperation.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationExecutor.kt (83%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationIterationResult.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/operation/WebOperationExecutor.kt (85%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/operation/WebOperationResult.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/webelement/UltronWebDocument.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElement.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementId.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementXpath.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElements.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/UiAutomatorActionType.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/UiAutomatorAssertionType.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/UiAutomatorOperation.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationExecutor.kt (86%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationResult.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/UltronUiAutomatorLifecycle.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperation.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperationExecutor.kt (86%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject/UltronUiObject.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorActionExecutor.kt (87%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertion.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertionExecutor.kt (87%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/core/uiautomator/uiobject2/UltronUiObject2.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/action/AnonymousViewAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/action/CustomEspressoActionType.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/action/GetContentDescriptionAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/action/GetDrawableAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/action/GetTextAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/action/GetViewAction.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/assertion/AnyRootAssertions.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/assertion/CustomEspressoAssertionType.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/assertion/DrawableAssertion.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/assertion/ExistsEspressoViewAssertion.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/assertion/TextColorAssertion.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/base/RootViewPickerCreator.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/base/UltronRootViewFinder.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/base/UltronViewFinder.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/matcher/AppCompatTextMatcher.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/matcher/DrawableMatchers.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/matcher/ElementWithAttributeMatcher.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/matcher/NotUniqueViewMatchers.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/matcher/SuitableRootMatcher.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/custom/espresso/matcher/TextColorMatchers.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/extensions/BitmapExt.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/extensions/DataInterationExt.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/extensions/DrawableExt.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/extensions/MatcherViewExt.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/extensions/PerfomOnViewExt.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/extensions/ReflectionExt.kt (70%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/extensions/ViewInteractionExt.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/utils/ViewGroupUtils.kt (100%) rename {ultron/src/main/java => ultron-android/src/main/kotlin}/com/atiurin/ultron/utils/ViewUtils.kt (100%) rename {ultron => ultron-android}/src/main/res/values/strings.xml (100%) rename {ultron => ultron-android}/src/test/java/com/atiurin/ultron/ExampleUnitTest.java (100%) create mode 100644 ultron-common/.gitignore create mode 100644 ultron-common/build.gradle.kts create mode 100644 ultron-common/src/androidMain/kotlin/com/atiurin/ultron/core/config/UltronAndroidCommonConfig.kt create mode 100644 ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/AnyExt.android.kt rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/extensions/BundleExt.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/extensions/DescriptionExt.kt (100%) rename ultron/src/main/java/com/atiurin/ultron/extensions/FileExt.kt => ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/FileExt.android.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/hierarchy/HierarchyDumpResult.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/hierarchy/HierarchyDumper.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/hierarchy/UiDeviceHierarchyDumper.kt (75%) rename ultron/src/main/java/com/atiurin/ultron/log/UltronFileLogger.kt => ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronFileLoggerImpl.android.kt.kt (79%) create mode 100644 ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronLog.android.kt rename ultron/src/main/java/com/atiurin/ultron/log/UltronLogcatLogger.kt => ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronLogcatLogger.android.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/runner/RunListener.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/runner/UltronLogRunListener.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/runner/UltronRunInformer.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/runner/UltronRunListener.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/screenshot/ScreenshotResult.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/screenshot/Screenshoter.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/screenshot/UiAutomationScreenshoter.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/screenshot/ViewScreenshoter.kt (97%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/rulesequence/RuleSequence.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/Condition.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/ConditionExecutorWrapper.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/ConditionRule.kt (96%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/ConditionsExecutor.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionExecutorWrapper.kt (52%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionsExecutor.kt (62%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/RuleSequenceTearDown.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/SetUp.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/SetUpRule.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/TearDown.kt (100%) rename {ultron/src/main/java => ultron-common/src/androidMain/kotlin}/com/atiurin/ultron/testlifecycle/setupteardown/TearDownRule.kt (100%) rename ultron/src/main/java/com/atiurin/ultron/utils/ActivityUtil.kt => ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/ActivityUtil.android.kt.kt (100%) rename ultron/src/main/java/com/atiurin/ultron/utils/InstrumentationUtil.kt => ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/InstrumentationUtil.android.kt (97%) create mode 100644 ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.android.kt rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/AbstractOperationLifecycle.kt (64%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/CheckOperationResultAnalyzer.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/DefaultElementInfo.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/DefaultOperationIterationResult.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/ElementInfo.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/Operation.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/OperationExecutor.kt (67%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/OperationIterationResult.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/OperationProcessor.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/OperationResult.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/OperationResultAnalyzer.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/ResultDescriptor.kt (89%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/UltronDefaultOperationResultAnalyzer.kt (95%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/UltronOperationType.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/assertion/DefaultOperationAssertion.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/assertion/EmptyOperationAssertion.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/assertion/NoListenersOperationAssertion.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/assertion/OperationAssertion.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/options/ClickOption.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/options/ContentDescriptionContainsOption.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/options/DoubleClickOption.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/options/LongClickOption.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/options/PerformCustomBlockOption.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/options/TextContainsOption.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/core/common/options/TextEqualsOption.kt (100%) create mode 100644 ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/config/UltronCommonConfig.kt rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/exceptions/UltronAssertionBlockException.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/exceptions/UltronAssertionException.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/exceptions/UltronException.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/exceptions/UltronOperationException.kt (76%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/exceptions/UltronUiAutomatorException.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/exceptions/UltronWrapperException.kt (100%) create mode 100644 ultron-common/src/commonMain/kotlin/com/atiurin/ultron/extensions/AnyCommonExt.kt rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/file/MimeType.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/listeners/AbstractListener.kt (76%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/listeners/AbstractListenersContainer.kt (80%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/listeners/LifecycleListener.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/listeners/LogLifecycleListener.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/listeners/UltronLifecycleListener.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/listeners/UltronListenerUtil.kt (75%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/log/LogLevel.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/log/ULogger.kt (91%) create mode 100644 ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronFileLogger.kt rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/log/UltronLog.kt (72%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/log/UltronLogUtil.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/page/Page.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/page/Screen.kt (100%) rename {ultron/src/main/java => ultron-common/src/commonMain/kotlin}/com/atiurin/ultron/utils/AssertUtils.kt (58%) create mode 100644 ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.kt create mode 100644 ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/TimeUtil.kt create mode 100644 ultron-common/src/jsMain/kotlin/com/atiurin/ultron/log/UltronLog.js.kt create mode 100644 ultron-common/src/jsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.js.kt create mode 100644 ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/extensions/AnyExt.jvm.kt create mode 100644 ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/log/UltronLog.jvm.kt create mode 100644 ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.jvm.kt create mode 100644 ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/log/UltronLog.native.kt create mode 100644 ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.native.kt create mode 100644 ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/log/UltronLog.wasmJs.kt create mode 100644 ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.wasmJs.kt rename ultron-compose/src/{main/java/com/atiurin/ultron/core/compose/ComposeRuleContainer.kt => androidMain/kotlin/com/atiurin/ultron/core/compose/ComposeRuleContainer.android.kt} (88%) create mode 100644 ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.android.kt create mode 100644 ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.android.kt rename ultron-compose/src/{main/java/com/atiurin/ultron/extensions/ReflectionComposeExt.kt => androidMain/kotlin/com/atiurin/ultron/extensions/ReflectionComposeExt.android.kt} (88%) create mode 100644 ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsMatcherExt.android.kt rename ultron-compose/src/{main/java/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt => androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.android.kt} (57%) create mode 100644 ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/SemanticsNodeInteractionProviderContainer.kt create mode 100644 ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/UltronUiTest.kt rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/config/UltronComposeConfig.kt (72%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/config/UltronComposeConfigParams.kt (78%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/list/ComposeItemExecutor.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/list/IndexComposeItemExecutor.kt (83%) create mode 100644 ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.kt rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/list/MatcherComposeItemExecutor.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/list/PositionComposeItemExecutor.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/list/UltronComposeList.kt (95%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/list/UltronComposeListItem.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/nodeinteraction/SwipePosition.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeOffsets.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.kt (94%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteractionClicks.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/operation/ComposeOperationExecutor.kt (96%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/operation/ComposeOperationResult.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/operation/ComposeOperationType.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/operation/UltronComposeCollectionInteraction.kt (64%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/operation/UltronComposeOperation.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/operation/UltronComposeOperationLifecycle.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/operation/UltronComposeOperationParams.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/core/compose/option/ComposeSwipeOption.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/extensions/SemanticsMatcherExt.kt (99%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/extensions/SemanticsNodeExt.kt (100%) create mode 100644 ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/extensions/SemanticsSelectorExt.kt (100%) rename ultron-compose/src/{main/java => commonMain/kotlin}/com/atiurin/ultron/extensions/TouchInjectionScopeExt.kt (100%) create mode 100644 ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.js.kt create mode 100644 ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.js.kt create mode 100644 ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.jvm.kt create mode 100644 ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.jvm.kt create mode 100644 ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.native.kt create mode 100644 ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.native.kt create mode 100644 ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.wasmJs.kt create mode 100644 ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.wasmJs.kt delete mode 100644 ultron/build.gradle.kts delete mode 100644 ultron/src/main/java/com/atiurin/ultron/core/config/UltronConfigParams.kt delete mode 100644 ultron/src/main/java/com/atiurin/ultron/extensions/AnyExt.kt delete mode 100644 ultron/src/main/java/com/atiurin/ultron/listeners/TimeListener.kt delete mode 100644 ultron/src/main/java/com/atiurin/ultron/log/UFileLogger.kt diff --git a/.github/workflows/android-pipeline.yml b/.github/workflows/android-pipeline.yml index 2ace6acb..7302d7fa 100644 --- a/.github/workflows/android-pipeline.yml +++ b/.github/workflows/android-pipeline.yml @@ -7,7 +7,7 @@ on: branches: [ master ] jobs: - run_tests_on_api_29: + compileKotlin: runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -17,4 +17,4 @@ jobs: java-version: '17' - name: Compile framework - run: ./gradlew :ultron:compileDebugKotlin + run: ./gradlew compileDebugKotlin diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..4964e8d7 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,25 @@ +name: Build and deploy docs + +on: + push: + branches: + - master + +jobs: + github-pages: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v4 + with: + node-version: 22 + - run: npm install + working-directory: ./docs + - run: npm run build + working-directory: ./docs + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs/build \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..012728c0 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,66 @@ +name: Publish to Maven Central + +permissions: + contents: read + +on: + push: + tags: + - 'v*' + +jobs: + publish: + env: + OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} + OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + OSSRH_STAGING_PROFILE_ID: ${{ secrets.OSSRH_STAGING_PROFILE_ID }} + OSSRH_GPG_SECRET_KEY_PASSWORD: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + OSSRH_GPG_SECRET_KEY_ID: ${{ secrets.OSSRH_GPG_SECRET_KEY_ID }} + + strategy: + matrix: + include: + - target: :ultron-compose:publishToSonatype + os: ubuntu-latest + - target: :ultron-android:publishToSonatype + os: ubuntu-latest + - target: :ultron-allure:publishToSonatype + os: ubuntu-latest + - target: :ultron-common:publishToSonatype + os: ubuntu-latest + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + + - name: Setup JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: "zulu" + + - name: Setup Gradle cache + uses: actions/cache@v3 + with: + path: | + ~/.konan + key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} + + - name: Import GPG key + uses: crazy-max/ghaction-import-gpg@v6 + with: + gpg_private_key: ${{ secrets.OSSRH_GPG_SECRET_KEY }} + passphrase: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + + - name: Gradle publish + run: ./gradlew "${{ matrix.target }}" closeAndReleaseSonatypeStagingRepository + env: + OSSRH_USERNAME: ${{ secrets.OSSRH_TOKEN }} + OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + OSSRH_STAGING_PROFILE_ID: ${{ secrets.OSSRH_STAGING_PROFILE_ID }} + SIGNING_KEY: ${{ secrets.OSSRH_GPG_SECRET_KEY }} + SIGNING_PASSWORD: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} diff --git a/.gitignore b/.gitignore index 653b7b8d..af5b6da0 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ build/ /captures .externalNativeBuild -/allure-results \ No newline at end of file +/allure-results +/.kotlin \ No newline at end of file diff --git a/README.md b/README.md index 418178af..5b03a597 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ Ultron can be easially customised and extended. Wish you exclusively stable test

+## [Documentation](https://open-tool.github.io/ultron/) | [Releases](https://github.com/open-tool/ultron/releases) + ## What are the benefits of using the framework? - Exceptional support for [**Compose**](https://github.com/open-tool/ultron/wiki/Compose) @@ -247,21 +249,11 @@ For the complete guide, refer to the [wiki](https://github.com/open-tool/ultron/ fun setConfig() { UltronConfig.applyRecommended() UltronAllureConfig.applyRecommended() + UltronComposeConfig.applyRecommended() } ``` ![allure](https://github.com/open-tool/ultron/assets/12834123/c05c813a-ece6-45e6-a04f-e1c92b82ffb1) -for Compose add 4 lines more -```kotlin -@BeforeClass @JvmStatic -fun setConfig() { - ... - UltronComposeConfig.applyRecommended() - UltronComposeConfig.addListener(ScreenshotAttachListener()) - UltronComposeConfig.addListener(WindowHierarchyAttachListener()) - UltronComposeConfig.addListener(DetailedOperationAllureListener()) -} -``` ![allure compose](https://github.com/open-tool/ultron/assets/12834123/1f751f3d-fc58-4874-a850-acd9181bfb70) @@ -274,7 +266,7 @@ repositories { } dependencies { - androidTestImplementation 'com.atiurin:ultron:' + androidTestImplementation 'com.atiurin:ultron-android:' androidTestImplementation 'com.atiurin:ultron-allure:' androidTestImplementation 'com.atiurin:ultron-compose:' } @@ -284,8 +276,3 @@ Please, read [gradle dependencies management](https://github.com/open-tool/ultro ## AndroidX It is required to use AndroidX libraries. You can get some problems with Android Support ones. - -## Roadmap - -- https://github.com/open-tool/ultron/issues/50 Meta information for UI elements -- https://github.com/open-tool/ultron/issues/33 Screenshot testign ? diff --git a/build.gradle.kts b/build.gradle.kts index 57612bbb..0bbf722d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.compose.internal.utils.getLocalProperty + buildscript { extra.apply { set("RELEASE_REPOSITORY_URL", "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") @@ -7,6 +9,7 @@ buildscript { repositories { google() mavenCentral() + mavenLocal() } dependencies { classpath(Plugins.kotlinGradle) @@ -17,14 +20,36 @@ buildscript { } } +plugins { + //trick: for the same plugin versions in all sub-modules + alias(libs.plugins.androidLibrary) apply false + alias(libs.plugins.kotlinMultiplatform) apply false + alias(libs.plugins.androidApplication) apply false + alias(libs.plugins.jetbrainsCompose) apply false + alias(libs.plugins.kotlinJvm) apply false + alias(libs.plugins.compose.compiler) apply false + id("io.github.gradle-nexus.publish-plugin").version("2.0.0-rc-1") +} + +nexusPublishing { + repositories { + sonatype { + username + nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/")) + snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")) + username.set(getLocalProperty("ossrhToken") ?: System.getenv("OSSRH_TOKEN")) + password.set(getLocalProperty("ossrhTokenPassword") ?: System.getenv("OSSRH_PASSWORD")) + stagingProfileId.set(getLocalProperty("sonatype.stagingProfileId") ?: System.getenv("OSSRH_STAGING_PROFILE_ID")) + } + } +} + + allprojects { repositories { google() mavenCentral() + mavenLocal() gradlePluginPortal() } -} - -tasks.register("clean", Delete::class) { - delete(rootProject.buildDir) -} +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index df03972d..2e4eca29 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,9 +1,9 @@ object Versions { - const val kotlin = "1.8.0" + const val kotlin = "2.0.0" const val androidToolsBuildGradle = "8.3.1" const val androidMavenGradlePlugin = "2.1" - const val publishPlugin = "0.13.0" - const val dokkaPlugin = "1.4.30" + const val publishPlugin = "0.29.0" + const val dokkaPlugin = "1.9.20" const val recyclerView = "1.2.1" const val espresso = "3.4.0" diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts new file mode 100644 index 00000000..8d406a78 --- /dev/null +++ b/composeApp/build.gradle.kts @@ -0,0 +1,133 @@ +import org.jetbrains.compose.ExperimentalComposeLibrary +import org.jetbrains.compose.desktop.application.dsl.TargetFormat +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree +import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl +import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig + +plugins { + alias(libs.plugins.kotlinMultiplatform) + alias(libs.plugins.androidApplication) + alias(libs.plugins.jetbrainsCompose) + alias(libs.plugins.compose.compiler) +} + +kotlin { + androidTarget { + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + } + @OptIn(ExperimentalKotlinGradlePluginApi::class) + instrumentedTestVariant { + sourceSetTree.set(KotlinSourceSetTree.test) + + dependencies { + implementation(libs.androidx.ui.test.junit4.android) + debugImplementation(libs.androidx.ui.test.manifest) + } + } + } + + jvm("desktop") + +// listOf( +// iosX64(), +// iosArm64(), +// iosSimulatorArm64() +// ).forEach { iosTarget -> +// iosTarget.binaries.framework { +// baseName = "ComposeApp" +// isStatic = true +// } +// } + + sourceSets { + val desktopMain by getting + + androidMain.dependencies { + implementation(compose.preview) + implementation(libs.androidx.activity.compose) + } + commonMain.dependencies { + implementation(compose.runtime) + implementation(compose.foundation) + implementation(compose.material) + implementation(compose.ui) + implementation(compose.components.resources) + implementation(compose.components.uiToolingPreview) + implementation(libs.androidx.lifecycle.runtime.compose) + implementation(libs.androidx.lifecycle.viewmodel.compose) + implementation(libs.androidx.navigation.compose) + } + commonTest.dependencies { + @OptIn(ExperimentalComposeLibrary::class) + implementation(compose.uiTest) + implementation(kotlin("test")) + implementation(project(":ultron-compose")) + } + desktopMain.dependencies { + implementation(compose.desktop.currentOs) + } + // Adds the desktop test dependency + val desktopTest by getting { + dependencies { + implementation(compose.desktop.uiTestJUnit4) + implementation(compose.desktop.currentOs) + } + } + } +} + +android { + namespace = "com.atiurin.samplekmp" + compileSdk = libs.versions.android.compileSdk.get().toInt() + + sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") + sourceSets["main"].res.srcDirs("src/androidMain/res") + sourceSets["main"].resources.srcDirs("src/commonMain/resources") + + defaultConfig { + applicationId = "com.atiurin.samplekmp" + minSdk = libs.versions.android.minSdk.get().toInt() + targetSdk = libs.versions.android.targetSdk.get().toInt() + versionCode = 1 + versionName = "1.0" + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } + buildTypes { + getByName("release") { + isMinifyEnabled = false + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + buildFeatures { + compose = true + } +// dependencies { +// debugImplementation(compose.uiTooling) +// } + +} + + +compose.desktop { + application { + mainClass = "MainKt" + + nativeDistributions { + targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) + packageName = "com.atiurin.samplekmp" + packageVersion = "1.0.0" + } + } +} diff --git a/composeApp/src/androidMain/AndroidManifest.xml b/composeApp/src/androidMain/AndroidManifest.xml new file mode 100644 index 00000000..c5db0b15 --- /dev/null +++ b/composeApp/src/androidMain/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/Platform.android.kt b/composeApp/src/androidMain/kotlin/Platform.android.kt new file mode 100644 index 00000000..4f3ea051 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/Platform.android.kt @@ -0,0 +1,7 @@ +import android.os.Build + +class AndroidPlatform : Platform { + override val name: String = "Android ${Build.VERSION.SDK_INT}" +} + +actual fun getPlatform(): Platform = AndroidPlatform() \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/com/atiurin/samplekmp/MainActivity.kt b/composeApp/src/androidMain/kotlin/com/atiurin/samplekmp/MainActivity.kt new file mode 100644 index 00000000..459a1bfa --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/atiurin/samplekmp/MainActivity.kt @@ -0,0 +1,24 @@ +package com.atiurin.samplekmp + +import App +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContent { + App() + } + } +} + +@Preview +@Composable +fun AppAndroidPreview() { + App() +} \ No newline at end of file diff --git a/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml b/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 00000000..2b068d11 --- /dev/null +++ b/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml b/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..e93e11ad --- /dev/null +++ b/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..eca70cfe --- /dev/null +++ b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..eca70cfe --- /dev/null +++ b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a571e60098c92c2baca8a5df62f2929cbff01b52 GIT binary patch literal 3593 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 P00000NkvXXu0mjfP=x?Y literal 0 HcmV?d00001 diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..61da551c5594a1f9d26193983d2cd69189014603 GIT binary patch literal 5339 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 literal 0 HcmV?d00001 diff --git a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b216f2d313cc673d8b8c4da591c174ebed52795c GIT binary patch literal 11873 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 literal 0 HcmV?d00001 diff --git a/composeApp/src/androidMain/res/values/strings.xml b/composeApp/src/androidMain/res/values/strings.xml new file mode 100644 index 00000000..f37cb736 --- /dev/null +++ b/composeApp/src/androidMain/res/values/strings.xml @@ -0,0 +1,3 @@ + + sample-kmp + \ No newline at end of file diff --git a/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml b/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml new file mode 100644 index 00000000..c0bcfb28 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml @@ -0,0 +1,36 @@ + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/App.kt b/composeApp/src/commonMain/kotlin/App.kt new file mode 100644 index 00000000..c1b82b0a --- /dev/null +++ b/composeApp/src/commonMain/kotlin/App.kt @@ -0,0 +1,39 @@ +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.material.Button +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.testTag +import org.jetbrains.compose.resources.painterResource +import org.jetbrains.compose.ui.tooling.preview.Preview +import ui.screens.ContactsListScreen +import ultron.composeapp.generated.resources.Res +import ultron.composeapp.generated.resources.compose_multiplatform + + +@Composable +@Preview +fun App() { + MaterialTheme { + var showContent by remember { mutableStateOf(false) } + Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { + Button(onClick = { showContent = !showContent }) { + Text("Click me!") + } + AnimatedVisibility(showContent) { + val greeting = remember { Greeting().greet() } + Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { + Image(painterResource(Res.drawable.compose_multiplatform), null) + Text("Compose: $greeting", modifier = Modifier.semantics { testTag = "greeting" }) + } + } + ContactsListScreen() + } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/Greeting.kt b/composeApp/src/commonMain/kotlin/Greeting.kt new file mode 100644 index 00000000..887d8350 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/Greeting.kt @@ -0,0 +1,7 @@ +class Greeting { + private val platform = getPlatform() + + fun greet(): String { + return "Hello, ${platform.name}!" + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/Platform.kt b/composeApp/src/commonMain/kotlin/Platform.kt new file mode 100644 index 00000000..87ca3fff --- /dev/null +++ b/composeApp/src/commonMain/kotlin/Platform.kt @@ -0,0 +1,5 @@ +interface Platform { + val name: String +} + +expect fun getPlatform(): Platform \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/repositories/ContactRepository.kt b/composeApp/src/commonMain/kotlin/repositories/ContactRepository.kt new file mode 100644 index 00000000..c3007205 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/repositories/ContactRepository.kt @@ -0,0 +1,17 @@ +package repositories + +object ContactRepository { + fun getContact(id: Int) : Contact { + return contacts.find { it.id == id }!! + } + + fun getFirst(): Contact { + return contacts.first() + } + fun getLast() : Contact { + return contacts.last() + } + fun all() = contacts.toList() + + private val contacts = CONTACTS +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/repositories/Storage.kt b/composeApp/src/commonMain/kotlin/repositories/Storage.kt new file mode 100644 index 00000000..0378ed75 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/repositories/Storage.kt @@ -0,0 +1,52 @@ +package repositories + + +data class Contact( val id: Int,val name: String, val status: String, val avatar: Int) +data class User( val id: Int,val name: String, val avatar: Int, val login: String, val password: String) + +val CURRENT_USER = User(1, "Joey Tribbiani", Avatars.JOEY.drawable, "joey", "1234") + +val CONTACTS = arrayListOf( + Contact(2, "Chandler Bing", "Joey doesn't share food!", Avatars.CHANDLER.drawable), + Contact(3, "Ross Geller", "UNAGI", Avatars.ROSS.drawable), + Contact(4, "Rachel Green", "I got off the plane!", Avatars.RACHEL.drawable), + Contact(5, "Phoebe Buffay", "Smelly cat, smelly cat..", Avatars.PHOEBE.drawable), + Contact(6, "Monica Geller", "I need to clean up..", Avatars.MONICA.drawable), + Contact(7, "Gunther", "They were on break :(", Avatars.GUNTHER.drawable), + Contact(8, "Janice", "Oh. My. God", Avatars.JANICE.drawable), + Contact(9, "Bob", "I wanna drink", Avatars.DEFAULT.drawable), + Contact(10, "Marty McFly", "Back to the ...", Avatars.DEFAULT.drawable), + Contact(12, "Emmet Brown", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(13, "Friend1", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(14, "Friend2", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(15, "Friend3", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(16, "Friend4", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(17, "Friend5", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(18, "Friend6", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(19, "Friend7", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(20, "Friend8", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(21, "Friend9", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(22, "Friend10", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(23, "Friend11", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(24, "Friend12", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(25, "Friend13", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(26, "Friend14", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(27, "Friend15", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(28, "Friend16", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(29, "Friend17", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(30, "Friend18", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(31, "Friend19", "Time fluid capacitor", Avatars.DEFAULT.drawable), + Contact(32, "Friend20", "Time fluid capacitor", Avatars.DEFAULT.drawable) +) + +enum class Avatars(val drawable: Int) { + CHANDLER(0), + ROSS(1), + MONICA(2), + RACHEL(3), + PHOEBE(4), + GUNTHER(5), + JOEY(6), + JANICE(7), + DEFAULT(8) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/ui/screens/ContactsListScreen.kt b/composeApp/src/commonMain/kotlin/ui/screens/ContactsListScreen.kt new file mode 100644 index 00000000..356947aa --- /dev/null +++ b/composeApp/src/commonMain/kotlin/ui/screens/ContactsListScreen.kt @@ -0,0 +1,83 @@ +package ui.screens + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.material.Divider +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.testTag +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.testTag +import androidx.compose.ui.unit.TextUnit +import androidx.compose.ui.unit.TextUnitType +import androidx.compose.ui.unit.dp +import repositories.ContactRepository +import kotlinx.coroutines.async +import repositories.Contact + +@Composable +fun ContactsListScreen() { + Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { + val scope = rememberCoroutineScope() + var contactItems by remember { mutableStateOf(emptyList()) } + var text by remember { mutableStateOf("Loading ...") } + + scope.async { + contactItems = loadContacts() + text = "Contacts loaded" + } + + Text(text) + LazyColumn( + contentPadding = PaddingValues(horizontal = 16.dp, vertical = 8.dp), + verticalArrangement = Arrangement.spacedBy(4.dp), + modifier = Modifier.semantics { + contentDescription = "contactsListContentDesc" + testTag = "contactsListTestTag" + } + ) { + items(contactItems) { contact -> ContactItem(contact) } + } + } +} + +@Composable +fun ContactItem(contact: Contact) { + Box(modifier = Modifier.testTag("contactItem=${contact.id}")) { + Column { + Row { + Column { + Text(contact.name, Modifier.semantics { testTag = "contactNameTestTag" }, fontSize = TextUnit(20f, TextUnitType.Sp)) + Spacer(modifier = Modifier.height(8.dp)) + Text(text = contact.status, Modifier.semantics { testTag = "contactStatusTestTag" }, fontSize = TextUnit(16f, TextUnitType.Sp)) + Spacer(modifier = Modifier.height(8.dp)) + } + } + } + Spacer(modifier = Modifier.height(8.dp)) + Divider(color = Color.Black) + } + +} + +suspend fun loadContacts(): List { +// delay(1000) + return ContactRepository.all() +} \ No newline at end of file diff --git a/composeApp/src/commonTest/kotlin/AppTest.kt b/composeApp/src/commonTest/kotlin/AppTest.kt new file mode 100644 index 00000000..00897c5d --- /dev/null +++ b/composeApp/src/commonTest/kotlin/AppTest.kt @@ -0,0 +1,58 @@ +import androidx.compose.ui.test.ExperimentalTestApi +import androidx.compose.ui.test.hasTestTag +import androidx.compose.ui.test.hasText +import repositories.ContactRepository +import com.atiurin.ultron.core.common.options.TextContainsOption +import com.atiurin.ultron.core.compose.list.UltronComposeListItem +import com.atiurin.ultron.core.compose.list.composeList +import com.atiurin.ultron.core.compose.nodeinteraction.click +import com.atiurin.ultron.core.compose.runUltronUiTest +import com.atiurin.ultron.extensions.assertIsDisplayed +import com.atiurin.ultron.extensions.click +import com.atiurin.ultron.extensions.withAssertion +import com.atiurin.ultron.page.Screen +import kotlin.test.Test + +@OptIn(ExperimentalTestApi::class) +class AppTest { + @Test + fun test() = runUltronUiTest { + setContent { + App() + } + hasText("Click me!").withAssertion(){ + hasTestTag("greeting") + .assertIsDisplayed() + .assertTextContains("Compose: Hello,", option = TextContainsOption(substring = true)) + }.click() + } + + @Test + fun testList() = runUltronUiTest { + setContent { + App() + } + val contact = ContactRepository.getFirst() + composeList(hasTestTag("contactsListTestTag")) + .assertIsDisplayed().assertNotEmpty() + .firstVisibleItem().assertIsDisplayed() + ListScreen { + list.assertContentDescriptionEquals(contactsListContentDesc) + list.getFirstVisibleItem().apply { + name.assertIsDisplayed().assertTextContains(contact.name) + status.assertIsDisplayed().assertTextContains(contact.status) + } + } + } +} + +object ListScreen : Screen() { + const val contactsListTestTag = "contactsListTestTag" + const val contactsListContentDesc = "contactsListContentDesc" + val list = composeList(hasTestTag(contactsListTestTag)) + + class ListItem : UltronComposeListItem(){ + val name by child { hasTestTag("contactNameTestTag") } + val status by child { hasTestTag("contactStatusTestTag") } + } +} \ No newline at end of file diff --git a/composeApp/src/commonTest/kotlin/ExampleTest.kt b/composeApp/src/commonTest/kotlin/ExampleTest.kt new file mode 100644 index 00000000..e53978fb --- /dev/null +++ b/composeApp/src/commonTest/kotlin/ExampleTest.kt @@ -0,0 +1,32 @@ +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag +import androidx.compose.ui.test.* +import kotlin.test.Test + +class DesktopExampleTest { + + @OptIn(ExperimentalTestApi::class) + @Test + fun myTest() = runComposeUiTest { + setContent { + var text by remember { mutableStateOf("Hello") } + Text( + text = text, + modifier = Modifier.testTag("text") + ) + Button( + onClick = { text = "Compose" }, + modifier = Modifier.testTag("button") + ) { + Text("Click me") + } + } + + // Tests the declared UI with assertions and actions of the Compose Multiplatform testing API + onNodeWithTag("text").assertTextEquals("Hello") + onNodeWithTag("button").performClick() + onNodeWithTag("text").assertTextEquals("Compose") + } +} \ No newline at end of file diff --git a/composeApp/src/desktopMain/kotlin/Platform.jvm.kt b/composeApp/src/desktopMain/kotlin/Platform.jvm.kt new file mode 100644 index 00000000..f5e7e494 --- /dev/null +++ b/composeApp/src/desktopMain/kotlin/Platform.jvm.kt @@ -0,0 +1,5 @@ +class JVMPlatform: Platform { + override val name: String = "Java ${System.getProperty("java.version")}" +} + +actual fun getPlatform(): Platform = JVMPlatform() \ No newline at end of file diff --git a/composeApp/src/desktopMain/kotlin/main.kt b/composeApp/src/desktopMain/kotlin/main.kt new file mode 100644 index 00000000..0fcff970 --- /dev/null +++ b/composeApp/src/desktopMain/kotlin/main.kt @@ -0,0 +1,11 @@ +import androidx.compose.ui.window.Window +import androidx.compose.ui.window.application + +fun main() = application { + Window( + onCloseRequest = ::exitApplication, + title = "sample-kmp", + ) { + App() + } +} \ No newline at end of file diff --git a/composeApp/src/desktopTest/kotlin/DesktopSampleTest.kt b/composeApp/src/desktopTest/kotlin/DesktopSampleTest.kt new file mode 100644 index 00000000..ff02f4e9 --- /dev/null +++ b/composeApp/src/desktopTest/kotlin/DesktopSampleTest.kt @@ -0,0 +1,39 @@ +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.test.* +import androidx.compose.ui.platform.testTag +import androidx.compose.ui.test.junit4.createComposeRule +import org.junit.Rule +import org.junit.Test + +class DesktopSampleTest { + @get:Rule + val rule = createComposeRule() + + @Test + fun myTest(){ + // Declares a mock UI to demonstrate API calls + // + // Replace with your own declarations to test the code in your project + rule.setContent { + var text by remember { mutableStateOf("Hello") } + + Text( + text = text, + modifier = Modifier.testTag("text") + ) + Button( + onClick = { text = "Compose" }, + modifier = Modifier.testTag("button") + ) { + Text("Click me") + } + } + + // Tests the declared UI with assertions and actions of the JUnit-based testing API + rule.onNodeWithTag("text").assertTextEquals("Hello") + rule.onNodeWithTag("button").performClick() + rule.onNodeWithTag("text").assertTextEquals("Compose") + } +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/MainViewController.kt b/composeApp/src/iosMain/kotlin/MainViewController.kt new file mode 100644 index 00000000..fa143d45 --- /dev/null +++ b/composeApp/src/iosMain/kotlin/MainViewController.kt @@ -0,0 +1,3 @@ +import androidx.compose.ui.window.ComposeUIViewController + +fun MainViewController() = ComposeUIViewController { App() } \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/Platform.ios.kt b/composeApp/src/iosMain/kotlin/Platform.ios.kt new file mode 100644 index 00000000..5cef987c --- /dev/null +++ b/composeApp/src/iosMain/kotlin/Platform.ios.kt @@ -0,0 +1,7 @@ +import platform.UIKit.UIDevice + +class IOSPlatform: Platform { + override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion +} + +actual fun getPlatform(): Platform = IOSPlatform() \ No newline at end of file diff --git a/composeApp/src/wasmJsMain/kotlin/Platform.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/Platform.wasmJs.kt new file mode 100644 index 00000000..57b2e112 --- /dev/null +++ b/composeApp/src/wasmJsMain/kotlin/Platform.wasmJs.kt @@ -0,0 +1,5 @@ +class WasmPlatform: Platform { + override val name: String = "Web with Kotlin/Wasm" +} + +actual fun getPlatform(): Platform = WasmPlatform() \ No newline at end of file diff --git a/composeApp/src/wasmJsMain/kotlin/main.kt b/composeApp/src/wasmJsMain/kotlin/main.kt new file mode 100644 index 00000000..d2fd60c1 --- /dev/null +++ b/composeApp/src/wasmJsMain/kotlin/main.kt @@ -0,0 +1,10 @@ +import androidx.compose.ui.ExperimentalComposeUiApi +import androidx.compose.ui.window.ComposeViewport +import kotlinx.browser.document + +@OptIn(ExperimentalComposeUiApi::class) +fun main() { + ComposeViewport(document.body!!) { + App() + } +} \ No newline at end of file diff --git a/composeApp/src/wasmJsMain/resources/index.html b/composeApp/src/wasmJsMain/resources/index.html new file mode 100644 index 00000000..5b4e61aa --- /dev/null +++ b/composeApp/src/wasmJsMain/resources/index.html @@ -0,0 +1,12 @@ + + + + + + sample-kmp + + + + + + \ No newline at end of file diff --git a/composeApp/src/wasmJsMain/resources/styles.css b/composeApp/src/wasmJsMain/resources/styles.css new file mode 100644 index 00000000..0549b10f --- /dev/null +++ b/composeApp/src/wasmJsMain/resources/styles.css @@ -0,0 +1,7 @@ +html, body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: hidden; +} \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..b2d6de30 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..0c6c2c27 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ yarn +``` + +### Local Development + +``` +$ yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +### Build + +``` +$ yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +### Deployment + +Using SSH: + +``` +$ USE_SSH=true yarn deploy +``` + +Not using SSH: + +``` +$ GIT_USER= yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/docs/babel.config.js b/docs/babel.config.js new file mode 100644 index 00000000..e00595da --- /dev/null +++ b/docs/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; diff --git a/docs/docs/android/_category_.json b/docs/docs/android/_category_.json new file mode 100644 index 00000000..1670f042 --- /dev/null +++ b/docs/docs/android/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Android", + "position": 3, + "collapsed": false +} diff --git a/docs/docs/android/espress.md b/docs/docs/android/espress.md new file mode 100644 index 00000000..f927b774 --- /dev/null +++ b/docs/docs/android/espress.md @@ -0,0 +1,231 @@ +--- +sidebar_position: 1 +--- + +# Espresso + +## How to use? + +Simple espresso operation looks like this + +```kotlin +onView(withId(R.id.send_button)).check(isDisplayed()).perform(click()) +``` +the same with **Ultron** + +```kotlin +withId(R.id.send_button).isDisplayed().click() +``` +Names of all Ultron operations are the same as espresso one. There are a lot of additional operations those simplifies test development. + +```kotlin +//------ actions ------ +click() +doubleClick() +longClick() +typeText(text: String) +replaceText(text: String) +clearText() +pressKey(keyCode: Int) +pressKey(key: EspressoKey) +closeSoftKeyboard() +swipeLeft() +swipeRight() +swipeUp() +swipeDown() +scrollTo() +perform(viewAction: ViewAction) // execute custom espresso action as Ultron one +perform(params: UltronEspressoActionParams? = null, block: (uiController: UiController, view: View) -> Unit) + execute(params: UltronEspressoActionParams? = null, block: (uiController: UiController, view: View) -> T): T + +//------ get View property actions ------ +getText() : String? +getContentDescription() : String? +getDrawable() : Drawable? + +//------ assertions ------ +exists() +doesNotExist() +isDisplayed() +isNotDisplayed() +isCompletelyDisplayed() +isDisplayingAtLeast(percentage: Int) +doesNotExist() +isEnabled() +isNotEnabled() +isSelected() +isNotSelected() +isClickable() +isNotClickable() +isChecked() +isNotChecked() +isFocusable() +isNotFocusable() +hasFocus() +isJavascriptEnabled() +hasText(text: String) +hasText(resourceId: Int) +hasText(stringMatcher: Matcher) +textContains(text: String) +hasContentDescription(text: String) +hasContentDescription(resourceId: Int) +hasContentDescription(charSequenceMatcher: Matcher) +contentDescriptionContains(text: String) +assertMatches(condition: Matcher) // execute custom espresso assertion as Ultron one +hasDrawable(@DrawableRes resourceId: Int) +hasAnyDrawable() +hasCurrentTextColor(@ColorRes colorRes: Int) +hasCurrentHintTextColor(@ColorRes colorRes: Int) +hasShadowColor(@ColorRes colorRes: Int) +hasHighlightColor(@ColorRes colorRes: Int) +assertMatches(params: UltronEspressoAssertionParams? = null, block: (view: View) -> Boolean) +//------ general ------ +withTimeout(timeoutMs: Long) // set custom timeout for operations +withResultHandler(resultHandlerBlock) // set custom result handler and process operation result +withAssertion(assertion: OperationAssertion) // define custom assertion of action success +withAssertion(name: String = "", isListened: Boolean = false, block: () -> Unit) + +//------ custom clicks ------ +clickTopLeft(offsetX: Int, offsetY: Int) +clickTopCenter(offsetY: Int) +clickTopRight(offsetX: Int, offsetY: Int) +clickCenterRight(offsetX: Int) +clickBottomRight(offsetX: Int, offsetY: Int) +clickBottomCenter(offsetY: Int) +clickBottomLeft(offsetX: Int, offsetY: Int) +clickCenterLeft(offsetX: Int) + +``` + +## Best practice + +Specify page elements as properties of PageObject class. + +```kotlin +object SomePage : Page() { + private val button = withId(R.id.button1) + private val eventStatus = withId(R.id.last_event_status) +} +``` + +Use this properties in page steps +```kotlin +object SomePage : Page() { + //page elements + fun someUserStepOnPage(expectedEventText: String){ + button.click() + eventStatus.hasText(expectedEventText) + } +} +``` +## Custom timeout for any operation + +```kotlin +withId(R.id.last_event_status).withTimeout(10_000).isDisplayed() +``` +There are 2 ways of using custom timeout: +- Specify it for page property and it will be applied for all operations with this element +```kotlin +object SomePage : Page() { + private val eventStatus = withId(R.id.last_event_status).withTimeout(10_000) +} +``` +- Specify it inside special step there the element operation could take more time. This timeout value will be applied only once for single operation. +```kotlin +object SomePage : Page() { + fun someLongUserStep(expectedEventText: String){ + longRequestButton.click() + eventStatus.withTimeout(20_000).hasText(expectedEventText) + } +} +``` +## Boolean operation result + +There is `isSuccess` method that allows us to get the result of any operation as boolean value. In case of false it could be executed to long (5 sec by default). So it reasonable to specify custom timeout for some operations. + +```kotlin +val isButtonDisplayed = withId(R.id.button).isSuccess { withTimeout(2_000).isDisplayed() } +if (isButtonDisplayed) { + //do some reasonable actions +} +``` + +## Dialog and popup + +To execute any operation inside dialog or popup with espresso you have to specify correct root element +```kotlin +onView(withText("OK"))).inRoot(isDialog()).perform(click()) +onView(withText("Cancel")).inRoot(isPlatformPopup()).perform(click()) +``` +Here is a point we need to put our minds on. + +**Ultron extends not only `Matcher` object but also `ViewInteraction` and `DataInteraction` objects** + +`onView(withText("OK"))).inRoot(isDialog())` returns _ViewInteraction_. Therefore it's possible to use Ultron operations with dialogs. + +So the best way would be a following + +```kotlin +object DialogPage : Page() { + val okButton = onView(withText(R.string.ok_button))).inRoot(isDialog()) + val cancelButton = onView(withText(R.string.cancel_button))).inRoot(isDialog()) +} +... +fun someUserStepInsideSomePage(){ + DialogPage.okButton.click() + somePageElement.isDisplayed() +} +``` +## Extend framework with your own ViewActions and ViewAssertions + +Under the hood all espresso Ultron operations are described in `UltronEspressoInteraction` class. That is why you just need to extend this class using [kotlin extension function](https://kotlinlang.org/docs/extensions.html), e.g. +```kotlin +fun UltronEspressoInteraction.appendText(text: String) = apply { + executeAction( + operationBlock = getInteractionActionBlock(AppendTextAction(text)), + name = "Append text '$text' to ${getInteractionMatcher()}", + description = "${interaction!!::class.simpleName} APPEND_TEXT to ${getInteractionMatcher()} during $timeoutMs ms", + ) +} +``` +`AppendTextAction` is a custom ViewAction, smth like that +```kotlin +class AppendTextAction(private val value: String) : ViewAction { + override fun getConstraints() = allOf(isDisplayed(), isAssignableFrom(TextView::class.java)) + override fun perform(uiController: UiController, view: View) { + (view as TextView).apply { + this.text = "$text$value" + } + uiController.loopMainThreadUntilIdle() + } + ... +} +``` + +To make your custom operation 100% native for Ultron framework it's required to add 3 lines more + +```kotlin +//support action for all Matcher +fun Matcher.appendText(text: String) = UltronEspressoInteraction(onView(this)).appendText(text) + +//support action for all ViewInteractions +fun ViewInteraction.appendText(text: String) = UltronEspressoInteraction(this).appendText(text) + +//support action for all DataInteractions +fun DataInteraction.appendText(text: String) = UltronEspressoInteraction(this).appendText(text) +``` +Finally you are able to use this custom operation +```kotlin +withId(R.id.text_input).appendText("some text to append") +``` +View sample code [UltronEspressoExt](https://github.com/open-tool/ultron/blob/master/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/ultronext/UltronEspressoExt.kt) + +## Get any property of any View + +There are several build in methods that extends `Matcher, ViewInteraction, DataInteraction`: +```kotlin +getText() : String? +getContentDescription() : String? +getDrawable() : Drawable? +``` +And you are able to get any other property. There is an example how it could be done - [GetTextAction](https://github.com/alex-tiurin/ultron/blob/master/ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetTextAction.kt) \ No newline at end of file diff --git a/docs/docs/android/recyclerview.md b/docs/docs/android/recyclerview.md new file mode 100644 index 00000000..baf892a9 --- /dev/null +++ b/docs/docs/android/recyclerview.md @@ -0,0 +1,198 @@ +--- +sidebar_position: 3 +--- + +# RecyclerView + +## Terms +Before we go forward we need to define some terms: +- RecyclerView - list of some items (a standard Android framework class). Ultron has a class that wraps an interaction with RecyclerView - `UltronRecyclerView`. +- RecyclerViewItem - single item of RecyclerView list (there is a class `UltronRecyclerViewItem`) +- RecyclerViewItem.child - child element of RecyclerViewItem (just a term, there is no special class to work with child elements). So _RecyclerViewItem.child_ could be considered as a simple android View. + +![Terms](https://user-images.githubusercontent.com/12834123/107883156-4008d000-6efe-11eb-9764-8c57e767e5e2.png) + +## UltronRecyclerView + +Create an instance of `UltronRecyclerView` by calling a method `withRecyclerView(..)` + +```kotlin +withRecyclerView(R.id.recycler_friends).assertSize(CONTACTS.size) +``` +There is a list of methods to interact with RecyclerView and it could be extended. + +### _Best practice_ - save `UltronRecyclerView` as page class properties + +```kotlin +object FriendsListPage : Page() { + // param loadTimeout in ms specifies a time of waiting while RecyclerView items will be loaded + val recycler = withRecyclerView(R.id.recycler_friends, loadTimeout = 10_000L) + fun someStep(){ + recycler.assertEmpty() + recycler.hasContentDescription("Description") + } +} +``` +`UltronRecyclerView` api + +```kotlin +// ----- assertions ----- +assertEmpty() // Asserts RecyclerView has no item +assertSize(expected: Int) // Asserts RecyclerView list has [expected] items count during +assertHasItemAtPosition(position: Int) // Asserts RecyclerView list has item at [position] +assertMatches(matcher: Matcher) // Assert RecyclerView matches custom condition +assertItemNotExist(matcher: Matcher, timeoutMs: Long) // watch java doc to understand how it works +assertItemNotExistImmediately(matcher: Matcher, timeoutMs: Long) +isDisplayed() +isNotDisplayed() +doesNotExist() +isEnabled() +isNotEnabled() +hasContentDescription(contentDescription: String) +hasContentDescription(resourceId: Int) +hasContentDescription(charSequenceMatcher: Matcher) +contentDescriptionContains(text: String) +// ----- item providers for simple UltronRecyclerViewItem ----- +// all item provider methods has params [autoScroll: Boolean = true, scrollOffset: Int = 0]. It's shown only once but all of them has it +item(matcher: Matcher, autoScroll: Boolean = true, scrollOffset: Int = 0): UltronRecyclerViewItem +item(position: Int, ..): UltronRecyclerViewItem +firstItem(..): UltronRecyclerViewItem +lastItem(..): UltronRecyclerViewItem + +// Sometimes it is impossible to provide unique matcher for RecyclerView item +// There is a set of methods to access not unique items by matcher and index +// index is a value from 0 to lastIndex of matched items +itemMatched(matcher: Matcher, index: Int): UltronRecyclerViewItem +firstItemMatched(matcher: Matcher, ..): UltronRecyclerViewItem +lastItemMatched(matcher: Matcher, ..): UltronRecyclerViewItem + +// ----- item providers for UltronRecyclerViewItem subclasses ----- +// following methods return a generic type T which is a subclass of UltronRecyclerViewItem +getItem(matcher: Matcher, autoScroll: Boolean = true, scrollOffset: Int = 0): T +getItem(position: Int, ..): T +getFirstItem(..): T +getLastItem(..): T + +// ----- in case it's impossible to define unique matcher for `UltronRecyclerViewItem` ----- +getItemMatched(matcher: Matcher, index: Int, ..): T +getFirstItemMatched(matcher: Matcher, ..): T +getLastItemMatched(matcher: Matcher, ..): T +``` +## UltronRecyclerViewItem + +`UltronRecyclerView` provides an access to `UltronRecyclerViewItem`. + +### Simple Item + +If you don't need to interact with item child just use methods like `item`, `firstItem`, `lastItem`, `itemMatched` and etc + +```kotlin +recycler.item(position = 10, autoScroll = true).click() // find item at position 10 and scroll to this item +recycler.item(matcher = hasDescendant(withText("Janice"))).isDisplayed() +recycler.firstItem().click() //take first RecyclerView item +recycler.lastItem().isCompletelyDisplayed() + +// if it's impossible to specify unique matcher for target item +val matcher = hasDescendant(withText("Friend")) +recycler.itemMatched(matcher, index = 2).click() //return 3rd matched item, because index starts from zero +recycler.firstItemMatched(matcher).isDisplayed() +recycler.lastItemMatched(matcher).isDisplayed() +recycler.getItemsAdapterPositionList(matcher) // return positions of all matched items +``` +You don't need to worry about scroll to item. By default autoscroll in all item accessor method equals true. + +### Complex item with children + +It's often required to interact with item child. The best solution will be to describe children as properties of `UltronRecyclerViewItem` subclass. + +```kotlin +class FriendRecyclerItem : UltronRecyclerViewItem() { + val avatar by child { withId(R.id.avatar) } + val name by child { withId(R.id.tv_name) } + val status by child { withId(R.id.tv_status) } +} +``` +**Note: you have to use delegated initialisation with `by child`.** + +Now you're able to get `FriendRecyclerItem` object using methods `getItem`, `getFirstItem`, `getLastItem` etc + +```kotlin +recycler.getItem(position = 10, autoScroll = true).status.hasText("UNAGI") +recycler.getItem(matcher = hasDescendant(withText("Janice"))).status.textContains("Oh. My") +recycler.getFirstItem().avatar.click() //take first RecyclerView item +recycler.getLastItem().isCompletelyDisplayed() + +// if it's impossible to specify unique matcher for target item +val matcher = hasDescendant(withText(containsString("Friend"))) +recycler.getItemMatched(matcher, index = 2).name.click() //return 3rd matched item, because index starts from zero +recycler.getFirstItemMatched(matcher).name.hasText("Friend1") +recycler.getLastItemMatched(matcher).avatar.isDisplayed() +``` +### _Best practice_ - add a method to Page class that returns `FriendRecyclerItem` + +```kotlin +object FriendsListPage : Page() { + val recycler = withRecyclerView(R.id.recycler_friends) + fun getListItem(contactName: String): FriendRecyclerItem { + return recycler.getItem(hasDescendant(allOf(withId(R.id.tv_name), withText(contactName)))) + } + fun getListItem(positions: Int): FriendRecyclerItem { + return recycler.getItem(positions) + } +} +``` +use `getListItem` inside `FriendsListPage` steps +```kotlin +object FriendsListPage : Page() { + ... + fun assertStatus(name: String, status: String) = apply { + getListItem(name).status.hasText(status).isDisplayed() + } +} +``` + +`UltronRecyclerViewItem` api + +```kotlin +//actions +scrollToItem(offset: Int = 0) +click() +longClick() +doubleClick() +swipeUp() +swipeDown() +swipeLeft() +swipeRight() +perform(viewAction: ViewAction) + +//assertions +isDisplayed() +isNotDisplayed() +isCompletelyDisplayed() +isDisplayingAtLeast(percentage: Int) +isClickable() +isNotClickable() +isEnabled() +isNotEnabled() +assertMatches(condition: Matcher) +hasContentDescription(contentDescription: String) +hasContentDescription(resourceId: Int) +hasContentDescription(charSequenceMatcher: Matcher) +contentDescriptionContains(text: String) + +//general +getViewHolder(): RecyclerView.ViewHolder? +getChild(childMatcher: Matcher): Matcher //return matcher to a child element +withTimeout(timeoutMs: Long) //set custom timeout for the next operation +withResultHandler(..) // allows you to process action on item by your own way + +// click options +clickTopLeft(offsetX: Int = 0, offsetY: Int = 0) +clickTopCenter(offsetY: Int) +clickTopRight(offsetX: Int = 0, offsetY: Int = 0) +clickCenterRight(offsetX: Int = 0) +clickBottomRight(offsetX: Int = 0, offsetY: Int = 0) +clickBottomCenter(offsetY: Int = 0) +clickBottomLeft(offsetX: Int = 0, offsetY: Int = 0) +clickCenterLeft(offsetX: Int = 0) +``` \ No newline at end of file diff --git a/docs/docs/android/rootview.md b/docs/docs/android/rootview.md new file mode 100644 index 00000000..3f9ceb8f --- /dev/null +++ b/docs/docs/android/rootview.md @@ -0,0 +1,53 @@ +--- +sidebar_position: 5 +--- + +# withSuitableRoot + +Method allows to avoiding nontrivial element lookup exceptions + +In some cases, we encounter non-trivial exceptions in finding elements that are part of the Espresso framework. Such problems and their solution will be considered. + +# Waited for the root of the view hierarchy to have window focus and not request layout for 10 seconds. + +If you observe such an exception, then this indicates a complex problem for testing the user interface. One of the well-known reasons is that programmers add their views to the application context, and not to the activity or fragment. At phase of view interaction creation, Espresso assigns a root view where your matcher will be matched. Unfortunately, the views attached to the application context may not have the same root view that was set at the time view interaction was created. To solve this problem, the following solution was created: + +```kotlin +val toolbarTitle = withId(R.id.toolbar_title) + +fun assertToolbarTitleWithSuitableRoot(text: String) { + toolbarTitle.withSuitableRoot().hasText(text) +} +``` + +withSuitableRoot() extension returns a view interaction with the correct root view in which the element you are looking for will be located. If the root view is not found, the test will be interrupted with espresso exception - NoMatchingRootException: Matcher ...did not match any of the following roots... + +You can also use the root matcher to set the root for Espresso view interaction. + +```kotlin +val toolbarTitle = withId(R.id.toolbar_title) +onView(toolbarTitle).inRoot(withSuitableRoot(toolbarTitle)).check { + // Your checks here +} +``` + +The same works for UltronRecyclerViewItem: + +```kotlin +val recycler = withRecyclerView(R.id.recycler_friends) + +class FriendRecyclerItem : UltronRecyclerViewItem() { + val name by child { withId(R.id.tv_name) } + val status by child { withId(R.id.tv_status) } + val avatar by child { withId(R.id.avatar) } +} + +fun getListItem(positions: Int): FriendRecyclerItem { + return recycler.getItem(positions) +} + +// Usage: + +getListItem(0).withSuitableRoot().isDisplayed() +getListItem(0).name.withSuitableRoot().isDisplayed().click() +``` diff --git a/docs/docs/android/uiautomator.md b/docs/docs/android/uiautomator.md new file mode 100644 index 00000000..74d0d1b8 --- /dev/null +++ b/docs/docs/android/uiautomator.md @@ -0,0 +1,220 @@ +--- +sidebar_position: 4 +--- + +# UI Automator + +**Ultron** makes UI Automator actions and assertions much more stable and simple. It wraps both UiObject and UiObject2. + +# Speed up all UI Automator operations + +**Ultron** operation could be significantly faster then UI Automator one. To accelerate all operations add single line of code in tests precondition. + +```kotlin +@BeforeClass +@JvmStatic +fun speedUpAutomator() { + UltronConfig.UiAutomator.speedUp() + //or apply the config + UltronConfig.apply { + accelerateUiAutomator = true + } +} +``` + +# How to use? + +Compare following code snippets. + +_UI Automator_ + +```kotlin +val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) +device.wait( + Until.findObject( + By.res("com.atiurin.sampleapp:id", "button1") + ), 5_000 +).click() +val uiObject2 = device.wait( + Until.findObject( + By.res("com.atiurin.sampleapp:id", "last_event_status") + ), 5_000 +) +uiObject2.text = "Ultron" +Assert.assertEquals("Ultron", uiObject2.text) +``` +_Ultron_ + +```kotlin +byResId(R.id.button1).click() +byResId(R.id.last_event_status).replaceText("Ultron").hasText("Ultron") +``` + +The last one looks a little bit better :) + +`byResId(R.id.button1)` actually returns `UltronUiObject2`. + +While the framework tries to execute UI Automator operation, it catches a list of specified exceptions and tries to repeat the operation during the timeout (5 seconds by default). Of course, you are able to customize the list of processed exceptions. It is also possible to specify a custom timeout for any operation. The configuration process for this part of the framework is explained below. + +## `UltronUiObject2` api + +There are factory methods to create `UltronUiObject2`. + +```kotlin +byResId(@IntegerRes resourceId: Int): UltronUiObject2 // specify element with target application resourceId +by(bySelector: BySelector): UltronUiObject2 // eg by(By.res("com.android.camera2","shutter_button")) +``` + +To describe UI element with text or content description use following approach + +```kotlin +val textElement = by(By.text("some text")) +val contentDescElement = by(By.desc("Content desc")) +``` + +`UltronUiObject2` has all methods of standart UiObject2 and also provide a lot of new features. + +```kotlin +// data providers +getParent(): UltronUiObject2? // return this object's parent, or null if it has no parent +getChildren(): List // return a collection of the child elements directly under this object. Empty list if no child exist +getChildCount(): Int +findObject(bySelector: BySelector): UltronUiObject2? // searches all elements under this object and returns the first object to match the criteria +findObjects(bySelector: BySelector): List // searches all elements under this object and returns all objects that match the criteria +getApplicationPackage(): String? // return the package name of the app that this object belongs to +getText(): String? // return view.text or null if view has no text +getClassName(): String // return the class name of the view represented by this object +getVisibleBounds(): Rect? // return the visible bounds of this object in screen coordinates +getVisibleCenter(): Point? // return a point in the center of the visible bounds of this object +getResourceName(): String? // return the fully qualified resource name for this object's id +getContentDescription(): String? // return the content description for this object + +//actions +click(duration: Long = 0) // A basic click is a touch down and touch up over the same point with no delay. +longClick() +clear() // Clears the text content if object is an editable field +addText(text: String) // Add the text content if object is an editable field +legacySetText(text: String) // Set the text content by sending individual key codes +replaceText(text: String) // Set the text content if object is an editable field +drag(dest: Point, speed: Int = DEFAULT_DRAG_SPEED) // Drags object to the specified location +pinchClose(percent: Float, speed: Int = DEFAULT_PINCH_SPEED) // Performs a pinch close gesture on this object +swipe(direction: Direction, percent: Float, speed: Int = DEFAULT_SWIPE_SPEED) // Performs a swipe gesture on this object +swipeUp() +swipeDown() +swipeLeft() +swipeRight() +scroll(direction: Direction, percent: Float, speed: Int = DEFAULT_SCROLL_SPEED) // Performs a scroll gesture on this object +scrollUp() +scrollDown() +scrollLeft() +scrollRight() +fling(direction: Direction, speed: Int = DEFAULT_FLING_SPEED) // Performs a fling gesture on this object +perform(actionBlock: UiObject2.() -> Unit, actionDescription: String) // custom action on UiObject2 + +//asserts +hasText(textMatcher: Matcher) +hasText(text: String) +textContains(textSubstring: String) +textIsNullOrEmpty() +textIsNotNullOrEmpty() +hasContentDescription(contentDescMatcher: Matcher) +hasContentDescription(contentDesc: String) +contentDescriptionContains(contentDescSubstring: String) +contentDescriptionIsNullOrEmpty() +contentDescriptionIsNotNullOrEmpty() +isCheckable() +isNotCheckable() +isChecked() +isNotChecked() +isClickable() +isNotClickable() +isEnabled() +isNotEnabled() +isFocusable() +isNotFocusable() +isFocused() +isNotFocused() +isLongClickable() +isNotLongClickable() +isScrollable() +isNotScrollable() +isSelected() +isNotSelected() +isDisplayed() +isNotDisplayed() +assertThat(assertBlock: UiObject2.() -> Boolean, assertionDescription: String) // custom assertion of UiObject2 + +//------ general ------ +withTimeout(timeoutMs: Long) // set custom timeout for operations +withResultHandler(resultHandlerBlock) // set custom result handler and process operation result +withAssertion(assertion: OperationAssertion) // define custom assertion of action success +withAssertion(name: String = "", isListened: Boolean = false, block: () -> Unit) +``` + +## `UltronUiObject` api + +As it was mentioned before **Ultron** wraps UiObject too. There is a set of static methods to create `UltronUiObject`. + +```kotlin +uiResId(@IntegerRes resourceId: Int): UltronUiObject // specify element with target application resourceId +ui(uiSelector: UiSelector): UltronUiObject +``` + +It has all methods of standart UiObject and also provide a lot of new features. As `UltronUiObject` has almost the same api as `UltronUiObject2` we don't list it. + +## Best practice + +Specify page elements as properties of PageObject class. + +```kotlin +object SomePage : Page() { + private val button = byResId(R.id.button1) + private val eventStatus = byResId(R.id.last_event_status) +} +``` + +Use this properties in page steps +```kotlin +object SomePage : Page() { + //page elements + fun someUserStepOnPage(expectedEventText: String){ + button.click() + eventStatus.hasText(expectedEventText) + } +} +``` +## Custom timeout for any operation + +```kotlin +byResId(R.id.last_event_status).withTimeout(10_000).isDisplayed() +``` +There are 2 ways of using custom timeout: +- Specify it for page property and it will be applied for all operations with this element +```kotlin +object SomePage : Page() { + private val eventStatus = byResId(R.id.last_event_status).withTimeout(10_000) +} +``` +- Specify it inside special step there the element operation could take more time. This timeout value will be applied only once for single operation. +```kotlin +object SomePage : Page() { + fun someLongUserStep(expectedEventText: String){ + longRequestButton.click() + eventStatus.withTimeout(20_000).hasText(expectedEventText) + } +} +``` +## Boolean operation result + +There is `isSuccess` method that allows us to get the result of any operation as boolean value. In case of false it could be executed to long (5 sec by default). So it's resonable to specify custom timeout for some operations. + +```kotlin +val isButtonDisplayed = byResId(R.id.button).isSuccess { withTimeout(2_000).isDisplayed() } +if (isButtonDisplayed) { + //do some reasonable actions +} +``` + +## Extend framework with your own action and assertion + +It's described in another page [here](../common/extension.md#ui-automator) diff --git a/docs/docs/android/webview.md b/docs/docs/android/webview.md new file mode 100644 index 00000000..112512d1 --- /dev/null +++ b/docs/docs/android/webview.md @@ -0,0 +1,136 @@ +--- +sidebar_position: 2 +--- + +# WebView + +There are 3 different objects to interact with. + +* `UltronWebDocument` - wraps operations with WebView DOM document (execute JS script and etc). +* `UltronWebElement` - represents a DOM element. Provides operations with element (`webClick`, `replaceText`, `exists` etc) +* `UltronWebElements` - represents a list of similar WebElements. + +## How to use? + +### UltronWebDocument + +It contains a set of static methods. For example +```kotlin +UltronWebDocument.evalJS("document.getElementById(\"title\").innerHTML = '$title';") +UltronWebDocument.assertThat( + webContent( + elementById( + "apple_link", + withTextContent("Apple") + ) + ) + ) +``` +Full list: + +```kotlin +forceJavascriptEnabled(webViewMatcher, timeoutMs, ..) // performs a force enable of Javascript on a WebView +evalJS(script: String, webViewMatcher, timeoutMs, ..) // evaluate JS on webView +assertThat(WebAssertion, webViewMatcher, ..) // use any webAssertion to assert it safely +selectActiveElement(..): ElementReference // finds the currently active element in the document +selectFrameByIndex(index: Int, ..): WindowReference // selects a subframe of the currently selected window by it's index +selectFrameByIdOrName(idOrName: String, ..): WindowReference // selects a subframe of the current window by it's name or id +``` + +### UltronWebElement +`UltronWebElement` has a list of factory methods that help us to create an instance of UltronWebElement. Full list is here - [UltronWebElement](https://github.com/open-tool/ultron/blob/603150ab12a703a19245ad08a48b036ce562dfd8/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElement.kt#L311) + +```kotlin +import com.atiurin.ultron.core.espressoweb.webelement.UltronWebElement.Companion.id +//other imports + +id("text_input").webKeys("Ultron") +className("css_button").webClick() +xpath("some_xpath_link").hasAttribute("href", "https://github.com/alex-tiurin/ultron") +``` +It's preferable to use `id` or `xpath` to create `UltronWebElement` instance because they provide very profitable method `hasAttribute` + +Full operations list + +```kotlin +//actions +clearElement() // clears content from an editable element +replaceText(String) // simulates javascript clear and key events sent to a certain element +webKeys(String) // simulates javascript key events sent to a certain element +getText() // returns the visible text beneath a given DOM element +webScrollIntoView() // executes scroll to view +webScrollIntoViewBoolean() // returns if the desired element is in view after scrolling +webClick() // simulates the javascript events to click on a particular element + +//assertions +containsText(String) // asserts that DOM element contains visible text beneath it self +exists() // asserts that element exists in webView +hasText(String) // asserts that DOM element has visible text beneath it self +hasAttribute(String, Matcher) // assert any html attribute value +assertThat(WebAssertion) // use any webAssertion to assert it safely + +isSuccess(block: UltronWebElement.() -> Unit) // transforms any action or assertion to Boolean value +reset() // removes the Element and Window references from this interaction +//------ general ------ +withTimeout(timeoutMs: Long) // set custom timeout +withResultHandler(resultHandlerBlock) // provides the ability to process operation result in custom way +withContextual(UltronWebElement) // set a parent element +withAssertion(assertion: OperationAssertion) // define custom assertion of action success +withAssertion(name: String = "", isListened: Boolean = false, block: () -> Unit) +``` + +### UltronWebElements + +It helps to find similar elements. +```kotlin +classNames("link").getElements() + .find { ultronWebElement -> + ultronWebElement.isSuccess { + withTimeout(100).hasText("Apple") + } + }?.webClick() +``` +It has only 2 usable methods + +```kotlin +getElements(): List +getSize(): Int +``` +## Boolean operation result + +There is `isSuccess` method that allows us to get the result of any operation as boolean value. In case of false it could be executed to long (5 sec by default). So it reasonable to specify custom timeout for some operations. + +```kotlin +val isWebElementExist = xpath("some_xpath").isSuccess { withTimeout(2_000).exists() } +if (isWebElementExist) { + //do some reasonable actions +} +``` +## Best practice + +Specify web elements as properties of PageObject class. + +```kotlin +object WebViewPage : Page() { + private val button = id("button") + private val textInput = id("text_input") + private val title = xpath("some_xpath") +} +``` + +Use this properties in page steps +```kotlin +object WebViewPage : Page() { + //page elements + fun someUserStepOnWebView(expectedEventText: String){ + textInput.replaceText(expectedEventText) + button.webClick() + title.hasText(expectedEventText) + } +} +``` + +## Extend framework with your own Web operations + + +It's described in another page [here](../common/extension.md#espresso-web) diff --git a/docs/docs/common/_category_.json b/docs/docs/common/_category_.json new file mode 100644 index 00000000..7811d1bb --- /dev/null +++ b/docs/docs/common/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Common", + "position": 4, + "collapsed": false +} diff --git a/docs/docs/common/allure.md b/docs/docs/common/allure.md new file mode 100644 index 00000000..41967354 --- /dev/null +++ b/docs/docs/common/allure.md @@ -0,0 +1,164 @@ +--- +sidebar_position: 1 +--- + +# Allure + +Ultron can generate artifacts for Allure report. + +Just set Ultron `testInstrumentationRunner` in your app build.gradle file ([example build.gradle.kts](https://github.com/open-tool/ultron/blob/master/sample-app/build.gradle.kts#L14)) + +```kotlin +android { + defaultConfig { + testInstrumentationRunner = "com.atiurin.ultron.allure.UltronAllureTestRunner" + ... + } +``` +and apply recommended config in your BaseTest class ([example BaseTest](https://github.com/open-tool/ultron/blob/master/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/BaseTest.kt#L31)). + +```kotlin +@BeforeClass @JvmStatic +fun setConfig() { + UltronConfig.applyRecommended() + UltronAllureConfig.applyRecommended() +} +``` + +## Custom results directory + +Ultron allows you to specify the directory where the Allure results will be stored. +By default, the results are stored in the `/files/allure-results` directory in the root of the project. +You can change this directory by calling `UltronAllureConfig.setAllureResultsDirectory()` + +```kotlin +@BeforeClass @JvmStatic +fun setConfig() { + ... + UltronAllureConfig.applyRecommended() + UltronAllureConfig.setAllureResultsDirectory(Environment.DIRECTORY_DOWNLOADS) +} +``` + +## Ultron Allure report contains: +- Detailed report about all operations in your test +- Logcat file (in case of failure) +- Screenshot (in case of failure) +- Ultron log file (in case of failure) + +You also can add any artifact you need. It will be described later. + +![allure](https://github.com/open-tool/ultron/assets/12834123/c05c813a-ece6-45e6-a04f-e1c92b82ffb1) + + + +*** +## Ultron `step` +Ultron wraps Allure `step` method into it's own one. + +It's recommended to use Ultron method cause it will provide more info to report in future releases. + +### Best practice + +Wraps all steps with Ultron `step` method e.g. + +```kotlin +object ChatPage: Page(){ + ... + fun sendMessage(text: String) = apply { + step("Send message with text '$text") { + inputMessageText.typeText(text) + sendMessageBtn.click() + this.getMessageListItem(text).text + .isDisplayed() + .hasText(text) + } + } + + fun assertMessageTextAtPosition(position: Int, text: String) = apply { + step("Assert item at position $position has text '$text'"){ + this.getListItemAtPosition(position).text.isDisplayed().hasText(text) + } + } +} +``` + +## Custom config + +```kotlin +UltronConfig.apply { + this.operationTimeoutMs = 10_000 + this.logToFile = false + this.accelerateUiAutomator = false +} +UltronAllureConfig.apply { + this.attachUltronLog = false + this.attachLogcat = false + this.detailedAllureReport = false + this.addConditionsToReport = false + this.addScreenshotPolicy = mutableSetOf( + AllureAttachStrategy.TEST_FAILURE, // attach screenshot at the end of failed test + AllureAttachStrategy.OPERATION_FAILURE, // attach screenshot once operation failed + AllureAttachStrategy.OPERATION_SUCCESS // attach screenshot for each operation + ) +} +UltronComposeConfig.apply { + this.operationTimeoutMs = 7_000 + ... +} +``` +## Add detailed info about your conditions to report + +Ultron provides cool feature called **Test condition management** (https://github.com/open-tool/ultron/wiki/Full-control-of-your-tests) + +With recommended config all conditions will be added to Allure report automatically. The `name` of rule and condition is used as Allure `step` name. + +For example this code + +```kotlin + val setupRule = SetUpRule("Login user rule") + .add(name = "Login valid user $CURRENT_USER") { + AccountManager(InstrumentationRegistry.getInstrumentation().targetContext).login( + CURRENT_USER.login, CURRENT_USER.password + ) + } +``` + +generate following marked steps + +![conditions](https://user-images.githubusercontent.com/12834123/232789449-1b6a0bc8-5c68-4dd3-836c-8d39696ce8dd.png) + +## How to add custom artifacts to Allure report? + +### Write artifact to report + +The framework has special methods to write your artifacts into report. + +`createCacheFile` - creates temp file to write the content ([see InstrumentationUtil.kt](https://github.com/open-tool/ultron/blob/master/ultron/src/main/java/com/atiurin/ultron/utils/InstrumentationUtil.kt))\ + +`AttachUtil.attachFile(...)` - to attach file to report [see AttachUtil](https://github.com/open-tool/ultron/blob/master/ultron-allure/src/main/java/com/atiurin/ultron/allure/attachment/AttachUtil.kt) + +You method can looks like + +```kotlin +fun addMyArtifactToAllure(){ + val tempFile = createCacheFile() + val result = writeContentToFile(tempFile) + val fileName = AttachUtil.attachFile( + name = "file_name.xml", + file = tempFile, + mimeType = "text/xml" + ) +} +``` +`writeContentToFile(tempFile)` - you should implement it. + +### Manage artifact creation + +You can attach artifact using 2 types of Ultron listeners: + +- [UltronLifecycleListener](https://github.com/open-tool/ultron/blob/master/ultron/src/main/java/com/atiurin/ultron/listeners/UltronLifecycleListener.kt) - once Ultron operation finished with any result. Sample - [ScreenshotAttachListener.kt](https://github.com/open-tool/ultron/blob/master/ultron-allure/src/main/java/com/atiurin/ultron/allure/listeners/ScreenshotAttachListener.kt) + +- [UltronRunListener](https://github.com/open-tool/ultron/blob/master/ultron/src/main/java/com/atiurin/ultron/runner/UltronRunListener.kt) which is inherited from [RunListener](https://github.com/open-tool/ultron/blob/master/ultron/src/main/java/com/atiurin/ultron/runner/RunListener.kt). This type can be used to add artifact in different test lifecycle state. Sample - [WindowHierarchyAttachRunListener.kt](https://github.com/open-tool/ultron/blob/master/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/WindowHierarchyAttachRunListener.kt) + +Refer to the [Listeners doc page](../common/listeners.md) for details. \ No newline at end of file diff --git a/docs/docs/common/extension.md b/docs/docs/common/extension.md new file mode 100644 index 00000000..1dcf5a3b --- /dev/null +++ b/docs/docs/common/extension.md @@ -0,0 +1,224 @@ +--- +sidebar_position: 1 +--- + +# Ultron Extension + +Ultron leverages the power of [Kotlin extension functions](https://kotlinlang.org/docs/extensions.html). + +You can extend the framework by using its native approach along with your custom operations. + +## Compose +*** +To enhance the Compose part of the framework, follow these steps: +- Create an extension method for `UltronComposeSemanticsNodeInteraction`. This method should encapsulate the logic of the operation. +- Create `SemanticsMatcher` extension method to invoke the method with the operation logic. + +Two methods facilitate this process: + +- `perform`: This evaluates the operation and returns updated `UltronComposeSemanticsNodeInteraction` object. + +```kotlin +fun UltronComposeSemanticsNodeInteraction.hasAnyChildren() = perform { + Assert.assertTrue("SemanticsNode has any children", it.fetchSemanticsNode().children.isNotEmpty()) +} + +fun SemanticsMatcher.hasAnyChildren() = UltronComposeSemanticsNodeInteraction(this).hasAnyChildren() +``` + +- `execute`: This evaluates the operation and returns the operation's result. +```kotlin +fun UltronComposeSemanticsNodeInteraction.getWidth(): Int = execute { + it.fetchSemanticsNode().size.width +} + +fun SemanticsMatcher.getWidth(): Int = UltronComposeSemanticsNodeInteraction(this).getWidth() +``` + +### Customize operation info + +You can provide additional information to the framework using `UltronComposeOperationParams` for both the `perform` and `execute` methods. + +```kotlin +fun UltronComposeSemanticsNodeInteraction.getWidth(): Int = execute( + UltronComposeOperationParams( + operationName = "Get width of '${semanticsNodeInteraction.getDescription()}'", + operationDescription = "Compose get width of '${semanticsNodeInteraction.getDescription()}' during $timeoutMs ms", + operationType = CustomComposeOperationType.GET_WIDTH + ) +) { + it.fetchSemanticsNode().size.width +} +``` + +## Espresso +*** +For Espresso operations, extend `UltronEspressoInteraction` class. There are 3 methods that help us: + +- `perform`: This evaluates the action and returns an updated `UltronEspressoInteraction` object. + +```kotlin +fun UltronEspressoInteraction.appendText(value: String) = perform { _, view -> + val textView = (view as TextView) + textView.text = "${textView.text}$value" +} +``` + +- `execute`: This evaluates the action and returns the result of the operation. +```kotlin +fun UltronEspressoInteraction.getText(): String = execute { _, view -> + (view as TextView).text.toString() +} +``` + +- `assertMatches`: This evaluates the assertion and returns an updated `UltronEspressoInteraction` object. + +```kotlin +fun UltronEspressoInteraction.assertChecked(expectedState: Boolean) = assertMatches { view -> + // block returns Boolean defining whether assertion failed or succeded + (view as CheckBox).isChecked == expectedState +} +``` +To make your custom operation fully native, extend `Matcher`, `ViewInteraction`, `DataInteraction`: + +```kotlin +//support action for all Matcher +fun Matcher.appendText(text: String) = UltronEspressoInteraction(onView(this)).appendText(text) + +//support action for all ViewInteractions +fun ViewInteraction.appendText(text: String) = UltronEspressoInteraction(this).appendText(text) + +//support action for all DataInteractions +fun DataInteraction.appendText(text: String) = UltronEspressoInteraction(this).appendText(text) +``` + +You are able to use this custom operation +```kotlin +withId(R.id.text_input).appendText("some text to append") +``` + +### Customize action info + +You can provide additional information to the framework using `UltronEspressoActionParams` for both the `perform` and `execute` methods. + +```kotlin +fun UltronEspressoInteraction.getText(): String = execute( + UltronEspressoActionParams( + operationName = "GetText from TextView with '${getInteractionMatcher()}'", + operationDescription = "${interaction.simpleClassName()} action '${CustomEspressoActionType.GET_TEXT}' of '${getInteractionMatcher()}' with root '${getInteractionRootMatcher()}' during ${getActionTimeout()} ms", + operationType = CustomEspressoActionType.GET_TEXT, + viewActionDescription = "getting text from TextView", + viewActionConstraints = isAssignableFrom(TextView::class.java) + ) +) { _, view -> + (view as TextView).text.toString() +} +``` + +### Customize assertion info + +You can provide additional information to the framework using `UltronEspressoAssertionParams` for the `assertChecked` method. + +```kotlin +fun UltronEspressoInteraction.assertChecked(expectedState: Boolean) = assertMatches ( + UltronEspressoAssertionParams( + operationName = "Assert CheckBox isChecked = '$expectedState'", + operationDescription = "Assert CheckBox isChecked = '$expectedState' during $timeoutMs ms", + operationType = EspressoAssertionType.IS_CHECKED, + ) +){ view -> + (view as CheckBox).isChecked == expectedState +} +``` + +## Espresso Web +*** + +For Espresso Web operations, extend the `UltronWebElement` class. + +```kotlin +// add action on wenView +fun UltronWebElement.appendText(text: String) = apply { + executeOperation( + getUltronWebActionOperation ( + webInteractionBlock = { + webInteractionBlock().perform(DriverAtoms.webKeys(text)) + }, + name = "WebElement(${locator.type} = '$value') appendText '$text'", + description = "WebElement(${locator.type} = '$value') appendText '$text' during $timeoutMs ms" + ) + ) + } +``` + +Use it like +```kotlin +id("text_input").appendText("some text") +``` + +In case you need to add an assertion, use `getUltronWebAssertionOperation()` instead of `getUltronWebActionOperation()` + +```kotlin +// add assertion on webView +fun UltronWebElement.appendText(text: String) = apply { + executeOperation( + getUltronWebAssertionOperation (...) + ) + } +``` + +## UI Automator +*** + +For UI Automator operations, extend either `UltronUiObject2` or `UltronUiObject` class. + +```kotlin +//actually, UltronUiObject2 already has the same method addText +// this is just an example of how to extend UltronUiObject2 +fun UltronUiObject2.appendText(appendText: String) = apply { + executeAction( + actionBlock = { uiObject2ProviderBlock()!!.text += appendText }, + name = "AppendText '$appendText' to $selectorDesc", + description = "UiObject2 action '${UiAutomatorActionType.ADD_TEXT}' $selectorDesc appendText '$appendText' during $timeoutMs ms" + ) + } +``` +Use this new ability like: +```kotlin +object SomePage : Page() { + private val search = byResId(R.id.search) + fun someUserStep(prefixText: String){ + search.addPrefixText(prefix) + } +} +``` +The same approach applies to adding custom assertions: + +```kotlin +// actually it is not required to create custom UltronOperationType, but could be useful later +enum class CustomUltronOperations : UltronOperationType { + ASSERT_HAS_ANY_CHILD +} +// add extension function to UltronUiObject2 that calls `executeAssertion` +fun UltronUiObject2.assertHasAnyChild() = apply { + executeAssertion( + assertionBlock = { uiObject2ProviderBlock()!!.childCount > 0 }, + name = "Assert $selectorDesc has any child", + type = CustomUltronOperations.ASSERT_HAS_ANY_CHILD, + description = "UiObject2 assertion '${CustomUltronOperations.ASSERT_HAS_ANY_CHILD}' of $selectorDesc during $timeoutMs ms" + ) +} +``` +Use this new ability like: +```kotlin +object SomePage : Page() { + private val searchResult = byResId(R.id.search_result) + fun someUserStep(prefixText: String){ + search.addPrefixText(prefix) + searchResult.assertHasAnyChild() + } +} +``` + + + diff --git a/docs/docs/common/listeners.md b/docs/docs/common/listeners.md new file mode 100644 index 00000000..6f123e13 --- /dev/null +++ b/docs/docs/common/listeners.md @@ -0,0 +1,168 @@ +--- +sidebar_position: 3 +--- + +# Listeners + +The framework has 2 types of listeners: UltronLifecycleListener & UltronRunListener + +## UltronLifecycleListener + +This one allows you to listen all stages of **Operation execution**. + +```kotlin +abstract class UltronLifecycleListener { + /** + * executed before any action or assertion + */ + override fun before(operation: Operation) = Unit + + /** + * called when action or assertion failed + */ + override fun afterFailure(operationResult: OperationResult) = Unit + /** + * called when action or assertion has been executed successfully + */ + override fun afterSuccess(operationResult: OperationResult) = Unit + /** + * called in any case of action or assertion result + */ + override fun after(operationResult: OperationResult) = Unit +} +``` +`Operation` object contains all info about operation (name, description, type, timeout) + +`OperationResult` object contains all info about operation result (success, all exceptions that occured and exception that was thrown, description etc) and also has a reference to `Operation`. + +All listener methods will be executed before an exception will be thrown. It gives you a guarantee that all exceptions in your tests will be processed as you want. + +### Log operation example + +For instance, here is a listener that logs everything to Ultron log. +```kotlin +class LogLifecycleListener : UltronLifecycleListener() { + override fun before(operation: Operation) { + UltronLog.info("Start execution of ${operation.name}") + } + + override fun afterSuccess(operationResult: OperationResult) { + UltronLog.info("Successfully executed ${operationResult.operation.name}") + } + + override fun afterFailure(operationResult: OperationResult) { + UltronLog.error("Failed ${operationResult.operation.name} with description: \n" + + "${operationResult.description} ") + } +} +``` + +You can create you own custom listener in the same way. + +```kotlin +class CustomLifecycleListener : UltronLifecycleListener() {...} +``` + +Add new listener for Ultron operations using `UltronCommonConfig.addListener()`. + +```kotlin +abstract class BaseTest { + companion object { + @BeforeClass @JvmStatic + fun configureUltron() { + UltronCommonConfig.addListener(CustomLifecycleListener()) + } + } +} +``` + +### Configuration + +Basically we already know how to add new listener. But there are other options to configure Ultron listeners. + +First of all Ultron by default already has [LogLifecycleListener](https://github.com/alex-tiurin/ultron/blob/master/ultron/src/main/java/com/atiurin/ultron/listeners/LogLifecycleListener.kt) that writes some usable info to logcat. + +### Lifecycles + +Ultron has 4 different lifecycles that watch for different operations. +- UltronEspressoOperationLifecycle +- UltronWebLifecycle (WebView operations) +- UltronUiAutomatorLifecycle +- UltronComposeOperationLifecycle + +It is possible to add listener for any of these lifecycles. + +`UltronUiAutomatorLifecycle.addListener(CustomLifecycleListener())` + +In this case `CustomLifecycleListener` will be applied only for UI Automator operations. + +### Exclude operation from listeners monitor + +Ultron allows it to exclude operation from all listeners. This option is based on operation type. + +For example, you've created a new operation + +```kotlin +enum class CustomUltronOperations : UltronOperationType { + ASSERT_HAS_ANY_CHILD +} +fun UltronUiObject2.assertHasAnyChild() = apply { + executeAssertion( + assertionBlock = { uiObject2ProviderBlock()!!.childCount > 0 }, + name = "Assert $selectorDesc has any child", + type = CustomUltronOperations.ASSERT_HAS_ANY_CHILD, + description = "UiObject2 assertion '${CustomUltronOperations.ASSERT_HAS_ANY_CHILD}' of $selectorDesc during $timeoutMs ms", + timeoutMs = timeoutMs, + resultHandler = resultHandler + ) +} +``` +And you would like to exclude it from listeners for any reason no matter why. + +Add single line to Ultron configuration function. + +```kotlin +abstract class BaseTest { + companion object { + @BeforeClass @JvmStatic + fun configureUltron() { + ... + UltronCommonConfig.operationsExcludedFromListeners.add(CustomUltronOperations.ASSERT_HAS_ANY_CHILD) + } + } +} +``` + +## UltronRunListener + +Allows you to add listener for Test Lifecycle. See [RunListener](https://github.com/open-tool/ultron/blob/master/ultron/src/main/java/com/atiurin/ultron/runner/RunListener.kt). + +It is available in case you use `ultron-allure` and set `testInstrumentationRunner`. + +```kotlin +testInstrumentationRunner = "com.atiurin.ultron.allure.UltronAllureTestRunner" +``` + +It could be used, for instance, to attach your custom application log to Allure Report. + +```kotlin +class AppLogAttachRunListener() : UltronRunListener() { + override fun testFailure(failure: Failure) { + val logFile: File = AppLogProvider.provide() + val fileName = AttachUtil.attachFile( + name = "app_log_file", + file = logFile, + mimeType = MimeType.PLAIN_TEXT + ) + } +} +``` + +Add custom RunListener to Allure config. +```kotlin +@BeforeClass @JvmStatic +fun configureUltron() { + ... + UltronAllureConfig.addRunListener(AppLogAttachRunListener()) +} +``` \ No newline at end of file diff --git a/docs/docs/compose/_category_.json b/docs/docs/compose/_category_.json new file mode 100644 index 00000000..9f3f9c17 --- /dev/null +++ b/docs/docs/compose/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Compose", + "position": 2, + "collapsed": false +} diff --git a/docs/docs/compose/android.md b/docs/docs/compose/android.md new file mode 100644 index 00000000..dbc0b6b2 --- /dev/null +++ b/docs/docs/compose/android.md @@ -0,0 +1,64 @@ +--- +sidebar_position: 2 +--- + +# Android + +## Android Compose testing API + +Typical Android test looks smth like this: + +```kotlin +class ComposeContentTest { + @get:Rule + val composeTestRule = createComposeRule() + @Test + fun myTest() { + composeTestRule.setContent { .. } + composeTestRule.onNode(hasTestTag("Continue")).performClick() + composeTestRule.onNodeWithText("Welcome").assertIsDisplayed() + } +} +``` +You can read more aboit it in [official documentation](https://developer.android.com/jetpack/compose/testing) + +So, all compose testing APIs are provided by `composeTestRule`. It's definitely uncomfortable. Moreover, in case your UI loading takes some time, e.g. in integration test, an assertion or an action fails. + +If you need to launch an Activity it's required to use another factory method to create Compose TestRule - `createUltronComposeRule` + +```kotlin +class ActivityComposeTest { + @get:Rule + val composeTestRule = createUltronComposeRule() + @Test + fun myTest() { + composeTestRule.onNode(hasTestTag("Continue")).performClick() + composeTestRule.onNodeWithText("Welcome").assertIsDisplayed() + } +} +``` + +_**Ultron**_ framework solves all these problems and do a lot more. + +## Ultron Compose + +Just create compose rule using Ultron static method + +```kotlin +@get:Rule +val composeTestRule = createDefaultUltronComposeRule() +``` +After that you're able to perform stable compose operations in **ANY** class. Just create a `SemanticsMatcher`(like `hasTestTag("smth")`) and call an operation on it. e.g. +```kotlin +hasTestTag("Continue").click() +hasText("Welcome").assertIsDisplayed() +``` + +`SemanticsMatcher` object is used in Android Compose testing framework to find a target node to interact with. + +To launch an Activity use `createUltronComposeRule` + +```kotlin +@get:Rule +val composeTestRule = createUltronComposeRule() +``` diff --git a/docs/docs/compose/api.md b/docs/docs/compose/api.md new file mode 100644 index 00000000..f0c7d9c2 --- /dev/null +++ b/docs/docs/compose/api.md @@ -0,0 +1,206 @@ +--- +sidebar_position: 4 +--- + +# Ultron Compose API + +The framework provides an extended API for Compose UI testing. Basically, it's available for `SemanticsMatcher` object. It could be created by functions like `hasTestTag()`, `hasText()` and etc. +```kotlin +//config +fun withTimeout(timeoutMs: Long) // to change an operation timeout from default one +fun withResultHandler(resultHandler: (ComposeOperationResult) -> Unit) // provide a scope to modify operation result processing +fun isSuccess(action: UltronComposeSemanticsNodeInteraction.() -> T): Boolean +fun withAssertion(assertion: OperationAssertion) +fun withAssertion(name: String = "", isListened: Boolean = false, block: () -> Unit) +fun withUseUnmergedTree(value: Boolean) +fun withName(name: String) // specify custom name for UI element, it'll be visible in log and exception +fun withMetaInfo(meta: Any) // allows association of custom info with UI element + +//actions +fun click(option: ClickOption? = null) +fun clickCenterLeft(option: ClickOption? = null) +fun clickCenterRight(option: ClickOption? = null) +fun clickTopCenter(option: ClickOption? = null) +fun clickTopLeft(option: ClickOption? = null) +fun clickTopRight(option: ClickOption? = null) +fun clickBottomCenter(option: ClickOption? = null) +fun clickBottomLeft(option: ClickOption? = null) +fun clickBottomRight(option: ClickOption? = null) +fun longClick(option: LongClickOption? = null) +fun longClickCenterLeft(option: LongClickOption? = null) +fun longClickCenterRight(option: LongClickOption? = null) +fun longClickTopCenter(option: LongClickOption? = null) +fun longClickTopLeft(option: LongClickOption? = null) +fun longClickTopRight(option: LongClickOption? = null) +fun longClickBottomCenter(option: LongClickOption? = null) +fun longClickBottomLeft(option: LongClickOption? = null) +fun longClickBottomRight(option: LongClickOption? = null) +fun doubleClick(option: DoubleClickOption? = null) +fun doubleClickCenterLeft(option: DoubleClickOption? = null) +fun doubleClickCenterRight(option: DoubleClickOption? = null) +fun doubleClickTopCenter(option: DoubleClickOption? = null) +fun doubleClickTopLeft(option: DoubleClickOption? = null) +fun doubleClickTopRight(option: DoubleClickOption? = null) +fun doubleClickBottomCenter(option: DoubleClickOption? = null) +fun doubleClickBottomLeft(option: DoubleClickOption? = null) +fun doubleClickBottomRight(option: DoubleClickOption? = null) +fun swipeDown(option: ComposeSwipeOption? = null) +fun swipeUp(option: ComposeSwipeOption? = null) +fun swipeLeft(option: ComposeSwipeOption? = null) +fun swipeRight(option: ComposeSwipeOption? = null) +fun scrollTo() +fun scrollToIndex(index: Int) +fun scrollToKey(key: String) +fun scrollToNode(matcher: SemanticsMatcher) +fun imeAction() +fun pressKey(keyEvent: KeyEvent) +fun getText(): String? +fun inputText(text: String) +fun typeText(text: String) +fun inputTextSelection(selection: TextRange) +fun setSelection(startIndex: Int = 0, endIndex: Int = 0, traversalMode: Boolean) +fun selectText(range: TextRange) +fun clearText() +fun replaceText(text: String) +fun copyText() +fun pasteText() +fun cutText() +fun setText(text: String) +fun setText(text: AnnotatedString) +fun collapse() +fun expand() +fun dismiss() +fun setProgress(value: Float) +fun captureToImage(): ImageBitmap + +fun performMouseInput(block: MouseInjectionScope.() -> Unit) +fun performSemanticsAction(key: SemanticsPropertyKey Boolean>>) +fun perform(params: UltronComposeOperationParams? = null, block: (SemanticsNodeInteraction) -> Unit) +fun execute(params: UltronComposeOperationParams? = null, block: (SemanticsNodeInteraction) -> T): T + +fun getNode(): SemanticsNode +fun getNodeConfigProperty(key: SemanticsPropertyKey): T + +//asserts +fun assertIsDisplayed() +fun assertIsNotDisplayed() +fun assertExists() +fun assertDoesNotExist() +fun assertIsEnabled() +fun assertIsNotEnabled() +fun assertIsFocused() +fun assertIsNotFocused() +fun assertIsSelected() +fun assertIsNotSelected() +fun assertIsSelectable() +fun assertIsOn() +fun assertIsOff() +fun assertIsToggleable() +fun assertHasClickAction() +fun assertHasNoClickAction() +fun assertTextEquals(vararg expected: String, option: TextEqualsOption? = null) +fun assertTextContains(expected: String, option: TextContainsOption? = null) +fun assertContentDescriptionEquals(vararg expected: String) +fun assertContentDescriptionContains(expected: String, option: ContentDescriptionContainsOption? = null) +fun assertValueEquals(expected: String) +fun assertRangeInfoEquals(range: ProgressBarRangeInfo) +fun assertHeightIsAtLeast(minHeight: Dp) +fun assertHeightIsEqualTo(expectedHeight: Dp) +fun assertWidthIsAtLeast(minWidth: Dp) +fun assertWidthIsEqualTo(expectedWidth: Dp) +fun assertMatches(matcher: SemanticsMatcher, messagePrefixOnError: (() -> String)? = null) +``` + +### _Best practice_ + +> Use Page Object pattern. Specify page elements as properties of Page class + +```kotlin +object SomePage : Page() { + private val button = hasTestTag(ComposeTestTags.button) + private val eventStatus = hasTestTag(ComposeTestTags.eventStatus) +} +``` + +Here `ComposeTestTags` could be an object that stores testTag constants. + +Use this properties in page steps + +```kotlin +object SomePage : Page() { + //page elements + fun someUserStepOnPage(expectedEventText: String) = apply { + button.click() + eventStatus.assertTextContains(expectedEventText) + } +} +``` + +It's possible to use term `Screen` instead of `Page`. They are equals. + +```kotlin +object SomeScreen : Screen() { ... } +``` + + +## Extend framework with your own compose operations + +Under the hood all Ultron compose operations are described in `UltronComposeSemanticsNodeInteraction` class. That is why you just need to extend this class using [kotlin extension function](https://kotlinlang.org/docs/extensions.html), e.g. + +```kotlin +//new semantic matcher for assertion +fun hasProgress(value: Float): SemanticsMatcher = SemanticsMatcher.expectValue(GetProgress, value) + +//add new operation +fun UltronComposeSemanticsNodeInteraction.assertProgress(expected: Float) = apply { + executeOperation( + operationBlock = { semanticsNodeInteraction.assert(hasProgress(expected)) }, + name = "Assert '${semanticsNodeInteraction.getDescription()}' has progress $expected", + description = "Compose assertProgress = $expected in '${semanticsNodeInteraction.getDescription()}' during $timeoutMs ms", + ) +} + +//extend SemanticsMatcher with your new operation +fun SemanticsMatcher.assertProgress(expected: Float) = UltronComposeSemanticsNodeInteraction(this).assertProgress(expected) +``` +How to use +```kotlin +val progress = 0.7f +hasTestTag(ComposeElementsActivity.progressBar).setProgress(progress).assertProgress(progress) +``` +You may ask what is `GetProgress`? + +This is a feature of Compose framework. It's available to extend you app with custom SemanticsPropertyKey. Define it in app and assert it in tests. + +```kotlin +//application code +@Composable +fun LinearProgressBar(statusState: MutableState){ + val progressState = remember { + mutableStateOf(0f) + } + LinearProgressIndicator(progress = progressState.value, modifier = + Modifier + .semantics { + testTag = ComposeElementsActivity.progressBar + setProgress { value -> + progressState.value = value + statusState.value = "set progress $value" + true + } + progressBarRangeInfo = ProgressBarRangeInfo(progressState.value, 0f..progressState.value, 100) + } + .getProgress(progressState.value) + .progressSemantics() + ) +} + +val GetProgress = SemanticsPropertyKey("ProgressValue") +var SemanticsPropertyReceiver.getProgress by GetProgress + +fun Modifier.getProgress(progress: Float): Modifier { + return semantics { getProgress = progress } +} +``` + + diff --git a/docs/docs/compose/index.md b/docs/docs/compose/index.md new file mode 100644 index 00000000..177f3445 --- /dev/null +++ b/docs/docs/compose/index.md @@ -0,0 +1,8 @@ +# Compose + +There are two types of UI tests you can write with Compose. + +1. Kotlin Multiplatform UI test ([Kotlin documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-test.html)) +2. Platform Specific JUnit-based tests ([Android documentation](https://developer.android.com/develop/ui/compose/testing)) + +Ultron supports both types of UI tests and make it`s development much easier. \ No newline at end of file diff --git a/docs/docs/compose/lazylist.md b/docs/docs/compose/lazylist.md new file mode 100644 index 00000000..ca75bb86 --- /dev/null +++ b/docs/docs/compose/lazylist.md @@ -0,0 +1,301 @@ +--- +sidebar_position: 5 +--- + +# LazyList + +## Ultron LazyColumn/LazyRow + +It's pretty much familiar with `UltronRecyclerView` approach. The difference is in internal structure of `RecyclerView `and `LazyColumn/LazyRow`. +Due to implementation features of LazyColumn/LazyRow we can't predict where matched item is located in list without scrolling (actually we can but it takes additional efforts from development) + +Before we go forward we need to clarify some terms: + +- ComposeList - list of some items. It's typically implemented in application as LazyColumnt or LazyRow. Ultron has a class that wraps an interaction with list - `UltronComposeList`. +- ComposeListItem - single item of ComposeList (there is a class `UltronComposeListItem`) +- ComposeListItemChild - child element of ComposeListItem (just a term, there is no special class to work with child elements). So _ComposeListItemChild_ could be considered as a simple compose node. + +![lazyColumn](https://user-images.githubusercontent.com/12834123/188237127-32e501ca-ae8b-4cd4-8114-e3e17843dc55.PNG) + +*** +## UltronComposeList + +Create an instance of `UltronComposeList` by calling a method `composeList(..)` + +```kotlin +composeList(hasTestTag(contactsListTestTag)).assertNotEmpty() +``` +### _Best practice_ - define `UltronComposeList` object as page class property + +```kotlin +object ContactsListPage : Page() { + val lazyList = composeList(hasContentDescription(contactsListContentDesc)) + fun someStep(){ + lazyList.assertNotEmpty() + lazyList.assertContentDescriptionEquals(contactsListContentDesc) + } +} +``` + +### `UltronComposeList` API +```kotlin +withTimeout(timeoutMs: Long) // defines a timeout for all operations +//assertions +fun assertIsDisplayed() +fun assertIsNotDisplayed() +fun assertExists() +fun assertDoesNotExist() +fun assertContentDescriptionEquals(vararg expected: String) +fun assertContentDescriptionContains(expected: String, option: ContentDescriptionContainsOption? = null) +fun assertNotEmpty() +fun assertEmpty() +fun assertVisibleItemsCount(expected: Int) + +//item providers for simple UltronComposeListItem +fun item(matcher: SemanticsMatcher): UltronComposeListItem +fun visibleItem(index: Int): UltronComposeListItem +fun firstVisibleItem(): UltronComposeListItem +fun lastVisibleItem(): UltronComposeListItem + +// ----- item providers for UltronComposeListItem subclasses ----- +// following methods return a generic type T which is a subclass of UltronComposeListItem +fun getItem(matcher: SemanticsMatcher): T +fun getVisibleItem(index: Int): T +fun getFirstVisibleItem(): T +fun getLastVisibleItem(): T + +//interaction provider +visibleChild(matcher: SemanticsMatcher) // provides an interaction on visible matched item + +//actions +fun getVisibleItemsCount(): Int +fun scrollToNode(itemMatcher: SemanticsMatcher) +fun scrollToIndex(index: Int) +fun scrollToKey(key: Any) +/** +* Provide a scope with references to list SemanticsNode and SemanticsNodeInteraction. +* It is possible to evaluate any action or assertion on this node. +*/ +fun performOnList(block: (SemanticsNode, SemanticsNodeInteraction) -> T): T +``` + +### useUnmergedTree +It is really important to understand the difference btwn merged and unmerged tree. There is a property `useUnmergedTree` that defines a behaviour. +```kotlin +composeList(hasTestTag(contactsListTestTag), useUnmergedTree = false) +``` + +- By default `UltronComposeList` uses unmerged tree (`useUnmergedTree = true`). All child elements contain info in seperate nodes. +- In case we use merged tree (`useUnmergedTree = false`) all child elements of item is merged to single node. So you're not able to identify a text value of concrete child. + +Why it's important? Cause you need to use different SemanticsMatchers to find appropriate child. + +```kotlin +mergedTreeList.item(hasText(contact.name)) // contact.name could be placed in wrong child +unmergedList.item(hasAnyDescendant(hasText(contact.name) and hasTestTag(contactNameTestTag))) //it's longer but certainly provides target node +``` +*** +## UltronComposeListItem +`UltronComposeList` provides an access to `UltronComposeListItem` + +There is a set of methods to create `UltronComposeListItem`. It's listed upper in `UltronComposeList` api. + +### Simple `UltronComposeListItem` + +If you don't need to interact with item child just use methods like `item`, `firstItem`, `visibleItem`, `firstVisibleItem`, `lastVisibleItem` +```kotlin +listWithMergedTree.item(hasText(contact.name)).assertTextContains(contact.name) +listWithMergedTree.firstVisibleItem() + .assertIsDisplayed() + .assertTextContains(contact.name) + .assertTextContains(contact.status) +``` +You don't need to worry about scroll to item. It's executed automatically. + +### Complex `UltronComposeListItem` with children + +It's often required to interact with item child. The best solution will be to describe children as properties of UltronComposeListItem subclass. +```kotlin +class ComposeFriendListItem : UltronComposeListItem(){ + val name by child { hasTestTag(contactNameTestTag) } + val status by child { hasTestTag(contactStatusTestTag) } +} +``` +**Note: you have to use delegated initialisation with `by child`.** + +Now you're able to get `ComposeFriendListItem` object using methods `getItem`, `getVisibleItem`, `getFirstVisibleItem`, `getLastVisibleItem` + +```kotlin +lazyList.getFirstVisibleItem() +lazyList.getVisibleItem(index) +lazyList.getItem(hasTestTag(..)) +``` + +### _Best practice_ + +> Add a method to `Page` class that returns `UltronComposeListItem` subclass + +Mark such methods with `private` visibility modifier. e.g. `getContactItem` +```kotlin +object ComposeListPage : Page() { + private val lazyList = composeList(hasContentDescription(contactsListContentDesc)) + private fun getContactItem(contact: Contact): ComposeFriendListItem = lazyList.getItem(hasTestTag(contact.id)) + + class ComposeFriendListItem : UltronComposeListItem(){ + val name by lazy { getChild(hasTestTag(contactNameTestTag)) } + val status by lazy { getChild(hasTestTag(contactStatusTestTag)) } + } +} +``` +Use `getContactItem` in `Page` steps like `assertContactStatus` +```kotlin +object ComposeListPage : Page() { + private fun getContactItem(contact: Contact): ComposeFriendListItem = lazyList.getItem(hasTestTag(contact.id)) + ... + fun assertContactStatus(contact: Contact) = apply { + getContactItem(contact).status.assertTextEquals(contact.status) + } +} +``` + +## `UltronComposeListItem` API + +It's pretty much the same as [simple node api](../compose/api.md), but extends it mostly for internal features. + +*** +## Efficient Strategies for Locating Items in Compose LazyList + +Let's start with approaches that you can use without additional efforts. For example, you have identified `LazyList` in your tests code like + +```kotlin +val lazyList = composeList(listMatcher = hasTestTag("listTestTag")) + +class ComposeListItem : UltronComposeListItem() { + val name by lazy { getChild(hasTestTag(contactNameTestTag)) } + val status by lazy { getChild(hasTestTag(contactStatusTestTag)) } +} +``` + +### 1. `..visibleItem` + +This is probably the most unstable approach. It's only suitable in case you didn't interact with `LazyList` and would like to reach an item that is on the screen. + +Use the following methods: + +```kotlin +lazyList.firstVisibleItem() +lazyList.visibleItem(index = 3) +lazyList.lastVisibleItem() + +lazyList.getFirstVisibleItem() +lazyList.getVisibleItem(index = 3) +lazyList.getLastVisibleItem() +``` + +### 2. Item by unique `SemanticsMatcher` + +A more stable way to find the item is to use `SemanticsMatcher`. It allows you to find the item not only on the screen. + +```kotlin +lazyList.item(hasAnyDescendant(hasText("Some unique text")) +lazyList.getItem(hasAnyDescendant(hasText("Some unique text")) +``` + +*** + +The next two approaches require additional code in the application. These are the most stable and preferable ways. + +### 3. Set up `positionPropertyKey` + +By default, a compose list item doesn't have a property that stores its position in the list. We can add this property in a really simple way. + +Here is the application code: +```kotlin +// create custom SemanticsPropertyKey +val ListItemPositionPropertyKey = SemanticsPropertyKey("ListItemPosition") +var SemanticsPropertyReceiver.listItemPosition by ListItemPositionPropertyKey + +// specify it for item and store item index in this property +@Composable +fun ContactsListWithPosition(contacts: List +) { + LazyColumn( + modifier = Modifier.semantics { testTag = "listTestTag" } + ) { + itemsIndexed(contacts) { index, contact -> + Column( + modifier = Modifier.semantics { + listItemPosition = index + } + ) { + // item content + } + } + } +} +``` + +After that, you need to specify the custom `SemanticsPropertyKey` in the test code: + +```kotlin +val lazyList = composeList( + listMatcher = hasTestTag("listTestTag"), + positionPropertyKey = ListItemPositionPropertyKey +) +``` + +It allows you to reach the item by its position in the list: + +```kotlin +lazyList.firstItem() +lazyList.item(position = 25) +lazyList.getFirstItem() +lazyList.getItem(position = 7) +``` + +### 4. Set up item `testTag` + +It is recommended to build `testTag` in a separate function based on data object. + +For example, let's assume we have a `Contact` data class that stores data to be presented in the item. + +```kotlin +data class Contact(val id: Int, val name: String, val status: String, val avatar: String) +``` + +We can create function to build `testTag` based on `contact.id` + +```kotlin +fun getContactItemTestTag(contact: Contact) = "contactId=${contact.id}" +``` + +We can use this function in the application code to specify `testTag` and in the test code to find the item by `testTag`: + +```kotlin +// application code +@Composable +fun ContactsListWithPosition(contacts: List +) { + LazyColumn( + modifier = Modifier.semantics { testTag = "listTestTag" } + ) { + itemsIndexed(contacts) { index, contact -> + Column( + modifier = Modifier.semantics { + listItemPosition = index + testTag = getContactItemTestTag(contact) + } + ) { + // item content + } + } + } +} + +//test code +val lazyList = composeList(listMatcher = hasTestTag("listTestTag")) + +lazyList.item(hasTestTag(getContactItemTestTag(contact))) +lazyList.getItem(hasTestTag(getContactItemTestTag(contact))) + +``` \ No newline at end of file diff --git a/docs/docs/compose/multiplatform.md b/docs/docs/compose/multiplatform.md new file mode 100644 index 00000000..8975a35c --- /dev/null +++ b/docs/docs/compose/multiplatform.md @@ -0,0 +1,101 @@ +--- +sidebar_position: 1 +--- + +# Multiplatform + +> Multiplatform support is in Alpha state. + +Compose Multiplatform provides robust tools for building and testing UI components across various platforms. One significant aspect of this is the ability to write and run common tests for your UI elements ([official doc sample](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-test.html#write-and-run-common-tests)). + +### `runComposeUiTest` vs `runUltronUiTest` + +With standart Compose Testing framework you have to use `runComposeUiTest` method to interact with UI elements. + +Here is simplified basic test sample with Compose Multiplatform. Typically it's placed in common app module, like `composeApp/src/commonTest/kotlin` + +```kotlin +class ComposeExampleTest { + @Test + fun myTest() = runComposeUiTest { + setContent { + // reasonable UI content + } + onNode(hasTestTag("text")).assertTextEquals("Hello") + onNode(hasTestTag("button")).performClick() + onNode(hasTestTag("text")).assertTextEquals("Compose") + } +} +``` + +Usage of `runUltronUiTest` function simplifies the interaction syntax. + +```kotlin +class UltronExampleTest { + @Test + fun myTest() = runUltronUiTest { + setContent { + // reasonable UI content + } + hasTestTag("text").assertTextEquals("Hello") + hasTestTag("button").click() + hasTestTag("text").assertTextEquals("Compose") + } +} +``` +More over it makes interactions more reliable and stable. + +Additionally, it becomes possible to call these interactions **EVERYWHERE** you want, e.g. in **Page Objects** + +### Compose Page Object + +Everyone knows that **Page Object** pattern is a good pattern. But how to use it for multiplatform tests? + +While `runComposeUiTest` provides the context for interaction with UI elements, like calling `onNodeWithTag()`, moving this logic into a Page Object or any other class/method can lead to issues, as these don’t have direct access to the testing API. This is because the testing API is provided by an object called `SemanticsNodeInteractionProvider`, which needs to be passed into each object to call the testing API. + +Here’s an example of a modified test using the Page Object pattern: + +```kotlin +class PageObjectMultiplatformTest { + @Test + fun myTest() = runComposeUiTest { + setContent { + // reasonable UI content + } + ExamplePage(provider = this).someStep() + } +} + +class ExamplePage(val provider: SemanticsNodeInteractionsProvider){ + fun someStep(){ + provider.onNodeWithTag("text").assertTextEquals("Hello") + provider.onNodeWithTag("button").performClick() + provider.onNodeWithTag("text").assertTextEquals("Compose") + } +} +``` + +### Ultron Page Object + +Ultron eliminates the need to pass `SemanticsNodeInteractionProvider` into each object. You only need to replace the `runComposeUiTest` method with `runUltronUiTest`. + +```kotlin +class UltronMultiplatformTest { + @Test + fun myTest() = runUltronUiTest { + setContent { + // reasonable UI content + } + + UltronPage.someStep() + } +} + +object UltronPage { + fun someStep(){ + hasTestTag("text").assertTextEquals("Hello") + hasTestTag("button").click() + hasTestTag("text").assertTextEquals("Compose") + } +} +``` \ No newline at end of file diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100644 index 00000000..efeed7d2 --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1,253 @@ +--- +sidebar_position: 1 +--- + +# Introduction + +![Docusaurus themed image](/img/ultron_banner_light.png#gh-light-mode-only)![Docusaurus themed image](/img/ultron_banner_dark.png#gh-dark-mode-only) + +Ultron is the simplest framework to develop UI tests for **Android** & **Compose Multiplatform**. + +It's constructed upon the Espresso, UI Automator and Compose UI testing frameworks. Ultron introduces a range of remarkable new features. Furthermore, Ultron puts you in complete control of your tests! + +You don't need to learn any new classes or special syntax. All magic actions and assertions are provided from crunch. Ultron can be easially customised and extended. + +## What are the benefits of using the framework? + +- Exceptional support for [**Compose**](./compose/index.md) +- Out-of-the-box generation of [**Allure report**](./common/allure.md) (Now, for Android UI tests only) +- A straightforward and expressive syntax +- Ensured **Stability** for all actions and assertions +- Complete control over every action and assertion +- Incredible interaction with [**RecyclerView**](./android/recyclerview.md) and [**Compose lists**](./compose/lazylist.md). +- An **Architectural** approach to developing UI tests +- An incredible mechanism for setups and teardowns (You can even set up preconditions for a single test within a test class, without affecting the others) +- [The ability to effortlessly extend the framework with your own operations](./common/extension.md) +- Accelerated UI Automator operations +- Ability to monitor each stage of operation execution with [Listeners](./common/listeners.md) +- [Custom operation assertions](https://github.com/open-tool/ultron/wiki/Custom-operation-assertions) + +*** + +### A few words about syntax + +The standard syntax provided by Google is intricate and not intuitive. This is especially evident when dealing with **LazyList** and **RecyclerView** interactions. + +Let's explore some examples: + +#### 1. Simple compose operation (refer to the doc [here](./compose/index.md)) + +_Compose framework_ + +```kotlin +composeTestRule.onNode(hasTestTag("Continue")).performClick() +composeTestRule.onNodeWithText("Welcome").assertIsDisplayed() +``` +_Ultron_ + +```kotlin +hasTestTag("Continue").click() +hasText("Welcome").assertIsDisplayed() +``` + +#### 2. Compose list operation (refer to the [doc](./compose/lazylist.md)) + +_Compose framework_ + +```kotlin +val itemMatcher = hasText(contact.name) +composeRule + .onNodeWithTag(contactsListTestTag) + .performScrollToNode(itemMatcher) + .onChildren() + .filterToOne(itemMatcher) + .assertTextContains(contact.name) +``` + +_Ultron_ + +```kotlin +composeList(hasTestTag(contactsListTestTag)) + .item(hasText(contact.name)) + .assertTextContains(contact.name) +``` +#### 3. Simple Espresso assertion and action. + +_Espresso_ + +```kotlin +onView(withId(R.id.send_button)).check(isDisplayed()).perform(click()) +``` +_Ultron_ + +```kotlin +withId(R.id.send_button).isDisplayed().click() +``` +This presents a cleaner approach. Ultron's operation names mirror Espresso's, while also providing additional operations. + +Refer to the [doc](./android/espress.md) for further details. + +#### 4. Action on RecyclerView list item + +_Espresso_ + +```kotlin +onView(withId(R.id.recycler_friends)) + .perform( + RecyclerViewActions + .actionOnItem( + hasDescendant(withText("Janice")), + click() + ) + ) +``` +_Ultron_ + +```kotlin +withRecyclerView(R.id.recycler_friends) + .item(hasDescendant(withText("Janice"))) + .click() +``` + +Explore the [doc](./android/espress.md) to unveil Ultron's magic with RecyclerView interactions. + +#### 5. Espresso WebView operations + +_Espresso_ + +```kotlin +onWebView() + .withElement(findElement(Locator.ID, "text_input")) + .perform(webKeys(newTitle)) + .withElement(findElement(Locator.ID, "button1")) + .perform(webClick()) + .withElement(findElement(Locator.ID, "title")) + .check(webMatches(getText(), containsString(newTitle))) +``` + +_Ultron_ + +```kotlin +id("text_input").webKeys(newTitle) +id("button1").webClick() +id("title").hasText(newTitle) +``` + +Refer to the [doc](./android/webview.md) for more details. + +#### 6. UI Automator operations + +_UI Automator_ + +```kotlin +val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) +device + .findObject(By.res("com.atiurin.sampleapp:id", "button1")) + .click() +``` + +_Ultron_ + +```kotlin +byResId(R.id.button1).click() +``` +Refer to the [doc](./android/uiautomator.md) +*** +### Acquiring the result of any operation as Boolean value + +```kotlin +val isButtonDisplayed = withId(R.id.button).isSuccess { isDisplayed() } +if (isButtonDisplayed) { + //do some reasonable actions +} +``` +*** +### Why are all Ultron actions and assertions more stable? + +The framework captures a list of specified exceptions and attempts to repeat the operation during a timeout period (default is 5 seconds). Of course, you have the ability to customize the list of handled exceptions. You can also set a custom timeout for any operation. + +```kotlin +withId(R.id.result).withTimeout(10_000).hasText("Passed") +``` +*** +## 3 steps to develop a test using Ultron + +We advocate for a proper test framework architecture, division of responsibilities between layers, and other best practices. Therefore, when using Ultron, we recommend the following approach: + +1. Create a Page Object and specify screen UI elements as `Matcher` objects. + +```kotlin +object ChatPage : Page() { + private val messagesList = withId(R.id.messages_list) + private val clearHistoryBtn = withText("Clear history") + private val inputMessageText = withId(R.id.message_input_text) + private val sendMessageBtn = withId(R.id.send_button) +} +``` + +It's recommended to make all Page Objects as `object` and descendants of Page class. +This allows for the utilization of convenient Kotlin features. It also helps you to keep Page Objects stateless. + +2. Describe user step methods in Page Object. + +```kotlin +object ChatPage : Page() { + fun sendMessage(text: String) = apply { + inputMessageText.typeText(text) + sendMessageBtn.click() + getMessageListItem(text).text + .isDisplayed() + .hasText(text) + } + + fun clearHistory() = apply { + openContextualActionModeOverflowMenu() + clearHistoryBtn.click() + } +} +``` +Refer to the full code sample [ChatPage.class](https://github.com/open-tool/ultron/blob/master/sample-app/src/androidTest/java/com/atiurin/sampleapp/pages/ChatPage.kt) + +3. Call user steps in test + +```kotlin + @Test + fun friendsItemCheck(){ + FriendsListPage { + assertName("Janice") + assertStatus("Janice","Oh. My. God") + } + } + @Test + fun sendMessage(){ + FriendsListPage.openChat("Janice") + ChatPage { + clearHistory() + sendMessage("test message") + } + } +``` +Refer to the full code sample [DemoEspressoTest.class](https://github.com/open-tool/ultron/blob/master/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/DemoEspressoTest.kt) + +In essence, your project's architecture will look like this: + +[acrchitecture](https://github.com/open-tool/ultron/assets/12834123/b0882d34-a18d-4f1f-959b-f75796d11036) + +*** +## Allure report + +Ultron has built in support to generate artifacts for Allure reports. Just apply the recommended configuration and set testIntrumentationRunner. + +For the complete guide, refer to the [Allure description](./common/allure.md) + +```kotlin +@BeforeClass @JvmStatic +fun setConfig() { + UltronConfig.applyRecommended() + UltronAllureConfig.applyRecommended() + UltronComposeConfig.applyRecommended() +} +``` +![allure](https://github.com/open-tool/ultron/assets/12834123/c05c813a-ece6-45e6-a04f-e1c92b82ffb1) + +![allure compose](https://github.com/open-tool/ultron/assets/12834123/1f751f3d-fc58-4874-a850-acd9181bfb70) \ No newline at end of file diff --git a/docs/docs/intro/_category_.json b/docs/docs/intro/_category_.json new file mode 100644 index 00000000..afbefbbe --- /dev/null +++ b/docs/docs/intro/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Getting started", + "position": 1, + "collapsed": false +} diff --git a/docs/docs/intro/configuration.md b/docs/docs/intro/configuration.md new file mode 100644 index 00000000..c6b7342b --- /dev/null +++ b/docs/docs/intro/configuration.md @@ -0,0 +1,149 @@ +--- +sidebar_position: 4 +--- + +# Configuration + +Each library of the framework has it's own config onject. + +- `UltronComposeConfig` - ultron-compose +- `UltronConfig` - ultron-android +- `UltronAllureConfig` - ultron-allure +- `UltronCommonConfig` - inside each library + +You can use recommended configuration and just apply it in **BaseTest** class ([sample](https://github.com/open-tool/ultron/blob/master/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/BaseTest.kt#L29)) : + +```kotlin +@BeforeClass +@JvmStatic +fun config() { + UltronConfig.applyRecommended() + UltronAllureConfig.applyRecommended() + UltronComposeConfig.applyRecommended() +} + +``` + +### UltronComposeConfig +*** +Manages configurations for Compose part of the framework + +```kotlin +UltronComposeConfig.apply { + operationTimeoutMs = 10_000 + lazyColumnOperationTimeoutMs = 15_000 + operationPollingTimeoutMs = 100 + lazyColumnItemSearchLimit = 100 +} +``` + +### UltronCommonConfig +*** +Provides an ability to config common parameters for your testing framework. + +```kotlin +UltronCommonConfig.apply { + logToFile = true + operationTimeoutMs = 10_000 + logDateFormat = "MM-dd HH:mm:ss.SSS" +} +``` + +It also gives an API to add/remove operations listeners + +```kotlin +UltronCommonConfig.addListener(CustomListener()) +``` + +### UltronConfig +*** +`UltronConfig` object is responsible for configuring and managing settings related to the Espresso, EspressoWeb, and UiAutomator. + +You can set custom main settings using `apply` method. + +```kotlin +UltronConfig.apply { + accelerateUiAutomator = true + operationTimeoutMs = 10_000 +} +``` + +- `UltronConfig.Espresso` nested Object: + +Manages configurations specific to the Espresso part of the framework. +Provides settings related to timeouts, view matchers, result analyzers, and action/assertion configurations. + +```kotlin +UltronConfig.Espresso.RECYCLER_VIEW_LOAD_TIMEOUT = 20_000 +UltronConfig.Espresso.RECYCLER_VIEW_OPERATIONS_TIMEOUT = 10_000 +UltronConfig.Espresso.RECYCLER_VIEW_ITEM_SEARCH_LIMIT = 100 +UltronConfig.Espresso.INCLUDE_VIEW_HIERARCHY_TO_EXCEPTION = true // false by default +UltronConfig.Espresso.setResultAnalyzer { operationResult -> + // set custom operations result analyzer +} +``` + +- `UltronConfig.Espresso.ViewActionConfig` and `UltronConfig.Espresso.ViewAssertionConfig` nested Objects: + +Manage configurations for Espresso view actions and view assertions, respectively. +Provide settings for allowed exceptions and result handlers. + +```kotlin +UltronConfig.Espresso.ViewActionConfig.allowedExceptions.add(CustomViewException::class.java) +UltronConfig.Espresso.ViewAssertionConfig.allowedExceptions.add(CustomViewException::class.java) +``` + +- `UltronConfig.Espresso.WebInteractionOperationConfig` nested Object: + +Manages configurations for Espresso web interaction operations. +Provides settings for allowed exceptions and result handlers. + +```kotlin +UltronConfig.Espresso.WebInteractionOperationConfig.allowedExceptions.add(CustomJSException::class.java) +``` + +- `UltronConfig.UiAutomator` nested Object: + +Manages configurations specific to the UiAutomator part of the framework. +Provides settings related to timeouts, result analyzers, and UiDevice configurations. + +```kotlin +UltronConfig.UiAutomator.OPERATION_TIMEOUT = 15_000 +val device = UltronConfig.UiAutomator.uiDevice +UltronConfig.UiAutomator.UiObject2Config.allowedExceptions.add(CustomViewException::class.java) +``` + +- `UltronConfig.UiAutomator.UiObjectConfig` and `UltronConfig.UiAutomator.UiObject2Config` nested Objects: + +Manage configurations for UiAutomator operations using UiSelector and BySelector, respectively. +Provide settings for allowed exceptions and result handlers. + +### UltronAllureConfig +*** + +Help us to configure Allure report. + +```kotlin +UltronAllureConfig.apply { + addScreenshotPolicy = mutableSetOf( + AllureAttachStrategy.TEST_FAILURE, + AllureAttachStrategy.OPERATION_FAILURE, + AllureAttachStrategy.OPERATION_SUCCESS + ) + addHierarchyPolicy = mutableSetOf( + AllureAttachStrategy.TEST_FAILURE + ) + attachLogcat = false + attachUltronLog = true + addConditionsToReport = true + detailedAllureReport = true +} +``` + +It also allow us to add or remove RunListener. + +```kotlin +UltronAllureConfig.addRunListener(LogcatAttachRunListener()) +UltronAllureConfig.removeRunListener(LogcatAttachRunListener::class.java) +``` + diff --git a/docs/docs/intro/connect.md b/docs/docs/intro/connect.md new file mode 100644 index 00000000..4a75ef90 --- /dev/null +++ b/docs/docs/intro/connect.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 2 +--- + +# Connect to project + +The framework has three libraries that could be added as dependencies. + +- `com.atiurin:ultron-compose` - could be used both for Android application and Compose Multiplatform UI tests +- `com.atiurin:ultron-android` - native Android UI tests based on Espresso(including web part) and UI Automator +- `com.atiurin:ultron-allure` - Allure report support for Android application UI tests + +You need **mavenCentral** repository. + +```kotlin +repositories { + mavenCentral() +} +``` + +For Android application instrumented UI tests +```kotlin +dependencies { + androidTestImplementation("com.atiurin:ultron-compose:") + androidTestImplementation("com.atiurin:ultron-android:") + androidTestImplementation("com.atiurin:ultron-allure:") +} +``` + +For Compose Multiplatform UI tests +```kotlin +kotlin { + sourceSets { + commonTest.dependencies { + implementation("com.atiurin:ultron-compose:") + } + } +} +``` \ No newline at end of file diff --git a/docs/docs/intro/dependencies.md b/docs/docs/intro/dependencies.md new file mode 100644 index 00000000..3761dfbb --- /dev/null +++ b/docs/docs/intro/dependencies.md @@ -0,0 +1,53 @@ +--- +sidebar_position: 3 +--- + +# Dependencies Management + +Ultron provides all the required dependencies in a transitive manner. That means you don't need to specify the Espresso or UI Automator library in your dependencies section in most cases. + +You can find all Ultron dependencies in [Versions.kt](https://github.com/open-tool/ultron/blob/master/buildSrc/src/main/kotlin/Versions.kt). + +## Android Dependencies + +The `com.atiurin:ultron-android:` library provides: + +```kotlin +dependencies { + api(Libs.espressoCore) + api(Libs.espressoContrib) + api(Libs.espressoWeb) + api(Libs.accessibility) + api(Libs.hamcrestCore) + api(Libs.uiautomator) +} +``` + +If you need another Espresso library in dependencies. It's better to use the same Espresso version as Ultron. + +Now - [Ultron Espresso verion](https://github.com/open-tool/ultron/blob/1c81014f4cbea97b2f24128831a13e601936ef57/buildSrc/src/main/kotlin/Versions.kt#L9) is `3.4.0`. +We don't update to `3.5.1` because it brings only a set of problems and nothing improve. + +## Allure Dependencies + +The `com.atiurin:ultron-allure:` library provides all Allure dependencies. + +```kotlin +dependencies { + api(Libs.allureAndroid) + api(Libs.allureCommon) + api(Libs.allureModel) + api(Libs.allureJunit4) + api(Libs.espressoCore) +} +``` + +## Compose Dependencies + +The `com.atiurin:ultron-compose:` library provides `androidx.compose.ui:ui-test-junit4` + +```kotlin +dependencies { + api(Libs.composeUiTest) +} +``` diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts new file mode 100644 index 00000000..891d3b4f --- /dev/null +++ b/docs/docusaurus.config.ts @@ -0,0 +1,113 @@ +import {themes as prismThemes} from 'prism-react-renderer'; +import type {Config} from '@docusaurus/types'; +import type * as Preset from '@docusaurus/preset-classic'; + +const config: Config = { + title: 'Ultron', + tagline: 'Compose Multiplatform and Android UI testing framework', + favicon: 'img/favicon.ico', + url: 'https://ultron.github.io', + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: '/ultron/', + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: 'Open-tool', // Usually your GitHub org/user name. + projectName: 'ultron', // Usually your repo name. + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + { + docs: { + sidebarPath: './sidebars.ts', + }, + theme: { + customCss: './src/css/custom.css', + }, + } satisfies Preset.Options, + ], + ], + + themeConfig: { + image: 'img/docusaurus-social-card.jpg', + navbar: { + title: 'Ultron', + logo: { + alt: 'Ultron Logo', + src: 'img/ultron_full_light.png', + }, + items: [ + { + type: 'docSidebar', + sidebarId: 'tutorialSidebar', + position: 'left', + label: 'Docs', + }, + { + label: 'Telegram', + href: 'https://t.me/ultron_framework', + position: 'right', + }, + { + href: 'https://github.com/open-tool/ultron', + position: 'right', + className: 'header-github-link', + 'aria-label': 'GitHub repository', + }, + { + type: 'search', + position: 'right', + }, + ], + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + algolia: { + appId: 'TLB3E9OO68', + apiKey: '06f26f943a74848657b1e5bec4c85aaf', + indexName: 'open-toolio', + contextualSearch: true, + searchParameters: {}, + insights: false, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + } satisfies Preset.ThemeConfig, + + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + fromExtensions: ['html', 'htm'], // /myPage.html -> /myPage + toExtensions: ['exe', 'zip'], // /myAsset -> /myAsset.zip (if latter exists) + redirects: [ + { + to: '/docs/', + from: '/', + }, + ], + }, + ], + ], +}; + + +export default config; + diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 00000000..a9d0a488 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,14562 @@ +{ + "name": "my-website", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "my-website", + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/plugin-client-redirects": "^3.4.0", + "@docusaurus/preset-classic": "3.4.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/tsconfig": "3.4.0", + "@docusaurus/types": "3.4.0", + "typescript": "~5.2.2" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", + "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", + "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", + "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", + "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", + "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", + "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", + "dependencies": { + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", + "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", + "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "node_modules/@algolia/logger-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", + "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", + "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "dependencies": { + "@algolia/logger-common": "4.23.3" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", + "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", + "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", + "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==" + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", + "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", + "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", + "dependencies": { + "@algolia/cache-common": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", + "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", + "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", + "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", + "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-wrap-function": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", + "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", + "dependencies": { + "@babel/helper-function-name": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", + "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", + "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", + "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", + "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", + "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz", + "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", + "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", + "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", + "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", + "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", + "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz", + "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.7.tgz", + "integrity": "sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", + "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz", + "integrity": "sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", + "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", + "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz", + "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", + "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz", + "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==", + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.24.7", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.24.7", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.7", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.24.7", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-modules-systemjs": "^7.24.7", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.7", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", + "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/plugin-transform-react-jsx-development": "^7.24.7", + "@babel/plugin-transform-react-pure-annotations": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.7.tgz", + "integrity": "sha512-eytSX6JLBY6PVAeQa2bFlDx/7Mmln/gaEpsit5a3WEvjGfiIytEsgAwuIXCPM0xvw0v0cJn3ilq0/TvXrW0kgA==", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==" + }, + "node_modules/@docsearch/react": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.0", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", + "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", + "dependencies": { + "@babel/core": "^7.23.3", + "@babel/generator": "^7.23.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-react": "^7.22.5", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@babel/runtime-corejs3": "^7.22.6", + "@babel/traverse": "^7.22.8", + "@docusaurus/cssnano-preset": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "autoprefixer": "^10.4.14", + "babel-loader": "^9.1.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.2", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.31.1", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "eval": "^0.1.8", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "html-minifier-terser": "^7.2.0", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.5.3", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.7.6", + "p-map": "^4.0.0", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "rtl-detect": "^1.0.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.5", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "url-loader": "^4.1.1", + "webpack": "^5.88.1", + "webpack-bundle-analyzer": "^4.9.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", + "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", + "dependencies": { + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.4.38", + "postcss-sort-media-queries": "^5.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", + "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", + "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", + "dependencies": { + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", + "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", + "dependencies": { + "@docusaurus/types": "3.4.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-client-redirects": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz", + "integrity": "sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", + "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", + "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", + "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", + "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "fs-extra": "^11.1.1", + "react-json-view-lite": "^1.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", + "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", + "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", + "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", + "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", + "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/plugin-debug": "3.4.0", + "@docusaurus/plugin-google-analytics": "3.4.0", + "@docusaurus/plugin-google-gtag": "3.4.0", + "@docusaurus/plugin-google-tag-manager": "3.4.0", + "@docusaurus/plugin-sitemap": "3.4.0", + "@docusaurus/theme-classic": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-search-algolia": "3.4.0", + "@docusaurus/types": "3.4.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", + "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "copy-text-to-clipboard": "^3.2.0", + "infima": "0.2.0-alpha.43", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.26", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", + "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", + "dependencies": { + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", + "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", + "dependencies": { + "@docsearch/react": "^3.5.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", + "algoliasearch": "^4.18.0", + "algoliasearch-helper": "^3.13.3", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", + "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/tsconfig": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.4.0.tgz", + "integrity": "sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==", + "dev": true + }, + "node_modules/@docusaurus/types": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", + "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", + "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", + "dependencies": { + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@svgr/webpack": "^8.1.0", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", + "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", + "dependencies": { + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", + "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", + "dependencies": { + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", + "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", + "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==" + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.3.tgz", + "integrity": "sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.14.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.3.tgz", + "integrity": "sha512-Nuzqa6WAxeGnve6SXqiPAM9rA++VQs+iLZ1DDd56y0gdvygSZlQvZuvdFPR3yLqkVxPu4WrO02iDEyH1g+wazw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/prismjs": { + "version": "1.26.4", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.4.tgz", + "integrity": "sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", + "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-account": "4.23.3", + "@algolia/client-analytics": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-personalization": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/recommend": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz", + "integrity": "sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w==", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz", + "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "dependencies": { + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.803", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.803.tgz", + "integrity": "sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", + "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", + "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==" + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.1.tgz", + "integrity": "sha512-5mvUrF2suuv5f5cGDnDphIy4/gW86z82kl5qG6mM9z04SEQI4FB5Apmaw/TGEf3l55nLtMs5s51dmhUzvAHQCA==", + "dependencies": { + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.4.tgz", + "integrity": "sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "dependencies": { + "inline-style-parser": "0.2.3" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.43", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", + "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.13.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.1.tgz", + "integrity": "sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.7.0.tgz", + "integrity": "sha512-KAc66u6LxWL8MifQ94oG3YGKYWDwz/Gi0T15lN//GaQoZe08vQGFJxrXkPAeu50UXgvJPPaRKVGuP1TRUm/aHQ==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", + "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-space/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", + "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "dependencies": { + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "dependencies": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "dependencies": { + "sort-css-media-queries": "2.2.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.23" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", + "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz", + "integrity": "sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "dependencies": { + "@types/react": "*" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + }, + "node_modules/rtlcss": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", + "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/search-insights": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", + "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", + "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpack": { + "version": "5.92.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.0.tgz", + "integrity": "sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..560af260 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,48 @@ +{ + "name": "my-website", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "typecheck": "tsc" + }, + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/plugin-client-redirects": "^3.4.0", + "@docusaurus/preset-classic": "3.4.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/tsconfig": "3.4.0", + "@docusaurus/types": "3.4.0", + "typescript": "~5.2.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/docs/sidebars.ts b/docs/sidebars.ts new file mode 100644 index 00000000..acc7685a --- /dev/null +++ b/docs/sidebars.ts @@ -0,0 +1,31 @@ +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ +const sidebars: SidebarsConfig = { + // By default, Docusaurus generates a sidebar from the docs folder structure + tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], + + // But you can create a sidebar manually + /* + tutorialSidebar: [ + 'intro', + 'hello', + { + type: 'category', + label: 'Tutorial', + items: ['tutorial-basics/create-a-document'], + }, + ], + */ +}; + +export default sidebars; diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx new file mode 100644 index 00000000..28d1631b --- /dev/null +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -0,0 +1,83 @@ +import clsx from 'clsx'; +import Heading from '@theme/Heading'; +import styles from './styles.module.css'; + +type FeatureItem = { + title: string; + pict: JSX.Element; + description: JSX.Element; +}; + +const FeatureList: FeatureItem[] = [ + { + title: 'Simple', + pict: ( + simplicity + ), + description: ( + <> +

The simplest syntax for UI tests.

+ hasTestTag("elementId").click() + + ), + }, + { + title: 'Stable', + pict: ( + stability + ), + description: ( + <> +

No flaky tests

+

Auto-waits for UI elements

+

Automatic retries of failed interactions

+

Custom assertions of executed action

+ + ), + }, + { + title: 'Maintainable', + pict: ( + maintainability + ), + description: ( + <> +

Allure support

+

Detailed logs

+

Extendable API

+

An architectural approach to developing UI tests

+ + ), + }, +]; + +function Feature({ title, pict, description }: FeatureItem) { + const imageStyle = `text--center padding-horiz--md ${styles.imageContainer} ` + return ( +
+
+
+ {pict} +
+
+
+ {title} +
{description}
+
+
+ ); +} + +export default function HomepageFeatures(): JSX.Element { + return ( +
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+ ); +} \ No newline at end of file diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 00000000..59690004 --- /dev/null +++ b/docs/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,33 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 150px; + width: 150px; + padding: 10px; + overflow: 'hidden'; + display: 'flex'; + justify-content: center; +} + +.imageContainer { + width: 150px; + height: 150px; + /* display: flex; */ + padding: 10px; + margin-left: auto; + margin-right: auto; + + /* overflow: hidden; */ +} + +.imageContainer img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 10px; +} \ No newline at end of file diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 00000000..f69a266e --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,62 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +/* :root { + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} */ + +:root { + --ifm-color-primary: #233a60; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: #5a85cf; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} + +[data-theme='light'] img[src$='#gh-dark-mode-only'], +[data-theme='dark'] img[src$='#gh-light-mode-only'] { + display: none; +} + +.header-github-link::before { + content: ''; + width: 24px; + height: 24px; + display: flex; + background-color: var(--ifm-navbar-link-color); + mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E"); + transition: background-color var(--ifm-transition-fast) + var(--ifm-transition-timing-default); +} + +.header-github-link:hover::before { + background-color: var(--ifm-navbar-link-hover-color); +} \ No newline at end of file diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 00000000..9f71a5da --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,23 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx new file mode 100644 index 00000000..2ce05b9a --- /dev/null +++ b/docs/src/pages/index.tsx @@ -0,0 +1,43 @@ +import clsx from 'clsx'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Layout from '@theme/Layout'; +import HomepageFeatures from '@site/src/components/HomepageFeatures'; +import Heading from '@theme/Heading'; + +import styles from './index.module.css'; + +function HomepageHeader() { + const {siteConfig} = useDocusaurusContext(); + return ( +
+
+ + U L T R O N + +

{siteConfig.tagline}

+
+ + GET STARTED + +
+
+
+ ); +} + +export default function Home(): JSX.Element { + const {siteConfig} = useDocusaurusContext(); + return ( + + +
+ +
+
+ ); +} diff --git a/docs/src/pages/markdown-page.md b/docs/src/pages/markdown-page.md new file mode 100644 index 00000000..9756c5b6 --- /dev/null +++ b/docs/src/pages/markdown-page.md @@ -0,0 +1,7 @@ +--- +title: Markdown page example +--- + +# Markdown page example + +You don't need React to write simple standalone pages. diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..097b72c1e162243da40caa76386b086d8abca4bb GIT binary patch literal 15406 zcmeI14U8OB9l)nhI6>Om-2!Ptu$O=WYNR!w)FOcdgF=)qmBt7mQ9u+^h>6k&EhH-O zqkx4_?r5Q=3NZyMCI!EMhMEdSEh-R9qp2cAgQW*zu`25CcQ+4TUuJh_?q)C5>_7SC zz5Rdho0&JWvspGR+c#@8GRC3oW7D(jZCREL4UK<3x|wCSqnkG`x4$9FHXo8@N8>{X z5#xG>sT8`&J_(Vo|pku6M@=l0(++UIM6A)l+$W{xjGDtDrI2~L8yrp8>SO&@(zxeLWo z_&}p^RLJ zvF+l|#`(I4Wg(c+d2G{nuMqc{AvhV_pZZe!3hYltxAFsO&s?1Fc+_8n&G0rC9=U2l8 z;Jv1s=yN_Sg*4B+Zo$~&=Pl#E1zyL?U|;Aa`si!SdWd^CgU{XMEF4126U=?)@fqVZ zC@cCd0AtM&@|nAvg!=!)@u=MStBiAaX4|LHxNS|NG5lPswPI#S)M|ZwraD-o&$w@P zV{SKxx$L1z{a@wr4x3UvtJ5Hp&aX*9aKrC@y z=dtK(OzJb4`ungN+-1b)AqaX=I_^g!DI4T=(RK{@Hub|%k)>)$K$dB=0dN;-q(TW zLD{~l_<7zv25*GA#bbLjg!dIy`l{-?l{)jmeW5OKU-=7^>E#vtd^fZa9?Eg9PFuGe zUh5m-aHvE4?e<6LR#&^nX9-yQ&;)hb${a&|MqskyF}x1S^sdha@ISnEqD`N&`A%t< zsHFZd{GKXV&-3d-=ycv{)2HmY_yc?=v#*{>{7z`MUc0cZglE9_LS^o&?qffJKftZ< zGPKL@dAkrMBCgd{(C(V^I{PME0)9uoYgy6Pn2W(Z*<3~6VK@3KpwltMTqwTlTn$Be z)qNk1fIGo+y2^8azQ%k5e5dJo(yorj$oH{T#cS<8D9Zaw^v8hrnxDh5P*sdE)*SLU z6xFhaPJ068LYa+rGo(5HjPCv5G5sto0^f^Q6=RGwhq=sY?zG;I(b-E?IgEfU5a)AW z{xs|l+K0hs{E3RO=9mNK{0yY`2YawqRVnKKMv@HViIy^6R5fXV|HbIsClqsABVMz* z`u`z$4*|t%+iT!BKTvL3vw7R;&F07^{_EK`W5&(iv-c2n+Vq(@bJe?z$sNq`3pgPE zY>fvXe1|&vcaQ!Agqp`PcmE!Qtl1nsk=}N|DBKhOhoxP?XAs-^+-FC#xpLvSW$fMB z)6CzJf40VD@Hg-~)Y1P=@|*=h-os=EP;12iy}9md?WxhYqY<3aQCqXQ3LkxM-DK=| zjfi5T{;_MpwPju;UY~{6cXW(AZ_@QS2i+*t)xXDbF@*Ey4Cb!C z_nsngzq=H^0{)Ko+;fj9lGmd&mpK({Tn@XTuKvxl9>Te?fcdlVE+~?FP{z+Set&gE zVh(eikQ=S>ZLnsY{oBKb!F&G^unpX=izL)e$0FY)D7S$*&3!&tE5vSLUf2Hbe?;!r zL$DR@h9U{I)3M0c<6^G4a0yr=j;phO^ZM*=J-&k{)EA*R=y;%QH!+p-*gQ@rod1a(r!dzV{KG)w1Az#th z%l_TxR>2&I#$#yuMEe9~c*ax*+-*Q|4V{ zulo<{w2OXjf%&iw1|f)Zb=p>fz9FvLI92_JKJ3l=Xe#Qe^d0g|b^q3FC!wb*W556M z=W1Bj{`&uS%_e&O%w`cEfv~1!$I*6+kN$-Tj^U4I4oE6`toDOrL40B(x=>i_@% literal 0 HcmV?d00001 diff --git a/docs/static/img/kotlin.png b/docs/static/img/kotlin.png new file mode 100644 index 0000000000000000000000000000000000000000..eeeaea643e25469fb02d7c5042cbb5751a7e37bd GIT binary patch literal 29501 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg new file mode 100644 index 00000000..9db6d0d0 --- /dev/null +++ b/docs/static/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/static/img/maintainability.webp b/docs/static/img/maintainability.webp new file mode 100644 index 0000000000000000000000000000000000000000..1c8e80ce39eec24164cf38609f3532c0527e975c GIT binary patch literal 270674 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
`P*jS%vpBG`eOPJOo}*pWVP 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 F{{f`nUjYCB literal 0 HcmV?d00001 diff --git a/docs/static/img/report.svg b/docs/static/img/report.svg new file mode 100644 index 00000000..6b090b07 --- /dev/null +++ b/docs/static/img/report.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/static/img/simple.webp b/docs/static/img/simple.webp new file mode 100644 index 0000000000000000000000000000000000000000..492c7d64473d41589770af19bbcc7bd955b6a08c GIT binary patch literal 224468 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

Fq>} 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

{=t3CNDHik=+$b9;1pMB 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

mK?EW08lS9N{nd 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

^P~Z+b+8X#d^}Pg} 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 Z{KMN86bG;9(IYSov{9%m-ce?n{D0vxVfX+5 literal 0 HcmV?d00001 diff --git a/docs/static/img/ultron_banner_dark.png b/docs/static/img/ultron_banner_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4c21bc4a441c2f678ab249316c803e28d8866199 GIT binary patch literal 235649 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 udFKdZZFS4Qp30eZK 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/ultron_full_light.png b/docs/static/img/ultron_full_light.png new file mode 100644 index 0000000000000000000000000000000000000000..b9362d4173746ce370be745dfc9068e00e0b4774 GIT binary patch literal 496481 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

yQY3 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∨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�yx247jD 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�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𒅔B;Ye2Nq?L* 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­--9M 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

ENe(JG@x#bJUCZg80i_z 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 Jw@Cii{{eLXds6@a literal 0 HcmV?d00001 diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 00000000..314eab8a --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,7 @@ +{ + // This file is not used in compilation. It is here just for a nice editor experience. + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + } +} diff --git a/gradle.properties b/gradle.properties index 56eb2839..6a777cf7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,38 +1,16 @@ -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true -# Kotlin code style for this project: "official" or "obsolete": +org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options\="-Xmx2048M" +org.gradle.caching=true +org.gradle.configuration-cache=true + kotlin.code.style=official android.useAndroidX=true -GROUP=com.atiurin -POM_ARTIFACT_ID=ultron -VERSION_NAME=2.4.0-alpha01 - -POM_NAME=ultron - -POM_PACKAGING=aar +android.nonTransitiveRClass=true +org.jetbrains.compose.experimental.wasm.enabled=true +org.jetbrains.compose.experimental.jscanvas.enabled=true +kotlin.mpp.androidSourceSetLayoutVersion=2 +kotlin.mpp.enableCInteropCommonization=true -POM_DESCRIPTION=Android UI testing framework -POM_INCEPTION_YEAR=2021 -POM_URL=https://github.com/open-tool/ultron -POM_SCM_URL=https://github.com/open-tool/ultron -POM_SCM_CONNECTION=scm:git@github.com:open-tool/ultron.git -POM_SCM_DEV_CONNECTION=scm:git@github.com:open-tool/ultron.git - -POM_LICENCE_NAME=The Apache Software License, Version 2.0 -POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt -POM_LICENCE_DIST=repo - -POM_DEVELOPER_NAME=Aleksei Tiurin -POM_DEVELOPER_URL=https://github.com/alex-tiurin +GROUP=com.atiurin +POM_ARTIFACT_ID=ultron +VERSION_NAME=2.5.0-alpha05 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..ba3cb635 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,63 @@ +[versions] +agp = "8.3.2" +atomicfu = "0.24.0" +kotlin = "2.0.0" +compose = "1.6.7" +compose-compiler = "1.5.4" +compose-material3 = "1.2.1" +androidx-activityCompose = "1.9.0" +kotlinxDatetime = "0.6.0" +compose-plugin = "1.6.10" +okio = "3.9.0" +android-compileSdk = "34" +android-minSdk = "24" +android-targetSdk = "34" +androidx-appcompat = "1.7.0" +androidx-constraintlayout = "2.1.4" +androidx-core-ktx = "1.13.1" +androidx-espresso-core = "3.5.1" +androidx-material = "1.12.0" +androidx-test-junit = "1.1.5" +androidx-lifecycle = "2.8.0" +androidx-navigation = "2.7.0-alpha06" +junit = "4.13.2" +ktor = "2.3.10" +monitor = "1.6.1" +uiTestJunit4Android = "1.6.8" + +[libraries] +androidx-ui-test-junit4-android = { module = "androidx.compose.ui:ui-test-junit4-android", version.ref = "uiTestJunit4Android" } +androidx-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "uiTestJunit4Android" } +atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "atomicfu" } +kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } +androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" } +compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" } +compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" } +compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" } +compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" } +compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "compose-material3" } +kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime" } +okio = { module = "com.squareup.okio:okio", version.ref = "okio" } + +kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } +junit = { group = "junit", name = "junit", version.ref = "junit" } +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" } +androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-junit" } +androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-espresso-core" } +androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" } +androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" } +androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" } +androidx-monitor = { group = "androidx.test", name = "monitor", version.ref = "monitor" } +androidx-lifecycle-runtime-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } +androidx-lifecycle-viewmodel-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } +androidx-navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "androidx-navigation" } + +[plugins] +androidApplication = { id = "com.android.application", version.ref = "agp" } +androidLibrary = { id = "com.android.library", version.ref = "agp" } +kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kotlinCocoapods = { id = "org.jetbrains.kotlin.native.cocoapods", version.ref = "kotlin" } +jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } diff --git a/iosApp/Configuration/Config.xcconfig b/iosApp/Configuration/Config.xcconfig new file mode 100644 index 00000000..234acdb3 --- /dev/null +++ b/iosApp/Configuration/Config.xcconfig @@ -0,0 +1,3 @@ +TEAM_ID= +BUNDLE_ID=com.atiurin.samplekmp.sample-kmp +APP_NAME=sample-kmp \ No newline at end of file diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj new file mode 100644 index 00000000..f5bde619 --- /dev/null +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -0,0 +1,403 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557BA273AAA24004C7B11 /* Assets.xcassets */; }; + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */; }; + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; }; + 7555FF83242A565900829871 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* ContentView.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 058557BA273AAA24004C7B11 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 2152FB032600AC8F00CF470E /* iOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOSApp.swift; sourceTree = ""; }; + 7555FF7B242A565900829871 /* sample-kmp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample-kmp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 7555FF82242A565900829871 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 7555FF8C242A565B00829871 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AB3632DC29227652001CCB65 /* Config.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + B92378962B6B1156000C7307 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058557D7273AAEEB004C7B11 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + 42799AB246E5F90AF97AA0EF /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + 7555FF72242A565900829871 = { + isa = PBXGroup; + children = ( + AB1DB47929225F7C00F7AF9C /* Configuration */, + 7555FF7D242A565900829871 /* iosApp */, + 7555FF7C242A565900829871 /* Products */, + 42799AB246E5F90AF97AA0EF /* Frameworks */, + ); + sourceTree = ""; + }; + 7555FF7C242A565900829871 /* Products */ = { + isa = PBXGroup; + children = ( + 7555FF7B242A565900829871 /* sample-kmp.app */, + ); + name = Products; + sourceTree = ""; + }; + 7555FF7D242A565900829871 /* iosApp */ = { + isa = PBXGroup; + children = ( + 058557BA273AAA24004C7B11 /* Assets.xcassets */, + 7555FF82242A565900829871 /* ContentView.swift */, + 7555FF8C242A565B00829871 /* Info.plist */, + 2152FB032600AC8F00CF470E /* iOSApp.swift */, + 058557D7273AAEEB004C7B11 /* Preview Content */, + ); + path = iosApp; + sourceTree = ""; + }; + AB1DB47929225F7C00F7AF9C /* Configuration */ = { + isa = PBXGroup; + children = ( + AB3632DC29227652001CCB65 /* Config.xcconfig */, + ); + path = Configuration; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 7555FF7A242A565900829871 /* iosApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */; + buildPhases = ( + F36B1CEB2AD83DDC00CB74D5 /* Compile Kotlin Framework */, + 7555FF77242A565900829871 /* Sources */, + B92378962B6B1156000C7307 /* Frameworks */, + 7555FF79242A565900829871 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = iosApp; + packageProductDependencies = ( + ); + productName = iosApp; + productReference = 7555FF7B242A565900829871 /* sample-kmp.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 7555FF73242A565900829871 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 1130; + LastUpgradeCheck = 1540; + ORGANIZATIONNAME = orgName; + TargetAttributes = { + 7555FF7A242A565900829871 = { + CreatedOnToolsVersion = 11.3.1; + }; + }; + }; + buildConfigurationList = 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 7555FF72242A565900829871; + packageReferences = ( + ); + productRefGroup = 7555FF7C242A565900829871 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 7555FF7A242A565900829871 /* iosApp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 7555FF79242A565900829871 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */, + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + F36B1CEB2AD83DDC00CB74D5 /* Compile Kotlin Framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Compile Kotlin Framework"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \\\"YES\\\"\"\n exit 0\nfi\ncd \"$SRCROOT/..\"\n./gradlew :composeApp:embedAndSignAppleFrameworkForXcode\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 7555FF77242A565900829871 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */, + 7555FF83242A565900829871 /* ContentView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 7555FFA3242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 7555FFA4242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 7555FFA6242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)\n$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)", + ); + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + ComposeApp, + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 7555FFA7242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)\n$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)", + ); + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + ComposeApp, + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA3242A565B00829871 /* Debug */, + 7555FFA4242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA6242A565B00829871 /* Debug */, + 7555FFA7242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 7555FF73242A565900829871 /* Project object */; +} \ No newline at end of file diff --git a/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json b/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..ee7e3ca0 --- /dev/null +++ b/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..8edf56e7 --- /dev/null +++ b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "app-icon-1024.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..53fc536fb9ac5c1dbb27c7e1da13db3760070a11 GIT binary patch literal 67285 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 BXNCX( literal 0 HcmV?d00001 diff --git a/iosApp/iosApp/Assets.xcassets/Contents.json b/iosApp/iosApp/Assets.xcassets/Contents.json new file mode 100644 index 00000000..4aa7c535 --- /dev/null +++ b/iosApp/iosApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/iosApp/iosApp/ContentView.swift b/iosApp/iosApp/ContentView.swift new file mode 100644 index 00000000..3cd5c325 --- /dev/null +++ b/iosApp/iosApp/ContentView.swift @@ -0,0 +1,21 @@ +import UIKit +import SwiftUI +import ComposeApp + +struct ComposeView: UIViewControllerRepresentable { + func makeUIViewController(context: Context) -> UIViewController { + MainViewControllerKt.MainViewController() + } + + func updateUIViewController(_ uiViewController: UIViewController, context: Context) {} +} + +struct ContentView: View { + var body: some View { + ComposeView() + .ignoresSafeArea(.keyboard) // Compose has own keyboard handler + } +} + + + diff --git a/iosApp/iosApp/Info.plist b/iosApp/iosApp/Info.plist new file mode 100644 index 00000000..412e3781 --- /dev/null +++ b/iosApp/iosApp/Info.plist @@ -0,0 +1,50 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + + UILaunchScreen + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json b/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..4aa7c535 --- /dev/null +++ b/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/iosApp/iosApp/iOSApp.swift b/iosApp/iosApp/iOSApp.swift new file mode 100644 index 00000000..0648e860 --- /dev/null +++ b/iosApp/iosApp/iOSApp.swift @@ -0,0 +1,10 @@ +import SwiftUI + +@main +struct iOSApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} \ No newline at end of file diff --git a/sample-app/build.gradle.kts b/sample-app/build.gradle.kts index 21ec4abc..8e0c4c26 100644 --- a/sample-app/build.gradle.kts +++ b/sample-app/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.application") id("kotlin-android") + alias(libs.plugins.compose.compiler) } android { @@ -25,10 +26,6 @@ android { jvmTarget = "17" } - composeOptions { - kotlinCompilerExtensionVersion = "1.4.0" - } - packagingOptions { resources.excludes.add("META-INF/DEPENDENCIES") resources.excludes.add("META-INF/LICENSE") @@ -44,9 +41,9 @@ android { } dependencies { - implementation(project(":ultron")) implementation(project(":ultron-compose")) implementation(project(":ultron-allure")) + implementation(project(":ultron-android")) implementation(Libs.kotlinStdlib) implementation(Libs.coroutines) implementation(Libs.appcompat) diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/ultronext/UltronComposeExt.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/ultronext/UltronComposeExt.kt index a06b7e02..b159ebf6 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/ultronext/UltronComposeExt.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/ultronext/UltronComposeExt.kt @@ -5,7 +5,6 @@ import androidx.compose.ui.test.assert import com.atiurin.sampleapp.compose.GetProgress import com.atiurin.ultron.core.compose.nodeinteraction.UltronComposeSemanticsNodeInteraction import com.atiurin.ultron.core.compose.operation.UltronComposeOperationParams -import com.atiurin.ultron.extensions.getDescription fun hasProgress(value: Float) = SemanticsMatcher.expectValue(GetProgress, value) fun UltronComposeSemanticsNodeInteraction.assertProgress(expected: Float) = perform ( diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/utils/AssertUtils.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/utils/AssertUtils.kt index 4eaa1d18..9633efd2 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/utils/AssertUtils.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/framework/utils/AssertUtils.kt @@ -8,7 +8,7 @@ object AssertUtils { try { block() } catch (ex: Throwable) { -// throw ex + throw ex exceptionOccurs = true } Assert.assertEquals(expected, exceptionOccurs) diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/BaseTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/BaseTest.kt index eb0825eb..b46471c4 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/BaseTest.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/BaseTest.kt @@ -4,18 +4,13 @@ import android.os.Environment import androidx.test.platform.app.InstrumentationRegistry import com.atiurin.ultron.testlifecycle.rulesequence.RuleSequence import com.atiurin.sampleapp.data.repositories.CURRENT_USER -import com.atiurin.sampleapp.framework.Log import com.atiurin.sampleapp.managers.AccountManager -import com.atiurin.ultron.allure.config.AllureAttachStrategy import com.atiurin.ultron.allure.config.UltronAllureConfig import com.atiurin.ultron.allure.listeners.DetailedOperationAllureListener import com.atiurin.ultron.allure.listeners.ScreenshotAttachListener import com.atiurin.ultron.allure.listeners.WindowHierarchyAttachListener import com.atiurin.ultron.core.compose.config.UltronComposeConfig import com.atiurin.ultron.core.config.UltronConfig -import com.atiurin.ultron.exceptions.UltronAssertionException -import com.atiurin.ultron.listeners.LogLifecycleListener -import com.atiurin.ultron.log.UltronLog import com.atiurin.ultron.testlifecycle.setupteardown.SetUpRule import org.junit.BeforeClass import org.junit.Rule @@ -38,10 +33,7 @@ abstract class BaseTest { UltronConfig.applyRecommended() UltronAllureConfig.applyRecommended() UltronComposeConfig.applyRecommended() - UltronAllureConfig.setAllureResultsDirectory() - UltronComposeConfig.addListener(ScreenshotAttachListener()) - UltronComposeConfig.addListener(WindowHierarchyAttachListener()) - UltronComposeConfig.addListener(DetailedOperationAllureListener()) + UltronAllureConfig.setAllureResultsDirectory(Environment.DIRECTORY_DOWNLOADS) } } } diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/UiElementsTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/UiElementsTest.kt index f66f86f6..6a8a03e9 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/UiElementsTest.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/UiElementsTest.kt @@ -2,8 +2,6 @@ package com.atiurin.sampleapp.tests import androidx.test.rule.ActivityTestRule import com.atiurin.sampleapp.activity.UiElementsActivity -import com.atiurin.ultron.core.config.UltronConfig -import org.junit.BeforeClass abstract class UiElementsTest : BaseTest() { val activityRule = ActivityTestRule(UiElementsActivity::class.java) diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeConfigTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeConfigTest.kt index 9c548ee4..d9616649 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeConfigTest.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeConfigTest.kt @@ -33,10 +33,10 @@ class ComposeConfigTest { val page = ComposeElementsPage val composeRule = createUltronComposeRule() val setUpRule = SetUpRule().add(setCustomTimeout) { UltronComposeConfig.params.operationTimeoutMs = customTimeout } - val tearDownRule = TearDownRule().add(dropCustomTimeout){ UltronComposeConfig.params.operationTimeoutMs = UltronComposeConfig.DEFAULT_OPERATION_TIMEOUT} + val tearDownRule = TearDownRule().add(dropCustomTimeout) { UltronComposeConfig.params.operationTimeoutMs = UltronComposeConfig.DEFAULT_OPERATION_TIMEOUT } @get:Rule - val ruleSequence = RuleSequence().add(composeRule,setUpRule, tearDownRule) + val ruleSequence = RuleSequence().add(composeRule, setUpRule, tearDownRule) @Test @@ -61,8 +61,9 @@ class ComposeConfigTest { @SetUp(setCustomTimeout) @TearDown(dropCustomTimeout) fun operationTimeout() { + page.likesCounter.assertIsDisplayed() AssertUtils.assertExecTimeBetween(customTimeout, 4900) { - page.editableText.withResultHandler { }.assertDoesNotExist() + page.likesCounter.assertTextContains("asdqw3213") } } diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeEmptyListTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeEmptyListTest.kt index 2d064d0a..16777e64 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeEmptyListTest.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeEmptyListTest.kt @@ -5,7 +5,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTag import androidx.compose.ui.test.hasTestTag -import com.atiurin.sampleapp.compose.contactsListTestTag import com.atiurin.sampleapp.framework.utils.AssertUtils import com.atiurin.sampleapp.tests.BaseTest import com.atiurin.ultron.core.compose.createDefaultUltronComposeRule diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeUIElementsTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeUIElementsTest.kt index aa123818..e26dc5ec 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeUIElementsTest.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/compose/ComposeUIElementsTest.kt @@ -3,15 +3,12 @@ package com.atiurin.sampleapp.tests.compose import androidx.compose.ui.semantics.ProgressBarRangeInfo import androidx.compose.ui.semantics.SemanticsActions import androidx.compose.ui.semantics.SemanticsProperties -import androidx.compose.ui.semantics.SemanticsPropertyKey import androidx.compose.ui.test.ExperimentalTestApi import androidx.compose.ui.test.assertTextContains import androidx.compose.ui.test.hasContentDescription import androidx.compose.ui.test.hasTestTag import androidx.compose.ui.test.hasText -import androidx.compose.ui.test.onRoot import androidx.compose.ui.test.performSemanticsAction -import androidx.compose.ui.test.printToLog import androidx.compose.ui.text.TextRange import androidx.compose.ui.unit.dp import com.atiurin.sampleapp.activity.ActionsStatus @@ -26,7 +23,6 @@ import com.atiurin.sampleapp.framework.ultronext.hasProgress import com.atiurin.sampleapp.framework.utils.AssertUtils import com.atiurin.sampleapp.pages.ComposeElementsPage import com.atiurin.sampleapp.tests.BaseTest -import com.atiurin.ultron.core.common.UltronOperationType import com.atiurin.ultron.core.common.options.ClickOption import com.atiurin.ultron.core.common.options.ContentDescriptionContainsOption import com.atiurin.ultron.core.common.options.PerformCustomBlockOption @@ -36,12 +32,8 @@ import com.atiurin.ultron.core.compose.createUltronComposeRule import com.atiurin.ultron.core.compose.nodeinteraction.UltronComposeSemanticsNodeInteraction import com.atiurin.ultron.core.compose.nodeinteraction.click import com.atiurin.ultron.core.compose.operation.ComposeOperationType -import com.atiurin.ultron.core.compose.operation.UltronComposeOperation import com.atiurin.ultron.core.compose.operation.UltronComposeOperationParams import com.atiurin.ultron.core.compose.option.ComposeSwipeOption -import com.atiurin.ultron.exceptions.UltronAssertionException -import com.atiurin.ultron.exceptions.UltronException -import com.atiurin.ultron.exceptions.UltronOperationException import com.atiurin.ultron.extensions.* import org.junit.Assert import org.junit.Ignore diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/UltronEspressoConfigTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/UltronEspressoConfigTest.kt index 7a36f1fb..8654e22d 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/UltronEspressoConfigTest.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/UltronEspressoConfigTest.kt @@ -7,6 +7,7 @@ import com.atiurin.sampleapp.framework.utils.AssertUtils import com.atiurin.sampleapp.pages.UiElementsPage import com.atiurin.sampleapp.tests.UiElementsTest import com.atiurin.ultron.core.common.UltronDefaultOperationResultAnalyzer +import com.atiurin.ultron.core.config.UltronCommonConfig import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.core.espresso.EspressoOperationResult import com.atiurin.ultron.core.espresso.UltronEspressoOperation @@ -60,9 +61,8 @@ class UltronEspressoConfigTest : UiElementsTest() { UltronConfig.Espresso.resultAnalyzer = UltronDefaultOperationResultAnalyzer() } .add(SET_DEFAULT_TIMEOUT) { - UltronConfig.Espresso.ACTION_TIMEOUT = UltronConfig.Espresso.DEFAULT_ACTION_TIMEOUT - UltronConfig.Espresso.ASSERTION_TIMEOUT = - UltronConfig.Espresso.DEFAULT_ASSERTION_TIMEOUT + UltronConfig.Espresso.ACTION_TIMEOUT = UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS + UltronConfig.Espresso.ASSERTION_TIMEOUT = UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS } init { @@ -100,7 +100,7 @@ class UltronEspressoConfigTest : UiElementsTest() { //timeouts @Test fun withTimeout_action_default() { - val default = UltronConfig.Espresso.DEFAULT_ACTION_TIMEOUT + val default = UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS AssertUtils.assertExecTimeBetween(default, default + 5_000) { page.notExistElement.click() } } @@ -124,7 +124,7 @@ class UltronEspressoConfigTest : UiElementsTest() { @Test fun withTimeout_assertion_default() { - val default = UltronConfig.Espresso.DEFAULT_ASSERTION_TIMEOUT + val default = UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS AssertUtils.assertExecTimeBetween( default, default + 2_000 diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/ViewInteractionActionsTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/ViewInteractionActionsTest.kt index bf041abf..45bbb313 100644 --- a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/ViewInteractionActionsTest.kt +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/ViewInteractionActionsTest.kt @@ -20,11 +20,9 @@ import com.atiurin.ultron.custom.espresso.action.getText import com.atiurin.ultron.custom.espresso.assertion.hasAnyDrawable import com.atiurin.ultron.custom.espresso.assertion.hasDrawable import com.atiurin.ultron.extensions.* -import com.atiurin.ultron.log.UltronLog import com.atiurin.ultron.utils.getTargetString import org.junit.Assert import org.junit.Test -import kotlin.system.measureTimeMillis class ViewInteractionActionsTest : UiElementsTest() { val page = UiElementsPage diff --git a/sample-app/src/main/AndroidManifest.xml b/sample-app/src/main/AndroidManifest.xml index 30c60d69..3f81a725 100644 --- a/sample-app/src/main/AndroidManifest.xml +++ b/sample-app/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + ("deleteDokkaOutputDirectory") { delete(dokkaOutputDir) } +val javadocJar = tasks.register("javadocJar") { + archiveClassifier.set("javadoc") + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + dependsOn(deleteDokkaOutputDir, tasks.dokkaHtml) + from(dokkaOutputDir) +} + +publishing { + publications { + create("release") { + artifact(javadocJar.get()) + afterEvaluate { + from(components["release"]) + } + + pom { + name.set("Ultron Allure") + description.set("Android & Compose Multiplatform UI testing framework") + url.set("https://github.com/open-tool/ultron") + inceptionYear.set("2021") + + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } - val javadoc by creating(Javadoc::class) { - options { - this as StandardJavadocDocletOptions - addStringOption("Xdoclint:none", "-quiet") - addStringOption("Xmaxwarns", "1") - addStringOption("charSet", "UTF-8") + issueManagement { + system.set("GitHub Issues") + url.set("https://github.com/open-tool/ultron/issues") + } + + developers { + developer { + id.set("alex-tiurin") + name.set("Aleksei Tiurin") + url.set("https://github.com/open-tool") + } + } + + scm { + connection.set("scm:git@github.com:open-tool/ultron.git") + developerConnection.set("scm:git@github.com:open-tool/ultron.git") + url.set("https://github.com/open-tool/ultron") + } + } } } +} - val javadocJar by creating(Jar::class){ - dependsOn(javadoc) - from(javadoc.destinationDir) - } +tasks.withType().configureEach { + dependsOn(tasks.withType()) + dependsOn(javadocJar) + mustRunAfter(tasks.withType()) +} - artifacts { - add("archives", sourcesJar) - add("archives", javadocJar) - } -} \ No newline at end of file +tasks.named("generateMetadataFileForReleasePublication") { + dependsOn(javadocJar) +} + +signing { + println("Signing lib...") + useGpgCmd() + sign(publishing.publications) +} diff --git a/ultron-allure/gradle.properties b/ultron-allure/gradle.properties index 8faa4a86..2052045e 100644 --- a/ultron-allure/gradle.properties +++ b/ultron-allure/gradle.properties @@ -5,4 +5,4 @@ POM_NAME=ultron-allure POM_PACKAGING=aar POM_DESCRIPTION=Ultron support of Allure report -POM_INCEPTION_YEAR=2023 +POM_INCEPTION_YEAR=2024 diff --git a/ultron-allure/src/main/java/com/atiurin/ultron/allure/config/UltronAllureConfig.kt b/ultron-allure/src/main/java/com/atiurin/ultron/allure/config/UltronAllureConfig.kt index 5a441b89..4199a480 100644 --- a/ultron-allure/src/main/java/com/atiurin/ultron/allure/config/UltronAllureConfig.kt +++ b/ultron-allure/src/main/java/com/atiurin/ultron/allure/config/UltronAllureConfig.kt @@ -3,7 +3,6 @@ package com.atiurin.ultron.allure.config import android.os.Environment import androidx.test.platform.app.InstrumentationRegistry import com.atiurin.ultron.allure.attachment.AllureDirectoryUtil -import com.atiurin.ultron.allure.attachment.AttachUtil import com.atiurin.ultron.allure.condition.AllureConditionExecutorWrapper import com.atiurin.ultron.allure.condition.AllureConditionsExecutor import com.atiurin.ultron.allure.getRunInformer @@ -16,7 +15,8 @@ import com.atiurin.ultron.allure.runner.UltronAllureResultsTransferListener import com.atiurin.ultron.allure.runner.UltronLogAttachRunListener import com.atiurin.ultron.allure.runner.UltronLogCleanerRunListener import com.atiurin.ultron.allure.runner.WindowHierarchyAttachRunListener -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.core.config.UltronAndroidCommonConfig +import com.atiurin.ultron.core.config.UltronCommonConfig import com.atiurin.ultron.extensions.simpleClassName import com.atiurin.ultron.listeners.AbstractListener import com.atiurin.ultron.log.UltronLog @@ -27,11 +27,11 @@ object UltronAllureConfig { var params: AllureConfigParams = AllureConfigParams() fun setAllureConditionExecutor() { - UltronConfig.Conditions.conditionsExecutor = AllureConditionsExecutor() + UltronAndroidCommonConfig.Conditions.conditionsExecutor = AllureConditionsExecutor() } fun setAllureConditionsExecutorWrapper() { - UltronConfig.Conditions.conditionExecutorWrapper = AllureConditionExecutorWrapper() + UltronAndroidCommonConfig.Conditions.conditionExecutorWrapper = AllureConditionExecutorWrapper() } /** @@ -71,14 +71,14 @@ object UltronAllureConfig { private fun modify() { if (params.detailedAllureReport) { - UltronConfig.addGlobalListener(DetailedOperationAllureListener()) + UltronCommonConfig.addListener(DetailedOperationAllureListener()) } if (!params.addScreenshotPolicy.contains(AllureAttachStrategy.NONE)) { - UltronConfig.addGlobalListener(ScreenshotAttachListener(params.addScreenshotPolicy)) + UltronCommonConfig.addListener(ScreenshotAttachListener(params.addScreenshotPolicy)) addRunListener(ScreenshotAttachRunListener(params.addScreenshotPolicy)) } if (!params.addHierarchyPolicy.contains(AllureAttachStrategy.NONE)) { - UltronConfig.addGlobalListener(WindowHierarchyAttachListener(params.addHierarchyPolicy)) + UltronCommonConfig.addListener(WindowHierarchyAttachListener(params.addHierarchyPolicy)) addRunListener(WindowHierarchyAttachRunListener(params.addHierarchyPolicy)) } if (params.addConditionsToReport) { @@ -111,6 +111,6 @@ object UltronAllureConfig { fun removeRunListener(listenerClass: Class) { UltronLog.info("Remove ${listenerClass.simpleClassName()} run listener") - InstrumentationRegistry.getInstrumentation().getRunInformer().removeListener(listenerClass) + InstrumentationRegistry.getInstrumentation().getRunInformer().removeListener(listenerClass.kotlin) } } diff --git a/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronAllureResultsTransferListener.kt b/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronAllureResultsTransferListener.kt index fc9839e1..91a68627 100644 --- a/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronAllureResultsTransferListener.kt +++ b/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronAllureResultsTransferListener.kt @@ -3,6 +3,7 @@ package com.atiurin.ultron.allure.runner import com.atiurin.ultron.extensions.createDirectoryIfNotExists import com.atiurin.ultron.log.UltronLog import com.atiurin.ultron.runner.UltronRunListener +import org.junit.runner.Description import org.junit.runner.Result import java.io.File import kotlin.system.measureTimeMillis @@ -12,7 +13,15 @@ import kotlin.system.measureTimeMillis * to custom directory [targetDir] provided by user [UltronAllureConfig.setAllureResultsDirectory] */ class UltronAllureResultsTransferListener(private val sourceDir: File, private val targetDir: File) : UltronRunListener() { + override fun testFinished(description: Description) { + transferFiles() + } + override fun testRunFinished(result: Result) { + transferFiles() + } + + private fun transferFiles(){ UltronLog.info("Copy Allure results from '${sourceDir.absolutePath}' to '${targetDir.absolutePath}'") targetDir.createDirectoryIfNotExists() var isSuccessfullyCopied = true diff --git a/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogAttachRunListener.kt b/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogAttachRunListener.kt index 82369ad0..1401b320 100644 --- a/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogAttachRunListener.kt +++ b/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogAttachRunListener.kt @@ -2,23 +2,26 @@ package com.atiurin.ultron.allure.runner import com.atiurin.ultron.allure.attachment.AttachUtil import com.atiurin.ultron.allure.config.UltronAllureConfig -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.core.config.UltronCommonConfig import com.atiurin.ultron.file.MimeType import com.atiurin.ultron.log.UltronLog import com.atiurin.ultron.runner.UltronRunListener import org.junit.runner.notification.Failure -import java.io.PrintWriter +import java.io.File class UltronLogAttachRunListener : UltronRunListener() { override fun testFailure(failure: Failure) { if (UltronAllureConfig.params.attachUltronLog ){ - if (!UltronConfig.params.logToFile){ + if (!UltronCommonConfig.logToFile){ UltronLog.error("Ultron doesn't log into file. " + "Change config param UltronConfig.edit { logToFile = true }" ) return } - val fileName = AttachUtil.attachFile(UltronLog.fileLogger.getLogFile(), MimeType.PLAIN_TEXT) + val fileName = AttachUtil.attachFile( + file = File(UltronLog.fileLogger.getLogFilePath()), + mimeType = MimeType.PLAIN_TEXT + ) UltronLog.info("Ultron log file '$fileName' has attached to Allure report") } } diff --git a/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogCleanerRunListener.kt b/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogCleanerRunListener.kt index 78b1d136..bf97c2aa 100644 --- a/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogCleanerRunListener.kt +++ b/ultron-allure/src/main/java/com/atiurin/ultron/allure/runner/UltronLogCleanerRunListener.kt @@ -1,13 +1,13 @@ package com.atiurin.ultron.allure.runner -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.core.config.UltronCommonConfig import com.atiurin.ultron.log.UltronLog import com.atiurin.ultron.runner.UltronRunListener import org.junit.runner.Description class UltronLogCleanerRunListener : UltronRunListener() { override fun testFinished(description: Description) { - if (UltronConfig.params.logToFile){ + if (UltronCommonConfig.logToFile){ UltronLog.info("Clear log file") UltronLog.fileLogger.clearFile() } diff --git a/ultron/.gitignore b/ultron-android/.gitignore similarity index 100% rename from ultron/.gitignore rename to ultron-android/.gitignore diff --git a/ultron-android/build.gradle.kts b/ultron-android/build.gradle.kts new file mode 100644 index 00000000..b17a505e --- /dev/null +++ b/ultron-android/build.gradle.kts @@ -0,0 +1,118 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("org.jetbrains.dokka") + id("maven-publish") + id("signing") +} + +group = project.findProperty("GROUP")!! +version = project.findProperty("VERSION_NAME")!! + +android { + namespace = "com.atiurin.ultron.android" + compileSdk = 34 + + defaultConfig { + minSdk = 16 + multiDexEnabled = true + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + publishing { + singleVariant("release") { + withSourcesJar() + } + } +} + +dependencies { + api(project(":ultron-common")) + implementation(Libs.kotlinReflect) + implementation(Libs.kotlinStdlib) + implementation(Libs.recyclerView) + api(Libs.espressoCore) + api(Libs.espressoContrib) + api(Libs.espressoWeb) + api(Libs.accessibility) + api(Libs.hamcrestCore) +} + +val dokkaOutputDir = buildDir.resolve("dokka") + +tasks.dokkaHtml.configure { outputDirectory.set(file(dokkaOutputDir)) } + +val deleteDokkaOutputDir by tasks.register("deleteDokkaOutputDirectory") { + delete(dokkaOutputDir) +} + +val javadocJar = tasks.register("javadocJar") { + archiveClassifier.set("javadoc") + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + dependsOn(deleteDokkaOutputDir, tasks.dokkaHtml) + from(dokkaOutputDir) +} + +publishing { + publications { + create("release") { + println("Start publishing _-------------") + println(this.name) + artifact(javadocJar.get()) + afterEvaluate { + from(components["release"]) + } + pom { + name.set("Ultron Android") + description.set("Android & Compose Multiplatform UI testing framework") + url.set("https://github.com/open-tool/ultron") + inceptionYear.set("2021") + + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + + issueManagement { + system.set("GitHub Issues") + url.set("https://github.com/open-tool/ultron/issues") + } + + developers { + developer { + id.set("alex-tiurin") + name.set("Aleksei Tiurin") + url.set("https://github.com/open-tool") + } + } + + scm { + connection.set("scm:git@github.com:open-tool/ultron.git") + developerConnection.set("scm:git@github.com:open-tool/ultron.git") + url.set("https://github.com/open-tool/ultron") + } + } + } + } +} + +tasks.withType().configureEach { + dependsOn(tasks.withType()) + dependsOn(javadocJar) + mustRunAfter(tasks.withType()) +} + +tasks.named("generateMetadataFileForReleasePublication") { + dependsOn(javadocJar) +} + +signing { + useGpgCmd() + sign(publishing.publications) +} diff --git a/ultron-android/gradle.properties b/ultron-android/gradle.properties new file mode 100644 index 00000000..612df5fb --- /dev/null +++ b/ultron-android/gradle.properties @@ -0,0 +1,8 @@ +GROUP=com.atiurin +POM_ARTIFACT_ID=ultron-android + +POM_NAME=ultron-android +POM_PACKAGING=aar + +POM_DESCRIPTION=Ultron support of Espresso and UIAutomator for Android +POM_INCEPTION_YEAR=2024 diff --git a/ultron/src/main/java/com/atiurin/ultron/core/config/UltronConfig.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/config/UltronConfig.kt similarity index 69% rename from ultron/src/main/java/com/atiurin/ultron/core/config/UltronConfig.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/config/UltronConfig.kt index bdd3da97..8f190095 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/config/UltronConfig.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/config/UltronConfig.kt @@ -1,5 +1,6 @@ package com.atiurin.ultron.core.config +import android.annotation.SuppressLint import android.view.View import android.webkit.WebView import androidx.test.espresso.AmbiguousViewMatcherException @@ -15,75 +16,68 @@ import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.Configurator import androidx.test.uiautomator.UiDevice import androidx.test.uiautomator.UiObjectNotFoundException -import com.atiurin.ultron.core.common.* +import com.atiurin.ultron.core.common.Operation +import com.atiurin.ultron.core.common.OperationResult +import com.atiurin.ultron.core.common.OperationResultAnalyzer +import com.atiurin.ultron.core.common.UltronDefaultOperationResultAnalyzer import com.atiurin.ultron.core.espresso.EspressoOperationResult import com.atiurin.ultron.core.espresso.UltronEspressoOperation -import com.atiurin.ultron.core.espresso.UltronEspressoOperationLifecycle import com.atiurin.ultron.core.espresso.assertion.EspressoAssertionType -import com.atiurin.ultron.core.espressoweb.UltronWebLifecycle -import com.atiurin.ultron.core.espressoweb.operation.EspressoWebOperationType import com.atiurin.ultron.core.espressoweb.operation.WebInteractionOperation import com.atiurin.ultron.core.espressoweb.operation.WebOperationResult import com.atiurin.ultron.core.uiautomator.UiAutomatorOperation import com.atiurin.ultron.core.uiautomator.UiAutomatorOperationResult -import com.atiurin.ultron.core.uiautomator.UltronUiAutomatorLifecycle import com.atiurin.ultron.core.uiautomator.uiobject.UiAutomatorUiSelectorOperation -import com.atiurin.ultron.exceptions.* +import com.atiurin.ultron.exceptions.UltronAssertionException +import com.atiurin.ultron.exceptions.UltronException +import com.atiurin.ultron.exceptions.UltronOperationException +import com.atiurin.ultron.exceptions.UltronUiAutomatorException +import com.atiurin.ultron.exceptions.UltronWrapperException +import com.atiurin.ultron.extensions.simpleClassName import com.atiurin.ultron.listeners.LogLifecycleListener import com.atiurin.ultron.listeners.UltronLifecycleListener import com.atiurin.ultron.log.UltronLog +import com.atiurin.ultron.log.getFileLogger import com.atiurin.ultron.testlifecycle.setupteardown.ConditionExecutorWrapper import com.atiurin.ultron.testlifecycle.setupteardown.ConditionsExecutor -import com.atiurin.ultron.testlifecycle.setupteardown.DefaultConditionExecutorWrapper -import com.atiurin.ultron.testlifecycle.setupteardown.DefaultConditionsExecutor import junit.framework.AssertionFailedError import org.hamcrest.CoreMatchers.allOf import org.hamcrest.Matcher +import kotlin.reflect.KClass object UltronConfig { - var LOGCAT_TAG = "Ultron" - val operationsExcludedFromListeners = mutableListOf(EspressoAssertionType.IDENTIFY_RECYCLER_VIEW) - var isListenersOn = true - const val DEFAULT_OPERATION_TIMEOUT_MS = 5_000L - - var params: UltronConfigParams = UltronConfigParams() - - fun addGlobalListener(lifecycleListener: UltronLifecycleListener) { - UltronLog.info("Add Ultron global listener ${lifecycleListener.javaClass.simpleName}. " + - "It's applied for Espresso, EspressoWeb and UiAutomator operations.") - UltronEspressoOperationLifecycle.addListener(lifecycleListener) - UltronWebLifecycle.addListener(lifecycleListener) - UltronUiAutomatorLifecycle.addListener(lifecycleListener) + init { + UltronCommonConfig.operationsExcludedFromListeners.apply { + add(EspressoAssertionType.IDENTIFY_RECYCLER_VIEW) + } } - fun removeGlobalListener(listenerId: String) { - UltronLog.info("Remove Ultron global listener with id ${listenerId}. ") - UltronEspressoOperationLifecycle.removeListener(listenerId) - UltronWebLifecycle.removeListener(listenerId) - UltronUiAutomatorLifecycle.removeListener(listenerId) - } + @Deprecated( + message = "Default moved to UltronCommonConfig.Defaults", + replaceWith = ReplaceWith(expression = "UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS") + ) + val DEFAULT_OPERATION_TIMEOUT_MS = UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS - fun removeGlobalListener(clazz: Class) { - UltronLog.info("Remove Ultron global listener ${clazz.simpleName}. ") - UltronEspressoOperationLifecycle.removeListener(clazz) - UltronWebLifecycle.removeListener(clazz) - UltronUiAutomatorLifecycle.removeListener(clazz) + var params: UltronConfigParams = UltronConfigParams() + + fun applyRecommended() { + params = UltronConfigParams() + modify() } - class Log { - companion object { - var dateFormat = "MM-dd HH:mm:ss.SSS" - } + fun apply(block: UltronConfigParams.() -> Unit) { + params.block() + modify() } private fun modify() { Espresso.ACTION_TIMEOUT = params.operationTimeoutMs Espresso.ASSERTION_TIMEOUT = params.operationTimeoutMs - addGlobalListener(LogLifecycleListener()) - if (params.logToFile){ + UltronCommonConfig.addListener(LogLifecycleListener()) + if (params.logToFile) { UltronLog.addLogger(UltronLog.fileLogger) } else { - UltronLog.removeLogger(UltronLog.fileLogger) + UltronLog.removeLogger(UltronLog.fileLogger.id) } if (params.accelerateUiAutomator) { UiAutomator.speedUp() @@ -91,14 +85,44 @@ object UltronConfig { UltronLog.info("UltronConfig applied with params $params") } - fun applyRecommended(){ - params = UltronConfigParams() - modify() + @Deprecated( + message = "Listeners storage moved to UltronCommonConfig", + replaceWith = ReplaceWith(expression = "UltronCommonConfig.addListener(Listener)") + ) + fun addGlobalListener(lifecycleListener: UltronLifecycleListener) { + UltronLog.info( + "Add Ultron global listener ${lifecycleListener.simpleClassName()}. " + + "It's applied for Espresso, EspressoWeb and UiAutomator operations." + ) + UltronCommonConfig.addListener(lifecycleListener) } - fun apply(block: UltronConfigParams.() -> Unit) { - params.block() - modify() + @Deprecated( + message = "Listeners storage moved to UltronCommonConfig", + replaceWith = ReplaceWith(expression = "UltronCommonConfig.removeListener(listenerId)") + ) + fun removeGlobalListener(listenerId: String) { + UltronLog.info("Remove Ultron global listener with id ${listenerId}. ") + UltronCommonConfig.removeListener(listenerId) + } + + @Deprecated( + message = "Listeners storage moved to UltronCommonConfig", + replaceWith = ReplaceWith(expression = "UltronCommonConfig.removeListener(Listener::class)") + ) + fun removeGlobalListener(clazz: KClass) { + UltronLog.info("Remove Ultron global listener ${clazz.simpleName}. ") + UltronCommonConfig.removeListener(clazz) + } + + class Log { + companion object { + @Deprecated( + message = "Log config moved to UltronCommonConfig", + replaceWith = ReplaceWith(expression = "UltronCommonConfig.logDateFormat") + ) + var dateFormat = UltronCommonConfig.logDateFormat + } } class Espresso { @@ -106,16 +130,16 @@ object UltronConfig { val baseLayerComponent = DaggerBaseLayerComponent.create() val activeRootLister: ActiveRootLister = baseLayerComponent.activeRootLister() val uiController: UiController = baseLayerComponent.uiController() + + @SuppressLint("RestrictedApi") val controlledLooper: ControlledLooper = baseLayerComponent.controlledLooper() - const val DEFAULT_ACTION_TIMEOUT = 5_000L - const val DEFAULT_ASSERTION_TIMEOUT = 5_000L const val DEFAULT_RECYCLER_VIEW_LOAD_TIMEOUT = 5_000L const val DEFAULT_RECYCLER_VIEW_OPERATION_TIMEOUT = 5_000L - var ESPRESSO_OPERATION_POLLING_TIMEOUT = 0L //ms - var ACTION_TIMEOUT = DEFAULT_ACTION_TIMEOUT - var ASSERTION_TIMEOUT = DEFAULT_ASSERTION_TIMEOUT + var ESPRESSO_OPERATION_POLLING_TIMEOUT = UltronCommonConfig.Defaults.POLLING_TIMEOUT_MS + var ACTION_TIMEOUT = UltronCommonConfig.operationTimeoutMs + var ASSERTION_TIMEOUT = UltronCommonConfig.operationTimeoutMs var RECYCLER_VIEW_LOAD_TIMEOUT = DEFAULT_RECYCLER_VIEW_LOAD_TIMEOUT var RECYCLER_VIEW_OPERATIONS_TIMEOUT = DEFAULT_RECYCLER_VIEW_OPERATION_TIMEOUT var RECYCLER_VIEW_ITEM_SEARCH_LIMIT = -1 @@ -163,7 +187,7 @@ object UltronConfig { PerformException::class.java, NoMatchingViewException::class.java, AssertionFailedError::class.java, - AmbiguousViewMatcherException::class.java, + AmbiguousViewMatcherException::class.java ) val resultHandler: (EspressoOperationResult) -> Unit = { resultAnalyzer.analyze(it) @@ -191,8 +215,8 @@ object UltronConfig { class UiAutomator { companion object { - var UIAUTOMATOR_OPERATION_POLLING_TIMEOUT = 0L //ms - var OPERATION_TIMEOUT = 5_000L + var UIAUTOMATOR_OPERATION_POLLING_TIMEOUT = UltronCommonConfig.Defaults.POLLING_TIMEOUT_MS + var OPERATION_TIMEOUT = UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS var resultAnalyzer: OperationResultAnalyzer = UltronDefaultOperationResultAnalyzer() @@ -259,8 +283,25 @@ object UltronConfig { class Conditions { companion object { - var conditionExecutorWrapper: ConditionExecutorWrapper = DefaultConditionExecutorWrapper() - var conditionsExecutor: ConditionsExecutor = DefaultConditionsExecutor() + @Deprecated( + message = "ConditionExecutorWrapper moved to UltronAndroidCommonConfig.", + replaceWith = ReplaceWith("UltronAndroidCommonConfig.Conditions.conditionExecutorWrapper") + ) + var conditionExecutorWrapper: ConditionExecutorWrapper = UltronAndroidCommonConfig.Conditions.conditionExecutorWrapper + set(value) { + field = value + UltronAndroidCommonConfig.Conditions.conditionExecutorWrapper = value + } + + @Deprecated( + message = "ConditionsExecutor moved to UltronAndroidCommonConfig.", + replaceWith = ReplaceWith("UltronAndroidCommonConfig.Conditions.conditionsExecutor") + ) + var conditionsExecutor: ConditionsExecutor = UltronAndroidCommonConfig.Conditions.conditionsExecutor + set(value) { + field = value + UltronAndroidCommonConfig.Conditions.conditionsExecutor = value + } } } } diff --git a/ultron-android/src/main/kotlin/com/atiurin/ultron/core/config/UltronConfigParams.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/config/UltronConfigParams.kt new file mode 100644 index 00000000..af5ad89e --- /dev/null +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/config/UltronConfigParams.kt @@ -0,0 +1,13 @@ +package com.atiurin.ultron.core.config + +data class UltronConfigParams( + var accelerateUiAutomator: Boolean = true, + var operationTimeoutMs: Long = UltronCommonConfig.operationTimeoutMs +){ + @Deprecated("Use global setting UltronCommonConfig.logToFile", ReplaceWith("UltronCommonConfig.logToFile")) + var logToFile: Boolean = UltronCommonConfig.logToFile + set(value) { + field = value + UltronCommonConfig.logToFile = value + } +} \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/EspressoOperationExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/EspressoOperationExecutor.kt similarity index 83% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/EspressoOperationExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/EspressoOperationExecutor.kt index 6c0c0b20..97ef067d 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/espresso/EspressoOperationExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/EspressoOperationExecutor.kt @@ -7,6 +7,9 @@ import com.atiurin.ultron.core.common.OperationIterationResult import com.atiurin.ultron.core.common.ResultDescriptor import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.core.config.UltronConfig.Espresso.Companion.ESPRESSO_OPERATION_POLLING_TIMEOUT +import com.atiurin.ultron.extensions.getProperty +import com.atiurin.ultron.extensions.isAssignedFrom +import kotlin.reflect.KClass abstract class EspressoOperationExecutor( override val operation: T @@ -40,4 +43,8 @@ abstract class EspressoOperationExecutor( .build() } else originalException } + + override fun isExceptionInList(exception: Throwable, exceptionClasses: List>): Boolean { + return exception::class.java.isAssignedFrom(exceptionClasses.map { it.java }) + } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/EspressoOperationResult.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/EspressoOperationResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/EspressoOperationResult.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/EspressoOperationResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspresso.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspresso.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspresso.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspresso.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspressoInteraction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspressoInteraction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspressoInteraction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspressoInteraction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspressoOperation.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspressoOperation.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspressoOperation.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspressoOperation.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspressoOperationLifecycle.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspressoOperationLifecycle.kt similarity index 99% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspressoOperationLifecycle.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspressoOperationLifecycle.kt index 237a51c7..284c2ffa 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/espresso/UltronEspressoOperationLifecycle.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/UltronEspressoOperationLifecycle.kt @@ -2,4 +2,5 @@ package com.atiurin.ultron.core.espresso import com.atiurin.ultron.core.common.AbstractOperationLifecycle + object UltronEspressoOperationLifecycle : AbstractOperationLifecycle() \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/action/EspressoActionExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/EspressoActionExecutor.kt similarity index 87% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/action/EspressoActionExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/EspressoActionExecutor.kt index a1d1e0ba..12d70cac 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/espresso/action/EspressoActionExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/EspressoActionExecutor.kt @@ -4,11 +4,12 @@ import com.atiurin.ultron.core.common.Operation import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.core.espresso.EspressoOperationExecutor import com.atiurin.ultron.core.espresso.UltronEspressoOperation +import kotlin.reflect.KClass internal class EspressoActionExecutor( operation: UltronEspressoOperation ) : EspressoOperationExecutor(operation) { - override fun getAllowedExceptions(operation: Operation): List> { - return UltronConfig.Espresso.ViewActionConfig.allowedExceptions + override fun getAllowedExceptions(operation: Operation): List> { + return UltronConfig.Espresso.ViewActionConfig.allowedExceptions.map { it.kotlin } } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/action/EspressoActionType.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/EspressoActionType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/action/EspressoActionType.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/EspressoActionType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/action/UltronCustomClickAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/UltronCustomClickAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/action/UltronCustomClickAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/UltronCustomClickAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/action/UltronEspressoActionParams.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/UltronEspressoActionParams.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/action/UltronEspressoActionParams.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/action/UltronEspressoActionParams.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionExecutor.kt similarity index 86% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionExecutor.kt index 335ef654..288b0767 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionExecutor.kt @@ -4,11 +4,12 @@ import com.atiurin.ultron.core.common.Operation import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.core.espresso.EspressoOperationExecutor import com.atiurin.ultron.core.espresso.UltronEspressoOperation +import kotlin.reflect.KClass internal class EspressoAssertionExecutor( operation: UltronEspressoOperation ) : EspressoOperationExecutor(operation) { - override fun getAllowedExceptions(operation: Operation): List> { - return UltronConfig.Espresso.ViewAssertionConfig.allowedExceptions + override fun getAllowedExceptions(operation: Operation): List> { + return UltronConfig.Espresso.ViewAssertionConfig.allowedExceptions.map { it.kotlin } } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionType.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionType.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/assertion/EspressoAssertionType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/assertion/UltronEspressoAssertionParams.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/assertion/UltronEspressoAssertionParams.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/assertion/UltronEspressoAssertionParams.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/assertion/UltronEspressoAssertionParams.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemExecutor.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemExecutor.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemMatchingExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemMatchingExecutor.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemMatchingExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemMatchingExecutor.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemPositionalExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemPositionalExecutor.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemPositionalExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewItemPositionalExecutor.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewScrollAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewScrollAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewScrollAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewScrollAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewUtils.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewUtils.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewUtils.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/RecyclerViewUtils.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerView.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerView.kt similarity index 95% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerView.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerView.kt index d9f023f3..7717d32c 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerView.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerView.kt @@ -136,13 +136,11 @@ open class UltronRecyclerView( scrollOffset: Int = 0 ): T { waitItemsLoaded() - val position = AssertUtils.assertTrueAndReturnValue( - { container -> - container.set(getItemAdapterPositionAtIndex(matcher, index)) - container.get() >= 0 - }, - getTimeout(), - "RecyclerView($recyclerViewMatcher) has item matched '$matcher' with index $index" + val position = AssertUtils.assertTrueAndReturnValue( + valueBlock = { getItemAdapterPositionAtIndex(matcher, index) }, + assertionBlock = { value -> value >= 0 }, + timeoutMs = getTimeout(), + desc ="RecyclerView($recyclerViewMatcher) has item matched '$matcher' with index $index" ) return UltronRecyclerViewItem.getInstance(this, position, autoScroll, scrollOffset) } @@ -161,11 +159,11 @@ open class UltronRecyclerView( scrollOffset: Int = 0 ): T { waitItemsLoaded() - val position = AssertUtils.assertTrueAndReturnValue( - { container -> - container.set(getItemsAdapterPositionList(matcher).lastOrNull() ?: -1) - container.get() >= 0 - }, getTimeout(), "RecyclerView($recyclerViewMatcher) has last item matched '$matcher'" + val position = AssertUtils.assertTrueAndReturnValue( + valueBlock = {getItemsAdapterPositionList(matcher).lastOrNull() ?: -1 }, + assertionBlock = { value -> value >= 0 }, + timeoutMs = getTimeout(), + desc = "RecyclerView($recyclerViewMatcher) has last item matched '$matcher'" ) return UltronRecyclerViewItem.getInstance(this, position, autoScroll, scrollOffset) } @@ -226,13 +224,11 @@ open class UltronRecyclerView( scrollOffset: Int = 0 ): UltronRecyclerViewItem { waitItemsLoaded() - val position = AssertUtils.assertTrueAndReturnValue( - { container -> - container.set(getItemAdapterPositionAtIndex(matcher, index)) - container.get() >= 0 - }, - getTimeout(), - "RecyclerView($recyclerViewMatcher) has item matched '$matcher' with index $index" + val position = AssertUtils.assertTrueAndReturnValue( + valueBlock = { getItemAdapterPositionAtIndex(matcher, index) }, + assertionBlock = { value -> value >= 0 }, + timeoutMs = getTimeout(), + desc = "RecyclerView($recyclerViewMatcher) has item matched '$matcher' with index $index" ) return UltronRecyclerViewItem(this, position, autoScroll, scrollOffset) } @@ -251,11 +247,11 @@ open class UltronRecyclerView( scrollOffset: Int = 0 ): UltronRecyclerViewItem { waitItemsLoaded() - val position = AssertUtils.assertTrueAndReturnValue( - { container -> - container.set(getItemsAdapterPositionList(matcher).lastOrNull() ?: -1) - container.get() >= 0 - }, getTimeout(), "RecyclerView($recyclerViewMatcher) has last item matched '$matcher'" + val position = AssertUtils.assertTrueAndReturnValue( + valueBlock = { getItemsAdapterPositionList(matcher).lastOrNull() ?: -1 }, + assertionBlock = { value -> value >= 0 }, + timeoutMs = getTimeout(), + desc = "RecyclerView($recyclerViewMatcher) has last item matched '$matcher'" ) return UltronRecyclerViewItem(this, position, autoScroll, scrollOffset) } diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerViewItem.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerViewItem.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerViewItem.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espresso/recyclerview/UltronRecyclerViewItem.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/UltronWebLifecycle.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/UltronWebLifecycle.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/UltronWebLifecycle.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/UltronWebLifecycle.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/EspressoWebOperationType.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/EspressoWebOperationType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/EspressoWebOperationType.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/EspressoWebOperationType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperation.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperation.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperation.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperation.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationExecutor.kt similarity index 83% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationExecutor.kt index 684affca..cc1239e7 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationExecutor.kt @@ -3,12 +3,15 @@ package com.atiurin.ultron.core.espressoweb.operation import com.atiurin.ultron.core.common.Operation import com.atiurin.ultron.core.common.ResultDescriptor import com.atiurin.ultron.core.config.UltronConfig +import kotlin.reflect.KClass internal class WebInteractionOperationExecutor( operation: WebInteractionOperation ) : WebOperationExecutor>(operation) { - override fun getAllowedExceptions(operation: Operation): List> { - return UltronConfig.Espresso.WebInteractionOperationConfig.allowedExceptions + override fun getAllowedExceptions(operation: Operation): List> { + return UltronConfig.Espresso.WebInteractionOperationConfig.allowedExceptions.map { + it.kotlin + } } override val descriptor: ResultDescriptor diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationIterationResult.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationIterationResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationIterationResult.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebInteractionOperationIterationResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebOperationExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebOperationExecutor.kt similarity index 85% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebOperationExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebOperationExecutor.kt index 9b50b2cd..c8f77643 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebOperationExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebOperationExecutor.kt @@ -5,6 +5,8 @@ import com.atiurin.ultron.core.common.OperationExecutor import com.atiurin.ultron.core.common.OperationIterationResult import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.exceptions.UltronWrapperException +import com.atiurin.ultron.extensions.isAssignedFrom +import kotlin.reflect.KClass internal abstract class WebOperationExecutor( override val operation: T @@ -39,4 +41,8 @@ internal abstract class WebOperationExecutor( } return modifiedException ?: originalException } + + override fun isExceptionInList(exception: Throwable, exceptionClasses: List>): Boolean { + return exception::class.java.isAssignedFrom(exceptionClasses.map { it.java }) + } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebOperationResult.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebOperationResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/operation/WebOperationResult.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/operation/WebOperationResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebDocument.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebDocument.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebDocument.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebDocument.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElement.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElement.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElement.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElement.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementId.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementId.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementId.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementId.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementXpath.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementXpath.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementXpath.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElementXpath.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElements.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElements.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElements.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/espressoweb/webelement/UltronWebElements.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorActionType.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorActionType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorActionType.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorActionType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorAssertionType.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorAssertionType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorAssertionType.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorAssertionType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorOperation.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorOperation.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorOperation.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorOperation.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationExecutor.kt similarity index 86% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationExecutor.kt index e8eb17fe..d65488ff 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationExecutor.kt @@ -6,6 +6,8 @@ import com.atiurin.ultron.core.common.OperationIterationResult import com.atiurin.ultron.core.common.ResultDescriptor import com.atiurin.ultron.core.config.UltronConfig.UiAutomator.Companion.UIAUTOMATOR_OPERATION_POLLING_TIMEOUT import com.atiurin.ultron.exceptions.UltronWrapperException +import com.atiurin.ultron.extensions.isAssignedFrom +import kotlin.reflect.KClass abstract class UiAutomatorOperationExecutor( override val operation: T @@ -43,4 +45,8 @@ abstract class UiAutomatorOperationExecutor( ) } else originalException } + + override fun isExceptionInList(exception: Throwable, exceptionClasses: List>): Boolean { + return exception::class.java.isAssignedFrom(exceptionClasses.map { it.java }) + } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationResult.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationResult.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UiAutomatorOperationResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UltronUiAutomatorLifecycle.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UltronUiAutomatorLifecycle.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/UltronUiAutomatorLifecycle.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/UltronUiAutomatorLifecycle.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperation.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperation.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperation.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperation.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperationExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperationExecutor.kt similarity index 86% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperationExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperationExecutor.kt index 31d7b0ec..cdb977d8 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperationExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject/UiAutomatorUiSelectorOperationExecutor.kt @@ -3,11 +3,12 @@ package com.atiurin.ultron.core.uiautomator.uiobject import com.atiurin.ultron.core.common.Operation import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.core.uiautomator.UiAutomatorOperationExecutor +import kotlin.reflect.KClass class UiAutomatorUiSelectorOperationExecutor( operation: UiAutomatorUiSelectorOperation ) : UiAutomatorOperationExecutor(operation) { - override fun getAllowedExceptions(operation: Operation): List> { - return UltronConfig.UiAutomator.UiObjectConfig.allowedExceptions + override fun getAllowedExceptions(operation: Operation): List> { + return UltronConfig.UiAutomator.UiObjectConfig.allowedExceptions.map { it.kotlin } } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject/UltronUiObject.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject/UltronUiObject.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject/UltronUiObject.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject/UltronUiObject.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorActionExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorActionExecutor.kt similarity index 87% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorActionExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorActionExecutor.kt index 8f2a0d80..7eb82264 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorActionExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorActionExecutor.kt @@ -4,11 +4,12 @@ import com.atiurin.ultron.core.common.Operation import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.core.uiautomator.UiAutomatorOperation import com.atiurin.ultron.core.uiautomator.UiAutomatorOperationExecutor +import kotlin.reflect.KClass class UiAutomatorBySelectorActionExecutor( action: UiAutomatorBySelectorAction ) : UiAutomatorOperationExecutor(action) { - override fun getAllowedExceptions(operation: Operation): List> { - return UltronConfig.UiAutomator.UiObject2Config.allowedExceptions + override fun getAllowedExceptions(operation: Operation): List> { + return UltronConfig.UiAutomator.UiObject2Config.allowedExceptions.map { it.kotlin } } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertion.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertion.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertionExecutor.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertionExecutor.kt similarity index 87% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertionExecutor.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertionExecutor.kt index 2a438010..3c510c85 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertionExecutor.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UiAutomatorBySelectorAssertionExecutor.kt @@ -4,11 +4,12 @@ import com.atiurin.ultron.core.common.Operation import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.core.uiautomator.UiAutomatorOperation import com.atiurin.ultron.core.uiautomator.UiAutomatorOperationExecutor +import kotlin.reflect.KClass class UiAutomatorBySelectorAssertionExecutor( assertion: UiAutomatorBySelectorAssertion ) : UiAutomatorOperationExecutor(assertion) { - override fun getAllowedExceptions(operation: Operation): List> { - return UltronConfig.UiAutomator.UiObject2Config.allowedExceptions + override fun getAllowedExceptions(operation: Operation): List> { + return UltronConfig.UiAutomator.UiObject2Config.allowedExceptions.map { it.kotlin } } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UltronUiObject2.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UltronUiObject2.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/uiautomator/uiobject2/UltronUiObject2.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/core/uiautomator/uiobject2/UltronUiObject2.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/AnonymousViewAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/AnonymousViewAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/AnonymousViewAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/AnonymousViewAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/CustomEspressoActionType.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/CustomEspressoActionType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/CustomEspressoActionType.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/CustomEspressoActionType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetContentDescriptionAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetContentDescriptionAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetContentDescriptionAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetContentDescriptionAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetDrawableAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetDrawableAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetDrawableAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetDrawableAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetTextAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetTextAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetTextAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetTextAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetViewAction.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetViewAction.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/action/GetViewAction.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/action/GetViewAction.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/AnyRootAssertions.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/AnyRootAssertions.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/AnyRootAssertions.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/AnyRootAssertions.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/CustomEspressoAssertionType.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/CustomEspressoAssertionType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/CustomEspressoAssertionType.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/CustomEspressoAssertionType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/DrawableAssertion.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/DrawableAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/DrawableAssertion.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/DrawableAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/ExistsEspressoViewAssertion.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/ExistsEspressoViewAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/ExistsEspressoViewAssertion.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/ExistsEspressoViewAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/TextColorAssertion.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/TextColorAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/assertion/TextColorAssertion.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/assertion/TextColorAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/base/RootViewPickerCreator.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/base/RootViewPickerCreator.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/base/RootViewPickerCreator.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/base/RootViewPickerCreator.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/base/UltronRootViewFinder.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/base/UltronRootViewFinder.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/base/UltronRootViewFinder.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/base/UltronRootViewFinder.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/base/UltronViewFinder.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/base/UltronViewFinder.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/base/UltronViewFinder.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/base/UltronViewFinder.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/AppCompatTextMatcher.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/AppCompatTextMatcher.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/AppCompatTextMatcher.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/AppCompatTextMatcher.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/DrawableMatchers.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/DrawableMatchers.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/DrawableMatchers.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/DrawableMatchers.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/ElementWithAttributeMatcher.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/ElementWithAttributeMatcher.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/ElementWithAttributeMatcher.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/ElementWithAttributeMatcher.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/NotUniqueViewMatchers.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/NotUniqueViewMatchers.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/NotUniqueViewMatchers.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/NotUniqueViewMatchers.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/SuitableRootMatcher.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/SuitableRootMatcher.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/SuitableRootMatcher.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/SuitableRootMatcher.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/TextColorMatchers.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/TextColorMatchers.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/custom/espresso/matcher/TextColorMatchers.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/custom/espresso/matcher/TextColorMatchers.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/BitmapExt.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/BitmapExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/BitmapExt.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/BitmapExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/DataInterationExt.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/DataInterationExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/DataInterationExt.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/DataInterationExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/DrawableExt.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/DrawableExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/DrawableExt.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/DrawableExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/MatcherViewExt.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/MatcherViewExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/MatcherViewExt.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/MatcherViewExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/PerfomOnViewExt.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/PerfomOnViewExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/PerfomOnViewExt.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/PerfomOnViewExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/ReflectionExt.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/ReflectionExt.kt similarity index 70% rename from ultron/src/main/java/com/atiurin/ultron/extensions/ReflectionExt.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/ReflectionExt.kt index d262ac79..e78190c1 100644 --- a/ultron/src/main/java/com/atiurin/ultron/extensions/ReflectionExt.kt +++ b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/ReflectionExt.kt @@ -10,29 +10,6 @@ import androidx.test.espresso.web.sugar.Web import org.hamcrest.Matcher import java.util.concurrent.atomic.AtomicReference -inline fun Any.getProperty(propertyName: String): T? { - return try { - val property = this.javaClass.getDeclaredField(propertyName) - property.isAccessible = true - property.get(this) as T - } catch (ex: Throwable) { null } -} - -inline fun Any.getMethodResult(methodName: String, vararg args: Any?): T? { - return try { - val method = this.javaClass.getDeclaredMethod(methodName) - method.isAccessible = true - method.invoke(this, *args) as T - } catch (ex: Throwable) { null } -} - -internal fun Class<*>.isAssignedFrom(klasses: List>): Boolean{ - klasses.forEach { - if (it.isAssignableFrom(this)) return true - } - return false -} - internal fun DataInteraction.getMatcher(propertyName: String): Matcher? { return this.getProperty(propertyName) } diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/ViewInteractionExt.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/ViewInteractionExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/ViewInteractionExt.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/extensions/ViewInteractionExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/utils/ViewGroupUtils.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/utils/ViewGroupUtils.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/utils/ViewGroupUtils.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/utils/ViewGroupUtils.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/utils/ViewUtils.kt b/ultron-android/src/main/kotlin/com/atiurin/ultron/utils/ViewUtils.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/utils/ViewUtils.kt rename to ultron-android/src/main/kotlin/com/atiurin/ultron/utils/ViewUtils.kt diff --git a/ultron/src/main/res/values/strings.xml b/ultron-android/src/main/res/values/strings.xml similarity index 100% rename from ultron/src/main/res/values/strings.xml rename to ultron-android/src/main/res/values/strings.xml diff --git a/ultron/src/test/java/com/atiurin/ultron/ExampleUnitTest.java b/ultron-android/src/test/java/com/atiurin/ultron/ExampleUnitTest.java similarity index 100% rename from ultron/src/test/java/com/atiurin/ultron/ExampleUnitTest.java rename to ultron-android/src/test/java/com/atiurin/ultron/ExampleUnitTest.java diff --git a/ultron-common/.gitignore b/ultron-common/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/ultron-common/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/ultron-common/build.gradle.kts b/ultron-common/build.gradle.kts new file mode 100644 index 00000000..e7e3533b --- /dev/null +++ b/ultron-common/build.gradle.kts @@ -0,0 +1,154 @@ +plugins { + alias(libs.plugins.kotlinMultiplatform) + alias(libs.plugins.androidLibrary) + id("org.jetbrains.dokka") + id("maven-publish") + id("signing") +} + +group = project.findProperty("GROUP")!! +version = project.findProperty("VERSION_NAME")!! + +kotlin { + jvm() + androidTarget { + publishLibraryVariants("release") + compilations.all { + kotlinOptions { + jvmTarget = "17" + } + } + } + + sourceSets { + commonMain.dependencies { + implementation(libs.okio) + implementation(libs.kotlinx.datetime) + implementation(libs.atomicfu) + } + commonTest.dependencies { + implementation(libs.kotlin.test) + } + val androidMain by getting { + dependencies { + implementation(kotlin("stdlib-jdk8")) + implementation(libs.androidx.monitor) + api(Libs.uiautomator) + api(Libs.junit) + } + } + val jvmMain by getting { + dependencies { + implementation(kotlin("stdlib-jdk8")) + } + } + } +} + +android { + namespace = "com.atiurin.ultron.common" + compileSdk = 34 + defaultConfig { + minSdk = 21 + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } +} + +val dokkaOutputDir = buildDir.resolve("dokka") + +tasks.dokkaHtml.configure { + outputDirectory.set(file(dokkaOutputDir)) +} + +val deleteDokkaOutputDir by tasks.register("deleteDokkaOutputDirectory") { + delete(dokkaOutputDir) +} + +val ultronComposeJavadocJar by tasks.registering(Jar::class) { + archiveClassifier.set("javadoc") + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + dependsOn(deleteDokkaOutputDir, tasks.dokkaHtml) + from(dokkaOutputDir) +} + +publishing { + publications { + withType { + artifact(ultronComposeJavadocJar.get()) + + pom { + name.set("Ultron Common") + description.set("Android & Compose Multiplatform UI testing framework") + url.set("https://github.com/open-tool/ultron") + inceptionYear.set("2021") + + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + + issueManagement { + system.set("GitHub Issues") + url.set("https://github.com/open-tool/ultron/issues") + } + + developers { + developer { + id.set("alex-tiurin") + name.set("Aleksei Tiurin") + url.set("https://github.com/open-tool") + } + } + + scm { + connection.set("scm:git@github.com:open-tool/ultron.git") + developerConnection.set("scm:git@github.com:open-tool/ultron.git") + url.set("https://github.com/open-tool/ultron") + } + } + } + } +} + +tasks.withType().configureEach { + dependsOn(tasks.withType()) + dependsOn(ultronComposeJavadocJar) + dependsOn(tasks.withType()) + mustRunAfter(tasks.withType()) +} + +tasks.named("publishKotlinMultiplatformPublicationToMavenLocal") { + dependsOn("signJvmPublication") + dependsOn("signKotlinMultiplatformPublication") + mustRunAfter("signJvmPublication") + mustRunAfter("signKotlinMultiplatformPublication") +} + +tasks.named("publishJvmPublicationToMavenLocal") { + dependsOn("signJvmPublication") + dependsOn("signKotlinMultiplatformPublication") + dependsOn("signAndroidReleasePublication") + mustRunAfter("signJvmPublication") + mustRunAfter("signKotlinMultiplatformPublication") + mustRunAfter("signAndroidReleasePublication") +} + +tasks.withType().configureEach { + dependsOn("signJvmPublication") + dependsOn("signKotlinMultiplatformPublication") + dependsOn("signAndroidReleasePublication") + mustRunAfter("signJvmPublication") + mustRunAfter("signKotlinMultiplatformPublication") + mustRunAfter("signAndroidReleasePublication") +} + +signing { + println("Signing lib...") + useGpgCmd() + sign(publishing.publications) +} diff --git a/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/core/config/UltronAndroidCommonConfig.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/core/config/UltronAndroidCommonConfig.kt new file mode 100644 index 00000000..8318115d --- /dev/null +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/core/config/UltronAndroidCommonConfig.kt @@ -0,0 +1,15 @@ +package com.atiurin.ultron.core.config + +import com.atiurin.ultron.testlifecycle.setupteardown.ConditionExecutorWrapper +import com.atiurin.ultron.testlifecycle.setupteardown.ConditionsExecutor +import com.atiurin.ultron.testlifecycle.setupteardown.DefaultConditionExecutorWrapper +import com.atiurin.ultron.testlifecycle.setupteardown.DefaultConditionsExecutor + +object UltronAndroidCommonConfig { + class Conditions { + companion object { + var conditionExecutorWrapper: ConditionExecutorWrapper = DefaultConditionExecutorWrapper() + var conditionsExecutor: ConditionsExecutor = DefaultConditionsExecutor() + } + } +} \ No newline at end of file diff --git a/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/AnyExt.android.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/AnyExt.android.kt new file mode 100644 index 00000000..0aeff518 --- /dev/null +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/AnyExt.android.kt @@ -0,0 +1,24 @@ +package com.atiurin.ultron.extensions + +inline fun Any.getProperty(propertyName: String): T? { + return try { + val property = this.javaClass.getDeclaredField(propertyName) + property.isAccessible = true + property.get(this) as T + } catch (ex: Throwable) { null } +} + +inline fun Any.getMethodResult(methodName: String, vararg args: Any?): T? { + return try { + val method = this.javaClass.getDeclaredMethod(methodName) + method.isAccessible = true + method.invoke(this, *args) as T + } catch (ex: Throwable) { null } +} + +fun Class<*>.isAssignedFrom(klasses: List>): Boolean{ + klasses.forEach { + if (it.isAssignableFrom(this)) return true + } + return false +} \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/BundleExt.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/BundleExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/BundleExt.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/BundleExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/DescriptionExt.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/DescriptionExt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/DescriptionExt.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/DescriptionExt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/FileExt.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/FileExt.android.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/extensions/FileExt.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/extensions/FileExt.android.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/hierarchy/HierarchyDumpResult.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/hierarchy/HierarchyDumpResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/hierarchy/HierarchyDumpResult.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/hierarchy/HierarchyDumpResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/hierarchy/HierarchyDumper.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/hierarchy/HierarchyDumper.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/hierarchy/HierarchyDumper.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/hierarchy/HierarchyDumper.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/hierarchy/UiDeviceHierarchyDumper.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/hierarchy/UiDeviceHierarchyDumper.kt similarity index 75% rename from ultron/src/main/java/com/atiurin/ultron/hierarchy/UiDeviceHierarchyDumper.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/hierarchy/UiDeviceHierarchyDumper.kt index d9388ed9..900bd89f 100644 --- a/ultron/src/main/java/com/atiurin/ultron/hierarchy/UiDeviceHierarchyDumper.kt +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/hierarchy/UiDeviceHierarchyDumper.kt @@ -1,10 +1,12 @@ package com.atiurin.ultron.hierarchy -import com.atiurin.ultron.core.config.UltronConfig.UiAutomator.Companion.uiDevice +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.uiautomator.UiDevice import com.atiurin.ultron.log.UltronLog import java.io.File class UiDeviceHierarchyDumper : HierarchyDumper { + private val uiDevice: UiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) override fun dumpFullWindowHierarchy(file: File): HierarchyDumpResult { var isSuccess = false runCatching { diff --git a/ultron/src/main/java/com/atiurin/ultron/log/UltronFileLogger.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronFileLoggerImpl.android.kt.kt similarity index 79% rename from ultron/src/main/java/com/atiurin/ultron/log/UltronFileLogger.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronFileLoggerImpl.android.kt.kt index de148b73..6f4f970b 100644 --- a/ultron/src/main/java/com/atiurin/ultron/log/UltronFileLogger.kt +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronFileLoggerImpl.android.kt.kt @@ -1,19 +1,20 @@ package com.atiurin.ultron.log import android.os.Build -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.core.config.UltronCommonConfig import com.atiurin.ultron.extensions.clearContent import com.atiurin.ultron.utils.createCacheFile import java.io.File import java.text.SimpleDateFormat import java.time.LocalDateTime import java.time.format.DateTimeFormatter -import java.util.* +import java.util.Date +import java.util.Locale -class UltronFileLogger: UFileLogger() { +class UltronFileLoggerImpl: UltronFileLogger() { private var file: File = createCacheFile("ultron_", ".log") - override fun getLogFile(): File = file + override fun getLogFilePath(): String = file.absolutePath override fun clearFile() = file.clearContent() override fun info(message: String) = append(LogLevel.I, message) @@ -35,9 +36,9 @@ class UltronFileLogger: UFileLogger() { private fun getTime(): String { return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val current = LocalDateTime.now() - current.format(DateTimeFormatter.ofPattern(UltronConfig.Log.dateFormat)) + current.format(DateTimeFormatter.ofPattern(UltronCommonConfig.logDateFormat)) } else { - SimpleDateFormat(UltronConfig.Log.dateFormat, Locale.getDefault()).format(Date()) + SimpleDateFormat(UltronCommonConfig.logDateFormat, Locale.getDefault()).format(Date()) } } diff --git a/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronLog.android.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronLog.android.kt new file mode 100644 index 00000000..5cbb6470 --- /dev/null +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronLog.android.kt @@ -0,0 +1,3 @@ +package com.atiurin.ultron.log + +actual fun getFileLogger(): UltronFileLogger = UltronFileLoggerImpl() \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/log/UltronLogcatLogger.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronLogcatLogger.android.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/log/UltronLogcatLogger.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/log/UltronLogcatLogger.android.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/runner/RunListener.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/RunListener.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/runner/RunListener.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/RunListener.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/runner/UltronLogRunListener.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/UltronLogRunListener.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/runner/UltronLogRunListener.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/UltronLogRunListener.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/runner/UltronRunInformer.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/UltronRunInformer.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/runner/UltronRunInformer.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/UltronRunInformer.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/runner/UltronRunListener.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/UltronRunListener.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/runner/UltronRunListener.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/runner/UltronRunListener.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/screenshot/ScreenshotResult.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/ScreenshotResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/screenshot/ScreenshotResult.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/ScreenshotResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/screenshot/Screenshoter.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/Screenshoter.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/screenshot/Screenshoter.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/Screenshoter.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/screenshot/UiAutomationScreenshoter.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/UiAutomationScreenshoter.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/screenshot/UiAutomationScreenshoter.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/UiAutomationScreenshoter.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/screenshot/ViewScreenshoter.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/ViewScreenshoter.kt similarity index 97% rename from ultron/src/main/java/com/atiurin/ultron/screenshot/ViewScreenshoter.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/ViewScreenshoter.kt index bdfc3190..2c571b02 100644 --- a/ultron/src/main/java/com/atiurin/ultron/screenshot/ViewScreenshoter.kt +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/screenshot/ViewScreenshoter.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.app.Activity import android.graphics.Bitmap import android.graphics.Canvas -import android.os.Looper import android.view.View import com.atiurin.ultron.exceptions.UltronException import com.atiurin.ultron.file.MimeType @@ -14,7 +13,6 @@ import com.atiurin.ultron.utils.runOnUiThread import java.io.BufferedOutputStream import java.io.File import java.io.FileOutputStream -import java.util.concurrent.CountDownLatch class ViewScreenshoter(private val quality: Int = 90) : Screenshoter { val mimeType = MimeType.JPEG diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/rulesequence/RuleSequence.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/rulesequence/RuleSequence.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/rulesequence/RuleSequence.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/rulesequence/RuleSequence.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/Condition.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/Condition.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/Condition.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/Condition.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/ConditionExecutorWrapper.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/ConditionExecutorWrapper.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/ConditionExecutorWrapper.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/ConditionExecutorWrapper.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/ConditionRule.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/ConditionRule.kt similarity index 96% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/ConditionRule.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/ConditionRule.kt index db5752e2..81b26f96 100644 --- a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/ConditionRule.kt +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/ConditionRule.kt @@ -1,6 +1,6 @@ package com.atiurin.ultron.testlifecycle.setupteardown -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.core.config.UltronAndroidCommonConfig import org.junit.internal.AssumptionViolatedException import org.junit.rules.TestRule import org.junit.runner.Description @@ -27,7 +27,7 @@ abstract class ConditionRule(open val name: String) : TestRule { private val conditionCounter = AtomicInteger(0) internal val conditions = mutableListOf() - open var conditionsExecutor: ConditionsExecutor = UltronConfig.Conditions.conditionsExecutor + open var conditionsExecutor: ConditionsExecutor = UltronAndroidCommonConfig.Conditions.conditionsExecutor open fun add(key: String = getCommonKey(), name: String = "", actions: () -> Unit) = apply { if (key.contains(COMMON_CONDITION_KEY)) { diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/ConditionsExecutor.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/ConditionsExecutor.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/ConditionsExecutor.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/ConditionsExecutor.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionExecutorWrapper.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionExecutorWrapper.kt similarity index 52% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionExecutorWrapper.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionExecutorWrapper.kt index 37e8ddf5..f7b571a5 100644 --- a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionExecutorWrapper.kt +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionExecutorWrapper.kt @@ -1,11 +1,10 @@ package com.atiurin.ultron.testlifecycle.setupteardown -import android.util.Log -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.log.UltronLog -class DefaultConditionExecutorWrapper : ConditionExecutorWrapper{ +class DefaultConditionExecutorWrapper : ConditionExecutorWrapper { override fun execute(condition: Condition) { - Log.d(UltronConfig.LOGCAT_TAG, "Execute condition '${condition.name}' with key '${condition.key}'") + UltronLog.info("Execute condition '${condition.name}' with key '${condition.key}'") condition.actions() } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionsExecutor.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionsExecutor.kt similarity index 62% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionsExecutor.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionsExecutor.kt index 20c82dd0..239b9332 100644 --- a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionsExecutor.kt +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/DefaultConditionsExecutor.kt @@ -1,13 +1,13 @@ package com.atiurin.ultron.testlifecycle.setupteardown -import android.util.Log -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.core.config.UltronAndroidCommonConfig +import com.atiurin.ultron.log.UltronLog import kotlin.reflect.KClass -open class DefaultConditionsExecutor : ConditionsExecutor{ - override val conditionExecutor: ConditionExecutorWrapper by lazy { UltronConfig.Conditions.conditionExecutorWrapper } +open class DefaultConditionsExecutor : ConditionsExecutor { + override val conditionExecutor: ConditionExecutorWrapper by lazy { UltronAndroidCommonConfig.Conditions.conditionExecutorWrapper } override fun before(name: String, ruleClass: KClass<*>) { - Log.d(UltronConfig.LOGCAT_TAG, "Execute ${ruleClass.simpleName} '$name' conditions") + UltronLog.info("Execute ${ruleClass.simpleName} '$name' conditions") } override fun execute(conditions: List, keys: List, description: String) { conditions diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/RuleSequenceTearDown.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/RuleSequenceTearDown.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/RuleSequenceTearDown.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/RuleSequenceTearDown.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/SetUp.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/SetUp.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/SetUp.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/SetUp.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/SetUpRule.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/SetUpRule.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/SetUpRule.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/SetUpRule.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/TearDown.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/TearDown.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/TearDown.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/TearDown.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/TearDownRule.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/TearDownRule.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/testlifecycle/setupteardown/TearDownRule.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/testlifecycle/setupteardown/TearDownRule.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/utils/ActivityUtil.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/ActivityUtil.android.kt.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/utils/ActivityUtil.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/ActivityUtil.android.kt.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/utils/InstrumentationUtil.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/InstrumentationUtil.android.kt similarity index 97% rename from ultron/src/main/java/com/atiurin/ultron/utils/InstrumentationUtil.kt rename to ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/InstrumentationUtil.android.kt index 839aaa27..16dad5ed 100644 --- a/ultron/src/main/java/com/atiurin/ultron/utils/InstrumentationUtil.kt +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/InstrumentationUtil.android.kt @@ -81,7 +81,7 @@ fun runOnUiThread(action: () -> T): T { InstrumentationRegistry.getInstrumentation().runOnMainSync(task) try { return task.get() - } catch (e: ExecutionException) { // Expose the original exception + } catch (e: ExecutionException) { throw e.cause!! } } diff --git a/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.android.kt b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.android.kt new file mode 100644 index 00000000..ed0228e6 --- /dev/null +++ b/ultron-common/src/androidMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.android.kt @@ -0,0 +1,7 @@ +package com.atiurin.ultron.utils + +import android.os.SystemClock + +actual fun sleep(timeMs: Long) { + SystemClock.sleep(timeMs) +} \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/AbstractOperationLifecycle.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/AbstractOperationLifecycle.kt similarity index 64% rename from ultron/src/main/java/com/atiurin/ultron/core/common/AbstractOperationLifecycle.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/AbstractOperationLifecycle.kt index 70687387..b5b20af0 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/common/AbstractOperationLifecycle.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/AbstractOperationLifecycle.kt @@ -1,7 +1,6 @@ package com.atiurin.ultron.core.common -import com.atiurin.ultron.core.config.UltronConfig -import com.atiurin.ultron.core.config.UltronConfig.isListenersOn +import com.atiurin.ultron.core.config.UltronCommonConfig import com.atiurin.ultron.listeners.AbstractListenersContainer import com.atiurin.ultron.listeners.UltronLifecycleListener @@ -23,17 +22,18 @@ abstract class AbstractOperationLifecycle : AbstractListenersContainer, resultHandler: (OpRes) -> Unit = {} ): OpRes { - val listeners = getListeners() - val isListen = executor.operation.type !in UltronConfig.operationsExcludedFromListeners && isListenersOn - if (isListen) listeners.forEach { it.before(executor.operation) } + val lifecycleListeners = getListeners() + UltronCommonConfig.getListeners() + val isListen = executor.operation.type !in UltronCommonConfig.operationsExcludedFromListeners + && UltronCommonConfig.isListenersOn + if (isListen) lifecycleListeners.forEach { it.before(executor.operation) } val operationResult = operationProcessor.process(executor) if (isListen) { if (operationResult.success) { - listeners.forEach { it.afterSuccess(operationResult as OperationResult) } + lifecycleListeners.forEach { it.afterSuccess(operationResult as OperationResult) } } else { - listeners.forEach { it.afterFailure(operationResult as OperationResult) } + lifecycleListeners.forEach { it.afterFailure(operationResult as OperationResult) } } - listeners.forEach { it.after(operationResult as OperationResult) } + lifecycleListeners.forEach { it.after(operationResult as OperationResult) } } resultHandler(operationResult) return operationResult diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/CheckOperationResultAnalyzer.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/CheckOperationResultAnalyzer.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/CheckOperationResultAnalyzer.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/CheckOperationResultAnalyzer.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/DefaultElementInfo.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/DefaultElementInfo.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/DefaultElementInfo.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/DefaultElementInfo.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/DefaultOperationIterationResult.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/DefaultOperationIterationResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/DefaultOperationIterationResult.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/DefaultOperationIterationResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/ElementInfo.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/ElementInfo.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/ElementInfo.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/ElementInfo.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/Operation.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/Operation.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/Operation.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/Operation.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/OperationExecutor.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationExecutor.kt similarity index 67% rename from ultron/src/main/java/com/atiurin/ultron/core/common/OperationExecutor.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationExecutor.kt index a78c96e9..ab05735f 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/common/OperationExecutor.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationExecutor.kt @@ -1,16 +1,20 @@ package com.atiurin.ultron.core.common -import android.os.SystemClock import com.atiurin.ultron.exceptions.UltronAssertionBlockException -import com.atiurin.ultron.extensions.isAssignedFrom -import kotlin.system.measureTimeMillis +import com.atiurin.ultron.exceptions.UltronException +import com.atiurin.ultron.extensions.simpleClassName +import com.atiurin.ultron.utils.measureTimeMillis +import com.atiurin.ultron.utils.nowMs +import com.atiurin.ultron.utils.sleep +import kotlin.reflect.KClass interface OperationExecutor> { val operation: Op val pollingTimeout: Long val descriptor: ResultDescriptor - fun getAllowedExceptions(operation: Operation): List> + fun getAllowedExceptions(operation: Operation): List> + fun generateResult( success: Boolean, exceptions: List, @@ -25,7 +29,11 @@ interface OperationExecutor> { return descriptor.nestedOperation { execWithAssertion(operation.timeoutMs, null, true) } } - private tailrec fun execWithAssertion(operationDuration: Long, previousResult: OpRes?, isFirstIteration: Boolean = false): OpRes { + private tailrec fun execWithAssertion( + operationDuration: Long, + previousResult: OpRes?, + isFirstIteration: Boolean = false + ): OpRes { var result = execOperation(operationDuration, previousResult) if (result.success) { result = execAssertion(result) @@ -36,13 +44,21 @@ interface OperationExecutor> { return result } + fun isExceptionInList( + exception: Throwable, + exceptionClasses: List> + ): Boolean { + val exceptionClass = exception::class + return exceptionClasses.any { it == exceptionClass } + } + fun execOperation(operationDuration: Long, previousResult: OpRes?): OpRes { - var isSuccess: Boolean + var isSuccess: Boolean = false val description = StringBuilder() descriptor.appendLine(description, "------ Operation ${operation.name} ------") descriptor.increaseLevel() val exceptions = mutableListOf() - val endTime = SystemClock.elapsedRealtime() + operationDuration + val endTime = nowMs() + operationDuration var lastIteration: OperationIterationResult? = null val execTime = measureTimeMillis { try { @@ -50,30 +66,36 @@ interface OperationExecutor> { val result = operation.execute() isSuccess = result.success if (!isSuccess) { - val error = result.exception ?: UnknownError("Create an issue to ULTRON project") - if (error::class.java.isAssignedFrom(getAllowedExceptions(operation))) { - if (!exceptions.any { it.javaClass.simpleName == error.javaClass.simpleName && it.message == error.message }) { + val error = + result.exception ?: UltronException("Create an issue to ULTRON project") + if (isExceptionInList(error, getAllowedExceptions(operation))) { + if (!exceptions.any { it.simpleClassName() == error.simpleClassName() && it.message == error.message }) { exceptions.add(error) } } else { - descriptor.appendLine(description,"Not allowed exception occurs - ${error.javaClass.simpleName}, cause - ${error.cause}") + descriptor.appendLine( + description, + "Not allowed exception occurs - ${error.simpleClassName()}, cause - ${error.cause}" + ) exceptions.add(error) throw error } } lastIteration = result if (!isSuccess) { - if (pollingTimeout > 0) SystemClock.sleep(pollingTimeout) + if (pollingTimeout > 0) sleep(pollingTimeout) } - } while (SystemClock.elapsedRealtime() < endTime && !isSuccess) + + } while (nowMs() < endTime && !isSuccess) } catch (th: Throwable) { isSuccess = false // just make sure we will have correct action status } } - val operationExceptions = exceptions.map { getWrapperException(it) }.distinctBy { it.javaClass.name + it.message } + val operationExceptions = exceptions.map { getWrapperException(it) } + .distinctBy { "${it.simpleClassName()} + ${it.message}" } descriptor.describeResult(description, isSuccess, execTime, operationExceptions) descriptor.decreaseLevel() - descriptor.append(description,"------ End of operation '${operation.name}' ------") + descriptor.append(description, "------ End of operation '${operation.name}' ------") val operationResult = generateResult( success = isSuccess, exceptions = operationExceptions, @@ -87,13 +109,16 @@ interface OperationExecutor> { fun execAssertion(previousResult: OpRes): OpRes { var isSuccess = true val description = StringBuilder() - descriptor.appendLine(description, "\n------ Assertion block '${operation.assertion.name}' ------") + descriptor.appendLine( + description, + "\n------ Assertion block '${operation.assertion.name}' ------" + ) descriptor.increaseLevel() val exceptions: MutableList = mutableListOf() val assertionExecTime = measureTimeMillis { try { operation.assertion.block.invoke() - descriptor.appendLine(description,"Result = PASSED!") + descriptor.appendLine(description, "Result = PASSED!") } catch (ex: Throwable) { isSuccess = false val originalException = getWrapperException(ex) @@ -101,7 +126,7 @@ interface OperationExecutor> { UltronAssertionBlockException( """ |Exception in assertion block '${operation.assertion.name}' of operation '${operation.name}'. - |${"exception: ${originalException::class.java.canonicalName}".prefixTab()} + |${"exception: ${originalException::class.simpleName}".prefixTab()} |${"message: ${originalException.message}".prefixTabForAllLines()} """.trimMargin() ) @@ -110,7 +135,10 @@ interface OperationExecutor> { } descriptor.describeResult(description, isSuccess, assertionExecTime, exceptions) descriptor.decreaseLevel() - descriptor.appendLine(description,"------ End of assertion block '${operation.assertion.name}' ------") + descriptor.appendLine( + description, + "------ End of assertion block '${operation.assertion.name}' ------" + ) val assertionResult = generateResult( success = isSuccess, exceptions = exceptions, @@ -128,8 +156,10 @@ interface OperationExecutor> { previousResult?.let { addAll(it.exceptions) } addAll(currentResult.exceptions) }, - description = previousResult?.let { it.description + "\n" + currentResult.description } ?: currentResult.description, - lastOperationIterationResult = currentResult.operationIterationResult ?: previousResult?.operationIterationResult, + description = previousResult?.let { it.description + "\n" + currentResult.description } + ?: currentResult.description, + lastOperationIterationResult = currentResult.operationIterationResult + ?: previousResult?.operationIterationResult, executionTimeMs = (previousResult?.executionTimeMs ?: 0) + currentResult.executionTimeMs ) } diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/OperationIterationResult.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationIterationResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/OperationIterationResult.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationIterationResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/OperationProcessor.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationProcessor.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/OperationProcessor.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationProcessor.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/OperationResult.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationResult.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/OperationResult.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationResult.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/OperationResultAnalyzer.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationResultAnalyzer.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/OperationResultAnalyzer.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/OperationResultAnalyzer.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/ResultDescriptor.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/ResultDescriptor.kt similarity index 89% rename from ultron/src/main/java/com/atiurin/ultron/core/common/ResultDescriptor.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/ResultDescriptor.kt index 405482cb..f57cf03c 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/common/ResultDescriptor.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/ResultDescriptor.kt @@ -32,13 +32,13 @@ class ResultDescriptor { if (exceptions.size > 1) { """ |Errors were caught: - |${exceptions.map { "- '${it.javaClass.simpleName}', message: '${it.message}' cause: '${it.cause}'\n" }} - |Last error is ${exceptions.last()::class.java.canonicalName} + |${exceptions.map { "- '${it::class.simpleName}', message: '${it.message}' cause: '${it.cause}'\n" }} + |Last error is ${exceptions.last()::class.simpleName} |message: ${exceptions.last().message} """.trimMargin() } else { """ - |exception: ${exceptions.last()::class.java.canonicalName} + |exception: ${exceptions.last()::class.simpleName} |message: ${exceptions.last().message} """.trimMargin() } diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/UltronDefaultOperationResultAnalyzer.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/UltronDefaultOperationResultAnalyzer.kt similarity index 95% rename from ultron/src/main/java/com/atiurin/ultron/core/common/UltronDefaultOperationResultAnalyzer.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/UltronDefaultOperationResultAnalyzer.kt index 86f71b75..a7cf8863 100644 --- a/ultron/src/main/java/com/atiurin/ultron/core/common/UltronDefaultOperationResultAnalyzer.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/UltronDefaultOperationResultAnalyzer.kt @@ -1,13 +1,14 @@ package com.atiurin.ultron.core.common import com.atiurin.ultron.core.common.assertion.isEmptyAssertion +import com.atiurin.ultron.exceptions.UltronException import com.atiurin.ultron.exceptions.UltronOperationException class UltronDefaultOperationResultAnalyzer : OperationResultAnalyzer { override fun > analyze(operationResult: OpRes): Boolean { if (!operationResult.success) { val exceptionToThrow = operationResult.exceptions.lastOrNull() - ?: UnknownError( + ?: UltronException( """Unknown exception occurs during operation '${operationResult.operation.name}'. | ! Operation result is '${operationResult.success}'. | ! Operation result description: ${operationResult.description} diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/UltronOperationType.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/UltronOperationType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/UltronOperationType.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/UltronOperationType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/assertion/DefaultOperationAssertion.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/DefaultOperationAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/assertion/DefaultOperationAssertion.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/DefaultOperationAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/assertion/EmptyOperationAssertion.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/EmptyOperationAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/assertion/EmptyOperationAssertion.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/EmptyOperationAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/assertion/NoListenersOperationAssertion.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/NoListenersOperationAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/assertion/NoListenersOperationAssertion.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/NoListenersOperationAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/assertion/OperationAssertion.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/OperationAssertion.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/assertion/OperationAssertion.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/assertion/OperationAssertion.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/options/ClickOption.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/ClickOption.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/options/ClickOption.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/ClickOption.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/options/ContentDescriptionContainsOption.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/ContentDescriptionContainsOption.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/options/ContentDescriptionContainsOption.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/ContentDescriptionContainsOption.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/options/DoubleClickOption.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/DoubleClickOption.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/options/DoubleClickOption.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/DoubleClickOption.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/options/LongClickOption.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/LongClickOption.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/options/LongClickOption.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/LongClickOption.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/options/PerformCustomBlockOption.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/PerformCustomBlockOption.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/options/PerformCustomBlockOption.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/PerformCustomBlockOption.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/options/TextContainsOption.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/TextContainsOption.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/options/TextContainsOption.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/TextContainsOption.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/core/common/options/TextEqualsOption.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/TextEqualsOption.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/core/common/options/TextEqualsOption.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/common/options/TextEqualsOption.kt diff --git a/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/config/UltronCommonConfig.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/config/UltronCommonConfig.kt new file mode 100644 index 00000000..1587fb15 --- /dev/null +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/core/config/UltronCommonConfig.kt @@ -0,0 +1,20 @@ +package com.atiurin.ultron.core.config + +import com.atiurin.ultron.core.common.UltronOperationType +import com.atiurin.ultron.listeners.AbstractListenersContainer +import com.atiurin.ultron.listeners.UltronLifecycleListener + +object UltronCommonConfig : AbstractListenersContainer() { + val operationsExcludedFromListeners: MutableList = mutableListOf() + var operationTimeoutMs : Long = 5_000 + var isListenersOn = true + var logDateFormat = "MM-dd HH:mm:ss.SSS" + var logToFile: Boolean = true + + class Defaults { + companion object { + const val OPERATION_TIMEOUT_MS = 5_000L + const val POLLING_TIMEOUT_MS = 0L + } + } +} \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/exceptions/UltronAssertionBlockException.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronAssertionBlockException.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/exceptions/UltronAssertionBlockException.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronAssertionBlockException.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/exceptions/UltronAssertionException.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronAssertionException.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/exceptions/UltronAssertionException.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronAssertionException.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/exceptions/UltronException.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronException.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/exceptions/UltronException.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronException.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/exceptions/UltronOperationException.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronOperationException.kt similarity index 76% rename from ultron/src/main/java/com/atiurin/ultron/exceptions/UltronOperationException.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronOperationException.kt index 4c6b493f..06404d3f 100644 --- a/ultron/src/main/java/com/atiurin/ultron/exceptions/UltronOperationException.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronOperationException.kt @@ -1,9 +1,7 @@ package com.atiurin.ultron.exceptions -import android.annotation.SuppressLint class UltronOperationException : RuntimeException { constructor(message: String) : super(message) - @SuppressLint("NewApi") constructor(message: String, cause: Throwable) : super(message, cause) } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/exceptions/UltronUiAutomatorException.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronUiAutomatorException.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/exceptions/UltronUiAutomatorException.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronUiAutomatorException.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/exceptions/UltronWrapperException.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronWrapperException.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/exceptions/UltronWrapperException.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/exceptions/UltronWrapperException.kt diff --git a/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/extensions/AnyCommonExt.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/extensions/AnyCommonExt.kt new file mode 100644 index 00000000..f2cfd811 --- /dev/null +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/extensions/AnyCommonExt.kt @@ -0,0 +1,3 @@ +package com.atiurin.ultron.extensions + +fun Any?.simpleClassName() = this?.let { it::class } diff --git a/ultron/src/main/java/com/atiurin/ultron/file/MimeType.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/file/MimeType.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/file/MimeType.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/file/MimeType.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/listeners/AbstractListener.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/AbstractListener.kt similarity index 76% rename from ultron/src/main/java/com/atiurin/ultron/listeners/AbstractListener.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/AbstractListener.kt index 4fffe49b..c72d3ac3 100644 --- a/ultron/src/main/java/com/atiurin/ultron/listeners/AbstractListener.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/AbstractListener.kt @@ -6,6 +6,6 @@ abstract class AbstractListener { this.id = id } constructor(){ - this.id = this::class.java.name + this.id = this::class.qualifiedName.orEmpty() } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/listeners/AbstractListenersContainer.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/AbstractListenersContainer.kt similarity index 80% rename from ultron/src/main/java/com/atiurin/ultron/listeners/AbstractListenersContainer.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/AbstractListenersContainer.kt index 6aa3b743..b87274df 100644 --- a/ultron/src/main/java/com/atiurin/ultron/listeners/AbstractListenersContainer.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/AbstractListenersContainer.kt @@ -1,5 +1,7 @@ package com.atiurin.ultron.listeners +import kotlin.reflect.KClass + abstract class AbstractListenersContainer { private var listeners: MutableList = mutableListOf() @@ -24,8 +26,8 @@ abstract class AbstractListenersContainer { } } - fun removeListener(listenerClass: Class) { - val exist = listeners.find { it.id == listenerClass.name } + fun removeListener(listenerClass: KClass) { + val exist = listeners.find { it.id == listenerClass.qualifiedName } if (exist != null) { listeners.remove(exist) } diff --git a/ultron/src/main/java/com/atiurin/ultron/listeners/LifecycleListener.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/LifecycleListener.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/listeners/LifecycleListener.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/LifecycleListener.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/listeners/LogLifecycleListener.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/LogLifecycleListener.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/listeners/LogLifecycleListener.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/LogLifecycleListener.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/listeners/UltronLifecycleListener.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/UltronLifecycleListener.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/listeners/UltronLifecycleListener.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/UltronLifecycleListener.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/listeners/UltronListenerUtil.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/UltronListenerUtil.kt similarity index 75% rename from ultron/src/main/java/com/atiurin/ultron/listeners/UltronListenerUtil.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/UltronListenerUtil.kt index 166800db..767ab1c1 100644 --- a/ultron/src/main/java/com/atiurin/ultron/listeners/UltronListenerUtil.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/listeners/UltronListenerUtil.kt @@ -1,16 +1,17 @@ package com.atiurin.ultron.listeners -import com.atiurin.ultron.core.config.UltronConfig +import com.atiurin.ultron.core.config.UltronCommonConfig + fun executeWithoutListeners(block: () -> T): T { - UltronConfig.isListenersOn = false + UltronCommonConfig.isListenersOn = false val result = block.invoke() - UltronConfig.isListenersOn = true + UltronCommonConfig.isListenersOn = true return result } fun executeWithListeners(block: () -> T): T { - UltronConfig.isListenersOn = true + UltronCommonConfig.isListenersOn = true return block.invoke() } diff --git a/ultron/src/main/java/com/atiurin/ultron/log/LogLevel.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/LogLevel.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/log/LogLevel.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/LogLevel.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/log/ULogger.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/ULogger.kt similarity index 91% rename from ultron/src/main/java/com/atiurin/ultron/log/ULogger.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/ULogger.kt index f1ec17ea..887f8a58 100644 --- a/ultron/src/main/java/com/atiurin/ultron/log/ULogger.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/ULogger.kt @@ -7,7 +7,7 @@ abstract class ULogger { this.id = id } constructor(){ - this.id = this::class.java.name + this.id = this::class.qualifiedName.orEmpty() } abstract fun info(message: String): Any diff --git a/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronFileLogger.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronFileLogger.kt new file mode 100644 index 00000000..b91f0db0 --- /dev/null +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronFileLogger.kt @@ -0,0 +1,7 @@ +package com.atiurin.ultron.log + + +abstract class UltronFileLogger : ULogger() { + abstract fun getLogFilePath(): String + abstract fun clearFile() +} \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/log/UltronLog.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronLog.kt similarity index 72% rename from ultron/src/main/java/com/atiurin/ultron/log/UltronLog.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronLog.kt index a30f2eac..acef51ac 100644 --- a/ultron/src/main/java/com/atiurin/ultron/log/UltronLog.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronLog.kt @@ -1,10 +1,12 @@ package com.atiurin.ultron.log -import kotlin.system.measureTimeMillis +expect fun getFileLogger(): UltronFileLogger + object UltronLog { - val fileLogger by lazy { UltronFileLogger() } - private val loggers = mutableSetOf().apply { add(UltronLogcatLogger()) } + val fileLogger by lazy { getFileLogger() } + + private val loggers = mutableSetOf() fun addLogger(logger: ULogger) { removeLogger(logger) @@ -12,7 +14,11 @@ object UltronLog { } fun removeLogger(logger: ULogger){ - val exist = loggers.find { it.id == logger.id } + removeLogger(logger.id) + } + + fun removeLogger(id: String){ + val exist = loggers.find { it.id == id } exist?.let { loggers.remove(it) } } @@ -33,13 +39,4 @@ object UltronLog { LogLevel.W -> warn(message) LogLevel.E -> error(message) } - - fun time(desc: String, block: () -> R): R { - val result: R - val duration = measureTimeMillis { - result = block() - } - debug("$desc duration $duration ms") - return result - } } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/log/UltronLogUtil.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronLogUtil.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/log/UltronLogUtil.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/log/UltronLogUtil.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/page/Page.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/page/Page.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/page/Page.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/page/Page.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/page/Screen.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/page/Screen.kt similarity index 100% rename from ultron/src/main/java/com/atiurin/ultron/page/Screen.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/page/Screen.kt diff --git a/ultron/src/main/java/com/atiurin/ultron/utils/AssertUtils.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/AssertUtils.kt similarity index 58% rename from ultron/src/main/java/com/atiurin/ultron/utils/AssertUtils.kt rename to ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/AssertUtils.kt index 9282c2ea..cb9c10a4 100644 --- a/ultron/src/main/java/com/atiurin/ultron/utils/AssertUtils.kt +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/AssertUtils.kt @@ -1,33 +1,32 @@ package com.atiurin.ultron.utils -import android.os.SystemClock import com.atiurin.ultron.exceptions.UltronAssertionException -import java.util.concurrent.atomic.AtomicReference +import kotlinx.atomicfu.AtomicRef object AssertUtils { fun assertTrue(block: () -> Boolean, timeoutMs: Long = 5_000, desc: String = "" ) = assertTrue(block, timeoutMs) { desc } fun assertTrue(block: () -> Boolean, timeoutMs: Long = 5_000, desc: () -> String = { "" }) { - val startTime = SystemClock.elapsedRealtime() - while (SystemClock.elapsedRealtime() < startTime + timeoutMs){ + val startTime = nowMs() + while (nowMs() < startTime + timeoutMs){ if (block()) return } throw UltronAssertionException("Assertion '${desc.invoke()}' failed during $timeoutMs ms") } fun assertTrueAndReturn(resultContainer: R, block: (R) -> Boolean, timeoutMs: Long = 5_000, desc: String = ""): R { - val finishTime = SystemClock.elapsedRealtime() + timeoutMs - while (SystemClock.elapsedRealtime() < finishTime){ + val finishTime = nowMs() + timeoutMs + while (nowMs() < finishTime){ if (block(resultContainer)) return resultContainer } throw UltronAssertionException("Assertion '$desc' failed during $timeoutMs ms") } - fun assertTrueAndReturnValue(block: (AtomicReference) -> Boolean, timeoutMs: Long = 5_000, desc: String = ""): R { - val resultContainer = AtomicReference() - val finishTime = SystemClock.elapsedRealtime() + timeoutMs - while (SystemClock.elapsedRealtime() < finishTime){ - if (block(resultContainer)) return resultContainer.get() + fun assertTrueAndReturnValue(valueBlock: () -> R, assertionBlock: (R) -> Boolean, timeoutMs: Long = 5_000, desc: String = ""): R { + val finishTime = nowMs() + timeoutMs + while (nowMs() < finishTime){ + val result = valueBlock() + if (assertionBlock(result)) return result } throw UltronAssertionException("Assertion '$desc' failed during $timeoutMs ms") } @@ -36,8 +35,8 @@ object AssertUtils { * Immediately throws an exception if block returns false */ fun assertTrueWhileTime(block: () -> Boolean, timeoutMs: Long = 5_000, desc: String = ""){ - val startTime = SystemClock.elapsedRealtime() - while (SystemClock.elapsedRealtime() < startTime + timeoutMs){ + val startTime = nowMs() + while (nowMs() < startTime + timeoutMs){ if (!block()) throw UltronAssertionException("Assertion '$desc' failed") } } diff --git a/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.kt new file mode 100644 index 00000000..9b732508 --- /dev/null +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.kt @@ -0,0 +1,3 @@ +package com.atiurin.ultron.utils + +expect fun sleep(timeMs: Long) \ No newline at end of file diff --git a/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/TimeUtil.kt b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/TimeUtil.kt new file mode 100644 index 00000000..adfeab38 --- /dev/null +++ b/ultron-common/src/commonMain/kotlin/com/atiurin/ultron/utils/TimeUtil.kt @@ -0,0 +1,12 @@ +package com.atiurin.ultron.utils + +import kotlinx.datetime.Clock + +fun now() = Clock.System.now() +fun nowMs() = now().toEpochMilliseconds() + +fun measureTimeMillis(function: () -> Any): Long { + val start = now() + function() + return now().minus(start).inWholeMilliseconds +} \ No newline at end of file diff --git a/ultron-common/src/jsMain/kotlin/com/atiurin/ultron/log/UltronLog.js.kt b/ultron-common/src/jsMain/kotlin/com/atiurin/ultron/log/UltronLog.js.kt new file mode 100644 index 00000000..c1f59fd1 --- /dev/null +++ b/ultron-common/src/jsMain/kotlin/com/atiurin/ultron/log/UltronLog.js.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.log + +actual fun getFileLogger(): UltronFileLogger { + TODO("Not yet implemented") +} \ No newline at end of file diff --git a/ultron-common/src/jsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.js.kt b/ultron-common/src/jsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.js.kt new file mode 100644 index 00000000..2eebb778 --- /dev/null +++ b/ultron-common/src/jsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.js.kt @@ -0,0 +1,4 @@ +package com.atiurin.ultron.utils + +actual fun sleep(timeMs: Long) { +} \ No newline at end of file diff --git a/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/extensions/AnyExt.jvm.kt b/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/extensions/AnyExt.jvm.kt new file mode 100644 index 00000000..886188a4 --- /dev/null +++ b/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/extensions/AnyExt.jvm.kt @@ -0,0 +1,9 @@ +package com.atiurin.ultron.extensions + +inline fun Any.getProperty(propertyName: String): T? { + return try { + val property = this.javaClass.getDeclaredField(propertyName) + property.isAccessible = true + property.get(this) as T + } catch (ex: Throwable) { null } +} \ No newline at end of file diff --git a/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/log/UltronLog.jvm.kt b/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/log/UltronLog.jvm.kt new file mode 100644 index 00000000..c1f59fd1 --- /dev/null +++ b/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/log/UltronLog.jvm.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.log + +actual fun getFileLogger(): UltronFileLogger { + TODO("Not yet implemented") +} \ No newline at end of file diff --git a/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.jvm.kt b/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.jvm.kt new file mode 100644 index 00000000..de8bda36 --- /dev/null +++ b/ultron-common/src/jvmMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.jvm.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.utils + +actual fun sleep(timeMs: Long) { + Thread.sleep(timeMs) +} \ No newline at end of file diff --git a/ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/log/UltronLog.native.kt b/ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/log/UltronLog.native.kt new file mode 100644 index 00000000..c1f59fd1 --- /dev/null +++ b/ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/log/UltronLog.native.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.log + +actual fun getFileLogger(): UltronFileLogger { + TODO("Not yet implemented") +} \ No newline at end of file diff --git a/ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.native.kt b/ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.native.kt new file mode 100644 index 00000000..b7c0c262 --- /dev/null +++ b/ultron-common/src/nativeMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.native.kt @@ -0,0 +1,12 @@ +package com.atiurin.ultron.utils + +import platform.Foundation.NSThread + +actual fun sleep(timeMs: Long) { + val thread = NSThread.currentThread() + val date = platform.Foundation.NSDate() + val futureTime = date.timeIntervalSinceReferenceDate + timeMs / 1000.0 + while (platform.Foundation.NSDate().timeIntervalSinceReferenceDate < futureTime) { + // Busy wait until the desired time elapses + } +} \ No newline at end of file diff --git a/ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/log/UltronLog.wasmJs.kt b/ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/log/UltronLog.wasmJs.kt new file mode 100644 index 00000000..c1f59fd1 --- /dev/null +++ b/ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/log/UltronLog.wasmJs.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.log + +actual fun getFileLogger(): UltronFileLogger { + TODO("Not yet implemented") +} \ No newline at end of file diff --git a/ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.wasmJs.kt b/ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.wasmJs.kt new file mode 100644 index 00000000..2eebb778 --- /dev/null +++ b/ultron-common/src/wasmJsMain/kotlin/com/atiurin/ultron/utils/ThreadUtil.wasmJs.kt @@ -0,0 +1,4 @@ +package com.atiurin.ultron.utils + +actual fun sleep(timeMs: Long) { +} \ No newline at end of file diff --git a/ultron-compose/build.gradle.kts b/ultron-compose/build.gradle.kts index a8f767cf..f877604a 100644 --- a/ultron-compose/build.gradle.kts +++ b/ultron-compose/build.gradle.kts @@ -1,63 +1,135 @@ plugins { - id("com.android.library") - id("kotlin-android") - id("com.vanniktech.maven.publish") + alias(libs.plugins.kotlinMultiplatform) + alias(libs.plugins.androidLibrary) + alias(libs.plugins.jetbrainsCompose) + alias(libs.plugins.compose.compiler) + id("org.jetbrains.dokka") + id("maven-publish") + id("signing") } group = project.findProperty("GROUP")!! -version = project.findProperty("VERSION_NAME")!! +version = project.findProperty("VERSION_NAME")!! + +kotlin { + jvm() + androidTarget { + publishLibraryVariants("release") + compilations.all { + kotlinOptions { + jvmTarget = "17" + } + } + } + + sourceSets { + commonMain.dependencies { + api(project(":ultron-common")) + implementation(kotlin("reflect")) + implementation(libs.kotlin.test) + @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) + implementation(compose.uiTest) + implementation(libs.atomicfu) + } + val androidMain by getting { + dependencies { + api(project(":ultron-common")) + implementation(Libs.androidXRunner) + api(Libs.composeUiTest) + } + } + val jvmMain by getting { + dependencies { + implementation(project(":ultron-common")) + implementation(kotlin("stdlib-jdk8")) + } + } + } +} android { compileSdk = 34 namespace = "com.atiurin.ultron.compose" defaultConfig { minSdk = 16 - targetSdk = 34 multiDexEnabled = true } - sourceSets { - named("main").configure { - java.srcDir("src/main/java") - } - named("test").configure { - java.srcDir("src/test/java") - } - } compileOptions { targetCompatibility = JavaVersion.VERSION_17 sourceCompatibility = JavaVersion.VERSION_17 } } -dependencies { - implementation(project(":ultron")) - implementation(Libs.kotlinStdlib) - implementation(Libs.androidXRunner) - api(Libs.composeUiTest) +val dokkaOutputDir = buildDir.resolve("dokka") +tasks.dokkaHtml { outputDirectory.set(file(dokkaOutputDir)) } +val deleteDokkaOutputDir by tasks.register("deleteDokkaOutputDirectory") { delete(dokkaOutputDir) } + +val ultronComposeJavadocJar by tasks.registering(Jar::class) { + archiveClassifier.set("javadoc") + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + dependsOn(deleteDokkaOutputDir, tasks.dokkaHtml) + from(dokkaOutputDir) } -tasks { - val sourcesJar by creating(Jar::class) { - archiveClassifier.set("sources") - from(tasks) - } +publishing { + publications { + publications.withType { + artifact(ultronComposeJavadocJar) + + pom { + name.set("Ultron Compose") + description.set("Android & Compose Multiplatform UI testing framework") + url.set("https://github.com/open-tool/ultron") + inceptionYear.set("2021") + + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + + issueManagement { + system.set("GitHub Issues") + url.set("https://github.com/open-tool/ultron/issues") + } + + developers { + developer { + id.set("alex-tiurin") + name.set("Aleksei Tiurin") + url.set("https://github.com/open-tool") + } + } - val javadoc by creating(Javadoc::class) { - options { - this as StandardJavadocDocletOptions - addStringOption("Xdoclint:none", "-quiet") - addStringOption("Xmaxwarns", "1") - addStringOption("charSet", "UTF-8") + scm { + connection.set("scm:git@github.com:open-tool/ultron.git") + developerConnection.set("scm:git@github.com:open-tool/ultron.git") + url.set("https://github.com/open-tool/ultron") + } + } } } +} - val javadocJar by creating(Jar::class){ - dependsOn(javadoc) - from(javadoc.destinationDir) - } +tasks.withType().configureEach { + dependsOn(tasks.withType()) + dependsOn(ultronComposeJavadocJar) + dependsOn(tasks.withType()) + mustRunAfter(tasks.withType()) +} - artifacts { - add("archives", sourcesJar) - add("archives", javadocJar) - } +tasks.withType().configureEach { + dependsOn("signJvmPublication") + dependsOn("signKotlinMultiplatformPublication") + dependsOn("signAndroidReleasePublication") + mustRunAfter("signJvmPublication") + mustRunAfter("signKotlinMultiplatformPublication") + mustRunAfter("signAndroidReleasePublication") +} + +signing { + println("Signing lib...") + useGpgCmd() + sign(publishing.publications) } \ No newline at end of file diff --git a/ultron-compose/gradle.properties b/ultron-compose/gradle.properties index 9011c3cd..71960947 100644 --- a/ultron-compose/gradle.properties +++ b/ultron-compose/gradle.properties @@ -4,5 +4,5 @@ POM_ARTIFACT_ID=ultron-compose POM_NAME=ultron-compose POM_PACKAGING=aar -POM_DESCRIPTION=Android UI testing framework for compose -POM_INCEPTION_YEAR=2023 +POM_DESCRIPTION=UI testing framework for Compose +POM_INCEPTION_YEAR=2024 diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/ComposeRuleContainer.kt b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/ComposeRuleContainer.android.kt similarity index 88% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/ComposeRuleContainer.kt rename to ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/ComposeRuleContainer.android.kt index 440410aa..8f626e1a 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/ComposeRuleContainer.kt +++ b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/ComposeRuleContainer.android.kt @@ -1,11 +1,13 @@ package com.atiurin.ultron.core.compose import androidx.activity.ComponentActivity -import androidx.compose.ui.test.SemanticsNodeInteraction -import androidx.compose.ui.test.SemanticsNodeInteractionCollection -import androidx.compose.ui.test.SemanticsSelector import androidx.compose.ui.test.TestContext -import androidx.compose.ui.test.junit4.* +import androidx.compose.ui.test.junit4.AndroidComposeTestRule +import androidx.compose.ui.test.junit4.ComposeContentTestRule +import androidx.compose.ui.test.junit4.ComposeTestRule +import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.junit4.createEmptyComposeRule import androidx.test.ext.junit.rules.ActivityScenarioRule import com.atiurin.ultron.exceptions.UltronException import com.atiurin.ultron.extensions.getProperty @@ -16,6 +18,7 @@ object ComposeRuleContainer { fun init(composeRule: ComposeTestRule) { rule = composeRule + SemanticsNodeInteractionProviderContainer.init(composeRule) testContext = composeRule.getTestContext() } @@ -83,3 +86,5 @@ fun createEmptyUltronComposeRule(): ComposeTestRule { fun ComposeTestRule.getTestContext() = this.getProperty("testContext") + + diff --git a/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.android.kt b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.android.kt new file mode 100644 index 00000000..242c8362 --- /dev/null +++ b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.android.kt @@ -0,0 +1,42 @@ +package com.atiurin.ultron.core.compose.list + +import androidx.compose.ui.test.SemanticsMatcher +import androidx.compose.ui.test.SemanticsNodeInteraction +import androidx.compose.ui.test.filterToOne +import androidx.compose.ui.test.onChildAt +import androidx.compose.ui.test.onChildren +import androidx.compose.ui.test.performScrollToNode +import com.atiurin.ultron.core.compose.SemanticsNodeInteractionProviderContainer.withSemanticsProvider +import com.atiurin.ultron.extensions.findNodeInTree + +actual fun getItemChildInteractionProvider(): ItemChildInteractionProvider { + return AndroidItemChildInteractionProvider() +} + +class AndroidItemChildInteractionProvider : ItemChildInteractionProvider { + override fun onItemChild( + listMatcher: SemanticsMatcher, + itemMatcher: SemanticsMatcher, + childMatcher: SemanticsMatcher, + useUnmergedTree: Boolean + ): () -> SemanticsNodeInteraction = { + withSemanticsProvider { provider -> + provider.onNode(listMatcher, useUnmergedTree).performScrollToNode(itemMatcher) + .onChildren().filterToOne(itemMatcher) + .findNodeInTree(childMatcher, useUnmergedTree) + } + } + + override fun onVisibleItemChild( + listMatcher: SemanticsMatcher, + index: Int, + childMatcher: SemanticsMatcher, + useUnmergedTree: Boolean + ): () -> SemanticsNodeInteraction = { + withSemanticsProvider { provider -> + provider.onNode(listMatcher, useUnmergedTree) + .onChildAt(index) + .findNodeInTree(childMatcher, useUnmergedTree) + } + } +} \ No newline at end of file diff --git a/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.android.kt b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.android.kt new file mode 100644 index 00000000..c15fbef8 --- /dev/null +++ b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.android.kt @@ -0,0 +1,37 @@ +package com.atiurin.ultron.core.compose.nodeinteraction + +import android.os.Build +import androidx.annotation.RequiresApi +import com.atiurin.ultron.core.compose.operation.ComposeOperationType +import java.util.concurrent.atomic.AtomicReference +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.semantics.AccessibilityAction +import androidx.compose.ui.semantics.SemanticsPropertyKey +import androidx.compose.ui.test.SemanticsNodeInteraction +import androidx.compose.ui.test.captureToImage +import com.atiurin.ultron.extensions.requireSemantics +import com.atiurin.ultron.utils.runOnUiThread + +@RequiresApi(Build.VERSION_CODES.O) +fun UltronComposeSemanticsNodeInteraction.captureToImage(): ImageBitmap { + val image = AtomicReference() + executeOperation( + operationBlock = { image.set(semanticsNodeInteraction.captureToImage()) }, + name = "CaptureImage for '${elementInfo.name}'", + type = ComposeOperationType.CAPTURE_IMAGE, + description = "Compose captureToImage for '${elementInfo.name}' during $timeoutMs ms", + ) + return image.get() +} + +fun , R> SemanticsNodeInteraction.performSemanticsActionWithResult( + key: SemanticsPropertyKey>, invocation: (T) -> R? +): R? { + val node = fetchSemanticsNode("Failed to perform ${key.name} action.") + requireSemantics(node, key) { + "Failed to perform action ${key.name}" + } + return runOnUiThread { + node.config[key].action?.let(invocation) + } +} \ No newline at end of file diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/ReflectionComposeExt.kt b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/ReflectionComposeExt.android.kt similarity index 88% rename from ultron-compose/src/main/java/com/atiurin/ultron/extensions/ReflectionComposeExt.kt rename to ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/ReflectionComposeExt.android.kt index 1e6bc168..85f06a26 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/ReflectionComposeExt.kt +++ b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/ReflectionComposeExt.android.kt @@ -2,11 +2,10 @@ package com.atiurin.ultron.extensions import androidx.compose.ui.test.SemanticsNodeInteraction import androidx.compose.ui.test.SemanticsNodeInteractionCollection -import com.atiurin.ultron.extensions.getProperty internal fun SemanticsNodeInteraction.getUseMergedTree(): Boolean? { return this.getProperty("useUnmergedTree") } internal fun SemanticsNodeInteractionCollection.getUseMergedTree(): Boolean? { return this.getProperty("useUnmergedTree") -} +} \ No newline at end of file diff --git a/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsMatcherExt.android.kt b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsMatcherExt.android.kt new file mode 100644 index 00000000..d46b201d --- /dev/null +++ b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsMatcherExt.android.kt @@ -0,0 +1,11 @@ +package com.atiurin.ultron.extensions + +import android.os.Build +import androidx.annotation.RequiresApi +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.test.SemanticsMatcher +import com.atiurin.ultron.core.compose.nodeinteraction.UltronComposeSemanticsNodeInteraction +import com.atiurin.ultron.core.compose.nodeinteraction.captureToImage + +@RequiresApi(Build.VERSION_CODES.O) +fun SemanticsMatcher.captureToImage(): ImageBitmap = UltronComposeSemanticsNodeInteraction(this).captureToImage() \ No newline at end of file diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.android.kt similarity index 57% rename from ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt rename to ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.android.kt index a48f4d2b..1c4c12fe 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt +++ b/ultron-compose/src/androidMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.android.kt @@ -1,15 +1,13 @@ package com.atiurin.ultron.extensions -import androidx.compose.ui.semantics.SemanticsNode -import androidx.compose.ui.semantics.SemanticsPropertyKey -import androidx.compose.ui.test.SemanticsMatcher import androidx.compose.ui.test.SemanticsNodeInteraction +import androidx.compose.ui.test.SemanticsMatcher import androidx.compose.ui.test.SemanticsNodeInteractionCollection import androidx.compose.ui.test.SemanticsSelector import androidx.compose.ui.test.TestContext import com.atiurin.ultron.exceptions.UltronException -fun SemanticsNodeInteraction.getDescription() = this.getProperty("selector")?.description +actual fun SemanticsNodeInteraction.getSelectorDescription(): String = this.getSemanticsSelector().description fun SemanticsNodeInteractionCollection.getTestContext() = this.getProperty("testContext") ?: throw UltronException("Couldn't get testContext from $this") @@ -23,35 +21,6 @@ fun SemanticsNodeInteraction.getTestContext() = this.getProperty("t fun SemanticsNodeInteraction.getSemanticsSelector() = this.getProperty("selector") ?: throw UltronException("Couldn't get selector from $this") -fun SemanticsNodeInteraction.getConfigField(name: String): Any? { - for ((key, value) in this.fetchSemanticsNode().config) { - if (key.name == name) { - return value - } - } - return null -} - -fun SemanticsNodeInteraction.getOneOfConfigFields(names: List): Any? { - names.forEach { name -> - val value = getConfigField(name) - value?.let { return it } - } - return null -} - -fun SemanticsNodeInteraction.requireSemantics( - node: SemanticsNode, - vararg properties: SemanticsPropertyKey<*>, - errorMessage: () -> String -) { - val missingProperties = properties.filter { it !in node.config } - if (missingProperties.isNotEmpty()) { - val msg = "${errorMessage()}, the node is missing [${missingProperties.joinToString()}]" - throw AssertionError(msg) - } -} - fun SemanticsNodeInteraction.findNodeInTree( matcher: SemanticsMatcher, useUnmergedTree: Boolean, @@ -61,5 +30,4 @@ fun SemanticsNodeInteraction.findNodeInTree( useUnmergedTree = useUnmergedTree, selector = this.getSemanticsSelector().addFindNodeInTreeSelector("findNodeInTree", matcher) ) -} - +} \ No newline at end of file diff --git a/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/SemanticsNodeInteractionProviderContainer.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/SemanticsNodeInteractionProviderContainer.kt new file mode 100644 index 00000000..6bc54b02 --- /dev/null +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/SemanticsNodeInteractionProviderContainer.kt @@ -0,0 +1,15 @@ +package com.atiurin.ultron.core.compose + +import androidx.compose.ui.test.SemanticsNodeInteractionsProvider + +object SemanticsNodeInteractionProviderContainer { + private lateinit var provider: SemanticsNodeInteractionsProvider + + fun init(provider: SemanticsNodeInteractionsProvider) { + this.provider = provider + } + + fun getProvider(): SemanticsNodeInteractionsProvider = this.provider + + fun withSemanticsProvider(block: (SemanticsNodeInteractionsProvider) -> T) = block(provider) +} \ No newline at end of file diff --git a/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/UltronUiTest.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/UltronUiTest.kt new file mode 100644 index 00000000..026c5662 --- /dev/null +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/UltronUiTest.kt @@ -0,0 +1,18 @@ +package com.atiurin.ultron.core.compose + +import androidx.compose.ui.test.ComposeUiTest +import androidx.compose.ui.test.ExperimentalTestApi +import androidx.compose.ui.test.runComposeUiTest +import kotlin.coroutines.CoroutineContext +import kotlin.coroutines.EmptyCoroutineContext + +@OptIn(ExperimentalTestApi::class) +fun runUltronUiTest( + effectContext: CoroutineContext = EmptyCoroutineContext, + block: ComposeUiTest.() -> Unit +) { + runComposeUiTest(effectContext){ + SemanticsNodeInteractionProviderContainer.init(this) + block() + } +} \ No newline at end of file diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/config/UltronComposeConfig.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/config/UltronComposeConfig.kt similarity index 72% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/config/UltronComposeConfig.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/config/UltronComposeConfig.kt index 8855b9ce..fc6b727d 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/config/UltronComposeConfig.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/config/UltronComposeConfig.kt @@ -1,5 +1,6 @@ package com.atiurin.ultron.core.compose.config +import com.atiurin.ultron.core.config.UltronCommonConfig import com.atiurin.ultron.core.common.Operation import com.atiurin.ultron.core.common.OperationResult import com.atiurin.ultron.core.common.OperationResultAnalyzer @@ -8,17 +9,27 @@ import com.atiurin.ultron.core.compose.operation.ComposeOperationResult import com.atiurin.ultron.core.compose.operation.ComposeOperationType import com.atiurin.ultron.core.compose.operation.UltronComposeOperation import com.atiurin.ultron.core.compose.operation.UltronComposeOperationLifecycle -import com.atiurin.ultron.core.config.UltronConfig import com.atiurin.ultron.exceptions.UltronAssertionException import com.atiurin.ultron.exceptions.UltronException import com.atiurin.ultron.exceptions.UltronWrapperException +import com.atiurin.ultron.extensions.simpleClassName import com.atiurin.ultron.listeners.LogLifecycleListener import com.atiurin.ultron.listeners.UltronLifecycleListener import com.atiurin.ultron.log.UltronLog object UltronComposeConfig { + init { + UltronCommonConfig.operationsExcludedFromListeners.addAll( + listOf(ComposeOperationType.GET_LIST_ITEM, ComposeOperationType.GET_LIST_ITEM_CHILD) + ) + UltronCommonConfig.addListener(LogLifecycleListener()) + } const val DEFAULT_LAZY_COLUMN_OPERATIONS_TIMEOUT = 10_000L - const val DEFAULT_OPERATION_TIMEOUT = 5_000L + @Deprecated( + message = "Default moved to UltronCommonConfig.Defaults", + replaceWith = ReplaceWith(expression = "UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS") + ) + const val DEFAULT_OPERATION_TIMEOUT = UltronCommonConfig.Defaults.OPERATION_TIMEOUT_MS var params: UltronComposeConfigParams = UltronComposeConfigParams() @@ -51,30 +62,27 @@ object UltronComposeConfig { } var allowedExceptions = mutableListOf( - AssertionError::class.java, - UltronWrapperException::class.java, - UltronAssertionException::class.java, - UltronException::class.java, + AssertionError::class, + UltronWrapperException::class, + UltronAssertionException::class, + UltronException::class, ) + @Deprecated( + message = "Listeners storage moved to UltronCommonConfig", + replaceWith = ReplaceWith(expression = "UltronCommonConfig.addListener(Listener)") + ) fun addListener(listener: UltronLifecycleListener) { - UltronLog.info("Add UltronComposeOperationLifecycle listener ${listener.javaClass.simpleName}") - UltronComposeOperationLifecycle.addListener(listener) - } - - private fun modify() { - addListener(LogLifecycleListener()) - UltronConfig.operationsExcludedFromListeners.addAll(listOf(ComposeOperationType.GET_LIST_ITEM, ComposeOperationType.GET_LIST_ITEM_CHILD)) - UltronLog.info("UltronComposeConfig applied with params $params}") + UltronLog.info("Add UltronComposeOperationLifecycle listener ${listener.simpleClassName()}") + UltronCommonConfig.addListener(listener) } fun applyRecommended() { params = UltronComposeConfigParams() - modify() } fun apply(block: UltronComposeConfigParams.() -> Unit) { params.block() - modify() + UltronLog.info("UltronComposeConfig applied with params $params}") } } diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/config/UltronComposeConfigParams.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/config/UltronComposeConfigParams.kt similarity index 78% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/config/UltronComposeConfigParams.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/config/UltronComposeConfigParams.kt index 3fd3ee75..d9da4034 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/config/UltronComposeConfigParams.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/config/UltronComposeConfigParams.kt @@ -4,5 +4,6 @@ data class UltronComposeConfigParams( var operationTimeoutMs: Long = UltronComposeConfig.DEFAULT_OPERATION_TIMEOUT, var operationPollingTimeoutMs: Long = 0, var lazyColumnOperationTimeoutMs: Long = UltronComposeConfig.DEFAULT_LAZY_COLUMN_OPERATIONS_TIMEOUT, - var lazyColumnItemSearchLimit: Int = -1 + var lazyColumnItemSearchLimit: Int = -1, + var useUnmergedTree: Boolean = false ) diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/ComposeItemExecutor.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/ComposeItemExecutor.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/ComposeItemExecutor.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/ComposeItemExecutor.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/IndexComposeItemExecutor.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/IndexComposeItemExecutor.kt similarity index 83% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/IndexComposeItemExecutor.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/IndexComposeItemExecutor.kt index fe706bb2..86dc2231 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/IndexComposeItemExecutor.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/IndexComposeItemExecutor.kt @@ -11,5 +11,6 @@ class IndexComposeItemExecutor( ultronComposeList.scrollToIndex(index) } override fun getItemInteraction() : UltronComposeSemanticsNodeInteraction = ultronComposeList.onVisibleItem(index) - override fun getItemChildInteraction(childMatcher: SemanticsMatcher): UltronComposeSemanticsNodeInteraction = ultronComposeList.onVisibleItemChild(index, childMatcher) + override fun getItemChildInteraction(childMatcher: SemanticsMatcher): UltronComposeSemanticsNodeInteraction = + ultronComposeList.onVisibleItemChild(index, childMatcher) } \ No newline at end of file diff --git a/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.kt new file mode 100644 index 00000000..77508bee --- /dev/null +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.kt @@ -0,0 +1,64 @@ +package com.atiurin.ultron.core.compose.list + +import androidx.compose.ui.test.SemanticsMatcher +import androidx.compose.ui.test.SemanticsNodeInteraction +import androidx.compose.ui.test.filterToOne +import androidx.compose.ui.test.hasAnyAncestor +import androidx.compose.ui.test.hasAnyDescendant +import androidx.compose.ui.test.onChildAt +import androidx.compose.ui.test.onChildren +import androidx.compose.ui.test.onParent +import androidx.compose.ui.test.performScrollToNode +import androidx.compose.ui.test.printToLog +import com.atiurin.ultron.core.compose.SemanticsNodeInteractionProviderContainer +import com.atiurin.ultron.core.compose.config.UltronComposeConfig +import com.atiurin.ultron.core.config.UltronCommonConfig +import com.atiurin.ultron.exceptions.UltronAssertionException +import com.atiurin.ultron.log.UltronLog + +interface ItemChildInteractionProvider { + fun onItemChild( + listMatcher: SemanticsMatcher, + itemMatcher: SemanticsMatcher, + childMatcher: SemanticsMatcher, + useUnmergedTree: Boolean + ): () -> SemanticsNodeInteraction = { + SemanticsNodeInteractionProviderContainer.withSemanticsProvider { + it.onNode(listMatcher).performScrollToNode(itemMatcher) + it.onNode( + hasAnyAncestor(listMatcher) + .and(hasAnyAncestor(itemMatcher)) + .and(childMatcher), + useUnmergedTree + ) + } + } + + fun onVisibleItemChild(listMatcher: SemanticsMatcher, index: Int, childMatcher: SemanticsMatcher, useUnmergedTree: Boolean): () -> SemanticsNodeInteraction = { + SemanticsNodeInteractionProviderContainer.withSemanticsProvider { + val itemInteraction = it.onNode(listMatcher, useUnmergedTree).onChildAt(index) + if (childMatcher.matches(itemInteraction.fetchSemanticsNode())) { + UltronLog.warn("Child matcher matches item itself. Ultron will return item interaction instead of child interaction") + itemInteraction.onParent().printToLog("Ultron") + } + getItemChildInteraction(itemInteraction, childMatcher) + } + } +} + +internal fun getItemChildInteraction(nodeInteraction: SemanticsNodeInteraction, childMatcher: SemanticsMatcher): SemanticsNodeInteraction { + val node = nodeInteraction.fetchSemanticsNode() + if (childMatcher.matches(node)) return nodeInteraction + if (node.children.any { childMatcher.matches(it) }) { + return nodeInteraction.onChildren().filterToOne(childMatcher) + } + node.children.forEachIndexed { index, semanticsNode -> + if (hasAnyDescendant(childMatcher).matches(semanticsNode)) { + return getItemChildInteraction(nodeInteraction.onChildAt(index), childMatcher) + } + } + throw UltronAssertionException("Can't find child with matcher $childMatcher") +} + + +expect fun getItemChildInteractionProvider(): ItemChildInteractionProvider \ No newline at end of file diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/MatcherComposeItemExecutor.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/MatcherComposeItemExecutor.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/MatcherComposeItemExecutor.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/MatcherComposeItemExecutor.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/PositionComposeItemExecutor.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/PositionComposeItemExecutor.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/PositionComposeItemExecutor.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/PositionComposeItemExecutor.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/UltronComposeList.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/UltronComposeList.kt similarity index 95% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/UltronComposeList.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/UltronComposeList.kt index 6976f14e..cb836c1d 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/UltronComposeList.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/UltronComposeList.kt @@ -15,9 +15,7 @@ import com.atiurin.ultron.core.compose.operation.ComposeOperationType import com.atiurin.ultron.core.compose.operation.UltronComposeOperationParams import com.atiurin.ultron.exceptions.UltronAssertionException import com.atiurin.ultron.exceptions.UltronException -import com.atiurin.ultron.extensions.findNodeInTree import com.atiurin.ultron.utils.AssertUtils -import org.junit.Assert class UltronComposeList( val listMatcher: SemanticsMatcher, @@ -26,6 +24,8 @@ class UltronComposeList( private val itemSearchLimit: Int = UltronComposeConfig.params.lazyColumnItemSearchLimit, private var operationTimeoutMs: Long = UltronComposeConfig.params.lazyColumnOperationTimeoutMs ) { + private val itemChildInteractionProvider = getItemChildInteractionProvider() + open fun withTimeout(timeoutMs: Long) = UltronComposeList( listMatcher = listMatcher, @@ -73,6 +73,32 @@ class UltronComposeList( */ fun lastVisibleItem() = visibleItem(getInteraction().execute { it.fetchSemanticsNode().children.lastIndex }) + fun onItemChild(itemMatcher: SemanticsMatcher, childMatcher: SemanticsMatcher): UltronComposeSemanticsNodeInteraction = + UltronComposeSemanticsNodeInteraction( + getInteraction() + .execute( + UltronComposeOperationParams( + operationName = "Get item '${itemMatcher.description}' child '${childMatcher.description}' in list '${getInteraction().elementInfo.name}'", + operationDescription = "Get Compose list item '${itemMatcher.description}' child '${childMatcher.description}' in list '${getInteraction().elementInfo.name}'", + operationType = ComposeOperationType.GET_LIST_ITEM_CHILD + ) + ) { listInteraction -> + itemChildInteractionProvider.onItemChild(listMatcher, itemMatcher, childMatcher, useUnmergedTree).invoke() + } + ) + + + fun onVisibleItemChild(index: Int, childMatcher: SemanticsMatcher) = UltronComposeSemanticsNodeInteraction( + getInteraction().execute( + UltronComposeOperationParams( + operationName = "Get child '${childMatcher.description}' of visible item at index $index in list '${getInteraction().elementInfo.name}'", + operationDescription = "Get Compose list child '${childMatcher.description}' of visible item at index $index in list '${getInteraction().elementInfo.name}'", + operationType = ComposeOperationType.GET_LIST_ITEM_CHILD + ) + ) { listInteraction -> + itemChildInteractionProvider.onVisibleItemChild(listMatcher, index, childMatcher, useUnmergedTree).invoke() + } + ) inline fun getItem(matcher: SemanticsMatcher): T { return UltronComposeListItem.getInstance(this, matcher) @@ -137,22 +163,6 @@ class UltronComposeList( } ) - fun onItemChild(itemMatcher: SemanticsMatcher, childMatcher: SemanticsMatcher): UltronComposeSemanticsNodeInteraction = - UltronComposeSemanticsNodeInteraction( - UltronComposeSemanticsNodeInteraction(listMatcher, true) - .execute( - UltronComposeOperationParams( - operationName = "Get item '${itemMatcher.description}' child '${childMatcher.description}' in list '${getInteraction().elementInfo.name}'", - operationDescription = "Get Compose list item '${itemMatcher.description}' child '${childMatcher.description}' in list '${getInteraction().elementInfo.name}'", - operationType = ComposeOperationType.GET_LIST_ITEM_CHILD - ) - ) { listInteraction -> - listInteraction.performScrollToNode(itemMatcher) - .onChildren().filterToOne(itemMatcher) - .findNodeInTree(childMatcher, useUnmergedTree) - } - ) - fun visibleChild(childMatcher: SemanticsMatcher) = UltronComposeSemanticsNodeInteraction( getInteraction().execute( UltronComposeOperationParams( @@ -165,18 +175,6 @@ class UltronComposeList( } ) - fun onVisibleItemChild(index: Int, childMatcher: SemanticsMatcher) = UltronComposeSemanticsNodeInteraction( - getInteraction().execute( - UltronComposeOperationParams( - operationName = "Get child '${childMatcher.description}' of visible item at index $index in list '${getInteraction().elementInfo.name}'", - operationDescription = "Get Compose list child '${childMatcher.description}' of visible item at index $index in list '${getInteraction().elementInfo.name}'", - operationType = ComposeOperationType.GET_LIST_ITEM_CHILD - ) - ) { listInteraction -> - listInteraction.onChildAt(index).findNodeInTree(childMatcher, useUnmergedTree) - } - ) - fun onVisibleItem(index: Int) = UltronComposeSemanticsNodeInteraction( getInteraction().execute( UltronComposeOperationParams( @@ -257,7 +255,13 @@ class UltronComposeList( ) { runCatching { it.performScrollToNode(itemMatcher) } .onSuccess { throw UltronAssertionException("Item '${itemMatcher.description}' exists in list '${listMatcher.description}'") } - .onFailure { e -> e.message?.let { message -> Assert.assertTrue(message.contains("No node found that matches")) } } + .onFailure { e -> + e.message?.let { message -> + if (!message.contains("No node found that matches")) { + throw AssertionError(message) + } + } + } } } @@ -268,6 +272,8 @@ class UltronComposeList( fun getMatcher() = getInteraction() } + + fun composeList( listMatcher: SemanticsMatcher, useUnmergedTree: Boolean = true, diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/UltronComposeListItem.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/UltronComposeListItem.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/list/UltronComposeListItem.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/list/UltronComposeListItem.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/SwipePosition.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/SwipePosition.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/SwipePosition.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/SwipePosition.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeOffsets.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeOffsets.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeOffsets.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeOffsets.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.kt similarity index 94% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.kt index 54c3ed1d..93e48da2 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteraction.kt @@ -1,7 +1,6 @@ package com.atiurin.ultron.core.compose.nodeinteraction -import android.annotation.SuppressLint -import androidx.compose.ui.graphics.ImageBitmap + import androidx.compose.ui.input.key.KeyEvent import androidx.compose.ui.semantics.* import androidx.compose.ui.test.* @@ -16,7 +15,7 @@ import com.atiurin.ultron.core.common.assertion.DefaultOperationAssertion import com.atiurin.ultron.core.common.assertion.EmptyOperationAssertion import com.atiurin.ultron.core.common.assertion.OperationAssertion import com.atiurin.ultron.core.common.options.* -import com.atiurin.ultron.core.compose.ComposeRuleContainer.getComposeRule +import com.atiurin.ultron.core.compose.SemanticsNodeInteractionProviderContainer import com.atiurin.ultron.core.compose.config.UltronComposeConfig import com.atiurin.ultron.core.compose.operation.ComposeOperationExecutor import com.atiurin.ultron.core.compose.operation.ComposeOperationResult @@ -25,10 +24,12 @@ import com.atiurin.ultron.core.compose.operation.UltronComposeOperation import com.atiurin.ultron.core.compose.operation.UltronComposeOperationLifecycle import com.atiurin.ultron.core.compose.operation.UltronComposeOperationParams import com.atiurin.ultron.core.compose.option.ComposeSwipeOption +import com.atiurin.ultron.exceptions.UltronOperationException import com.atiurin.ultron.extensions.* import com.atiurin.ultron.listeners.setListenersState -import com.atiurin.ultron.utils.runOnUiThread -import java.util.concurrent.atomic.AtomicReference +import kotlinx.atomicfu.AtomicRef +import kotlinx.atomicfu.atomic +import kotlinx.atomicfu.update open class UltronComposeSemanticsNodeInteraction constructor( val semanticsNodeInteraction: SemanticsNodeInteraction, @@ -44,10 +45,10 @@ open class UltronComposeSemanticsNodeInteraction constructor( resultHandler: ((ComposeOperationResult) -> Unit) = UltronComposeConfig.resultHandler, assertion: OperationAssertion = EmptyOperationAssertion(), elementInfo: ElementInfo = DefaultElementInfo() - ) : this(getComposeRule().onNode(matcher, useUnmergedTree), timeoutMs, resultHandler, assertion, elementInfo) + ) : this(SemanticsNodeInteractionProviderContainer.getProvider().onNode(matcher, useUnmergedTree), timeoutMs, resultHandler, assertion, elementInfo) init { - if (elementInfo.name.isEmpty()) elementInfo.name = semanticsNodeInteraction.getDescription().toString() + if (elementInfo.name.isEmpty()) elementInfo.name = semanticsNodeInteraction.getSelectorDescription().toString() } fun isSuccess(action: UltronComposeSemanticsNodeInteraction.() -> T): Boolean = runCatching { action() }.isSuccess @@ -269,17 +270,17 @@ open class UltronComposeSemanticsNodeInteraction constructor( } fun getText(): String? { - val text = AtomicReference() + var text: String? = null executeOperation( operationBlock = { val textValues = semanticsNodeInteraction.getOneOfConfigFields(CONFIG_TEXT_FIELDS_LIST) - text.set((textValues as Collection).firstOrNull().toString()) + text = (textValues as Collection).firstOrNull().toString() }, name = "Get text from '${elementInfo.name}'", type = GET_TEXT, description = "Compose getText from '${elementInfo.name}' during $timeoutMs ms", ) - return text.get() + return text } fun clearText() = apply { @@ -398,31 +399,6 @@ open class UltronComposeSemanticsNodeInteraction constructor( ) } - fun , R> SemanticsNodeInteraction.performSemanticsActionWithResult( - key: SemanticsPropertyKey>, invocation: (T) -> R? - ): R? { - val node = fetchSemanticsNode("Failed to perform ${key.name} action.") - requireSemantics(node, key) { - "Failed to perform action ${key.name}" - } - return runOnUiThread { - node.config[key].action?.let(invocation) - } - } - - - @SuppressLint("NewApi") - fun captureToImage(): ImageBitmap { - val image = AtomicReference() - executeOperation( - operationBlock = { image.set(semanticsNodeInteraction.captureToImage()) }, - name = "CaptureImage for '${elementInfo.name}'", - type = CAPTURE_IMAGE, - description = "Compose captureToImage for '${elementInfo.name}' during $timeoutMs ms", - ) - return image.get() - } - /** * @deprecated Use the method 'perform' with 'UltronComposeOperationParams' instead. * @@ -438,28 +414,28 @@ open class UltronComposeSemanticsNodeInteraction constructor( fun perform( option: PerformCustomBlockOption, block: (SemanticsNodeInteraction) -> T ): T { - val result = AtomicReference() + val container: AtomicRef = atomic(null) executeOperation( - operationBlock = { result.set(block(semanticsNodeInteraction)) }, + operationBlock = { container.update { block(semanticsNodeInteraction) } }, name = "Perform '${option.description}''${elementInfo.name}'", type = option.operationType, description = "Compose operation '${option.operationType}' to '${elementInfo.name}' with option '$option' during $timeoutMs ms", ) - return result.get() + return container.value ?: throw UltronOperationException("Unable to perform provided operation and get valuable result. Actual result of perform block is null.") } @Deprecated("Use the method 'execute' instead", ReplaceWith("execute(params, block)")) fun perform(params: UltronComposeOperationParams? = null, block: (SemanticsNodeInteraction) -> T): T { val _params = params ?: getDefaultOperationParams() - val container = AtomicReference() + val container : AtomicRef = atomic(null) executeOperation( - operationBlock = { container.set(block(semanticsNodeInteraction)) }, + operationBlock = { container.update { block(semanticsNodeInteraction) } }, name = _params.operationName, description = _params.operationDescription, type = _params.operationType, ) - return container.get() + return container.value ?: throw UltronOperationException("Unable to perform provided operation and get valuable result. Actual result of perform block is null.") } /** @@ -501,14 +477,14 @@ open class UltronComposeSemanticsNodeInteraction constructor( */ fun execute(params: UltronComposeOperationParams? = null, block: (SemanticsNodeInteraction) -> T): T { val _params = params ?: getDefaultOperationParams() - val container = AtomicReference() + val container : AtomicRef = atomic(null) executeOperation( - operationBlock = { container.set(block(semanticsNodeInteraction)) }, + operationBlock = { container.update { block(semanticsNodeInteraction) } }, name = _params.operationName, description = _params.operationDescription, type = _params.operationType, ) - return container.get() + return container.value ?: throw UltronOperationException("Unable to perform provided operation and get valuable result. Actual result of perform block is null.") } fun getNode(): SemanticsNode = execute( diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteractionClicks.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteractionClicks.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteractionClicks.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/nodeinteraction/UltronComposeSemanticsNodeInteractionClicks.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/ComposeOperationExecutor.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/ComposeOperationExecutor.kt similarity index 96% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/ComposeOperationExecutor.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/ComposeOperationExecutor.kt index e1bff260..b214ecb5 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/ComposeOperationExecutor.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/ComposeOperationExecutor.kt @@ -6,7 +6,7 @@ import com.atiurin.ultron.core.common.OperationIterationResult import com.atiurin.ultron.core.common.ResultDescriptor import com.atiurin.ultron.core.compose.config.UltronComposeConfig import com.atiurin.ultron.exceptions.UltronWrapperException -import java.lang.AssertionError +import kotlin.reflect.KClass internal class ComposeOperationExecutor( override val operation: UltronComposeOperation @@ -33,7 +33,7 @@ internal class ComposeOperationExecutor( ) } - override fun getAllowedExceptions(operation: Operation): List> { + override fun getAllowedExceptions(operation: Operation): List> { return UltronComposeConfig.allowedExceptions } diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/ComposeOperationResult.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/ComposeOperationResult.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/ComposeOperationResult.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/ComposeOperationResult.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/ComposeOperationType.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/ComposeOperationType.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/ComposeOperationType.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/ComposeOperationType.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeCollectionInteraction.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeCollectionInteraction.kt similarity index 64% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeCollectionInteraction.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeCollectionInteraction.kt index eef4a450..757d00fa 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeCollectionInteraction.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeCollectionInteraction.kt @@ -1,7 +1,7 @@ package com.atiurin.ultron.core.compose.operation import androidx.compose.ui.test.SemanticsMatcher -import com.atiurin.ultron.core.compose.ComposeRuleContainer.getComposeRule +import com.atiurin.ultron.core.compose.SemanticsNodeInteractionProviderContainer import com.atiurin.ultron.core.compose.nodeinteraction.UltronComposeSemanticsNodeInteraction class UltronComposeCollectionInteraction( @@ -14,7 +14,9 @@ class UltronComposeCollectionInteraction( } } - fun get(index: Int) = UltronComposeSemanticsNodeInteraction(getComposeRule().onAllNodes(matcher, useUnmergedTree)[index]) + fun get(index: Int) = UltronComposeSemanticsNodeInteraction( + SemanticsNodeInteractionProviderContainer.getProvider().onAllNodes(matcher, useUnmergedTree)[index] + ) - fun fetchSemanticNodes() = getComposeRule().onAllNodes(matcher, useUnmergedTree).fetchSemanticsNodes() + fun fetchSemanticNodes() = SemanticsNodeInteractionProviderContainer.getProvider().onAllNodes(matcher, useUnmergedTree).fetchSemanticsNodes() } \ No newline at end of file diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeOperation.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeOperation.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeOperation.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeOperation.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeOperationLifecycle.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeOperationLifecycle.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeOperationLifecycle.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeOperationLifecycle.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeOperationParams.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeOperationParams.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/operation/UltronComposeOperationParams.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/operation/UltronComposeOperationParams.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/core/compose/option/ComposeSwipeOption.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/option/ComposeSwipeOption.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/core/compose/option/ComposeSwipeOption.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/core/compose/option/ComposeSwipeOption.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsMatcherExt.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsMatcherExt.kt similarity index 99% rename from ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsMatcherExt.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsMatcherExt.kt index 896607a5..ea9e8ed0 100644 --- a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsMatcherExt.kt +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsMatcherExt.kt @@ -128,7 +128,6 @@ fun SemanticsMatcher.collapse() = UltronComposeSemanticsNodeInteraction(this).co fun SemanticsMatcher.expand() = UltronComposeSemanticsNodeInteraction(this).expand() fun SemanticsMatcher.dismiss() = UltronComposeSemanticsNodeInteraction(this).dismiss() fun SemanticsMatcher.setProgress(value: Float) = UltronComposeSemanticsNodeInteraction(this).setProgress(value) -fun SemanticsMatcher.captureToImage(): ImageBitmap = UltronComposeSemanticsNodeInteraction(this).captureToImage() @OptIn(ExperimentalTestApi::class) fun SemanticsMatcher.performMouseInput(block: MouseInjectionScope.() -> Unit) = UltronComposeSemanticsNodeInteraction(this).performMouseInput(block) diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsNodeExt.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeExt.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsNodeExt.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeExt.kt diff --git a/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt new file mode 100644 index 00000000..b222adb6 --- /dev/null +++ b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.kt @@ -0,0 +1,36 @@ +package com.atiurin.ultron.extensions + +import androidx.compose.ui.semantics.SemanticsNode +import androidx.compose.ui.semantics.SemanticsPropertyKey +import androidx.compose.ui.test.SemanticsNodeInteraction + +fun SemanticsNodeInteraction.getConfigField(name: String): Any? { + for ((key, value) in this.fetchSemanticsNode().config) { + if (key.name == name) { + return value + } + } + return null +} + +fun SemanticsNodeInteraction.getOneOfConfigFields(names: List): Any? { + names.forEach { name -> + val value = getConfigField(name) + value?.let { return it } + } + return null +} + +fun SemanticsNodeInteraction.requireSemantics( + node: SemanticsNode, + vararg properties: SemanticsPropertyKey<*>, + errorMessage: () -> String +) { + val missingProperties = properties.filter { it !in node.config } + if (missingProperties.isNotEmpty()) { + val msg = "${errorMessage()}, the node is missing [${missingProperties.joinToString()}]" + throw AssertionError(msg) + } +} + +expect fun SemanticsNodeInteraction.getSelectorDescription(): String \ No newline at end of file diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsSelectorExt.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsSelectorExt.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/extensions/SemanticsSelectorExt.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/SemanticsSelectorExt.kt diff --git a/ultron-compose/src/main/java/com/atiurin/ultron/extensions/TouchInjectionScopeExt.kt b/ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/TouchInjectionScopeExt.kt similarity index 100% rename from ultron-compose/src/main/java/com/atiurin/ultron/extensions/TouchInjectionScopeExt.kt rename to ultron-compose/src/commonMain/kotlin/com/atiurin/ultron/extensions/TouchInjectionScopeExt.kt diff --git a/ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.js.kt b/ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.js.kt new file mode 100644 index 00000000..59a45352 --- /dev/null +++ b/ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.js.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.core.compose.list + +actual fun getItemChildInteractionProvider(): ItemChildInteractionProvider { + return object : ItemChildInteractionProvider {} +} \ No newline at end of file diff --git a/ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.js.kt b/ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.js.kt new file mode 100644 index 00000000..5d94e6ed --- /dev/null +++ b/ultron-compose/src/jsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.js.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.extensions + +import androidx.compose.ui.test.SemanticsNodeInteraction + +actual fun SemanticsNodeInteraction.getSelectorDescription(): String = "Not implemented for JS" \ No newline at end of file diff --git a/ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.jvm.kt b/ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.jvm.kt new file mode 100644 index 00000000..59a45352 --- /dev/null +++ b/ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.jvm.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.core.compose.list + +actual fun getItemChildInteractionProvider(): ItemChildInteractionProvider { + return object : ItemChildInteractionProvider {} +} \ No newline at end of file diff --git a/ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.jvm.kt b/ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.jvm.kt new file mode 100644 index 00000000..d1b313f4 --- /dev/null +++ b/ultron-compose/src/jvmMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionExt.jvm.kt @@ -0,0 +1,15 @@ +package com.atiurin.ultron.extensions + +import androidx.compose.ui.test.SemanticsNodeInteraction +import androidx.compose.ui.test.SemanticsNodeInteractionCollection +import androidx.compose.ui.test.SemanticsSelector +import com.atiurin.ultron.exceptions.UltronException + +actual fun SemanticsNodeInteraction.getSelectorDescription(): String = this.getSemanticsSelector().description + +fun SemanticsNodeInteractionCollection.getSemanticsSelector() = this.getProperty("selector") + ?: throw UltronException("Couldn't get selector from $this") + +fun SemanticsNodeInteraction.getSemanticsSelector() = this.getProperty("selector") + ?: throw UltronException("Couldn't get selector from $this") + diff --git a/ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.native.kt b/ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.native.kt new file mode 100644 index 00000000..59a45352 --- /dev/null +++ b/ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.native.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.core.compose.list + +actual fun getItemChildInteractionProvider(): ItemChildInteractionProvider { + return object : ItemChildInteractionProvider {} +} \ No newline at end of file diff --git a/ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.native.kt b/ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.native.kt new file mode 100644 index 00000000..629e65d7 --- /dev/null +++ b/ultron-compose/src/nativeMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.native.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.extensions + +import androidx.compose.ui.test.SemanticsNodeInteraction + +actual fun SemanticsNodeInteraction.getSelectorDescription(): String = "Not implemented for Native" \ No newline at end of file diff --git a/ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.wasmJs.kt b/ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.wasmJs.kt new file mode 100644 index 00000000..59a45352 --- /dev/null +++ b/ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/core/compose/list/ItemChildInteractionProvider.wasmJs.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.core.compose.list + +actual fun getItemChildInteractionProvider(): ItemChildInteractionProvider { + return object : ItemChildInteractionProvider {} +} \ No newline at end of file diff --git a/ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.wasmJs.kt b/ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.wasmJs.kt new file mode 100644 index 00000000..9449818a --- /dev/null +++ b/ultron-compose/src/wasmJsMain/kotlin/com/atiurin/ultron/extensions/SemanticsNodeInteractionCommonExt.wasmJs.kt @@ -0,0 +1,5 @@ +package com.atiurin.ultron.extensions + +import androidx.compose.ui.test.SemanticsNodeInteraction + +actual fun SemanticsNodeInteraction.getSelectorDescription() = "Not implemented for Wasm" \ No newline at end of file diff --git a/ultron/build.gradle.kts b/ultron/build.gradle.kts deleted file mode 100644 index c1513829..00000000 --- a/ultron/build.gradle.kts +++ /dev/null @@ -1,86 +0,0 @@ -buildscript { - repositories { - google() - mavenCentral() - } - dependencies { - classpath(Plugins.androidMavenGradle) - classpath(Plugins.kotlinGradle) - } - -} - -plugins { - id("com.android.library") - id("kotlin-android") - id("com.vanniktech.maven.publish") -} - -group = project.findProperty("GROUP")!! -version = project.findProperty("VERSION_NAME")!! - -android { - namespace = "com.atiurin.ultron" - compileSdk = 34 - defaultConfig { - minSdk = 16 - targetSdk = 34 - multiDexEnabled = true - } - compileOptions { - targetCompatibility = JavaVersion.VERSION_17 - sourceCompatibility = JavaVersion.VERSION_17 - } - sourceSets { - named("main").configure { - java.srcDir("src/main/java") - } - named("test").configure { - java.srcDir("src/test/java") - } - } - tasks.withType { - kotlinOptions { - jvmTarget = "17" - } - } -} - -dependencies { - implementation(Libs.kotlinReflect) - implementation(Libs.kotlinStdlib) - implementation(Libs.recyclerView) - api(Libs.espressoCore) - api(Libs.espressoContrib) - api(Libs.espressoWeb) - api(Libs.uiautomator) - api(Libs.accessibility) - api(Libs.hamcrestCore) - testImplementation(Libs.junit) -} - -tasks { - val sourcesJar by creating(Jar::class) { - archiveClassifier.set("sources") - from(tasks) - } - - val javadoc by creating(Javadoc::class) { - options { - this as StandardJavadocDocletOptions - addStringOption("Xdoclint:none", "-quiet") - addStringOption("Xmaxwarns", "1") - addStringOption("charSet", "UTF-8") - } - } - - val javadocJar by creating(Jar::class){ - dependsOn(javadoc) - from(javadoc.destinationDir) - } - - artifacts { - add("archives", sourcesJar) - add("archives", javadocJar) - } -} \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/core/config/UltronConfigParams.kt b/ultron/src/main/java/com/atiurin/ultron/core/config/UltronConfigParams.kt deleted file mode 100644 index ac2ca7ae..00000000 --- a/ultron/src/main/java/com/atiurin/ultron/core/config/UltronConfigParams.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.atiurin.ultron.core.config - -import com.atiurin.ultron.core.config.UltronConfig.DEFAULT_OPERATION_TIMEOUT_MS - -data class UltronConfigParams( - var accelerateUiAutomator: Boolean = true, - var logToFile: Boolean = true, - var operationTimeoutMs: Long = DEFAULT_OPERATION_TIMEOUT_MS -) \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/extensions/AnyExt.kt b/ultron/src/main/java/com/atiurin/ultron/extensions/AnyExt.kt deleted file mode 100644 index 9c1ae5d1..00000000 --- a/ultron/src/main/java/com/atiurin/ultron/extensions/AnyExt.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.atiurin.ultron.extensions - -fun Any?.simpleClassName() = this?.let { it::class.simpleName } \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/listeners/TimeListener.kt b/ultron/src/main/java/com/atiurin/ultron/listeners/TimeListener.kt deleted file mode 100644 index 4c519722..00000000 --- a/ultron/src/main/java/com/atiurin/ultron/listeners/TimeListener.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.atiurin.ultron.listeners - -import android.util.Log -import com.atiurin.ultron.core.common.Operation -import com.atiurin.ultron.core.common.OperationResult - -internal class TimeListener : UltronLifecycleListener() { - var time = 0L - - override fun before(operation: Operation) { - time = System.currentTimeMillis() - } - - override fun after(operationResult: OperationResult) { - val execTime = System.currentTimeMillis() - time - val mes= "${operationResult.operation.name} time = $execTime" - if (execTime > 5_000) { - Log.e("UltronTime", mes) - } else Log.d("UltronTime", mes) - time = 0 - } -} \ No newline at end of file diff --git a/ultron/src/main/java/com/atiurin/ultron/log/UFileLogger.kt b/ultron/src/main/java/com/atiurin/ultron/log/UFileLogger.kt deleted file mode 100644 index 99e278cd..00000000 --- a/ultron/src/main/java/com/atiurin/ultron/log/UFileLogger.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.atiurin.ultron.log - -import java.io.File - -abstract class UFileLogger : ULogger() { - abstract fun getLogFile(): File - abstract fun clearFile() -} \ No newline at end of file

QV>*lIjBrK+_8kBWNubwV~kWckO)rx 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%0D~0?Nojd$c}uv?UxSnXQV0$>+fO0r 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