diff --git a/.eslintrc.js b/.eslintrc.js index 79ee2c6..d3b95db 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,11 +3,7 @@ module.exports = { env: { node: true, }, - extends: [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/typescript/recommended', - ], + extends: ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/typescript/recommended'], parserOptions: { ecmaVersion: 2020, }, @@ -17,10 +13,7 @@ module.exports = { }, overrides: [ { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], + files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'], env: { jest: true, }, diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..ee87aad --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: eugene-serb diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..57950b2 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,35 @@ +name: Build + +on: + push: + branches: + - master + pull_request: + branches: + - master + - dev + workflow_dispatch: + +jobs: + build: + strategy: + matrix: + node-version: [20] + os: [ubuntu-22.04] + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + + - name: Install and Build + run: | + npm ci + npm run build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..30dd922 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,35 @@ +name: Build and Deploy + +on: + push: + branches: + - master + workflow_dispatch: + +permissions: + contents: write + +jobs: + build-and-deploy: + strategy: + matrix: + node-version: [20] + os: [ubuntu-22.04] + + concurrency: ci-${{ github.ref }} + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install and Build + run: | + npm ci + npm run build + + - name: Deploy + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: dist diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml new file mode 100644 index 0000000..a620b34 --- /dev/null +++ b/.github/workflows/format.yml @@ -0,0 +1,35 @@ +name: Format + +on: + push: + branches: + - master + pull_request: + branches: + - master + - dev + workflow_dispatch: + +jobs: + format: + strategy: + matrix: + node-version: [20] + os: [ubuntu-22.04] + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + + - name: Install and Format + run: | + npm ci + npm run format diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..0eb9221 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,35 @@ +name: Lint + +on: + push: + branches: + - master + pull_request: + branches: + - master + - dev + workflow_dispatch: + +jobs: + lint: + strategy: + matrix: + node-version: [20] + os: [ubuntu-22.04] + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + + - name: Install and Lint + run: | + npm ci + npm run lint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..c5c1f14 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,35 @@ +name: Test + +on: + push: + branches: + - master + pull_request: + branches: + - master + - dev + workflow_dispatch: + +jobs: + test: + strategy: + matrix: + node-version: [20] + os: [ubuntu-22.04] + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + + - name: Install and Test + run: | + npm ci + npm run test diff --git a/.gitignore b/.gitignore index 27ca43e..b330bcd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,358 +1,8 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -.ionide/ - .DS_Store node_modules /dist + # local env files .env.local .env.*.local @@ -365,10 +15,10 @@ pnpm-debug.log* # Editor directories and files .idea +.vs .vscode *.suo *.ntvs* *.njsproj *.sln *.sw? - diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..ae44608 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +# Ignore artifacts: + +**/.git +**/.svn +**/.hg +**/node_modules +.vs +.github +docs diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..421146a --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,13 @@ +module.exports = { + printWidth: 100, + tabWidth: 2, + useTabs: false, + semi: true, + singleQuote: true, + quoteProps: 'as-needed', + trailingComma: 'all', + arrowParens: 'always', + bracketSameLine: false, + bracketSpacing: true, + htmlWhitespaceSensitivity: 'strict', +}; diff --git a/README.md b/README.md index 3a0e868..dd8ec39 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,41 @@ # Wavelovers + Wavelovers links: **[[rep](https://github.com/eugene-serb/wavelovers/), [site](https://wavelovers.ru/)]**. This is Wavelovers, a gamepad vibration test tool that can also turn a gamepad into a vibrating massager. It has 16 free vibration patterns to play with, a pattern editor, and a manual mode. -Tech Stack: - ***Vue.js***, ***Vuex***, ***Vue Router***, ***Typescript***, ***Javascript***, ***HTML***, ***CSS***, ***SCSS***, ***Babel***, ***ESLint***, ***Jest***. +## Stack: -Commands:
-* npm install – Project setup.
-* npm run serve – Compiles and hot-reloads for development.
-* npm run build – Compiles and minifies for production.
-* npm run lint – Lints and fixes files.
-* npm run test:unit – Run unit test.
+![](https://img.shields.io/badge/HTML-informational?style=flat-square&logo=html5&logoColor=FFFFFF&color=E44D26) +![](https://img.shields.io/badge/CSS-informational?style=flat-square&logo=css3&logoColor=FFFFFF&color=25A1E1) +![](https://img.shields.io/badge/SASS-informational?style=flat-square&logo=sass&logoColor=FFFFFF&color=CF649A) +![](https://img.shields.io/badge/JSON-informational?style=flat-square&logo=json&logoColor=323330&color=FAF0E6) +![](https://img.shields.io/badge/YAML-informational?style=flat-square&logo=yaml&logoColor=FFFFFF&color=FF0000) +![](https://img.shields.io/badge/JavaScript-informational?style=flat-square&logo=javascript&logoColor=323330&color=F0DB4F) +![](https://img.shields.io/badge/TypeScript-informational?style=flat-square&logo=typescript&logoColor=FFFFFF&color=007ACC) +![](https://img.shields.io/badge/Vue.js-informational?style=flat-square&logo=vue.js&logoColor=FFFFFF&color=42B983) +![](https://img.shields.io/badge/Vue%20Router-informational?style=flat-square&logo=vue.js&logoColor=FFFFFF&color=42B983) +![](https://img.shields.io/badge/Vuex-informational?style=flat-square&logo=vue.js&logoColor=FFFFFF&color=42B983) +![](https://img.shields.io/badge/Node.JS-informational?style=flat-square&logo=node.js&logoColor=FFFFFF&color=3C873A) +![](https://img.shields.io/badge/Webpack-informational?style=flat-square&logo=webpack&logoColor=62B1D8&color=2B3A42) +![](https://img.shields.io/badge/Babel-informational?style=flat-square&logo=babel&logoColor=323330&color=F5DA55) +![](https://img.shields.io/badge/ESLint-informational?style=flat-square&logo=eslint&logoColor=FFFFFF&color=8181F2) +![](https://img.shields.io/badge/Prettier-informational?style=flat-square&logo=prettier&logoColor=FFFFFF&color=1A2B34) +![](https://img.shields.io/badge/Jest-informational?style=flat-square&logo=jest&logoColor=FFFFFF&color=15C213) +![](https://img.shields.io/badge/πŸ“-JSDoc-informational?style=flat-square&logo=jsdoc&logoColor=FFFFFF&color=006FBB&labelColor=006FBB) +![](https://img.shields.io/badge/npm-informational?style=flat-square&logo=npm&logoColor=FFFFFF&color=CB0000) +![](https://img.shields.io/badge/Git-informational?style=flat-square&logo=git&logoColor=FFFFFF&color=BC4420) +![](https://img.shields.io/badge/GitHub-informational?style=flat-square&logo=github&logoColor=FFFFFF&color=24292F) +![](https://img.shields.io/badge/GitHub%20Actions-informational?style=flat-square&logo=github&logoColor=FFFFFF&color=24292F) -Catalogs structure:
- ***/docs/*** – production build.
- ***/(root)*** – dev files. +## Commands: -If you are interested in this or my other projects, or would like to suggest and share ideas with me, or just talk to me, contact me: *[@eugene_serb](https://t.me/eugene_serb)* +- npm run start β€” run with watcher +- npm run serve β€” run dev server +- npm run build β€” build in production mode, +- npm run build:dev β€” build in development mode, +- npm run lint β€” run lint check, +- npm run lint:fix β€” run lint fix, +- npm run format β€” run prettier check, +- npm run format:fix β€” run prettier fix, +- npm run test β€” run tests diff --git a/babel.config.js b/babel.config.js index 757ff9b..078c005 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,5 +1,3 @@ module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset', - ], + presets: ['@vue/cli-plugin-babel/preset'], }; diff --git a/docs/404.md b/docs/404.md deleted file mode 100644 index 51f4488..0000000 --- a/docs/404.md +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index db815ff..0000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -wavelovers.ru \ No newline at end of file diff --git a/docs/LICENSE.md b/docs/LICENSE.md deleted file mode 100644 index f288702..0000000 --- a/docs/LICENSE.md +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 3a0e868..0000000 --- a/docs/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Wavelovers -Wavelovers links: **[[rep](https://github.com/eugene-serb/wavelovers/), [site](https://wavelovers.ru/)]**. - -This is Wavelovers, a gamepad vibration test tool that can also turn a gamepad into a vibrating massager. It has 16 free vibration patterns to play with, a pattern editor, and a manual mode. - -Tech Stack: - ***Vue.js***, ***Vuex***, ***Vue Router***, ***Typescript***, ***Javascript***, ***HTML***, ***CSS***, ***SCSS***, ***Babel***, ***ESLint***, ***Jest***. - -Commands:
-* npm install – Project setup.
-* npm run serve – Compiles and hot-reloads for development.
-* npm run build – Compiles and minifies for production.
-* npm run lint – Lints and fixes files.
-* npm run test:unit – Run unit test.
- -Catalogs structure:
- ***/docs/*** – production build.
- ***/(root)*** – dev files. - -If you are interested in this or my other projects, or would like to suggest and share ideas with me, or just talk to me, contact me: *[@eugene_serb](https://t.me/eugene_serb)* diff --git a/docs/about.html b/docs/about.html deleted file mode 100644 index 86ffb73..0000000 --- a/docs/about.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - Wavelovers – Redirect - - - - - - diff --git a/docs/assets/patterns.json b/docs/assets/patterns.json deleted file mode 100644 index 52e3a1f..0000000 --- a/docs/assets/patterns.json +++ /dev/null @@ -1,235 +0,0 @@ -[ - { - "name": "Constant Weak", - "type": "Simple", - "icon": "😏", - "pattern": [ - { - "startDelay": 0, - "duration": 1000, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - } - ] - }, - { - "name": "Constant Strong", - "type": "Simple", - "icon": "🀩", - "pattern": [ - { - "startDelay": 0, - "duration": 1000, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Constant Max", - "type": "Simple", - "icon": "😍", - "pattern": [ - { - "startDelay": 0, - "duration": 1000, - "weakMagnitude": 1.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Constant AC", - "type": "Complex", - "icon": "😡", - "pattern": [ - { - "startDelay": 0, - "duration": 1000, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - }, - { - "startDelay": 0, - "duration": 1000, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - }, - - { - "name": "Long Dashed Weak", - "type": "Simple", - "icon": "πŸ˜‹", - "pattern": [ - { - "startDelay": 200, - "duration": 500, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - } - ] - }, - { - "name": "Long Dashed Strong", - "type": "Simple", - "icon": "😜", - "pattern": [ - { - "startDelay": 100, - "duration": 500, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Long Dashed Max", - "type": "Simple", - "icon": "πŸ€ͺ", - "pattern": [ - { - "startDelay": 200, - "duration": 500, - "weakMagnitude": 1.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Long Dashed AC", - "type": "Complex", - "icon": "😝", - "pattern": [ - { - "startDelay": 200, - "duration": 500, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - }, - { - "startDelay": 200, - "duration": 500, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Short Dashed Weak", - "type": "Simple", - "icon": "πŸ™‚", - "pattern": [ - { - "startDelay": 200, - "duration": 250, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - } - ] - }, - { - "name": "Short Dashed Strong", - "type": "Simple", - "icon": "πŸ˜‡", - "pattern": [ - { - "startDelay": 200, - "duration": 250, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Short Dashed Max", - "type": "Simple", - "icon": "😊", - "pattern": [ - { - "startDelay": 200, - "duration": 250, - "weakMagnitude": 1.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Short Dashed AC", - "type": "Complex", - "icon": "🀀", - "pattern": [ - { - "startDelay": 200, - "duration": 250, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - }, - { - "startDelay": 200, - "duration": 250, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Dotted Weak", - "type": "Simple", - "icon": "😌", - "pattern": [ - { - "startDelay": 200, - "duration": 100, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - } - ] - }, - { - "name": "Dotted Strong", - "type": "Simple", - "icon": "πŸ˜‰", - "pattern": [ - { - "startDelay": 200, - "duration": 100, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Dotted Max", - "type": "Simple", - "icon": "πŸ™ƒ", - "pattern": [ - { - "startDelay": 200, - "duration": 100, - "weakMagnitude": 1.0, - "strongMagnitude": 1.0 - } - ] - }, - { - "name": "Dotted AC", - "type": "Complex", - "icon": "🀨", - "pattern": [ - { - "startDelay": 200, - "duration": 100, - "weakMagnitude": 1.0, - "strongMagnitude": 0.0 - }, - { - "startDelay": 200, - "duration": 100, - "weakMagnitude": 0.0, - "strongMagnitude": 1.0 - } - ] - } -] \ No newline at end of file diff --git a/docs/css/114.266e2dcc.css b/docs/css/114.266e2dcc.css deleted file mode 100644 index c3766dc..0000000 --- a/docs/css/114.266e2dcc.css +++ /dev/null @@ -1 +0,0 @@ -.navigation-list{display:flex;flex-direction:row;justify-content:flex-start;gap:16px}.navigation-list__item.router-link-active,.navigation-list__item.router-link-exact-active{border-bottom:2px solid var(--color-link-hover);color:var(--color-link-hover);transition:all .5s ease;text-decoration:none}.list-item{max-width:100%;padding:16px;border:4px solid var(--color-b);border-radius:4px;justify-content:space-between}.list-item,.list-item__info{display:flex;flex-direction:column}.list-item__info{gap:16px}.list-item_selected .list-item__info span{color:var(--color-white)}.device-list{display:flex;flex-direction:row;justify-content:space-around;gap:16px}.message{width:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:16px}@media only screen and (min-width:540px){.message{font-size:24px}}.output-gamepad{width:100%;padding:16px;border:2px solid var(--color-border);border-radius:var(--number-border-radius);display:flex;flex-direction:column;justify-content:space-between;gap:16px}.gamepad-group{display:grid;grid-template-columns:repeat(5,1fr)}.gamepad-group>div{display:flex;flex-direction:column;justify-content:space-between;gap:8px}.pressed{background-color:var(--color-link-hover);color:var(--color-background)} \ No newline at end of file diff --git a/docs/css/286.d84ba812.css b/docs/css/286.d84ba812.css deleted file mode 100644 index d02c1e3..0000000 --- a/docs/css/286.d84ba812.css +++ /dev/null @@ -1 +0,0 @@ -.navigation-list{display:flex;flex-direction:row;justify-content:flex-start;gap:16px}.navigation-list__item.router-link-active,.navigation-list__item.router-link-exact-active{border-bottom:2px solid var(--color-link-hover);color:var(--color-link-hover);transition:all .5s ease;text-decoration:none}.list-item{max-width:100%;padding:16px;border:4px solid var(--color-b);border-radius:4px;justify-content:space-between}.list-item,.list-item__info{display:flex;flex-direction:column}.list-item__info{gap:16px}.list-item_selected .list-item__info span{color:var(--color-white)}.device-list{display:flex;flex-direction:row;justify-content:space-around;gap:16px}.message{width:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:16px}@media only screen and (min-width:540px){.message{font-size:24px}}.app-manual{display:flex;flex-direction:column;justify-content:space-between;gap:32px}.manual-form__input{display:grid;grid-template-columns:1fr;align-items:center}.manual-controls{display:flex;flex-direction:column;justify-content:space-between;align-self:center}@media only screen and (min-width:540px){.manual-form__input{display:grid;grid-template-columns:1fr 1fr}.manual-controls{display:flex;flex-direction:row;align-self:stretch}} \ No newline at end of file diff --git a/docs/css/37.bb6440f7.css b/docs/css/37.bb6440f7.css deleted file mode 100644 index 873a146..0000000 --- a/docs/css/37.bb6440f7.css +++ /dev/null @@ -1 +0,0 @@ -.link_hash{word-break:break-all} \ No newline at end of file diff --git a/docs/css/402.c3fb6094.css b/docs/css/402.c3fb6094.css deleted file mode 100644 index 822a7e1..0000000 --- a/docs/css/402.c3fb6094.css +++ /dev/null @@ -1 +0,0 @@ -.navigation-list{display:flex;flex-direction:row;justify-content:flex-start;gap:16px}.navigation-list__item.router-link-active,.navigation-list__item.router-link-exact-active{border-bottom:2px solid var(--color-link-hover);color:var(--color-link-hover);transition:all .5s ease;text-decoration:none}.list-item{max-width:100%;padding:16px;border:4px solid var(--color-b);border-radius:4px;justify-content:space-between}.list-item,.list-item__info{display:flex;flex-direction:column}.list-item__info{gap:16px}.list-item_selected .list-item__info span{color:var(--color-white)}.device-list{display:flex;flex-direction:row;justify-content:space-around;gap:16px}.message{width:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:16px}@media only screen and (min-width:540px){.message{font-size:24px}}.custom-form{display:flex;flex-direction:column-reverse;justify-content:space-between;gap:16px}.custom-form__input{display:grid;grid-template-columns:1fr;align-items:center}.custom-form__buttons{display:flex;flex-direction:row;justify-content:space-between;gap:32px}.custom-form__button{width:100%}@media only screen and (min-width:540px){.custom-form{display:flex;flex-direction:column;gap:32px}.custom-form__input{display:grid;grid-template-columns:1fr 1fr}} \ No newline at end of file diff --git a/docs/css/743.ef4a4981.css b/docs/css/743.ef4a4981.css deleted file mode 100644 index 8c7b52b..0000000 --- a/docs/css/743.ef4a4981.css +++ /dev/null @@ -1 +0,0 @@ -.navigation-list{display:flex;flex-direction:row;justify-content:flex-start;gap:16px}.navigation-list__item.router-link-active,.navigation-list__item.router-link-exact-active{border-bottom:2px solid var(--color-link-hover);color:var(--color-link-hover);transition:all .5s ease;text-decoration:none}.list-item{max-width:100%;padding:16px;border:4px solid var(--color-b);border-radius:4px;justify-content:space-between}.list-item,.list-item__info{display:flex;flex-direction:column}.list-item__info{gap:16px}.list-item_selected .list-item__info span{color:var(--color-white)}.device-list{display:flex;flex-direction:row;justify-content:space-around;gap:16px}.message{width:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:16px}@media only screen and (min-width:540px){.message{font-size:24px}}.pattern-item{width:100%;height:50px;padding:8px;border-radius:var(--number-border-radius);background:var(--color-pattern-button);display:flex;flex-direction:row;justify-content:flex-start;gap:8px;align-items:center;text-align:center;overflow:hidden;cursor:pointer}@media only screen and (min-width:540px){.pattern-item{width:200px}}.pattern-item ::-moz-selection{background-color:transparent}.pattern-item ::selection{background-color:transparent}.pattern-item_selected{background:var(--color-b)}.pattern-item__icon{font-size:24px}.pattern-item__info-container{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.pattern-item__name{font-size:16px}.pattern-item__name,.pattern-item__type{white-space:nowrap;overflow:hidden;color:var(--color-pattern-text)}.pattern-item__type{font-size:12px}.pattern-list{display:flex;flex-direction:row;justify-content:space-around;flex-wrap:wrap;gap:16px}@media only screen and (min-width:540px){.pattern-list{display:flex;gap:32px}} \ No newline at end of file diff --git a/docs/css/994.278b2bb3.css b/docs/css/994.278b2bb3.css deleted file mode 100644 index c261c88..0000000 --- a/docs/css/994.278b2bb3.css +++ /dev/null @@ -1 +0,0 @@ -.list>li{margin-bottom:4px} \ No newline at end of file diff --git a/docs/css/app.61999447.css b/docs/css/app.61999447.css deleted file mode 100644 index ad7072a..0000000 --- a/docs/css/app.61999447.css +++ /dev/null @@ -1 +0,0 @@ -.header{border-bottom:8px solid var(--color-header-borderline);background:var(--color-header-background)}.header ::-moz-selection{background:var(--color-header-selection)}.header ::selection{background:var(--color-header-selection)}.header :focus{border-bottom:2px solid var(--color-header-navigation-link-hover)}.header :focus-visible{outline:2px solid var(--color-header-navigation-link-hover);border-color:transparent}.header-wrapper{padding-top:32px;padding-bottom:16px}.logo-wrapper{text-align:center}.logo-wrapper__logo{font-size:48px;font-weight:500;color:var(--color-header-logo);cursor:default}.menu-wrapper{margin-top:16px;align-self:center}.navigation{padding:0;list-style-type:none;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:8px}.navigation__item{font-size:16px;text-transform:uppercase}.navigation__item a{border-color:transparent;color:var(--color-header-navigation-link)}.navigation__item a:hover{border-color:var(--color-header-navigation-link-hover);color:var(--color-header-navigation-link-hover)}@media only screen and (min-width:540px){.header{border-bottom:32px solid var(--color-header-borderline);background:var(--color-header-background)}.header-wrapper{padding-top:64px;padding-bottom:16px}.menu-wrapper{margin-top:32px;align-self:center}}@media only screen and (min-width:720px){.header-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:64px}.logo-wrapper{width:50%;text-align:left}.menu-wrapper{width:50%;margin-top:0;align-self:flex-end}}@media only screen and (min-width:1024px){.logo-wrapper__logo{font-size:64px}}.footer{border-top:4px solid var(--color-footer-borderline)}.footer span{color:var(--color-footer-text)}.footer-wrapper{padding-top:32px;padding-bottom:32px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:32px}.created-by{align-self:flex-end}.created-by>span{padding-right:8px}.created-by>a{font-size:32px} \ No newline at end of file diff --git a/docs/css/styles.css b/docs/css/styles.css deleted file mode 100644 index 59d3c00..0000000 --- a/docs/css/styles.css +++ /dev/null @@ -1,491 +0,0 @@ -/* ------------------------------ */ -/* Wavelovers styles */ -/* version: dated 2022.08.29 */ -/* author: Eugene Serb */ -/* ------------------------------ */ - -@charset 'UTF-8'; -@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap'); - -/* ------------------------------ */ -/* RESET AND BASE STYLES' TUNE UP */ -/* ------------------------------ */ - -:root { - /* Simple colors */ - --color-white: #FFFFFF; - --color-black: #000000; - --color-milk: #F5F5F5; - --color-coal: #3C3C3C; - /* ---------------------- */ - /* Palette of five colors */ - --color-a: #E27396; - --color-b: #EA9AB2; - --color-c: #EFCFE3; - --color-d: #EAF2D7; - --color-e: #B3DEE2; -} - -:root { - /* Base numbers */ - --number-border-radius: 8px; - --number-border-size: 2px; -} - -@media (prefers-color-scheme: light) { - :root { - /* Base colors */ - --color-border: var(--color-a); - --color-background: var(--color-white); - --color-text: var(--color-coal); - --color-text-header: var(--color-coal); - --color-link: var(--color-b); - --color-link-hover: var(--color-a); - --color-selection: var(--color-b); - --color-fieldset-border: var(--color-c); - --color-table-header-background: var(--color-b); - --color-table-header-text: var(--color-white); - --color-table-item: var(--color-c); - /* Components colors */ - --color-header-background: var(--color-b); - --color-header-borderline: var(--color-a); - --color-header-selection: var(--color-a); - --color-header-logo: var(--color-white); - --color-header-navigation-link: var(--color-white); - --color-header-navigation-link-hover: var(--color-white); - --color-footer-borderline: var(--color-a); - --color-footer-text: var(--color-coal); - --color-content-item-background: var(--color-milk); - --color-pattern-button: var(--color-c); - --color-pattern-text: var(--color-white); - } -} - -@media (prefers-color-scheme: dark) { - :root { - /* Base colors */ - --color-border: var(--color-a); - --color-background: var(--color-coal); - --color-text: var(--color-coal); - --color-text-header: var(--color-coal); - --color-link: var(--color-b); - --color-link-hover: var(--color-a); - --color-selection: var(--color-b); - --color-fieldset-border: var(--color-c); - --color-table-header-background: var(--color-b); - --color-table-header-text: var(--color-white); - --color-table-item: var(--color-c); - /* Components colors */ - --color-header-background: var(--color-a); - --color-header-borderline: var(--color-b); - --color-header-selection: var(--color-b); - --color-header-logo: var(--color-white); - --color-header-navigation-link: var(--color-white); - --color-header-navigation-link-hover: var(--color-white); - --color-footer-borderline: var(--color-a); - --color-footer-text: var(--color-milk); - --color-content-item-background: var(--color-c); - --color-pattern-button: var(--color-milk); - --color-pattern-text: var(--color-black); - } -} - -*, ::after, ::before { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -html { - font-family: 'Roboto', sans-serif; - direction: ltr; - font-size: 16px; - line-height: 1.382em; -} - -body { - display: flex; - flex-direction: column; - justify-content: space-between; - min-height: 100vh; - background: var(--color-background); -} - -::selection { - background: var(--color-selection); -} - -:focus { - border-bottom: 2px solid var(--color-selection); -} - -:focus-visible { - outline: 2px solid var(--color-selection); - border-color: transparent; -} - -h1, h2, h3, h4, h5, h6 { - color: var(--color-text-header); - font-weight: 500; - margin-block-start: 0.382em; - margin-block-end: 0.618em; - line-height: 1.382em; -} - -h1 { font-size: 2em; } -h2 { font-size: 1.5em; } -h3 { font-size: 1.17em; } -h4 { font-size: 1em; } -h5 { font-size: 0.83em; } -h6 { font-size: 0.67em; } -big { font-size: larger; } -small { font-size: smaller; } - -span, p, article, blockquote { - color: var(--color-text); - font-weight: 300; -} - -ol, ul { - padding: 16px; -} - -ul { - list-style-type: circle; -} - -a { - background-color: transparent; - border-bottom: 2px solid transparent; - font-weight: 500; - color: var(--color-link); - text-decoration: none; -} - - a:hover { - border-bottom: 2px solid var(--color-link-hover); - color: var(--color-link-hover); - transition: all 0.5s ease; - text-decoration: none; - } - -dl dd:last-child { - margin-bottom: 0; -} - -dt { - margin-bottom: 4px; - font-size: 18px; - font-weight: 500; - font-style: oblique; -} - -dd { - margin-bottom: 16px; - padding-left: 16px; - font-size: 16px; - font-weight: 300; - font-style: normal; -} - -/* ----- */ -/* FORMS */ -/* ----- */ - -hr { - margin-block-start: 0.5em; - margin-block-end: 0.5em; -} - -legend { - padding: 2px 4px; - text-align: left; -} - -fieldset { - border: 2px solid var(--color-border-alpha); - border-radius: var(--number-border-radius); - padding: 8px; -} - -button, textarea, select, input { - padding: 4px 8px; - border: 2px solid var(--color-link); - border-radius: var(--number-border-radius); - background: var(--color-milk); - color: var(--color-text); - font-size: 16px; - line-height: 1.382em; - white-space: nowrap; -} - - button:hover, input:hover, - textarea:hover, select:hover { - border: 2px solid var(--color-link-hover); - transition: all 0.5s ease; - } - -option { - background: var(--color-background); - color: var(--color-text); - font-size: 16px; - line-height: 1.382em; -} - - option:hover { - background-color: var(--color-selection); - color: var(--color-white); - } - -input[type=range] { - width: 100%; - margin: 8px 0; - padding: 4px 0; - border: 0px solid var(--color-link); - -webkit-appearance: none; -} - - input[type=range]:hover { - margin: 8px 0; - padding: 4px 0; - border: 0px solid var(--color-link-hover); - } - - input[type=range]:focus { - outline: none; - } - - input[type=range]::-webkit-slider-runnable-track { - width: 100%; - height: 8px; - border: 0px solid #000101; - border-radius: 8px; - box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; - background: var(--color-b); - cursor: pointer; - } - - input[type=range]::-webkit-slider-thumb { - -webkit-appearance: none; - width: 16px; - height: 16px; - margin-top: -4px; - border: 0px solid #000000; - border-radius: 8px; - box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; - background: var(--color-a); - cursor: pointer; - } - - input[type=range]:focus::-webkit-slider-runnable-track { - background: var(--color-b); - } - - input[type=range]::-moz-range-track { - width: 100%; - height: 8px; - border: 0px solid #000101; - border-radius: 8px; - box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; - background: var(--color-b); - cursor: pointer; - animate: 0.2s; - } - - input[type=range]::-moz-range-thumb { - width: 16px; - height: 16px; - border: 0px solid #000000; - border-radius: 8px; - box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; - background: var(--color-a); - cursor: pointer; - } - - input[type=range]::-ms-track { - width: 100%; - height: 8px; - border-width: 8px 0; - border-color: transparent; - background: transparent; - color: transparent; - cursor: pointer; - animate: 0.2s; - } - - input[type=range]::-ms-fill-lower { - border: 0px solid #000101; - border-radius: 8px; - box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; - background: var(--color-b); - } - - input[type=range]::-ms-fill-upper { - border: 0px solid #000101; - border-radius: 8px; - box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; - background: var(--color-b); - } - - input[type=range]::-ms-thumb { - width: 16px; - height: 16px; - border: 0px solid #000000; - border-radius: 8px; - box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; - background: var(--color-a); - cursor: pointer; - } - - input[type=range]:focus::-ms-fill-lower { - background: var(--color-b); - } - - input[type=range]:focus::-ms-fill-upper { - background: var(--color-b); - } - -/* ------ */ -/* TABLES */ -/* ------ */ - -table, th, td { - width: 100%; - padding: 8px; - border-collapse: collapse; - table-layout: fixed; - font-weight: 400; -} - -.table_pink thead { - border-bottom: 4px solid var(--color-table-item); -} - - .table_pink thead > tr { - background-color: var(--color-table-header-background); - color: var(--color-table-header-text); - } - - .table_pink thead > tr > th { - font-weight: 500; - } - -.table_pink tbody > tr:nth-child(even) { - background-color: var(--color-table-item); - color: var(--color-white); -} - -.table_pink tfoot { - border-top: 4px solid var(--color-table-header-background); -} - -/* ------------- */ -/* SERVICE RULES */ -/* ------------- */ - -.hidden { - display: none !important; -} - -.visually-hidden { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - border: 0; - padding: 0; - white-space: nowrap; - clip-path: inset(100%); - clip: rect(0 0 0 0); - overflow: hidden; -} - -.container { - width: 100%; - max-width: 1080px; - margin: 0 auto; - padding-left: 16px; - padding-right: 16px; -} - -/* ----------------- */ -/* COMPONENTS STYLES */ -/* ----------------- */ - -/* --- */ -/* APP */ -/* --- */ - -.app { - min-height: 100vh; - display: flex; - flex-direction: column; - justify-content: space-between; -} - -/* ---- */ -/* PAGE */ -/* ---- */ - -.page { - flex-grow: 1; - margin-top: 32px; - margin-bottom: 32px; -} - -@media only screen and (min-width: 540px) { - .page { - margin-top: 64px; - margin-bottom: 64px; - } -} - -/* ---- */ -/* POST */ -/* ---- */ - -.post { - margin: 0 auto; -} - -.post__header { - text-align: center; - margin-block-end: 32px; -} - -/* ------- */ -/* CONTENT */ -/* ------- */ - - -.content { - margin-bottom: 64px; -} - -.content__header { - margin-top: 0; - margin-bottom: 32px; - padding-left: 16px; - border: 2px solid var(--color-content-borderline); - border-radius: var(--number-border-radius); - color: var(--color-text-header); - font-size: 1.8em; -} - -.content-item { - margin-bottom: 16px; - padding: 16px; - border-radius: var(--number-border-radius); - background: var(--color-content-item-background); -} - -.content-item__header { - margin-bottom: 16px; - text-align: center; -} - -@media only screen and (min-width: 540px) { - .content-item { - padding: 32px; - } -} diff --git a/docs/custom.html b/docs/custom.html deleted file mode 100644 index 101f7d4..0000000 --- a/docs/custom.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - Wavelovers – Redirect - - - - - - diff --git a/docs/diagnostic.html b/docs/diagnostic.html deleted file mode 100644 index a0d1bce..0000000 --- a/docs/diagnostic.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - Wavelovers – Redirect - - - - - - diff --git a/docs/donate.html b/docs/donate.html deleted file mode 100644 index bba0e37..0000000 --- a/docs/donate.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - Wavelovers – Redirect - - - - - - diff --git a/docs/faq.html b/docs/faq.html deleted file mode 100644 index 3426255..0000000 --- a/docs/faq.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - Wavelovers – Redirect - - - - - - diff --git a/docs/img/android-chrome-192x192.png b/docs/img/android-chrome-192x192.png deleted file mode 100644 index ea600ae..0000000 Binary files a/docs/img/android-chrome-192x192.png and /dev/null differ diff --git a/docs/img/android-chrome-512x512.png b/docs/img/android-chrome-512x512.png deleted file mode 100644 index 06b379c..0000000 Binary files a/docs/img/android-chrome-512x512.png and /dev/null differ diff --git a/docs/img/apple-touch-icon.png b/docs/img/apple-touch-icon.png deleted file mode 100644 index 61a448e..0000000 Binary files a/docs/img/apple-touch-icon.png and /dev/null differ diff --git a/docs/img/favicon-16x16.png b/docs/img/favicon-16x16.png deleted file mode 100644 index b6409e0..0000000 Binary files a/docs/img/favicon-16x16.png and /dev/null differ diff --git a/docs/img/favicon-32x32.png b/docs/img/favicon-32x32.png deleted file mode 100644 index d637a0d..0000000 Binary files a/docs/img/favicon-32x32.png and /dev/null differ diff --git a/docs/img/favicon.ico b/docs/img/favicon.ico deleted file mode 100644 index 7997bef..0000000 Binary files a/docs/img/favicon.ico and /dev/null differ diff --git a/docs/img/og.png b/docs/img/og.png deleted file mode 100644 index 4efb9aa..0000000 Binary files a/docs/img/og.png and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index ad863f0..0000000 --- a/docs/index.html +++ /dev/null @@ -1,18 +0,0 @@ -Wavelovers
\ No newline at end of file diff --git a/docs/js/114.0420a15d.js b/docs/js/114.0420a15d.js deleted file mode 100644 index 7d63c02..0000000 --- a/docs/js/114.0420a15d.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[114],{1682:function(a,t,e){e.d(t,{Z:function(){return v}});var n=e(3396),s=e(7139);const i={class:"content-item device-list"};function u(a,t,e,u,o,d){const p=(0,n.up)("GamepadItem");return(0,n.wg)(),(0,n.iD)("div",i,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(a.gamepads,(a=>((0,n.wg)(),(0,n.j4)(p,{key:a.id,textContent:(0,s.zw)(a.unit.id)},null,8,["textContent"])))),128))])}const o={class:"list-item"};function d(a,t,e,s,i,u){return(0,n.wg)(),(0,n.iD)("div",o)}var p=(0,n.aZ)({name:"GamepadItem"}),l=e(89);const m=(0,l.Z)(p,[["render",d]]);var g=m,r=(0,n.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:g}});const c=(0,l.Z)(r,[["render",u]]);var v=c},322:function(a,t,e){e.d(t,{Z:function(){return p}});var n=e(3396);const s={class:"content-item message"};function i(a,t,e,i,u,o){return(0,n.wg)(),(0,n.iD)("div",s,[(0,n._)("span",null,[(0,n.WI)(a.$slots,"default")])])}var u=(0,n.aZ)({name:"MessageItem"}),o=e(89);const d=(0,o.Z)(u,[["render",i]]);var p=d},9100:function(a,t,e){e.d(t,{Z:function(){return p}});var n=e(3396);const s={class:"content-item navigation-list"};function i(a,t,e,i,u,o){const d=(0,n.up)("router-link");return(0,n.wg)(),(0,n.iD)("div",s,[(0,n.Wm)(d,{to:"/",class:"navigation-list__item"},{default:(0,n.w5)((()=>[(0,n.Uk)("Patterns")])),_:1}),(0,n.Wm)(d,{to:"/custom",class:"navigation-list__item"},{default:(0,n.w5)((()=>[(0,n.Uk)("Custom")])),_:1}),(0,n.Wm)(d,{to:"/manual",class:"navigation-list__item"},{default:(0,n.w5)((()=>[(0,n.Uk)("Manual")])),_:1}),(0,n.Wm)(d,{to:"/diagnostic",class:"navigation-list__item"},{default:(0,n.w5)((()=>[(0,n.Uk)("Diagnostic")])),_:1})])}var u=(0,n.aZ)({name:"NavigationList"}),o=e(89);const d=(0,o.Z)(u,[["render",i]]);var p=d},6259:function(a,t,e){e.d(t,{Z:function(){return o}});var n=e(3396),s=e(1746),i=(0,n.aZ)({name:"ComputedGamepads",data:()=>({timestamp:0,interval:0}),computed:{gamepads:function(){const a=this.timestamp,t=s.Z.getters.gamepads;return t.forEach((t=>{t.interval=a})),t}},methods:{updateComputed:function(){this.timestamp=Date.now()}},mounted(){this.interval=setInterval(this.updateComputed,1)},unmounted(){clearInterval(this.interval)}});const u=i;var o=u},2114:function(a,t,e){e.r(t),e.d(t,{default:function(){return F}});var n=e(3396);const s=(0,n._)("h1",{class:"visually-hidden"},"Wavelovers οΏ½ Diagnostic",-1);function i(a,t,e,i,u,o){const d=(0,n.up)("AppDiagnostic");return(0,n.wg)(),(0,n.iD)(n.HY,null,[s,(0,n.Wm)(d)],64)}const u={key:0,class:"content-item"};function o(a,t,e,s,i,o){const d=(0,n.up)("NavigationList"),p=(0,n.up)("DiagnosticItem"),l=(0,n.up)("GamepadList"),m=(0,n.up)("MessageItem");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n.Wm)(d),a.gamepads.length>0?((0,n.wg)(),(0,n.iD)("div",u,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(a.gamepads,(t=>((0,n.wg)(),(0,n.j4)(p,{key:t.id,gamepad:t,timestamp:a.timestamp},null,8,["gamepad","timestamp"])))),128))])):(0,n.kq)("",!0),a.gamepads.length>0?((0,n.wg)(),(0,n.j4)(l,{key:1,gamepads:a.gamepads},null,8,["gamepads"])):((0,n.wg)(),(0,n.j4)(m,{key:2},{default:(0,n.w5)((()=>[(0,n.Uk)("Press any gamepad button or connect a new gamepad to vibrate.")])),_:1}))],64)}var d=e(9100),p=e(1682),l=e(322),m=e(7139);const g={class:"output-gamepad"},r={class:"gamepad-group"};function c(a,t,e,s,i,u){return(0,n.wg)(),(0,n.iD)("div",g,[(0,n._)("h3",null,"#"+(0,m.zw)(a.gamepad.unit.index+1)+". "+(0,m.zw)(a.gamepad.unit.id),1),(0,n._)("div",r,[(0,n._)("div",null,[(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[0].value?"pressed":""])},"A: "+(0,m.zw)(a.gamepad.unit.buttons[0].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[1].value?"pressed":""])},"B: "+(0,m.zw)(a.gamepad.unit.buttons[1].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[2].value?"pressed":""])},"X: "+(0,m.zw)(a.gamepad.unit.buttons[2].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[3].value?"pressed":""])},"Y: "+(0,m.zw)(a.gamepad.unit.buttons[3].value.toFixed(2)),3)]),(0,n._)("div",null,[(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[4].value?"pressed":""])},"LB: "+(0,m.zw)(a.gamepad.unit.buttons[4].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[5].value?"pressed":""])},"RB: "+(0,m.zw)(a.gamepad.unit.buttons[5].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[6].value?"pressed":""])},"LT: "+(0,m.zw)(a.gamepad.unit.buttons[6].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[7].value?"pressed":""])},"RT: "+(0,m.zw)(a.gamepad.unit.buttons[7].value.toFixed(2)),3)]),(0,n._)("div",null,[(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[8].value?"pressed":""])},"Back: "+(0,m.zw)(a.gamepad.unit.buttons[8].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[9].value?"pressed":""])},"Start: "+(0,m.zw)(a.gamepad.unit.buttons[9].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[10].value?"pressed":""])},"Left Stick: "+(0,m.zw)(a.gamepad.unit.buttons[10].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[11].value?"pressed":""])},"Right Stick: "+(0,m.zw)(a.gamepad.unit.buttons[11].value.toFixed(2)),3)]),(0,n._)("div",null,[(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[12].value?"pressed":""])},"Forward: "+(0,m.zw)(a.gamepad.unit.buttons[12].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[13].value?"pressed":""])},"Backward: "+(0,m.zw)(a.gamepad.unit.buttons[13].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[14].value?"pressed":""])},"Left: "+(0,m.zw)(a.gamepad.unit.buttons[14].value.toFixed(2)),3),(0,n._)("span",{class:(0,m.C_)([1===a.gamepad.unit.buttons[15].value?"pressed":""])},"Right: "+(0,m.zw)(a.gamepad.unit.buttons[15].value.toFixed(2)),3)]),(0,n._)("div",null,[(0,n._)("span",null,"Left Stick X: "+(0,m.zw)(a.gamepad.unit.axes[0]?a.gamepad.unit.axes[0].toFixed(2):"missing"),1),(0,n._)("span",null,"Left Stick Y: "+(0,m.zw)(a.gamepad.unit.axes[1]?a.gamepad.unit.axes[1].toFixed(2):"missing"),1),(0,n._)("span",null,"Right Stick X: "+(0,m.zw)(a.gamepad.unit.axes[2]?a.gamepad.unit.axes[2].toFixed(2):"missing"),1),(0,n._)("span",null,"Right Stick Y: "+(0,m.zw)(a.gamepad.unit.axes[3]?a.gamepad.unit.axes[3].toFixed(2):"missing"),1)])]),(0,n._)("span",null,"Vibration Actuator: "+(0,m.zw)(a.gamepad.unit.vibrationActuator?"Available":"missing"),1)])}var v=(0,n.aZ)({name:"DiagnosticItem",props:{gamepad:{type:Object},timestamp:{type:Number}}}),_=e(89);const w=(0,_.Z)(v,[["render",c]]);var b=w,f=e(6259),x=(0,n.aZ)({name:"AppDiagnostic",mixins:[f.Z],components:{DiagnosticItem:b,NavigationList:d.Z,GamepadList:p.Z,MessageItem:l.Z}});const k=(0,_.Z)(x,[["render",o]]);var z=k,C=(0,n.aZ)({name:"DiagnosticView",components:{AppDiagnostic:z}});const Z=(0,_.Z)(C,[["render",i]]);var F=Z}}]); -//# sourceMappingURL=114.0420a15d.js.map \ No newline at end of file diff --git a/docs/js/114.0420a15d.js.map b/docs/js/114.0420a15d.js.map deleted file mode 100644 index 80ea54e..0000000 --- a/docs/js/114.0420a15d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/114.0420a15d.js","mappings":"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","sources":["webpack://wavelovers/./src/components/GamepadList.vue?5b9c","webpack://wavelovers/./src/components/GamepadItem.vue?0665","webpack://wavelovers/./src/components/GamepadItem.vue?ef0b","webpack://wavelovers/./src/components/GamepadItem.vue","webpack://wavelovers/./src/components/GamepadList.vue?8510","webpack://wavelovers/./src/components/GamepadList.vue","webpack://wavelovers/./src/components/MessageItem.vue?088b","webpack://wavelovers/./src/components/MessageItem.vue?b787","webpack://wavelovers/./src/components/MessageItem.vue","webpack://wavelovers/./src/components/NavigationList.vue?0746","webpack://wavelovers/./src/components/NavigationList.vue?d88b","webpack://wavelovers/./src/components/NavigationList.vue","webpack://wavelovers/./src/mixins/ComputedGamepads.vue?fc43","webpack://wavelovers/./src/mixins/ComputedGamepads.vue","webpack://wavelovers/./src/views/DiagnosticView.vue?700c","webpack://wavelovers/./src/components/AppDiagnostic.vue?d3ce","webpack://wavelovers/./src/components/DiagnosticItem.vue?e55e","webpack://wavelovers/./src/components/DiagnosticItem.vue?0e90","webpack://wavelovers/./src/components/DiagnosticItem.vue","webpack://wavelovers/./src/components/AppDiagnostic.vue?1eec","webpack://wavelovers/./src/components/AppDiagnostic.vue","webpack://wavelovers/./src/views/DiagnosticView.vue?a628","webpack://wavelovers/./src/views/DiagnosticView.vue"],"sourcesContent":["import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=6958838e&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=6958838e&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n","import { render } from \"./GamepadList.vue?vue&type=template&id=2658b144&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=2658b144&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=7e7a7193&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=7e7a7193&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item navigation-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_link, {\n to: \"/\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Patterns\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/custom\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Custom\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/manual\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Manual\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/diagnostic\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Diagnostic\")\n ]),\n _: 1\n })\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NavigationList',\r\n });\r\n","import { render } from \"./NavigationList.vue?vue&type=template&id=c925f896&ts=true\"\nimport script from \"./NavigationList.vue?vue&type=script&lang=ts\"\nexport * from \"./NavigationList.vue?vue&type=script&lang=ts\"\n\nimport \"./NavigationList.vue?vue&type=style&index=0&id=c925f896&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import store from '@/store/index';\r\n import Vibrator from '@/models/Vibrator';\r\n\r\n export default defineComponent({\r\n name: 'ComputedGamepads',\r\n data: () => {\r\n return {\r\n timestamp: 0 as number,\r\n interval: 0 as number,\r\n };\r\n },\r\n computed: {\r\n gamepads: function (): Vibrator[] {\r\n const timestamp: number = this.timestamp;\r\n const result: Vibrator[] = store.getters.gamepads as Vibrator[];\r\n result.forEach((item) => {\r\n item.interval = timestamp;\r\n });\r\n return result;\r\n },\r\n },\r\n methods: {\r\n updateComputed: function (): void {\r\n this.timestamp = Date.now();\r\n },\r\n },\r\n mounted() {\r\n this.interval = setInterval(this.updateComputed, 1);\r\n },\r\n unmounted() {\r\n clearInterval(this.interval);\r\n },\r\n });\r\n","import script from \"./ComputedGamepads.vue?vue&type=script&lang=ts\"\nexport * from \"./ComputedGamepads.vue?vue&type=script&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers οΏ½ Diagnostic\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppDiagnostic = _resolveComponent(\"AppDiagnostic\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(_component_AppDiagnostic)\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"content-item\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_NavigationList = _resolveComponent(\"NavigationList\")!\n const _component_DiagnosticItem = _resolveComponent(\"DiagnosticItem\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_NavigationList),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_DiagnosticItem, {\n key: gamepad.id,\n gamepad: gamepad,\n timestamp: _ctx.timestamp\n }, null, 8, [\"gamepad\", \"timestamp\"]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 1,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 2 }, {\n default: _withCtx(() => [\n _createTextVNode(\"Press any gamepad button or connect a new gamepad to vibrate.\")\n ]),\n _: 1\n }))\n ], 64))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"output-gamepad\" }\nconst _hoisted_2 = { class: \"gamepad-group\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h3\", null, \"#\" + _toDisplayString(_ctx.gamepad.unit.index + 1) + \". \" + _toDisplayString(_ctx.gamepad.unit.id), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[0].value === 1 ? 'pressed' : '' ])\n }, \"A: \" + _toDisplayString(_ctx.gamepad.unit.buttons[0].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([_ctx.gamepad.unit.buttons[1].value === 1 ? 'pressed' : '' ])\n }, \"B: \" + _toDisplayString(_ctx.gamepad.unit.buttons[1].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[2].value === 1 ? 'pressed' : '' ])\n }, \"X: \" + _toDisplayString(_ctx.gamepad.unit.buttons[2].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[3].value === 1 ? 'pressed' : '' ])\n }, \"Y: \" + _toDisplayString(_ctx.gamepad.unit.buttons[3].value.toFixed(2)), 3)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[4].value === 1 ? 'pressed' : '' ])\n }, \"LB: \" + _toDisplayString(_ctx.gamepad.unit.buttons[4].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[5].value === 1 ? 'pressed' : '' ])\n }, \"RB: \" + _toDisplayString(_ctx.gamepad.unit.buttons[5].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[6].value === 1 ? 'pressed' : '' ])\n }, \"LT: \" + _toDisplayString(_ctx.gamepad.unit.buttons[6].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[7].value === 1 ? 'pressed' : '' ])\n }, \"RT: \" + _toDisplayString(_ctx.gamepad.unit.buttons[7].value.toFixed(2)), 3)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[8].value === 1 ? 'pressed' : '' ])\n }, \"Back: \" + _toDisplayString(_ctx.gamepad.unit.buttons[8].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[9].value === 1 ? 'pressed' : '' ])\n }, \"Start: \" + _toDisplayString(_ctx.gamepad.unit.buttons[9].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[10].value === 1 ? 'pressed' : '' ])\n }, \"Left Stick: \" + _toDisplayString(_ctx.gamepad.unit.buttons[10].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[11].value === 1 ? 'pressed' : '' ])\n }, \"Right Stick: \" + _toDisplayString(_ctx.gamepad.unit.buttons[11].value.toFixed(2)), 3)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[12].value === 1 ? 'pressed' : '' ])\n }, \"Forward: \" + _toDisplayString(_ctx.gamepad.unit.buttons[12].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[13].value === 1 ? 'pressed' : '' ])\n }, \"Backward: \" + _toDisplayString(_ctx.gamepad.unit.buttons[13].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[14].value === 1 ? 'pressed' : '' ])\n }, \"Left: \" + _toDisplayString(_ctx.gamepad.unit.buttons[14].value.toFixed(2)), 3),\n _createElementVNode(\"span\", {\n class: _normalizeClass([ _ctx.gamepad.unit.buttons[15].value === 1 ? 'pressed' : '' ])\n }, \"Right: \" + _toDisplayString(_ctx.gamepad.unit.buttons[15].value.toFixed(2)), 3)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", null, \"Left Stick X: \" + _toDisplayString(_ctx.gamepad.unit.axes[0] ? _ctx.gamepad.unit.axes[0].toFixed(2) : 'missing'), 1),\n _createElementVNode(\"span\", null, \"Left Stick Y: \" + _toDisplayString(_ctx.gamepad.unit.axes[1] ? _ctx.gamepad.unit.axes[1].toFixed(2) : 'missing'), 1),\n _createElementVNode(\"span\", null, \"Right Stick X: \" + _toDisplayString(_ctx.gamepad.unit.axes[2] ? _ctx.gamepad.unit.axes[2].toFixed(2) : 'missing'), 1),\n _createElementVNode(\"span\", null, \"Right Stick Y: \" + _toDisplayString(_ctx.gamepad.unit.axes[3] ? _ctx.gamepad.unit.axes[3].toFixed(2) : 'missing'), 1)\n ])\n ]),\n _createElementVNode(\"span\", null, \"Vibration Actuator: \" + _toDisplayString(_ctx.gamepad.unit.vibrationActuator ? 'Available' : 'missing'), 1)\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'DiagnosticItem',\r\n props: {\r\n gamepad: {\r\n type: Object,\r\n },\r\n timestamp: {\r\n type: Number,\r\n },\r\n },\r\n });\r\n","import { render } from \"./DiagnosticItem.vue?vue&type=template&id=0697f3a6&ts=true\"\nimport script from \"./DiagnosticItem.vue?vue&type=script&lang=ts\"\nexport * from \"./DiagnosticItem.vue?vue&type=script&lang=ts\"\n\nimport \"./DiagnosticItem.vue?vue&type=style&index=0&id=0697f3a6&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import NavigationList from '@/components/NavigationList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import DiagnosticItem from '@/components/DiagnosticItem.vue';\r\n import ComputedGamepads from '@/mixins/ComputedGamepads.vue';\r\n\r\n export default defineComponent({\r\n name: 'AppDiagnostic',\r\n mixins: [ComputedGamepads],\r\n components: {\r\n DiagnosticItem: DiagnosticItem,\r\n NavigationList: NavigationList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n });\r\n","import { render } from \"./AppDiagnostic.vue?vue&type=template&id=29d6495a&ts=true\"\nimport script from \"./AppDiagnostic.vue?vue&type=script&lang=ts\"\nexport * from \"./AppDiagnostic.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import AppDiagnostic from '@/components/AppDiagnostic.vue';\r\n\r\n export default defineComponent({\r\n name: 'DiagnosticView',\r\n components: {\r\n AppDiagnostic: AppDiagnostic,\r\n },\r\n });\r\n","import { render } from \"./DiagnosticView.vue?vue&type=template&id=40dfec63&ts=true\"\nimport script from \"./DiagnosticView.vue?vue&type=script&lang=ts\"\nexport * from \"./DiagnosticView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_GamepadItem","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_renderList","gamepads","gamepad","_createBlock","key","id","textContent","_toDisplayString","unit","defineComponent","name","__exports__","props","type","Array","components","GamepadItem","_createElementVNode","_renderSlot","$slots","_component_router_link","_createVNode","to","default","_withCtx","_createTextVNode","_","data","timestamp","interval","computed","this","result","store","forEach","item","methods","updateComputed","Date","now","mounted","setInterval","unmounted","clearInterval","_component_AppDiagnostic","_component_NavigationList","_component_DiagnosticItem","_component_GamepadList","_component_MessageItem","length","_createCommentVNode","_hoisted_2","index","_normalizeClass","buttons","value","toFixed","axes","vibrationActuator","Object","Number","mixins","ComputedGamepads","DiagnosticItem","NavigationList","GamepadList","MessageItem","AppDiagnostic"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/286.6d97cb13.js b/docs/js/286.6d97cb13.js deleted file mode 100644 index 7537049..0000000 --- a/docs/js/286.6d97cb13.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[286],{3913:function(t,a,n){var e=n(7327);class s{constructor(t,a,n,s){(0,e.Z)(this,"startDelay",void 0),(0,e.Z)(this,"duration",void 0),(0,e.Z)(this,"weakMagnitude",void 0),(0,e.Z)(this,"strongMagnitude",void 0),this.startDelay=t,this.duration=a,this.weakMagnitude=n,this.strongMagnitude=s}}a["Z"]=s},1682:function(t,a,n){n.d(a,{Z:function(){return h}});var e=n(3396),s=n(7139);const i={class:"content-item device-list"};function o(t,a,n,o,d,u){const r=(0,e.up)("GamepadItem");return(0,e.wg)(),(0,e.iD)("div",i,[((0,e.wg)(!0),(0,e.iD)(e.HY,null,(0,e.Ko)(t.gamepads,(t=>((0,e.wg)(),(0,e.j4)(r,{key:t.id,textContent:(0,s.zw)(t.unit.id)},null,8,["textContent"])))),128))])}const d={class:"list-item"};function u(t,a,n,s,i,o){return(0,e.wg)(),(0,e.iD)("div",d)}var r=(0,e.aZ)({name:"GamepadItem"}),l=n(89);const m=(0,l.Z)(r,[["render",u]]);var p=m,c=(0,e.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:p}});const g=(0,l.Z)(c,[["render",o]]);var h=g},322:function(t,a,n){n.d(a,{Z:function(){return r}});var e=n(3396);const s={class:"content-item message"};function i(t,a,n,i,o,d){return(0,e.wg)(),(0,e.iD)("div",s,[(0,e._)("span",null,[(0,e.WI)(t.$slots,"default")])])}var o=(0,e.aZ)({name:"MessageItem"}),d=n(89);const u=(0,d.Z)(o,[["render",i]]);var r=u},9100:function(t,a,n){n.d(a,{Z:function(){return r}});var e=n(3396);const s={class:"content-item navigation-list"};function i(t,a,n,i,o,d){const u=(0,e.up)("router-link");return(0,e.wg)(),(0,e.iD)("div",s,[(0,e.Wm)(u,{to:"/",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Patterns")])),_:1}),(0,e.Wm)(u,{to:"/custom",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Custom")])),_:1}),(0,e.Wm)(u,{to:"/manual",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Manual")])),_:1}),(0,e.Wm)(u,{to:"/diagnostic",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Diagnostic")])),_:1})])}var o=(0,e.aZ)({name:"NavigationList"}),d=n(89);const u=(0,d.Z)(o,[["render",i]]);var r=u},6259:function(t,a,n){n.d(a,{Z:function(){return d}});var e=n(3396),s=n(1746),i=(0,e.aZ)({name:"ComputedGamepads",data:()=>({timestamp:0,interval:0}),computed:{gamepads:function(){const t=this.timestamp,a=s.Z.getters.gamepads;return a.forEach((a=>{a.interval=t})),a}},methods:{updateComputed:function(){this.timestamp=Date.now()}},mounted(){this.interval=setInterval(this.updateComputed,1)},unmounted(){clearInterval(this.interval)}});const o=i;var d=o},5286:function(t,a,n){n.r(a),n.d(a,{default:function(){return I}});var e=n(3396);const s=(0,e._)("h1",{class:"visually-hidden"},"Wavelovers οΏ½ Manual",-1);function i(t,a,n,i,o,d){const u=(0,e.up)("AppManual");return(0,e.wg)(),(0,e.iD)(e.HY,null,[s,(0,e.Wm)(u)],64)}var o=n(9242);const d={class:"content-item app-manual"},u={class:"manual-form__input"},r=(0,e._)("span",null,"Weak Magnitude",-1),l={class:"manual-form__input"},m=(0,e._)("span",null,"Strong Magnitude",-1),p=(0,e.uE)('
RT – Vibrate
A – Combined Mode
X – Strong Mode
Y – Light Mode
B – Lock Intensity
',1);function c(t,a,n,s,i,c){const g=(0,e.up)("NavigationList"),h=(0,e.up)("GamepadList"),v=(0,e.up)("MessageItem");return(0,e.wg)(),(0,e.iD)(e.HY,null,[(0,e.Wm)(g),(0,e._)("div",d,[(0,e._)("label",u,[r,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":a[0]||(a[0]=a=>t.weakMagnitude=a),type:"range",required:"",disabled:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[o.nr,t.weakMagnitude]])]),(0,e._)("label",l,[m,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":a[1]||(a[1]=a=>t.strongMagnitude=a),type:"range",required:"",disabled:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[o.nr,t.strongMagnitude]])]),p]),t.gamepads.length>0?((0,e.wg)(),(0,e.j4)(h,{key:0,gamepads:t.gamepads},null,8,["gamepads"])):((0,e.wg)(),(0,e.j4)(v,{key:1},{default:(0,e.w5)((()=>[(0,e.Uk)("Press any gamepad button or connect a new gamepad to vibrate.")])),_:1}))],64)}var g=n(1746),h=n(9100),v=n(1682),k=n(322),f=n(6259),w=n(3913),M=(0,e.aZ)({name:"AppCustom",mixins:[f.Z],components:{NavigationList:h.Z,GamepadList:v.Z,MessageItem:k.Z},data:()=>({mode:0,lock:!1,startDelay:0,duration:260,weakMagnitude:0,strongMagnitude:0}),methods:{start:function(){const t=new w.Z(this.startDelay,this.duration,this.weakMagnitude,this.strongMagnitude);g.Z.dispatch("vibrate",t)},stop:function(){g.Z.dispatch("setIsActive",!1),g.Z.dispatch("setMode",0),g.Z.dispatch("reset")},eventLoop:function(){this.updateComputed(),this.updateMode(),this.updatePattern(),this.handle()},updateMode:function(){this.gamepads.length>0&&(!0===this.gamepads[0].unit.buttons[1].pressed&&(this.lock=!this.lock),!1===this.lock&&(!0===this.gamepads[0].unit.buttons[0].pressed&&(this.mode=0),!0===this.gamepads[0].unit.buttons[2].pressed&&(this.mode=1),!0===this.gamepads[0].unit.buttons[3].pressed&&(this.mode=2)))},updatePattern:function(){this.gamepads.length>0&&!1===this.lock&&(0===this.mode&&(this.weakMagnitude=this.gamepads[0].unit.buttons[7].value,this.strongMagnitude=this.gamepads[0].unit.buttons[7].value),1===this.mode&&(this.weakMagnitude=0,this.strongMagnitude=this.gamepads[0].unit.buttons[7].value),2===this.mode&&(this.weakMagnitude=this.gamepads[0].unit.buttons[7].value,this.strongMagnitude=0))},handle:function(){this.gamepads.length>0&&this.gamepads.forEach((t=>{t.unit.buttons[7].value>0||!0===this.lock?this.start():this.stop()}))}},mounted(){this.interval=setInterval(this.eventLoop,250)}}),Z=n(89);const b=(0,Z.Z)(M,[["render",c]]);var _=b,y=(0,e.aZ)({name:"ManualView",components:{AppManual:_}});const D=(0,Z.Z)(y,[["render",i]]);var I=D}}]); -//# sourceMappingURL=286.6d97cb13.js.map \ No newline at end of file diff --git a/docs/js/286.6d97cb13.js.map b/docs/js/286.6d97cb13.js.map deleted file mode 100644 index 1794543..0000000 --- a/docs/js/286.6d97cb13.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/286.6d97cb13.js","mappings":"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","sources":["webpack://wavelovers/./src/models/PatternUnit.ts","webpack://wavelovers/./src/components/GamepadList.vue?5b9c","webpack://wavelovers/./src/components/GamepadItem.vue?0665","webpack://wavelovers/./src/components/GamepadItem.vue?ef0b","webpack://wavelovers/./src/components/GamepadItem.vue","webpack://wavelovers/./src/components/GamepadList.vue?8510","webpack://wavelovers/./src/components/GamepadList.vue","webpack://wavelovers/./src/components/MessageItem.vue?088b","webpack://wavelovers/./src/components/MessageItem.vue?b787","webpack://wavelovers/./src/components/MessageItem.vue","webpack://wavelovers/./src/components/NavigationList.vue?0746","webpack://wavelovers/./src/components/NavigationList.vue?d88b","webpack://wavelovers/./src/components/NavigationList.vue","webpack://wavelovers/./src/mixins/ComputedGamepads.vue?fc43","webpack://wavelovers/./src/mixins/ComputedGamepads.vue","webpack://wavelovers/./src/views/ManualView.vue?9506","webpack://wavelovers/./src/components/AppManual.vue?9069","webpack://wavelovers/./src/components/AppManual.vue?5cf9","webpack://wavelovers/./src/components/AppManual.vue","webpack://wavelovers/./src/views/ManualView.vue?67f9","webpack://wavelovers/./src/views/ManualView.vue"],"sourcesContent":["import IPatternUnit from \"@/models/IPatternUnit\";\r\n\r\nclass PatternUnit implements IPatternUnit {\r\n\r\n startDelay: number;\r\n duration: number;\r\n weakMagnitude: number;\r\n strongMagnitude: number;\r\n\r\n constructor(\r\n startDelay: number, duration: number,\r\n weakMagnitude: number, strongMagnitude: number\r\n ) {\r\n this.startDelay = startDelay;\r\n this.duration = duration;\r\n this.weakMagnitude = weakMagnitude;\r\n this.strongMagnitude = strongMagnitude;\r\n }\r\n}\r\n\r\nexport default PatternUnit;\r\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=6958838e&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=6958838e&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n","import { render } from \"./GamepadList.vue?vue&type=template&id=2658b144&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=2658b144&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=7e7a7193&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=7e7a7193&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item navigation-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_link, {\n to: \"/\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Patterns\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/custom\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Custom\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/manual\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Manual\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/diagnostic\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Diagnostic\")\n ]),\n _: 1\n })\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NavigationList',\r\n });\r\n","import { render } from \"./NavigationList.vue?vue&type=template&id=c925f896&ts=true\"\nimport script from \"./NavigationList.vue?vue&type=script&lang=ts\"\nexport * from \"./NavigationList.vue?vue&type=script&lang=ts\"\n\nimport \"./NavigationList.vue?vue&type=style&index=0&id=c925f896&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import store from '@/store/index';\r\n import Vibrator from '@/models/Vibrator';\r\n\r\n export default defineComponent({\r\n name: 'ComputedGamepads',\r\n data: () => {\r\n return {\r\n timestamp: 0 as number,\r\n interval: 0 as number,\r\n };\r\n },\r\n computed: {\r\n gamepads: function (): Vibrator[] {\r\n const timestamp: number = this.timestamp;\r\n const result: Vibrator[] = store.getters.gamepads as Vibrator[];\r\n result.forEach((item) => {\r\n item.interval = timestamp;\r\n });\r\n return result;\r\n },\r\n },\r\n methods: {\r\n updateComputed: function (): void {\r\n this.timestamp = Date.now();\r\n },\r\n },\r\n mounted() {\r\n this.interval = setInterval(this.updateComputed, 1);\r\n },\r\n unmounted() {\r\n clearInterval(this.interval);\r\n },\r\n });\r\n","import script from \"./ComputedGamepads.vue?vue&type=script&lang=ts\"\nexport * from \"./ComputedGamepads.vue?vue&type=script&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers οΏ½ Manual\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppManual = _resolveComponent(\"AppManual\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(_component_AppManual)\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createStaticVNode as _createStaticVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item app-manual\" }\nconst _hoisted_2 = { class: \"manual-form__input\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Weak Magnitude\", -1)\nconst _hoisted_4 = { class: \"manual-form__input\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Strong Magnitude\", -1)\nconst _hoisted_6 = /*#__PURE__*/_createStaticVNode(\"
RT – Vibrate
A – Combined Mode
X – Strong Mode
Y – Light Mode
B – Lock Intensity
\", 1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_NavigationList = _resolveComponent(\"NavigationList\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_NavigationList),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", _hoisted_2, [\n _hoisted_3,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.weakMagnitude) = $event)),\n type: \"range\",\n required: \"\",\n disabled: \"\",\n min: \"0.0\",\n max: \"1.0\",\n step: \"0.01\"\n }, null, 512), [\n [_vModelText, _ctx.weakMagnitude]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_4, [\n _hoisted_5,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.strongMagnitude) = $event)),\n type: \"range\",\n required: \"\",\n disabled: \"\",\n min: \"0.0\",\n max: \"1.0\",\n step: \"0.01\"\n }, null, 512), [\n [_vModelText, _ctx.strongMagnitude]\n ])\n ]),\n _hoisted_6\n ]),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 0,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _createTextVNode(\"Press any gamepad button or connect a new gamepad to vibrate.\")\n ]),\n _: 1\n }))\n ], 64))\n}","\r\n import { defineComponent } from 'vue';\r\n import store from '@/store/index';\r\n import NavigationList from '@/components/NavigationList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import ComputedGamepads from '@/mixins/ComputedGamepads.vue';\r\n import Vibrator from '@/models/Vibrator';\r\n import TPatternUnit from '@/models/TPatternUnit';\r\n import PatternUnit from '@/models/PatternUnit';\r\n\r\n export default defineComponent({\r\n name: 'AppCustom',\r\n mixins: [ComputedGamepads],\r\n components: {\r\n NavigationList: NavigationList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n mode: 0 as number,\r\n lock: false as boolean,\r\n startDelay: 0 as number,\r\n duration: 260 as number,\r\n weakMagnitude: 0 as number,\r\n strongMagnitude: 0 as number,\r\n };\r\n },\r\n methods: {\r\n start: function (): void {\r\n const pattern: TPatternUnit = new PatternUnit(\r\n this.startDelay,\r\n this.duration,\r\n this.weakMagnitude,\r\n this.strongMagnitude,\r\n );\r\n store.dispatch('vibrate', pattern);\r\n },\r\n stop: function (): void {\r\n store.dispatch('setIsActive', false);\r\n store.dispatch('setMode', 0);\r\n store.dispatch('reset');\r\n },\r\n eventLoop: function (): void {\r\n this.updateComputed();\r\n this.updateMode();\r\n this.updatePattern();\r\n this.handle();\r\n },\r\n updateMode: function (): void {\r\n if (this.gamepads.length > 0) {\r\n if (this.gamepads[0].unit.buttons[1].pressed === true) {\r\n this.lock = !this.lock;\r\n }\r\n if (this.lock === false) {\r\n if (this.gamepads[0].unit.buttons[0].pressed === true) {\r\n this.mode = 0;\r\n }\r\n if (this.gamepads[0].unit.buttons[2].pressed === true) {\r\n this.mode = 1;\r\n }\r\n if (this.gamepads[0].unit.buttons[3].pressed === true) {\r\n this.mode = 2;\r\n }\r\n }\r\n }\r\n },\r\n updatePattern: function (): void {\r\n if (this.gamepads.length > 0) {\r\n if (this.lock === false) {\r\n if (this.mode === 0) {\r\n this.weakMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n this.strongMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n }\r\n if (this.mode === 1) {\r\n this.weakMagnitude = 0;\r\n this.strongMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n }\r\n if (this.mode === 2) {\r\n this.weakMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n this.strongMagnitude = 0;\r\n }\r\n }\r\n }\r\n },\r\n handle: function (): void {\r\n if (this.gamepads.length > 0) {\r\n this.gamepads.forEach((gamepad: Vibrator) => {\r\n if (gamepad.unit.buttons[7].value > 0 || this.lock === true) {\r\n this.start();\r\n } else {\r\n this.stop();\r\n }\r\n });\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.interval = setInterval(this.eventLoop, 250);\r\n },\r\n });\r\n","import { render } from \"./AppManual.vue?vue&type=template&id=16213996&ts=true\"\nimport script from \"./AppManual.vue?vue&type=script&lang=ts\"\nexport * from \"./AppManual.vue?vue&type=script&lang=ts\"\n\nimport \"./AppManual.vue?vue&type=style&index=0&id=16213996&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import AppManual from '@/components/AppManual.vue';\r\n\r\n export default defineComponent({\r\n name: 'ManualView',\r\n components: {\r\n AppManual: AppManual,\r\n },\r\n });\r\n","import { render } from \"./ManualView.vue?vue&type=template&id=3cebd67e&ts=true\"\nimport script from \"./ManualView.vue?vue&type=script&lang=ts\"\nexport * from \"./ManualView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["PatternUnit","constructor","startDelay","duration","weakMagnitude","strongMagnitude","_defineProperty","this","_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_GamepadItem","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_renderList","gamepads","gamepad","_createBlock","key","id","textContent","_toDisplayString","unit","defineComponent","name","__exports__","props","type","Array","components","GamepadItem","_createElementVNode","_renderSlot","$slots","_component_router_link","_createVNode","to","default","_withCtx","_createTextVNode","_","data","timestamp","interval","computed","result","store","forEach","item","methods","updateComputed","Date","now","mounted","setInterval","unmounted","clearInterval","_component_AppManual","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createStaticVNode","_component_NavigationList","_component_GamepadList","_component_MessageItem","_withDirectives","$event","required","disabled","min","max","step","_vModelText","length","mixins","ComputedGamepads","NavigationList","GamepadList","MessageItem","mode","lock","start","pattern","stop","eventLoop","updateMode","updatePattern","handle","buttons","pressed","value","AppManual"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/37.1a394e75.js b/docs/js/37.1a394e75.js deleted file mode 100644 index bc61240..0000000 --- a/docs/js/37.1a394e75.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[37],{3037:function(e,o,r){r.r(o),r.d(o,{default:function(){return i}});var a=r(3396);const n=(0,a.uE)('

Wavelovers οΏ½ Donate

Donate

If you like this app, you can thank me and donate to me.

Why should you donate to Wavelovers?

More donation = more money
More money allows me buy more coffee
More coffee makes me write more code
More code means more features
More features make you more happiness and productive
More happiness and productive so you earn more money
More money you earn more donation to me


Bitcoin: bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
',2);function s(e,o,r,a,s,t){return n}var t=(0,a.aZ)({name:"DonateView"}),u=r(89);const c=(0,u.Z)(t,[["render",s]]);var i=c}}]); -//# sourceMappingURL=37.1a394e75.js.map \ No newline at end of file diff --git a/docs/js/37.1a394e75.js.map b/docs/js/37.1a394e75.js.map deleted file mode 100644 index 69c08ef..0000000 --- a/docs/js/37.1a394e75.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/37.1a394e75.js","mappings":"6KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,IAAmB,swBAAmxB,GAEh0B,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAOR,CACT,CCHE,OAAeS,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,e,QCGV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAST,KAEpE,O","sources":["webpack://wavelovers/./src/views/DonateView.vue?9f27","webpack://wavelovers/./src/views/DonateView.vue?82fb","webpack://wavelovers/./src/views/DonateView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers οΏ½ Donate

Donate

If you like this app, you can thank me and donate to me.

Why should you donate to Wavelovers?

More donation = more money
More money allows me buy more coffee
More coffee makes me write more code
More code means more features
More features make you more happiness and productive
More happiness and productive so you earn more money
More money you earn more donation to me


Bitcoin: bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
\", 2)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return _hoisted_1\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'DonateView',\r\n });\r\n","import { render } from \"./DonateView.vue?vue&type=template&id=5d3ac8cc&ts=true\"\nimport script from \"./DonateView.vue?vue&type=script&lang=ts\"\nexport * from \"./DonateView.vue?vue&type=script&lang=ts\"\n\nimport \"./DonateView.vue?vue&type=style&index=0&id=5d3ac8cc&lang=css\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createStaticVNode","render","_ctx","_cache","$props","$setup","$data","$options","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/370.862c075c.js b/docs/js/370.862c075c.js deleted file mode 100644 index a6ede7c..0000000 --- a/docs/js/370.862c075c.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[370],{6370:function(e,t,a){a.r(t),a.d(t,{default:function(){return c}});var d=a(3396);const s=(0,d.uE)('

Wavelovers οΏ½ FAQ

FAQ

What is the purpose of this software?
Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.
Can I use this software as a hand massager?
Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.
I have a gamepad with vibration, what should I do before using it as a hand massager?
I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.
I'm having problems with the app or connecting my device to the app?
Go to Troubleshooting.

Troubleshooting

If you are having difficulty detecting a gamepad by the browser, you can use the utility Wavelovers Diagnostic

The app does not see my device.
Make sure you have a chromium-based browser, then update the app and reconnect your device.
The application sees the gamepad, but writes that the vibration actuator is missing.
This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.
My question is not here.
Write me eugene.serb@gmail.com

System Requirements

Gamepad:
X-Input and vibration actuator required.
Browser:
Google Chrome or any other Chromium-based browser is recommended.
Operating System:
Windows 7 or higher recommended.
',2);function r(e,t,a,d,r,o){return s}var o=(0,d.aZ)({name:"FaqView"}),i=a(89);const n=(0,i.Z)(o,[["render",r]]);var c=n}}]); -//# sourceMappingURL=370.862c075c.js.map \ No newline at end of file diff --git a/docs/js/370.862c075c.js.map b/docs/js/370.862c075c.js.map deleted file mode 100644 index 9ddcf7e..0000000 --- a/docs/js/370.862c075c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/370.862c075c.js","mappings":"8KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,IAAmB,k4DAAy5D,GAEt8D,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAOR,CACT,CCHE,OAAeS,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,Y,QCCV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAST,KAEpE,O","sources":["webpack://wavelovers/./src/views/FaqView.vue?24af","webpack://wavelovers/./src/views/FaqView.vue?a581","webpack://wavelovers/./src/views/FaqView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers οΏ½ FAQ

FAQ

What is the purpose of this software?
Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.
Can I use this software as a hand massager?
Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.
I have a gamepad with vibration, what should I do before using it as a hand massager?
I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.
I'm having problems with the app or connecting my device to the app?
Go to Troubleshooting.

Troubleshooting

If you are having difficulty detecting a gamepad by the browser, you can use the utility Wavelovers Diagnostic

The app does not see my device.
Make sure you have a chromium-based browser, then update the app and reconnect your device.
The application sees the gamepad, but writes that the vibration actuator is missing.
This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.
My question is not here.
Write me eugene.serb@gmail.com

System Requirements

Gamepad:
X-Input and vibration actuator required.
Browser:
Google Chrome or any other Chromium-based browser is recommended.
Operating System:
Windows 7 or higher recommended.
\", 2)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return _hoisted_1\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'FaqView',\r\n });\r\n","import { render } from \"./FaqView.vue?vue&type=template&id=0075180f&ts=true\"\nimport script from \"./FaqView.vue?vue&type=script&lang=ts\"\nexport * from \"./FaqView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createStaticVNode","render","_ctx","_cache","$props","$setup","$data","$options","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/402.950d947f.js b/docs/js/402.950d947f.js deleted file mode 100644 index a6dfddc..0000000 --- a/docs/js/402.950d947f.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[402],{3913:function(t,n,a){var e=a(7327);class s{constructor(t,n,a,s){(0,e.Z)(this,"startDelay",void 0),(0,e.Z)(this,"duration",void 0),(0,e.Z)(this,"weakMagnitude",void 0),(0,e.Z)(this,"strongMagnitude",void 0),this.startDelay=t,this.duration=n,this.weakMagnitude=a,this.strongMagnitude=s}}n["Z"]=s},1682:function(t,n,a){a.d(n,{Z:function(){return _}});var e=a(3396),s=a(7139);const i={class:"content-item device-list"};function o(t,n,a,o,u,r){const l=(0,e.up)("GamepadItem");return(0,e.wg)(),(0,e.iD)("div",i,[((0,e.wg)(!0),(0,e.iD)(e.HY,null,(0,e.Ko)(t.gamepads,(t=>((0,e.wg)(),(0,e.j4)(l,{key:t.id,textContent:(0,s.zw)(t.unit.id)},null,8,["textContent"])))),128))])}const u={class:"list-item"};function r(t,n,a,s,i,o){return(0,e.wg)(),(0,e.iD)("div",u)}var l=(0,e.aZ)({name:"GamepadItem"}),m=a(89);const d=(0,m.Z)(l,[["render",r]]);var c=d,p=(0,e.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:c}});const g=(0,m.Z)(p,[["render",o]]);var _=g},322:function(t,n,a){a.d(n,{Z:function(){return l}});var e=a(3396);const s={class:"content-item message"};function i(t,n,a,i,o,u){return(0,e.wg)(),(0,e.iD)("div",s,[(0,e._)("span",null,[(0,e.WI)(t.$slots,"default")])])}var o=(0,e.aZ)({name:"MessageItem"}),u=a(89);const r=(0,u.Z)(o,[["render",i]]);var l=r},9100:function(t,n,a){a.d(n,{Z:function(){return l}});var e=a(3396);const s={class:"content-item navigation-list"};function i(t,n,a,i,o,u){const r=(0,e.up)("router-link");return(0,e.wg)(),(0,e.iD)("div",s,[(0,e.Wm)(r,{to:"/",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Patterns")])),_:1}),(0,e.Wm)(r,{to:"/custom",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Custom")])),_:1}),(0,e.Wm)(r,{to:"/manual",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Manual")])),_:1}),(0,e.Wm)(r,{to:"/diagnostic",class:"navigation-list__item"},{default:(0,e.w5)((()=>[(0,e.Uk)("Diagnostic")])),_:1})])}var o=(0,e.aZ)({name:"NavigationList"}),u=a(89);const r=(0,u.Z)(o,[["render",i]]);var l=r},4402:function(t,n,a){a.r(n),a.d(n,{default:function(){return x}});var e=a(3396);const s=(0,e._)("h1",{class:"visually-hidden"},"Wavelovers οΏ½ Custom",-1);function i(t,n,a,i,o,u){const r=(0,e.up)("AppCustom");return(0,e.wg)(),(0,e.iD)(e.HY,null,[s,(0,e.Wm)(r)],64)}var o=a(9242);const u={class:"content-item app-custom"},r={class:"custom-form"},l={class:"custom-form__input"},m=(0,e._)("span",null,"Start Delay (ms)",-1),d={class:"custom-form__input"},c=(0,e._)("span",null,"Duration (ms)",-1),p={class:"custom-form__input"},g=(0,e._)("span",null,"Weak Magnitude",-1),_={class:"custom-form__input"},v=(0,e._)("span",null,"Strong Magnitude",-1),f={class:"custom-form__buttons"};function w(t,n,a,s,i,w){const Z=(0,e.up)("NavigationList"),h=(0,e.up)("GamepadList"),y=(0,e.up)("MessageItem");return(0,e.wg)(),(0,e.iD)(e.HY,null,[(0,e.Wm)(Z),(0,e._)("div",u,[(0,e._)("fieldset",r,[(0,e._)("label",l,[m,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[0]||(n[0]=n=>t.startDelay=n),type:"number",placeholder:"Start Delay",min:"0",max:"1000",step:"25",required:""},null,512),[[o.nr,t.startDelay]])]),(0,e._)("label",d,[c,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[1]||(n[1]=n=>t.duration=n),type:"number",placeholder:"Duration",min:"0",max:"1000",step:"25",required:""},null,512),[[o.nr,t.duration]])]),(0,e._)("label",p,[g,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[2]||(n[2]=n=>t.weakMagnitude=n),type:"range",required:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[o.nr,t.weakMagnitude]])]),(0,e._)("label",_,[v,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[3]||(n[3]=n=>t.strongMagnitude=n),type:"range",required:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[o.nr,t.strongMagnitude]])]),(0,e._)("div",f,[(0,e._)("button",{onClick:n[4]||(n[4]=(...n)=>t.start&&t.start(...n)),class:"custom-form__button"},"Start"),(0,e._)("button",{onClick:n[5]||(n[5]=(...n)=>t.stop&&t.stop(...n)),class:"custom-form__button"},"Stop")])])]),t.gamepads.length>0?((0,e.wg)(),(0,e.j4)(h,{key:0,gamepads:t.gamepads},null,8,["gamepads"])):((0,e.wg)(),(0,e.j4)(y,{key:1},{default:(0,e.w5)((()=>[(0,e.Uk)("Press any gamepad button or connect a new gamepad to vibrate.")])),_:1}))],64)}var Z=a(1746),h=a(9100),y=a(1682),k=a(322),D=a(3913),M=(0,e.aZ)({name:"AppCustom",components:{NavigationList:h.Z,GamepadList:y.Z,MessageItem:k.Z},data:()=>({startDelay:250,duration:250,weakMagnitude:1,strongMagnitude:1}),computed:{gamepads:function(){return Z.Z.getters.gamepads}},methods:{start:function(){const t=[new D.Z(this.startDelay,this.duration,this.weakMagnitude,this.strongMagnitude)];Z.Z.dispatch("startCustom",t)},stop:function(){Z.Z.dispatch("reset")}}}),b=a(89);const C=(0,b.Z)(M,[["render",w]]);var U=C,W=(0,e.aZ)({name:"CustomView",components:{AppCustom:U}});const I=(0,b.Z)(W,[["render",i]]);var x=I}}]); -//# sourceMappingURL=402.950d947f.js.map \ No newline at end of file diff --git a/docs/js/402.950d947f.js.map b/docs/js/402.950d947f.js.map deleted file mode 100644 index db74abf..0000000 --- a/docs/js/402.950d947f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/402.950d947f.js","mappings":"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","sources":["webpack://wavelovers/./src/models/PatternUnit.ts","webpack://wavelovers/./src/components/GamepadList.vue?5b9c","webpack://wavelovers/./src/components/GamepadItem.vue?0665","webpack://wavelovers/./src/components/GamepadItem.vue?ef0b","webpack://wavelovers/./src/components/GamepadItem.vue","webpack://wavelovers/./src/components/GamepadList.vue?8510","webpack://wavelovers/./src/components/GamepadList.vue","webpack://wavelovers/./src/components/MessageItem.vue?088b","webpack://wavelovers/./src/components/MessageItem.vue?b787","webpack://wavelovers/./src/components/MessageItem.vue","webpack://wavelovers/./src/components/NavigationList.vue?0746","webpack://wavelovers/./src/components/NavigationList.vue?d88b","webpack://wavelovers/./src/components/NavigationList.vue","webpack://wavelovers/./src/views/CustomView.vue?0e3b","webpack://wavelovers/./src/components/AppCustom.vue?d16c","webpack://wavelovers/./src/components/AppCustom.vue?08c8","webpack://wavelovers/./src/components/AppCustom.vue","webpack://wavelovers/./src/views/CustomView.vue?8886","webpack://wavelovers/./src/views/CustomView.vue"],"sourcesContent":["import IPatternUnit from \"@/models/IPatternUnit\";\r\n\r\nclass PatternUnit implements IPatternUnit {\r\n\r\n startDelay: number;\r\n duration: number;\r\n weakMagnitude: number;\r\n strongMagnitude: number;\r\n\r\n constructor(\r\n startDelay: number, duration: number,\r\n weakMagnitude: number, strongMagnitude: number\r\n ) {\r\n this.startDelay = startDelay;\r\n this.duration = duration;\r\n this.weakMagnitude = weakMagnitude;\r\n this.strongMagnitude = strongMagnitude;\r\n }\r\n}\r\n\r\nexport default PatternUnit;\r\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=6958838e&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=6958838e&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n","import { render } from \"./GamepadList.vue?vue&type=template&id=2658b144&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=2658b144&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=7e7a7193&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=7e7a7193&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item navigation-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_link, {\n to: \"/\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Patterns\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/custom\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Custom\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/manual\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Manual\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/diagnostic\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Diagnostic\")\n ]),\n _: 1\n })\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NavigationList',\r\n });\r\n","import { render } from \"./NavigationList.vue?vue&type=template&id=c925f896&ts=true\"\nimport script from \"./NavigationList.vue?vue&type=script&lang=ts\"\nexport * from \"./NavigationList.vue?vue&type=script&lang=ts\"\n\nimport \"./NavigationList.vue?vue&type=style&index=0&id=c925f896&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers οΏ½ Custom\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppCustom = _resolveComponent(\"AppCustom\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(_component_AppCustom)\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item app-custom\" }\nconst _hoisted_2 = { class: \"custom-form\" }\nconst _hoisted_3 = { class: \"custom-form__input\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Start Delay (ms)\", -1)\nconst _hoisted_5 = { class: \"custom-form__input\" }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Duration (ms)\", -1)\nconst _hoisted_7 = { class: \"custom-form__input\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Weak Magnitude\", -1)\nconst _hoisted_9 = { class: \"custom-form__input\" }\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Strong Magnitude\", -1)\nconst _hoisted_11 = { class: \"custom-form__buttons\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_NavigationList = _resolveComponent(\"NavigationList\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_NavigationList),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"fieldset\", _hoisted_2, [\n _createElementVNode(\"label\", _hoisted_3, [\n _hoisted_4,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.startDelay) = $event)),\n type: \"number\",\n placeholder: \"Start Delay\",\n min: \"0\",\n max: \"1000\",\n step: \"25\",\n required: \"\"\n }, null, 512), [\n [_vModelText, _ctx.startDelay]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _hoisted_6,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.duration) = $event)),\n type: \"number\",\n placeholder: \"Duration\",\n min: \"0\",\n max: \"1000\",\n step: \"25\",\n required: \"\"\n }, null, 512), [\n [_vModelText, _ctx.duration]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _hoisted_8,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.weakMagnitude) = $event)),\n type: \"range\",\n required: \"\",\n min: \"0.0\",\n max: \"1.0\",\n step: \"0.01\"\n }, null, 512), [\n [_vModelText, _ctx.weakMagnitude]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _hoisted_10,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.strongMagnitude) = $event)),\n type: \"range\",\n required: \"\",\n min: \"0.0\",\n max: \"1.0\",\n step: \"0.01\"\n }, null, 512), [\n [_vModelText, _ctx.strongMagnitude]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.start && _ctx.start(...args))),\n class: \"custom-form__button\"\n }, \"Start\"),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.stop && _ctx.stop(...args))),\n class: \"custom-form__button\"\n }, \"Stop\")\n ])\n ])\n ]),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 0,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _createTextVNode(\"Press any gamepad button or connect a new gamepad to vibrate.\")\n ]),\n _: 1\n }))\n ], 64))\n}","\r\n import { defineComponent } from 'vue';\r\n import store from '@/store/index';\r\n import NavigationList from '@/components/NavigationList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import Vibrator from '@/models/Vibrator';\r\n import TPatternUnit from '@/models/TPatternUnit';\r\n import PatternUnit from '@/models/PatternUnit';\r\n\r\n export default defineComponent({\r\n name: 'AppCustom',\r\n components: {\r\n NavigationList: NavigationList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n startDelay: 250 as number,\r\n duration: 250 as number,\r\n weakMagnitude: 1 as number,\r\n strongMagnitude: 1 as number,\r\n };\r\n },\r\n computed: {\r\n gamepads: function (): Vibrator[] {\r\n return store.getters.gamepads as Vibrator[];\r\n },\r\n },\r\n methods: {\r\n start: function (): void {\r\n const patterns: TPatternUnit[] = [new PatternUnit(\r\n this.startDelay,\r\n this.duration,\r\n this.weakMagnitude,\r\n this.strongMagnitude,\r\n )];\r\n store.dispatch('startCustom', patterns);\r\n },\r\n stop: function (): void {\r\n store.dispatch('reset');\r\n },\r\n },\r\n });\r\n","import { render } from \"./AppCustom.vue?vue&type=template&id=057bb038&ts=true\"\nimport script from \"./AppCustom.vue?vue&type=script&lang=ts\"\nexport * from \"./AppCustom.vue?vue&type=script&lang=ts\"\n\nimport \"./AppCustom.vue?vue&type=style&index=0&id=057bb038&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import AppCustom from '@/components/AppCustom.vue';\r\n\r\n export default defineComponent({\r\n name: 'CustomView',\r\n components: {\r\n AppCustom: AppCustom,\r\n },\r\n });\r\n","import { render } from \"./CustomView.vue?vue&type=template&id=6d2f81b7&ts=true\"\nimport script from \"./CustomView.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["PatternUnit","constructor","startDelay","duration","weakMagnitude","strongMagnitude","_defineProperty","this","_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_GamepadItem","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_renderList","gamepads","gamepad","_createBlock","key","id","textContent","_toDisplayString","unit","defineComponent","name","__exports__","props","type","Array","components","GamepadItem","_createElementVNode","_renderSlot","$slots","_component_router_link","_createVNode","to","default","_withCtx","_createTextVNode","_","_component_AppCustom","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_component_NavigationList","_component_GamepadList","_component_MessageItem","_withDirectives","$event","placeholder","min","max","step","required","_vModelText","onClick","args","start","stop","length","NavigationList","GamepadList","MessageItem","data","computed","store","methods","patterns","AppCustom"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/743.622044d1.js b/docs/js/743.622044d1.js deleted file mode 100644 index e9c2e93..0000000 --- a/docs/js/743.622044d1.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[743],{1682:function(t,e,n){n.d(e,{Z:function(){return v}});var a=n(3396),s=n(7139);const i={class:"content-item device-list"};function r(t,e,n,r,o,c){const m=(0,a.up)("GamepadItem");return(0,a.wg)(),(0,a.iD)("div",i,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(t.gamepads,(t=>((0,a.wg)(),(0,a.j4)(m,{key:t.id,textContent:(0,s.zw)(t.unit.id)},null,8,["textContent"])))),128))])}const o={class:"list-item"};function c(t,e,n,s,i,r){return(0,a.wg)(),(0,a.iD)("div",o)}var m=(0,a.aZ)({name:"GamepadItem"}),p=n(89);const u=(0,p.Z)(m,[["render",c]]);var d=u,l=(0,a.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:d}});const g=(0,p.Z)(l,[["render",r]]);var v=g},322:function(t,e,n){n.d(e,{Z:function(){return m}});var a=n(3396);const s={class:"content-item message"};function i(t,e,n,i,r,o){return(0,a.wg)(),(0,a.iD)("div",s,[(0,a._)("span",null,[(0,a.WI)(t.$slots,"default")])])}var r=(0,a.aZ)({name:"MessageItem"}),o=n(89);const c=(0,o.Z)(r,[["render",i]]);var m=c},9100:function(t,e,n){n.d(e,{Z:function(){return m}});var a=n(3396);const s={class:"content-item navigation-list"};function i(t,e,n,i,r,o){const c=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",s,[(0,a.Wm)(c,{to:"/",class:"navigation-list__item"},{default:(0,a.w5)((()=>[(0,a.Uk)("Patterns")])),_:1}),(0,a.Wm)(c,{to:"/custom",class:"navigation-list__item"},{default:(0,a.w5)((()=>[(0,a.Uk)("Custom")])),_:1}),(0,a.Wm)(c,{to:"/manual",class:"navigation-list__item"},{default:(0,a.w5)((()=>[(0,a.Uk)("Manual")])),_:1}),(0,a.Wm)(c,{to:"/diagnostic",class:"navigation-list__item"},{default:(0,a.w5)((()=>[(0,a.Uk)("Diagnostic")])),_:1})])}var r=(0,a.aZ)({name:"NavigationList"}),o=n(89);const c=(0,o.Z)(r,[["render",i]]);var m=c},2743:function(t,e,n){n.r(e),n.d(e,{default:function(){return j}});var a=n(3396);const s=(0,a._)("h1",{class:"visually-hidden"},"Wavelovers",-1);function i(t,e,n,i,r,o){const c=(0,a.up)("AppPatterns");return(0,a.wg)(),(0,a.iD)(a.HY,null,[s,(0,a.Wm)(c)],64)}const r={class:"app-patterns"};function o(t,e,n,s,i,o){const c=(0,a.up)("NavigationList"),m=(0,a.up)("PatternList"),p=(0,a.up)("MessageItem"),u=(0,a.up)("GamepadList");return(0,a.wg)(),(0,a.iD)(a.HY,null,[(0,a.Wm)(c),(0,a._)("div",r,[t.patterns.length>0?((0,a.wg)(),(0,a.j4)(m,{key:0,patterns:t.patterns,mode:t.mode,isActive:t.isActive,onChange:t.change},null,8,["patterns","mode","isActive","onChange"])):((0,a.wg)(),(0,a.j4)(p,{key:1},{default:(0,a.w5)((()=>[(0,a.Uk)("Loading...")])),_:1}))]),t.gamepads.length>0?((0,a.wg)(),(0,a.j4)(u,{key:0,gamepads:t.gamepads},null,8,["gamepads"])):((0,a.wg)(),(0,a.j4)(p,{key:1},{default:(0,a.w5)((()=>[(0,a.Uk)("Press any gamepad button or connect a new gamepad to vibrate.")])),_:1}))],64)}var c=n(1746),m=n(9100),p=n(1682),u=n(322);const d={class:"content-item pattern-list"};function l(t,e,n,s,i,r){const o=(0,a.up)("PatternItem");return(0,a.wg)(),(0,a.iD)("div",d,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(t.patterns,((e,n)=>((0,a.wg)(),(0,a.j4)(o,{key:e.name,pattern:e,index:n,mode:t.mode,isActive:t.isActive,onChange:t.change},null,8,["pattern","index","mode","isActive","onChange"])))),128))])}var g=n(7139);const v=["textContent"],f={class:"pattern-item__info-container"},w=["textContent"],_=["textContent"];function Z(t,e,n,s,i,r){return(0,a.wg)(),(0,a.iD)("div",{onClick:e[0]||(e[0]=e=>t.change(t.index)),class:(0,g.C_)(["pattern-item",t.index===t.mode&&!0===t.isActive?"pattern-item_selected":""])},[(0,a._)("span",{class:"pattern-item__icon",textContent:(0,g.zw)(t.pattern.icon)},null,8,v),(0,a._)("div",f,[(0,a._)("span",{class:"pattern-item__name",textContent:(0,g.zw)(t.pattern.name)},null,8,w),(0,a._)("span",{class:"pattern-item__type",textContent:(0,g.zw)(t.pattern.type)},null,8,_)])],2)}var h=(0,a.aZ)({name:"PatternItem",props:{pattern:{type:Object},index:{type:Number},mode:{type:Number},isActive:{type:Boolean}},methods:{change:function(t){this.$emit("change",t)}}}),y=n(89);const k=(0,y.Z)(h,[["render",Z]]);var C=k,A=(0,a.aZ)({name:"PatternList",props:{patterns:{type:Array},mode:{type:Number},isActive:{type:Boolean}},components:{PatternItem:C},methods:{change:function(t){this.$emit("change",t)}}});const x=(0,y.Z)(A,[["render",l]]);var P=x,D=(0,a.aZ)({name:"AppPatterns",components:{PatternList:P,NavigationList:m.Z,GamepadList:p.Z,MessageItem:u.Z},computed:{gamepads:function(){return c.Z.getters.gamepads},patterns:function(){return c.Z.getters.patterns},mode:function(){return c.Z.getters.mode},isActive:function(){return c.Z.getters.isActive}},methods:{change(t){c.Z.dispatch("change",t)}},mounted(){c.Z.dispatch("loadPatterns")}});const I=(0,y.Z)(D,[["render",o]]);var L=I,b=(0,a.aZ)({name:"PatternsView",components:{AppPatterns:L}});const W=(0,y.Z)(b,[["render",i]]);var j=W}}]); -//# sourceMappingURL=743.622044d1.js.map \ No newline at end of file diff --git a/docs/js/743.622044d1.js.map b/docs/js/743.622044d1.js.map deleted file mode 100644 index 2eac88b..0000000 --- a/docs/js/743.622044d1.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/743.622044d1.js","mappings":"2KAEA,MAAMA,EAAa,CAAEC,MAAO,4BAEtB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOZ,EAAY,GAC1DW,EAAAA,EAAAA,KAAW,IAAOC,EAAAA,EAAAA,IAAoBC,EAAAA,GAAW,MAAMC,EAAAA,EAAAA,IAAYX,EAAKY,UAAWC,KAC1EL,EAAAA,EAAAA,OAAcM,EAAAA,EAAAA,IAAaR,EAAwB,CACzDS,IAAKF,EAAQG,GACbC,aAAaC,EAAAA,EAAAA,IAAiBL,EAAQM,KAAKH,KAC1C,KAAM,EAAG,CAAC,mBACX,OAER,CCbA,MAAMnB,EAAa,CAAEC,MAAO,aAEtB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQG,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOZ,EACnD,CCHE,OAAeuB,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,gB,QCGV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,QCLE,GAAeF,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,cACNE,MAAO,CACLX,SAAU,CACRY,KAAMC,QAGVC,WAAY,CACVC,YAAaA,KCLnB,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS5B,KAEpE,O,oECPA,MAAMF,EAAa,CAAEC,MAAO,wBAEtB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQG,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOZ,EAAY,EAC3D+B,EAAAA,EAAAA,GAAoB,OAAQ,KAAM,EAChCC,EAAAA,EAAAA,IAAY7B,EAAK8B,OAAQ,cAG/B,CCPE,OAAeV,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,gB,QCGV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASvB,KAEpE,O,qECPA,MAAMF,EAAa,CAAEC,MAAO,gCAEtB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAM0B,GAAyBxB,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOZ,EAAY,EAC3DmC,EAAAA,EAAAA,IAAaD,EAAwB,CACnCE,GAAI,IACJnC,MAAO,yBACN,CACDoC,SAASC,EAAAA,EAAAA,KAAS,IAAM,EACtBC,EAAAA,EAAAA,IAAiB,eAEnBC,EAAG,KAELL,EAAAA,EAAAA,IAAaD,EAAwB,CACnCE,GAAI,UACJnC,MAAO,yBACN,CACDoC,SAASC,EAAAA,EAAAA,KAAS,IAAM,EACtBC,EAAAA,EAAAA,IAAiB,aAEnBC,EAAG,KAELL,EAAAA,EAAAA,IAAaD,EAAwB,CACnCE,GAAI,UACJnC,MAAO,yBACN,CACDoC,SAASC,EAAAA,EAAAA,KAAS,IAAM,EACtBC,EAAAA,EAAAA,IAAiB,aAEnBC,EAAG,KAELL,EAAAA,EAAAA,IAAaD,EAAwB,CACnCE,GAAI,cACJnC,MAAO,yBACN,CACDoC,SAASC,EAAAA,EAAAA,KAAS,IAAM,EACtBC,EAAAA,EAAAA,IAAiB,iBAEnBC,EAAG,KAGT,CC1CE,OAAejB,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,mB,QCGV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASvB,KAEpE,O,kFCPA,MAAMF,GAA0B+B,EAAAA,EAAAA,GAAoB,KAAM,CAAE9B,MAAO,mBAAqB,cAAe,GAEjG,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAMiC,GAAyB/B,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoBC,EAAAA,GAAW,KAAM,CACzDb,GACAmC,EAAAA,EAAAA,IAAaM,IACZ,GACL,CCTA,MAAMzC,EAAa,CAAEC,MAAO,gBAEtB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAMkC,GAA4BhC,EAAAA,EAAAA,IAAkB,kBAC9CiC,GAAyBjC,EAAAA,EAAAA,IAAkB,eAC3CkC,GAAyBlC,EAAAA,EAAAA,IAAkB,eAC3CmC,GAAyBnC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoBC,EAAAA,GAAW,KAAM,EACzDsB,EAAAA,EAAAA,IAAaO,IACbX,EAAAA,EAAAA,GAAoB,MAAO/B,EAAY,CACpCG,EAAK2C,SAASC,OAAS,IACnBpC,EAAAA,EAAAA,OAAcM,EAAAA,EAAAA,IAAa0B,EAAwB,CAClDzB,IAAK,EACL4B,SAAU3C,EAAK2C,SACfE,KAAM7C,EAAK6C,KACXC,SAAU9C,EAAK8C,SACfC,SAAU/C,EAAKgD,QACd,KAAM,EAAG,CAAC,WAAY,OAAQ,WAAY,gBAC5CxC,EAAAA,EAAAA,OAAcM,EAAAA,EAAAA,IAAa2B,EAAwB,CAAE1B,IAAK,GAAK,CAC9DmB,SAASC,EAAAA,EAAAA,KAAS,IAAM,EACtBC,EAAAA,EAAAA,IAAiB,iBAEnBC,EAAG,OAGVrC,EAAKY,SAASgC,OAAS,IACnBpC,EAAAA,EAAAA,OAAcM,EAAAA,EAAAA,IAAa4B,EAAwB,CAClD3B,IAAK,EACLH,SAAUZ,EAAKY,UACd,KAAM,EAAG,CAAC,gBACZJ,EAAAA,EAAAA,OAAcM,EAAAA,EAAAA,IAAa2B,EAAwB,CAAE1B,IAAK,GAAK,CAC9DmB,SAASC,EAAAA,EAAAA,KAAS,IAAM,EACtBC,EAAAA,EAAAA,IAAiB,oEAEnBC,EAAG,MAER,GACL,C,2CCtCA,MAAMxC,EAAa,CAAEC,MAAO,6BAEtB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAM4C,GAAyB1C,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOZ,EAAY,GAC1DW,EAAAA,EAAAA,KAAW,IAAOC,EAAAA,EAAAA,IAAoBC,EAAAA,GAAW,MAAMC,EAAAA,EAAAA,IAAYX,EAAK2C,UAAU,CAACO,EAASC,MACnF3C,EAAAA,EAAAA,OAAcM,EAAAA,EAAAA,IAAamC,EAAwB,CACzDlC,IAAKmC,EAAQ7B,KACb6B,QAASA,EACTC,MAAOA,EACPN,KAAM7C,EAAK6C,KACXC,SAAU9C,EAAK8C,SACfC,SAAU/C,EAAKgD,QACd,KAAM,EAAG,CAAC,UAAW,QAAS,OAAQ,WAAY,gBACnD,OAER,C,cCjBA,MAAMnD,EAAa,CAAC,eACduD,EAAa,CAAEtD,MAAO,gCACtBuD,EAAa,CAAC,eACdC,EAAa,CAAC,eAEd,SAAUvD,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQG,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO,CAC/C8C,QAAStD,EAAO,KAAOA,EAAO,GAAMuD,GAAiBxD,EAAKgD,OAAOhD,EAAKmD,QACtErD,OAAO2D,EAAAA,EAAAA,IAAgB,CAAC,eACTzD,EAAKmD,QAAUnD,EAAK6C,OAA0B,IAAlB7C,EAAK8C,SAClC,wBAA0B,MAEvC,EACDlB,EAAAA,EAAAA,GAAoB,OAAQ,CAC1B9B,MAAO,qBACPmB,aAAaC,EAAAA,EAAAA,IAAiBlB,EAAKkD,QAAQQ,OAC1C,KAAM,EAAG7D,IACZ+B,EAAAA,EAAAA,GAAoB,MAAOwB,EAAY,EACrCxB,EAAAA,EAAAA,GAAoB,OAAQ,CAC1B9B,MAAO,qBACPmB,aAAaC,EAAAA,EAAAA,IAAiBlB,EAAKkD,QAAQ7B,OAC1C,KAAM,EAAGgC,IACZzB,EAAAA,EAAAA,GAAoB,OAAQ,CAC1B9B,MAAO,qBACPmB,aAAaC,EAAAA,EAAAA,IAAiBlB,EAAKkD,QAAQ1B,OAC1C,KAAM,EAAG8B,MAEb,EACL,CC3BE,OAAelC,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,cACNE,MAAO,CACL2B,QAAS,CACP1B,KAAMmC,QAERR,MAAO,CACL3B,KAAMoC,QAERf,KAAM,CACJrB,KAAMoC,QAERd,SAAU,CACRtB,KAAMqC,UAGVC,QAAS,CACPd,OAAQ,SAAUG,GAChBY,KAAKC,MAAM,SAAUb,EACvB,K,QCfN,MAAM7B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,QCLE,GAAeF,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,cACNE,MAAO,CACLoB,SAAU,CACRnB,KAAMC,OAERoB,KAAM,CACJrB,KAAMoC,QAERd,SAAU,CACRtB,KAAMqC,UAGVnC,WAAY,CACVuC,YAAaA,GAEfH,QAAS,CACPd,OAAQ,SAAUG,GAChBY,KAAKC,MAAM,SAAUb,EACvB,KChBN,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,QCCE,GAAe/B,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,cACNK,WAAY,CACVwC,YAAaA,EACbC,eAAgBA,EAAAA,EAChBC,YAAaA,EAAAA,EACbC,YAAaA,EAAAA,GAEfC,SAAU,CACR1D,SAAU,WACR,OAAO2D,EAAAA,EAAAA,QAAAA,QACT,EACA5B,SAAU,WACR,OAAO4B,EAAAA,EAAAA,QAAAA,QACT,EACA1B,KAAM,WACJ,OAAO0B,EAAAA,EAAAA,QAAAA,IACT,EACAzB,SAAU,WACR,OAAOyB,EAAAA,EAAAA,QAAAA,QACT,GAEFT,QAAS,CACPd,OAAOG,GACLoB,EAAAA,EAAAA,SAAe,SAAUpB,EAC3B,GAEFqB,UACED,EAAAA,EAAAA,SAAe,eACjB,IClCJ,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,QCHE,GAAenD,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,eACNK,WAAY,CACV+C,YAAaA,KCFnB,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS1E,KAEpE,O","sources":["webpack://wavelovers/./src/components/GamepadList.vue?5b9c","webpack://wavelovers/./src/components/GamepadItem.vue?0665","webpack://wavelovers/./src/components/GamepadItem.vue?ef0b","webpack://wavelovers/./src/components/GamepadItem.vue","webpack://wavelovers/./src/components/GamepadList.vue?8510","webpack://wavelovers/./src/components/GamepadList.vue","webpack://wavelovers/./src/components/MessageItem.vue?088b","webpack://wavelovers/./src/components/MessageItem.vue?b787","webpack://wavelovers/./src/components/MessageItem.vue","webpack://wavelovers/./src/components/NavigationList.vue?0746","webpack://wavelovers/./src/components/NavigationList.vue?d88b","webpack://wavelovers/./src/components/NavigationList.vue","webpack://wavelovers/./src/views/PatternsView.vue?3ec0","webpack://wavelovers/./src/components/AppPatterns.vue?6417","webpack://wavelovers/./src/components/PatternList.vue?4499","webpack://wavelovers/./src/components/PatternItem.vue?69b9","webpack://wavelovers/./src/components/PatternItem.vue?80c2","webpack://wavelovers/./src/components/PatternItem.vue","webpack://wavelovers/./src/components/PatternList.vue?eb4b","webpack://wavelovers/./src/components/PatternList.vue","webpack://wavelovers/./src/components/AppPatterns.vue?5f2c","webpack://wavelovers/./src/components/AppPatterns.vue","webpack://wavelovers/./src/views/PatternsView.vue?8109","webpack://wavelovers/./src/views/PatternsView.vue"],"sourcesContent":["import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=6958838e&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=6958838e&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n","import { render } from \"./GamepadList.vue?vue&type=template&id=2658b144&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=2658b144&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=7e7a7193&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=7e7a7193&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item navigation-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_link, {\n to: \"/\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Patterns\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/custom\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Custom\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/manual\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Manual\")\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n to: \"/diagnostic\",\n class: \"navigation-list__item\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Diagnostic\")\n ]),\n _: 1\n })\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NavigationList',\r\n });\r\n","import { render } from \"./NavigationList.vue?vue&type=template&id=c925f896&ts=true\"\nimport script from \"./NavigationList.vue?vue&type=script&lang=ts\"\nexport * from \"./NavigationList.vue?vue&type=script&lang=ts\"\n\nimport \"./NavigationList.vue?vue&type=style&index=0&id=c925f896&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppPatterns = _resolveComponent(\"AppPatterns\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(_component_AppPatterns)\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"app-patterns\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_NavigationList = _resolveComponent(\"NavigationList\")!\n const _component_PatternList = _resolveComponent(\"PatternList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_NavigationList),\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.patterns.length > 0)\n ? (_openBlock(), _createBlock(_component_PatternList, {\n key: 0,\n patterns: _ctx.patterns,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"patterns\", \"mode\", \"isActive\", \"onChange\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _createTextVNode(\"Loading...\")\n ]),\n _: 1\n }))\n ]),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 0,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _createTextVNode(\"Press any gamepad button or connect a new gamepad to vibrate.\")\n ]),\n _: 1\n }))\n ], 64))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item pattern-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternItem = _resolveComponent(\"PatternItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.patterns, (pattern, index) => {\n return (_openBlock(), _createBlock(_component_PatternItem, {\n key: pattern.name,\n pattern: pattern,\n index: index,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"pattern\", \"index\", \"mode\", \"isActive\", \"onChange\"]))\n }), 128))\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"textContent\"]\nconst _hoisted_2 = { class: \"pattern-item__info-container\" }\nconst _hoisted_3 = [\"textContent\"]\nconst _hoisted_4 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.change(_ctx.index))),\n class: _normalizeClass(['pattern-item',\r\n _ctx.index === _ctx.mode && _ctx.isActive === true ?\r\n 'pattern-item_selected' : '',\r\n ])\n }, [\n _createElementVNode(\"span\", {\n class: \"pattern-item__icon\",\n textContent: _toDisplayString(_ctx.pattern.icon)\n }, null, 8, _hoisted_1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", {\n class: \"pattern-item__name\",\n textContent: _toDisplayString(_ctx.pattern.name)\n }, null, 8, _hoisted_3),\n _createElementVNode(\"span\", {\n class: \"pattern-item__type\",\n textContent: _toDisplayString(_ctx.pattern.type)\n }, null, 8, _hoisted_4)\n ])\n ], 2))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternItem',\r\n props: {\r\n pattern: {\r\n type: Object,\r\n },\r\n index: {\r\n type: Number,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n methods: {\r\n change: function (index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternItem.vue?vue&type=template&id=58c0c0f2&ts=true\"\nimport script from \"./PatternItem.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternItem.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternItem.vue?vue&type=style&index=0&id=58c0c0f2&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import PatternItem from '@/components/PatternItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternList',\r\n props: {\r\n patterns: {\r\n type: Array,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n components: {\r\n PatternItem: PatternItem,\r\n },\r\n methods: {\r\n change: function (index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternList.vue?vue&type=template&id=81ff8488&ts=true\"\nimport script from \"./PatternList.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternList.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternList.vue?vue&type=style&index=0&id=81ff8488&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import store from '@/store/index';\r\n import NavigationList from '@/components/NavigationList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import PatternList from '@/components/PatternList.vue';\r\n import Vibrator from '@/models/Vibrator';\r\n import TPattern from '@/models/TPattern';\r\n\r\n export default defineComponent({\r\n name: 'AppPatterns',\r\n components: {\r\n PatternList: PatternList,\r\n NavigationList: NavigationList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n computed: {\r\n gamepads: function (): Vibrator[] {\r\n return store.getters.gamepads as Vibrator[];\r\n },\r\n patterns: function (): TPattern[] {\r\n return store.getters.patterns as TPattern[];\r\n },\r\n mode: function (): number {\r\n return store.getters.mode as number;\r\n },\r\n isActive: function (): boolean {\r\n return store.getters.isActive as boolean;\r\n },\r\n },\r\n methods: {\r\n change(index: number): void {\r\n store.dispatch('change', index as number);\r\n },\r\n },\r\n mounted() {\r\n store.dispatch('loadPatterns');\r\n },\r\n });\r\n","import { render } from \"./AppPatterns.vue?vue&type=template&id=68df592e&ts=true\"\nimport script from \"./AppPatterns.vue?vue&type=script&lang=ts\"\nexport * from \"./AppPatterns.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import AppPatterns from '@/components/AppPatterns.vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternsView',\r\n components: {\r\n AppPatterns: AppPatterns,\r\n },\r\n });\r\n","import { render } from \"./PatternsView.vue?vue&type=template&id=7da88b49&ts=true\"\nimport script from \"./PatternsView.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternsView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_GamepadItem","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_renderList","gamepads","gamepad","_createBlock","key","id","textContent","_toDisplayString","unit","defineComponent","name","__exports__","props","type","Array","components","GamepadItem","_createElementVNode","_renderSlot","$slots","_component_router_link","_createVNode","to","default","_withCtx","_createTextVNode","_","_component_AppPatterns","_component_NavigationList","_component_PatternList","_component_MessageItem","_component_GamepadList","patterns","length","mode","isActive","onChange","change","_component_PatternItem","pattern","index","_hoisted_2","_hoisted_3","_hoisted_4","onClick","$event","_normalizeClass","icon","Object","Number","Boolean","methods","this","$emit","PatternItem","PatternList","NavigationList","GamepadList","MessageItem","computed","store","mounted","AppPatterns"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/784.9d0a2b63.js b/docs/js/784.9d0a2b63.js deleted file mode 100644 index 0c66f26..0000000 --- a/docs/js/784.9d0a2b63.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[784],{7784:function(e,n,t){t.r(n),t.d(n,{default:function(){return i}});var u=t(3396);const l=(0,u._)("h1",{class:"visually-hidden"},"Wavelovers – 404",-1),a={class:"content-item"},s=(0,u._)("h2",null,"404. Page not Found.",-1);function r(e,n,t,r,o,c){const v=(0,u.up)("center");return(0,u.wg)(),(0,u.iD)(u.HY,null,[l,(0,u._)("div",a,[(0,u.Wm)(v,null,{default:(0,u.w5)((()=>[s])),_:1})])],64)}var o=(0,u.aZ)({name:"NotFoundView"}),c=t(89);const v=(0,c.Z)(o,[["render",r]]);var i=v}}]); -//# sourceMappingURL=784.9d0a2b63.js.map \ No newline at end of file diff --git a/docs/js/784.9d0a2b63.js.map b/docs/js/784.9d0a2b63.js.map deleted file mode 100644 index 01a9ca6..0000000 --- a/docs/js/784.9d0a2b63.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/784.9d0a2b63.js","mappings":"8KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,GAAoB,KAAM,CAAEC,MAAO,mBAAqB,oBAAqB,GACvGC,EAAa,CAAED,MAAO,gBACtBE,GAA0BH,EAAAA,EAAAA,GAAoB,KAAM,KAAM,wBAAyB,GAEnF,SAAUI,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAMC,GAAoBC,EAAAA,EAAAA,IAAkB,UAE5C,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoBC,EAAAA,GAAW,KAAM,CACzDhB,GACAC,EAAAA,EAAAA,GAAoB,MAAOE,EAAY,EACrCc,EAAAA,EAAAA,IAAaL,EAAmB,KAAM,CACpCM,SAASC,EAAAA,EAAAA,KAAS,IAAM,CACtBf,KAEFgB,EAAG,OAGN,GACL,CCjBE,OAAeC,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,iB,QCCV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASlB,KAEpE,O","sources":["webpack://wavelovers/./src/views/NotFoundView.vue?9cfe","webpack://wavelovers/./src/views/NotFoundView.vue?6f3f","webpack://wavelovers/./src/views/NotFoundView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers – 404\", -1)\nconst _hoisted_2 = { class: \"content-item\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"h2\", null, \"404. Page not Found.\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_center = _resolveComponent(\"center\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_center, null, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n })\n ])\n ], 64))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NotFoundView',\r\n });\r\n","import { render } from \"./NotFoundView.vue?vue&type=template&id=09fda562&ts=true\"\nimport script from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createElementVNode","class","_hoisted_2","_hoisted_3","render","_ctx","_cache","$props","$setup","$data","$options","_component_center","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createVNode","default","_withCtx","_","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/994.349d96b2.js b/docs/js/994.349d96b2.js deleted file mode 100644 index ed041cb..0000000 --- a/docs/js/994.349d96b2.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[994],{3994:function(e,a,i){i.r(a),i.d(a,{default:function(){return h}});var t=i(3396);const n=(0,t.uE)('

Wavelovers οΏ½ About

Wavelovers

Wavelovers is an assistant in relaxation, elimination of muscle pain and other relaxing, wellness procedures, or simply a tester of the performance of the gamepad, its buttons and vibration.


Wavelovers is free to use worldwide, in every corner of the planet, all you need is a gamepad with vibration.

About the effects of use

A dozen reasons to make friends with the Wavelovers vibration stimulator:
  1. Reduces the risk of stroke.
  2. Headaches and migraines are reduced.
  3. Pain syndromes accompanying osteochondrosis and muscle pain are reduced.
  4. Noise in the ears and numbness of the fingers pass.
  5. Memory and vision improve, emotional state normalizes.
  6. The work of muscles and blood vessels is normalized, blood circulation improves.
  7. Meteorological dependence decreases.
  8. Improves overall well-being and sleep, increases efficiency.
  9. The ability to jump to the height of one's own height.
  10. After training, the ability to fly and breathe underwater for up to an hour.
  11. Gradual transformation into a superman. Walking through walls, cat vision, regeneration.
  12. The ability to see the future and travel through time and to other galaxies.
P.S. The list is based on reviews, has not been verified by experts, and may not reflect reality. Don't take it for granted.

Author

Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.


Write me: eugene.serb@gmail.com
Visit my homepage: eugene-serb.github.io
',2);function s(e,a,i,t,s,o){return n}var o=(0,t.aZ)({name:"AboutView"}),r=i(89);const l=(0,r.Z)(o,[["render",s]]);var h=l}}]); -//# sourceMappingURL=994.349d96b2.js.map \ No newline at end of file diff --git a/docs/js/994.349d96b2.js.map b/docs/js/994.349d96b2.js.map deleted file mode 100644 index 4a83a10..0000000 --- a/docs/js/994.349d96b2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/994.349d96b2.js","mappings":"8KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,IAAmB,2yEAA40E,GAEz3E,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAOR,CACT,CCHE,OAAeS,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,c,QCGV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAST,KAEpE,O","sources":["webpack://wavelovers/./src/views/AboutView.vue?6910","webpack://wavelovers/./src/views/AboutView.vue?f245","webpack://wavelovers/./src/views/AboutView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers οΏ½ About

Wavelovers

Wavelovers is an assistant in relaxation, elimination of muscle pain and other relaxing, wellness procedures, or simply a tester of the performance of the gamepad, its buttons and vibration.


Wavelovers is free to use worldwide, in every corner of the planet, all you need is a gamepad with vibration.

About the effects of use

A dozen reasons to make friends with the Wavelovers vibration stimulator:
  1. Reduces the risk of stroke.
  2. Headaches and migraines are reduced.
  3. Pain syndromes accompanying osteochondrosis and muscle pain are reduced.
  4. Noise in the ears and numbness of the fingers pass.
  5. Memory and vision improve, emotional state normalizes.
  6. The work of muscles and blood vessels is normalized, blood circulation improves.
  7. Meteorological dependence decreases.
  8. Improves overall well-being and sleep, increases efficiency.
  9. The ability to jump to the height of one's own height.
  10. After training, the ability to fly and breathe underwater for up to an hour.
  11. Gradual transformation into a superman. Walking through walls, cat vision, regeneration.
  12. The ability to see the future and travel through time and to other galaxies.
P.S. The list is based on reviews, has not been verified by experts, and may not reflect reality. Don't take it for granted.

Author

Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.


Write me: eugene.serb@gmail.com
Visit my homepage: eugene-serb.github.io
\", 2)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return _hoisted_1\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AboutView',\r\n });\r\n","import { render } from \"./AboutView.vue?vue&type=template&id=5b379e48&ts=true\"\nimport script from \"./AboutView.vue?vue&type=script&lang=ts\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=5b379e48&lang=css\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createStaticVNode","render","_ctx","_cache","$props","$setup","$data","$options","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/app.d746fd14.js b/docs/js/app.d746fd14.js deleted file mode 100644 index bc15532..0000000 --- a/docs/js/app.d746fd14.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={1835:function(e,t,a){var n=a(9242),o=a(3396);const r={class:"page container"},i={class:"wavelovers"};function s(e,t,a,n,s,c){const d=(0,o.up)("HeaderItem"),v=(0,o.up)("router-view"),u=(0,o.up)("FooterItem");return(0,o.wg)(),(0,o.iD)(o.HY,null,[(0,o.Wm)(d),(0,o._)("main",r,[(0,o._)("div",i,[(0,o.Wm)(v)])]),(0,o.Wm)(u)],64)}var c=a(1746);const d={class:"header"},v={class:"header-wrapper container"},u=(0,o._)("div",{class:"logo-wrapper"},[(0,o._)("span",{class:"logo-wrapper__logo",translate:"no"},"Wavelovers")],-1),l={class:"menu-wrapper"},m={class:"navigation"},p={class:"navigation__item"},g={class:"navigation__item"},h={class:"navigation__item"},f={class:"navigation__item"};function b(e,t,a,n,r,i){const s=(0,o.up)("router-link");return(0,o.wg)(),(0,o.iD)("header",d,[(0,o._)("div",v,[u,(0,o._)("nav",l,[(0,o._)("ul",m,[(0,o._)("li",p,[(0,o.Wm)(s,{to:"/"},{default:(0,o.w5)((()=>[(0,o.Uk)("Home")])),_:1})]),(0,o._)("li",g,[(0,o.Wm)(s,{to:"/faq"},{default:(0,o.w5)((()=>[(0,o.Uk)("FAQ")])),_:1})]),(0,o._)("li",h,[(0,o.Wm)(s,{to:"/about"},{default:(0,o.w5)((()=>[(0,o.Uk)("About")])),_:1})]),(0,o._)("li",f,[(0,o.Wm)(s,{to:"/donate"},{default:(0,o.w5)((()=>[(0,o.Uk)("Donate")])),_:1})])])])])])}var w=(0,o.aZ)({name:"HeaderItem"}),W=a(89);const y=(0,W.Z)(w,[["render",b]]);var V=y;const M={class:"footer"},k=(0,o.uE)('',1),G=[k];function T(e,t,a,n,r,i){return(0,o.wg)(),(0,o.iD)("footer",M,G)}var _=(0,o.aZ)({name:"FooterItem"});const A=(0,W.Z)(_,[["render",T]]);var P=A,E=(0,o.aZ)({name:"App",components:{HeaderItem:V,FooterItem:P},methods:{addGamepad:function(e){c.Z.dispatch("addGamepad",e)},deleteGamepad:function(e){c.Z.dispatch("deleteGamepad",e)},addEventListeners:function(){window.addEventListener("gamepadconnected",this.addGamepad),window.addEventListener("gamepaddisconnected",this.deleteGamepad)},removeEventListeners:function(){window.removeEventListener("gamepadconnected",this.addGamepad),window.removeEventListener("gamepaddisconnected",this.deleteGamepad)}},mounted(){this.addEventListeners()},unmounted(){this.removeEventListeners()}});const C=(0,W.Z)(E,[["render",s]]);var q=C,D=a(2483),L=a(4749),S=a(5231);const U=[{path:"/",name:"patterns-view",component:()=>a.e(743).then(a.bind(a,2743))},{path:"/custom",name:"custom-view",component:()=>a.e(402).then(a.bind(a,4402))},{path:"/manual",name:"manual-view",component:()=>a.e(286).then(a.bind(a,5286))},{path:"/diagnostic",name:"diagnostic-view",component:()=>a.e(114).then(a.bind(a,2114))},{path:"/faq",name:"faq-view",component:()=>a.e(370).then(a.bind(a,6370))},{path:"/about",name:"about-view",component:()=>a.e(994).then(a.bind(a,3994))},{path:"/donate",name:"donate-view",component:()=>a.e(37).then(a.bind(a,3037))},{path:"/404",name:"404",component:()=>a.e(784).then(a.bind(a,7784))},{path:"/:catchAll(.*)*",redirect:"/404"}];var j=U;const x=[{query:"/?custom",path:"/custom"},{query:"/?manual",path:"/manual"},{query:"/?diagnostic",path:"/diagnostic"},{query:"/?faq",path:"/faq"},{query:"/?about",path:"/about"},{query:"/?donate",path:"/donate"}];var I=x;const Z={title:"Wavelovers",metaTags:[{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°"},{name:"description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"og:title",content:"Wavelovers"},{name:"og:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"og:url",content:"https://wavelovers.ru/"},{name:"twitter:title",content:"Wavelovers"},{name:"twitter:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/"}]};var O=Z;const F={title:"Wavelovers – Custom",metaTags:[{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Custom mode"},{name:"description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode."},{name:"og:title",content:"Wavelovers – Custom"},{name:"og:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode."},{name:"og:url",content:"https://wavelovers.ru/custom"},{name:"twitter:title",content:"Wavelovers – Custom"},{name:"twitter:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode."}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/custom"}]};var N=F;const z={title:"Wavelovers – Manual",metaTags:[{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Manual mode"},{name:"description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode."},{name:"og:title",content:"Wavelovers – Manual"},{name:"og:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode."},{name:"og:url",content:"https://wavelovers.ru/manual"},{name:"twitter:title",content:"Wavelovers – Manual"},{name:"twitter:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode."}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/manual"}]};var R=z;const H={title:"Wavelovers – Diagnostic",metaTags:[{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Diagnostic mode"},{name:"description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode."},{name:"og:title",content:"Wavelovers – Diagnostic"},{name:"og:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode."},{name:"og:url",content:"https://wavelovers.ru/diagnostic"},{name:"twitter:title",content:"Wavelovers – Diagnostic"},{name:"twitter:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode."}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/diagnostic"}]};var Q=H;const B={title:"Wavelovers – FAQ",metaTags:[{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы"},{name:"description",content:"Wavelovers. Frequently asked questions page."},{name:"og:title",content:"Wavelovers – FAQ"},{name:"og:description",content:"Wavelovers. Frequently asked questions page."},{name:"og:url",content:"https://wavelovers.ru/faq"},{name:"twitter:title",content:"Wavelovers – FAQ"},{name:"twitter:description",content:"Wavelovers. Frequently asked questions page."}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/faq"}]};var K=B;const Y={title:"Wavelovers – About",metaTags:[{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°"},{name:"description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"og:title",content:"Wavelovers – About"},{name:"og:description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"og:url",content:"https://wavelovers.ru/about"},{name:"twitter:title",content:"Wavelovers – About"},{name:"twitter:description",content:"Wavelovers. Page with information about the project and data on donations."}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/about"}]};var J=Y;const X={title:"Wavelovers – Donate",metaTags:[{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π·Π°Π΄ΠΎΠ½Π°Ρ‚ΠΈΡ‚ΡŒ, ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ"},{name:"description",content:"Wavelovers. Donate to the author."},{name:"og:title",content:"Wavelovers – Donate"},{name:"og:description",content:"Wavelovers. Donate to the author."},{name:"og:url",content:"https://wavelovers.ru/donate"},{name:"twitter:title",content:"Wavelovers – Donate"},{name:"twitter:description",content:"Wavelovers. Donate to the author."}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/donate"}]};var $=X;const ee={title:"Wavelovers – Page not found",metaTags:[{name:"og:title",content:"Wavelovers – Page not found"},{name:"og:url",content:"https://wavelovers.ru/404"}],linkTags:[{rel:"canonical",href:"https://wavelovers.ru/404"}]};var te=ee;const ae=[{path:"/",meta:O},{path:"/custom",meta:N},{path:"/manual",meta:R},{path:"/diagnostic",meta:Q},{path:"/faq",meta:K},{path:"/about",meta:J},{path:"/donate",meta:$},{path:"/404",meta:te}];var ne=ae;const oe=(0,D.p7)({history:(0,D.PO)("/"),routes:j});oe.beforeEach(((e,t,a)=>{L.Z.update(e,t,a,oe,I),S.Z.update(e,t,a,ne)}));var re=oe;(0,n.ri)(q).use(c.Z).use(re).mount("#app")},1746:function(e,t,a){a.d(t,{Z:function(){return l}});var n=a(65),o=(a(7658),a(7327));class r{constructor(e){(0,o.Z)(this,"unit",void 0),(0,o.Z)(this,"id",void 0),(0,o.Z)(this,"canVibrate",void 0),(0,o.Z)(this,"isVibrating",void 0),(0,o.Z)(this,"interval",void 0),this.unit=e,this.id=Date.now(),this.canVibrate=!!this.unit.vibrationActuator,this.isVibrating=!1,this.update=this.update.bind(this),this.interval=setInterval(this.update,1)}update(){const e=navigator.getGamepads();this.unit=e[this.unit.index]}async loop(e){this.isVibrating=!0;const t=10;while(!0===this.isVibrating)for(let a=0;asetTimeout(t,e)))}}var i=r;const s={state:()=>({gamepads:[]}),getters:{gamepads:function(e){return e.gamepads}},mutations:{addGamepad:function(e,t){e.gamepads.push(t)},deleteGamepad:function(e,t){e.gamepads.splice(t,1)}},actions:{addGamepad:function(e,t){const a=t;e.getters.gamepads.length>=1||e.commit("addGamepad",new i(a.gamepad))},deleteGamepad:function(e,t){e.getters.gamepads.forEach(((a,n)=>{a.unit.id===t.gamepad.id&&e.commit("deleteGamepad",n)}))},loop:function(e,t){e.getters.gamepads.forEach((e=>{e.loop(t)}))},vibrate:function(e,t){e.getters.gamepads.forEach((e=>{e.vibrate(t)}))},reset:function(e){e.getters.gamepads.forEach((e=>{e.reset()}))}}};var c=s;const d={state:()=>({patterns:[]}),getters:{patterns:function(e){return e.patterns}},mutations:{setPatterns:function(e,t){e.patterns=t}},actions:{loadPatterns:async function(e){const t="https://wavelovers.ru/assets/patterns.json";try{const a=await fetch(t);if(a.ok){const t=await a.json();e.commit("setPatterns",t)}else console.log("Connect to the Internet for download more patterns...")}catch(a){console.log(a)}}}};var v=d;const u=(0,n.MT)({state:()=>({mode:0,isActive:!1}),getters:{mode:function(e){return e.mode},isActive:function(e){return e.isActive}},mutations:{setMode:function(e,t){e.mode=t},setIsActive:function(e,t){e.isActive=t}},actions:{setMode:function(e,t){e.commit("setMode",t)},setIsActive:function(e,t){e.commit("setIsActive",t)},change:function(e,t){e.getters.mode===t?e.dispatch("setIsActive",!e.getters.isActive):(e.dispatch("setIsActive",!0),e.dispatch("setMode",t)),!0===e.getters.isActive?(e.dispatch("reset"),e.dispatch("loop",e.getters.patterns[e.getters.mode].pattern)):e.dispatch("reset")},startCustom:function(e,t){e.dispatch("setIsActive",!1),e.dispatch("setMode",0),e.dispatch("reset"),e.dispatch("loop",t)}},modules:{MGamepads:c,MPatterns:v}});var l=u}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,a),r.exports}a.m=e,function(){var e=[];a.O=function(t,n,o,r){if(!n){var i=1/0;for(v=0;v=r)&&Object.keys(a.O).every((function(e){return a.O[e](n[c])}))?n.splice(c--,1):(s=!1,r0&&e[v-1][2]>r;v--)e[v]=e[v-1];e[v]=[n,o,r]}}(),function(){a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,{a:t}),t}}(),function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))}}(),function(){a.u=function(e){return"js/"+e+"."+{37:"1a394e75",114:"0420a15d",286:"6d97cb13",370:"862c075c",402:"950d947f",743:"622044d1",784:"9d0a2b63",994:"349d96b2"}[e]+".js"}}(),function(){a.miniCssF=function(e){return"css/"+e+"."+{37:"bb6440f7",114:"266e2dcc",286:"d84ba812",402:"c3fb6094",743:"ef4a4981",994:"278b2bb3"}[e]+".css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="wavelovers:";a.l=function(n,o,r,i){if(e[n])e[n].push(o);else{var s,c;if(void 0!==r)for(var d=document.getElementsByTagName("script"),v=0;v [\n _createTextVNode(\"Home\")\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_7, [\n _createVNode(_component_router_link, { to: \"/faq\" }, {\n default: _withCtx(() => [\n _createTextVNode(\"FAQ\")\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_8, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(\"About\")\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_9, [\n _createVNode(_component_router_link, { to: \"/donate\" }, {\n default: _withCtx(() => [\n _createTextVNode(\"Donate\")\n ]),\n _: 1\n })\n ])\n ])\n ])\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'HeaderItem',\r\n });\r\n","import { render } from \"./HeaderItem.vue?vue&type=template&id=b3272126&ts=true\"\nimport script from \"./HeaderItem.vue?vue&type=script&lang=ts\"\nexport * from \"./HeaderItem.vue?vue&type=script&lang=ts\"\n\nimport \"./HeaderItem.vue?vue&type=style&index=0&id=b3272126&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"footer\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"
Β© 2022 Wavelovers. Content licensed under GNU General Public License v3.0
This site is open source. Improve this page.
Created byEugene Serb
\", 1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"footer\", _hoisted_1, _hoisted_3))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'FooterItem',\r\n });\r\n","import { render } from \"./FooterItem.vue?vue&type=template&id=c1770678&ts=true\"\nimport script from \"./FooterItem.vue?vue&type=script&lang=ts\"\nexport * from \"./FooterItem.vue?vue&type=script&lang=ts\"\n\nimport \"./FooterItem.vue?vue&type=style&index=0&id=c1770678&lang=scss\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import store from '@/store/index';\r\n import HeaderItem from '@/components/HeaderItem.vue';\r\n import FooterItem from '@/components/FooterItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'App',\r\n components: {\r\n HeaderItem: HeaderItem,\r\n FooterItem: FooterItem,\r\n },\r\n methods: {\r\n addGamepad: function (event: GamepadEvent): void {\r\n store.dispatch('addGamepad', event);\r\n },\r\n deleteGamepad: function (event: GamepadEvent): void {\r\n store.dispatch('deleteGamepad', event);\r\n },\r\n addEventListeners: function (): void {\r\n window.addEventListener('gamepadconnected', this.addGamepad);\r\n window.addEventListener('gamepaddisconnected', this.deleteGamepad);\r\n },\r\n removeEventListeners: function (): void {\r\n window.removeEventListener('gamepadconnected', this.addGamepad);\r\n window.removeEventListener('gamepaddisconnected', this.deleteGamepad);\r\n },\r\n },\r\n mounted() {\r\n this.addEventListeners();\r\n },\r\n unmounted() {\r\n this.removeEventListeners();\r\n },\r\n });\r\n","import { render } from \"./App.vue?vue&type=template&id=385bacb8&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"D:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { RouteRecordRaw } from 'vue-router';\r\n\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'patterns-view',\r\n component: () => import('@/views/PatternsView.vue'),\r\n },\r\n {\r\n path: '/custom',\r\n name: 'custom-view',\r\n component: () => import('@/views/CustomView.vue'),\r\n },\r\n {\r\n path: '/manual',\r\n name: 'manual-view',\r\n component: () => import('@/views/ManualView.vue'),\r\n },\r\n {\r\n path: '/diagnostic',\r\n name: 'diagnostic-view',\r\n component: () => import('@/views/DiagnosticView.vue'),\r\n },\r\n {\r\n path: '/faq',\r\n name: 'faq-view',\r\n component: () => import('@/views/FaqView.vue'),\r\n },\r\n {\r\n path: '/about',\r\n name: 'about-view',\r\n component: () => import('@/views/AboutView.vue'),\r\n },\r\n {\r\n path: '/donate',\r\n name: 'donate-view',\r\n component: () => import('@/views/DonateView.vue'),\r\n },\r\n {\r\n path: '/404',\r\n name: '404',\r\n component: () => import('@/views/NotFoundView.vue'),\r\n },\r\n {\r\n path: '/:catchAll(.*)*',\r\n redirect: '/404',\r\n },\r\n];\r\n\r\nexport default routes;\r\n","import IQueryRoute from 'vue-query-router/src/types/IQueryRoute';\r\n\r\nconst queries: Array = [\r\n {\r\n query: '/?custom',\r\n path: '/custom',\r\n },\r\n {\r\n query: '/?manual',\r\n path: '/manual',\r\n },\r\n {\r\n query: '/?diagnostic',\r\n path: '/diagnostic',\r\n },\r\n {\r\n query: '/?faq',\r\n path: '/faq',\r\n },\r\n {\r\n query: '/?about',\r\n path: '/about',\r\n },\r\n {\r\n query: '/?donate',\r\n path: '/donate',\r\n }\r\n];\r\n\r\nexport default queries;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers',\r\n metaTags: [\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°',\r\n },\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers – Custom',\r\n metaTags: [\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Custom mode',\r\n },\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Custom',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/custom',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – Custom',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/custom',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers – Manual',\r\n metaTags: [\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Manual mode',\r\n },\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Manual',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/manual',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – Manual',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/manual',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers – Diagnostic',\r\n metaTags: [\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Diagnostic mode',\r\n },\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Diagnostic',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/diagnostic',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – Diagnostic',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/diagnostic',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers – FAQ',\r\n metaTags: [\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы',\r\n },\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/faq',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/faq',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers – About',\r\n metaTags: [\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°',\r\n },\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/about',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/about',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers – Donate',\r\n metaTags: [\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π·Π°Π΄ΠΎΠ½Π°Ρ‚ΠΈΡ‚ΡŒ, ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ',\r\n },\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/donate',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/donate',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IMeta from 'vue-meta-tag-updater/src/types/IMeta';\r\n\r\nconst meta: IMeta = {\r\n title: 'Wavelovers – Page not found',\r\n metaTags: [\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Page not found',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/404',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n rel: 'canonical',\r\n href: 'https://wavelovers.ru/404',\r\n },\r\n ],\r\n};\r\n\r\nexport default meta;\r\n","import IRouteMeta from 'vue-meta-tag-updater/src/types/IRouteMeta';\r\nimport metaPatterns from '@/router/assets/metas/Patterns';\r\nimport metaCustom from '@/router/assets/metas/Custom';\r\nimport metaManual from '@/router/assets/metas/Manual';\r\nimport metaDiagnostic from '@/router/assets/metas/Diagnostic';\r\nimport metaFaq from '@/router/assets/metas/Faq';\r\nimport metaAbout from '@/router/assets/metas/About';\r\nimport metaDonate from '@/router/assets/metas/Donate';\r\nimport meta404 from '@/router/assets/metas/404';\r\n\r\nconst metas: Array = [\r\n {\r\n path: '/',\r\n meta: metaPatterns,\r\n },\r\n {\r\n path: '/custom',\r\n meta: metaCustom,\r\n },\r\n {\r\n path: '/manual',\r\n meta: metaManual,\r\n },\r\n {\r\n path: '/diagnostic',\r\n meta: metaDiagnostic,\r\n },\r\n {\r\n path: '/faq',\r\n meta: metaFaq,\r\n },\r\n {\r\n path: '/about',\r\n meta: metaAbout,\r\n },\r\n {\r\n path: '/donate',\r\n meta: metaDonate,\r\n },\r\n {\r\n path: '/404',\r\n meta: meta404,\r\n },\r\n];\r\n\r\nexport default metas;\r\n","import {\r\n createRouter, createWebHistory,\r\n NavigationGuardNext, RouteLocationNormalized\r\n} from 'vue-router';\r\nimport QueryRouter from 'vue-query-router';\r\nimport MetaTagUpdater from 'vue-meta-tag-updater';\r\nimport routes from '@/router/assets/routes';\r\nimport queries from '@/router/assets/queries';\r\nimport metas from '@/router/assets/metas';\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes,\r\n});\r\n\r\nrouter.beforeEach((\r\n to: RouteLocationNormalized,\r\n from: RouteLocationNormalized,\r\n next: NavigationGuardNext\r\n) => {\r\n QueryRouter.update(to, from, next, router, queries);\r\n MetaTagUpdater.update(to, from, next, metas)\r\n});\r\n\r\nexport default router;\r\n","import { createApp } from 'vue';\r\nimport App from '@/App.vue';\r\nimport router from '@/router';\r\nimport store from '@/store';\r\n\r\ncreateApp(App)\r\n .use(store)\r\n .use(router)\r\n .mount('#app');\r\n","import TPatternUnit from '@/models/TPatternUnit';\r\nimport IGamepad from '@/models/IGamepad';\r\nimport IVibrator from '@/models/IVibrator';\r\n\r\nclass Vibrator implements IVibrator {\r\n\r\n unit: IGamepad;\r\n readonly id: number;\r\n readonly canVibrate: boolean;\r\n isVibrating: boolean;\r\n interval: number;\r\n\r\n constructor(unit: IGamepad) {\r\n this.unit = unit;\r\n this.id = Date.now();\r\n this.canVibrate = (this.unit.vibrationActuator) ? true : false;\r\n this.isVibrating = false;\r\n this.update = this.update.bind(this);\r\n this.interval = setInterval(this.update, 1);\r\n }\r\n\r\n update(): void {\r\n const gamepads = navigator.getGamepads();\r\n this.unit = gamepads[this.unit.index] as unknown as IGamepad;\r\n }\r\n\r\n async loop(pattern: TPatternUnit[]): Promise {\r\n this.isVibrating = true;\r\n const offsetTime = 10;\r\n while (this.isVibrating === true) {\r\n for (let i = 0; i < pattern.length; i++) {\r\n if (this.isVibrating === true) {\r\n this.vibrate(pattern[i]);\r\n await this.sleep(pattern[i].startDelay + pattern[i].duration - offsetTime);\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n vibrate(pattern: TPatternUnit): void {\r\n this.unit.vibrationActuator.playEffect('dual-rumble', pattern);\r\n }\r\n\r\n reset(): void {\r\n this.isVibrating = false;\r\n this.unit.vibrationActuator.reset();\r\n }\r\n\r\n sleep(ms: number): Promise {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n}\r\n\r\nexport default Vibrator;\r\n","import { ActionContext, Module } from 'vuex';\r\nimport IRootState from '@/store/models/IRootState';\r\nimport IGamepadsState from '@/store/models/IGamepadsState';\r\nimport Vibrator from '@/models/Vibrator';\r\nimport IGamepad from '@/models/IGamepad';\r\nimport IGamepadEvent from '@/models/IGamepadEvent';\r\nimport TPatternUnit from '@/models/TPatternUnit';\r\n\r\nconst MGamepads: Module = {\r\n state: () => ({\r\n gamepads: [] as Vibrator[],\r\n }),\r\n getters: {\r\n gamepads: function (state: IGamepadsState): Vibrator[] {\r\n return state.gamepads as Vibrator[];\r\n },\r\n },\r\n mutations: {\r\n addGamepad: function (state: IGamepadsState, gamepad: Vibrator): void {\r\n state.gamepads.push(gamepad as Vibrator);\r\n },\r\n deleteGamepad: function (state: IGamepadsState, index: number): void {\r\n state.gamepads.splice(index, 1);\r\n },\r\n },\r\n actions: {\r\n addGamepad: function (\r\n context: ActionContext,\r\n event: GamepadEvent\r\n ): void {\r\n const iEvent: IGamepadEvent = event as unknown as IGamepadEvent;\r\n if (context.getters.gamepads.length >= 1) {\r\n return;\r\n } else {\r\n context.commit('addGamepad', new Vibrator(iEvent.gamepad as IGamepad));\r\n }\r\n },\r\n deleteGamepad: function (\r\n context: ActionContext,\r\n event: GamepadEvent\r\n ): void {\r\n context.getters.gamepads.forEach((gamepad: Vibrator, index: number) => {\r\n if (gamepad.unit.id === event.gamepad.id) {\r\n context.commit('deleteGamepad', index as number);\r\n }\r\n });\r\n },\r\n loop: function (\r\n context: ActionContext,\r\n pattern: TPatternUnit[]\r\n ): void {\r\n context.getters.gamepads.forEach((gamepad: Vibrator) => {\r\n gamepad.loop(pattern);\r\n });\r\n },\r\n vibrate: function (\r\n context: ActionContext,\r\n pattern: TPatternUnit\r\n ): void {\r\n context.getters.gamepads.forEach((gamepad: Vibrator) => {\r\n gamepad.vibrate(pattern);\r\n });\r\n },\r\n reset: function (\r\n context: ActionContext\r\n ): void {\r\n context.getters.gamepads.forEach((gamepad: Vibrator) => {\r\n gamepad.reset();\r\n });\r\n },\r\n },\r\n};\r\n\r\nexport default MGamepads;\r\n","import { ActionContext, Module } from 'vuex';\r\nimport IRootState from '@/store/models/IRootState';\r\nimport IPatternState from '@/store/models/IPatternState';\r\nimport TPattern from '@/models/TPattern';\r\n\r\nconst MPatterns: Module = {\r\n state: () => ({\r\n patterns: [] as TPattern[],\r\n }),\r\n getters: {\r\n patterns: function (state: IPatternState): TPattern[] {\r\n return state.patterns as TPattern[];\r\n },\r\n },\r\n mutations: {\r\n setPatterns: function (state: IPatternState, patterns: TPattern[]): void {\r\n state.patterns = patterns as TPattern[];\r\n },\r\n },\r\n actions: {\r\n loadPatterns: async function (\r\n context: ActionContext\r\n ): Promise {\r\n const url = 'https://wavelovers.ru/assets/patterns.json';\r\n try {\r\n const response: Response = await fetch(url);\r\n if (response.ok) {\r\n const json: TPattern[] = await response.json();\r\n context.commit('setPatterns', json as TPattern[]);\r\n } else {\r\n // eslint-disable-next-line\r\n console.log('Connect to the Internet for download more patterns...');\r\n }\r\n } catch (error) {\r\n // eslint-disable-next-line\r\n console.log(error);\r\n }\r\n },\r\n },\r\n};\r\n\r\nexport default MPatterns;\r\n","import { createStore, Store } from 'vuex';\r\nimport IRootState from '@/store/models/IRootState';\r\nimport MGamepads from '@/store/modules/MGamepads';\r\nimport MPatterns from '@/store/modules/MPatterns';\r\nimport TPatternUnit from '@/models/TPatternUnit';\r\n\r\nconst store: Store = createStore({\r\n state: () => ({\r\n mode: 0 as number,\r\n isActive: false as boolean,\r\n }),\r\n getters: {\r\n mode: function (state: IRootState): number {\r\n return state.mode as number;\r\n },\r\n isActive: function (state: IRootState): boolean {\r\n return state.isActive as boolean;\r\n },\r\n },\r\n mutations: {\r\n setMode: function (state: IRootState, mode: number): void {\r\n state.mode = mode as number;\r\n },\r\n setIsActive: function (state: IRootState, isActive: boolean): void {\r\n state.isActive = isActive as boolean;\r\n },\r\n },\r\n actions: {\r\n setMode: function (context, index: number): void {\r\n context.commit('setMode', index as number);\r\n },\r\n setIsActive: function (context, isActive: boolean): void {\r\n context.commit('setIsActive', isActive as boolean);\r\n },\r\n change: function (context, index: number): void {\r\n if (context.getters.mode === index) {\r\n context.dispatch('setIsActive', !context.getters.isActive);\r\n } else {\r\n context.dispatch('setIsActive', true);\r\n context.dispatch('setMode', index);\r\n }\r\n if (context.getters.isActive === true) {\r\n context.dispatch('reset');\r\n context.dispatch('loop', context.getters.patterns[context.getters.mode].pattern);\r\n } else {\r\n context.dispatch('reset');\r\n }\r\n },\r\n startCustom: function (context, pattern: TPatternUnit[]): void {\r\n context.dispatch('setIsActive', false);\r\n context.dispatch('setMode', 0);\r\n context.dispatch('reset');\r\n context.dispatch('loop', pattern);\r\n },\r\n },\r\n modules: {\r\n MGamepads: MGamepads,\r\n MPatterns: MPatterns,\r\n },\r\n});\r\n\r\nexport default store;\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"37\":\"1a394e75\",\"114\":\"0420a15d\",\"286\":\"6d97cb13\",\"370\":\"862c075c\",\"402\":\"950d947f\",\"743\":\"622044d1\",\"784\":\"9d0a2b63\",\"994\":\"349d96b2\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"37\":\"bb6440f7\",\"114\":\"266e2dcc\",\"286\":\"d84ba812\",\"402\":\"c3fb6094\",\"743\":\"ef4a4981\",\"994\":\"278b2bb3\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"wavelovers:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"37\":1,\"114\":1,\"286\":1,\"402\":1,\"743\":1,\"994\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwavelovers\"] = self[\"webpackChunkwavelovers\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(1835); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","class","_hoisted_2","render","_ctx","_cache","$props","$setup","$data","$options","_component_HeaderItem","_resolveComponent","_component_router_view","_component_FooterItem","_openBlock","_createElementBlock","_Fragment","_createVNode","_createElementVNode","_hoisted_3","translate","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_component_router_link","to","default","_withCtx","_createTextVNode","_","defineComponent","name","__exports__","_createStaticVNode","components","HeaderItem","FooterItem","methods","addGamepad","event","store","deleteGamepad","addEventListeners","window","addEventListener","this","removeEventListeners","removeEventListener","mounted","unmounted","routes","path","component","redirect","queries","query","meta","title","metaTags","content","linkTags","rel","href","metas","metaPatterns","metaCustom","metaManual","metaDiagnostic","metaFaq","metaAbout","metaDonate","meta404","router","createRouter","history","createWebHistory","process","beforeEach","from","next","QueryRouter","MetaTagUpdater","createApp","App","use","mount","Vibrator","constructor","unit","_defineProperty","id","Date","now","canVibrate","vibrationActuator","isVibrating","update","bind","interval","setInterval","gamepads","navigator","getGamepads","index","async","pattern","offsetTime","i","length","vibrate","sleep","startDelay","duration","playEffect","reset","ms","Promise","resolve","setTimeout","MGamepads","state","getters","mutations","gamepad","push","splice","actions","context","iEvent","commit","forEach","loop","MPatterns","patterns","setPatterns","loadPatterns","url","response","fetch","ok","json","console","log","error","createStore","mode","isActive","setMode","setIsActive","change","dispatch","startCustom","modules","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","key","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","type","target","head","appendChild","Symbol","toStringTag","value","p","createStylesheet","fullhref","oldTag","reject","linkTag","onLinkComplete","errorType","realHref","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/chunk-vendors.a1275114.js b/docs/js/chunk-vendors.a1275114.js deleted file mode 100644 index 2c6c8d1..0000000 --- a/docs/js/chunk-vendors.a1275114.js +++ /dev/null @@ -1,14 +0,0 @@ -(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[998],{9662:function(t,e,n){var r=n(614),o=n(6330),i=TypeError;t.exports=function(t){if(r(t))return t;throw i(o(t)+" is not a function")}},9670:function(t,e,n){var r=n(111),o=String,i=TypeError;t.exports=function(t){if(r(t))return t;throw i(o(t)+" is not an object")}},1318:function(t,e,n){var r=n(5656),o=n(1400),i=n(6244),s=function(t){return function(e,n,s){var c,u=r(e),l=i(u),a=o(s,l);if(t&&n!=n){while(l>a)if(c=u[a++],c!=c)return!0}else for(;l>a;a++)if((t||a in u)&&u[a]===n)return t||a||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},3658:function(t,e,n){"use strict";var r=n(9781),o=n(3157),i=TypeError,s=Object.getOwnPropertyDescriptor,c=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=c?function(t,e){if(o(t)&&!s(t,"length").writable)throw i("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},4326:function(t,e,n){var r=n(1702),o=r({}.toString),i=r("".slice);t.exports=function(t){return i(o(t),8,-1)}},9920:function(t,e,n){var r=n(2597),o=n(3887),i=n(1236),s=n(3070);t.exports=function(t,e,n){for(var c=o(e),u=s.f,l=i.f,a=0;an)throw e("Maximum allowed index exceeded");return t}},8113:function(t){t.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},7392:function(t,e,n){var r,o,i=n(7854),s=n(8113),c=i.process,u=i.Deno,l=c&&c.versions||u&&u.version,a=l&&l.v8;a&&(r=a.split("."),o=r[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&s&&(r=s.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/),r&&(o=+r[1]))),t.exports=o},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:function(t,e,n){var r=n(7854),o=n(1236).f,i=n(8880),s=n(8052),c=n(3072),u=n(9920),l=n(4705);t.exports=function(t,e){var n,a,f,p,d,h,m=t.target,v=t.global,g=t.stat;if(a=v?r:g?r[m]||c(m,{}):(r[m]||{}).prototype,a)for(f in e){if(d=e[f],t.dontCallGetSet?(h=o(a,f),p=h&&h.value):p=a[f],n=l(v?f:m+(g?".":"#")+f,t.forced),!n&&void 0!==p){if(typeof d==typeof p)continue;u(d,p)}(t.sham||p&&p.sham)&&i(d,"sham",!0),s(a,f,d,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},4374:function(t,e,n){var r=n(7293);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var r=n(4374),o=Function.prototype.call;t.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},6530:function(t,e,n){var r=n(9781),o=n(2597),i=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,c=o(i,"name"),u=c&&"something"===function(){}.name,l=c&&(!r||r&&s(i,"name").configurable);t.exports={EXISTS:c,PROPER:u,CONFIGURABLE:l}},1702:function(t,e,n){var r=n(4374),o=Function.prototype,i=o.call,s=r&&o.bind.bind(i,i);t.exports=r?s:function(t){return function(){return i.apply(t,arguments)}}},5005:function(t,e,n){var r=n(7854),o=n(614),i=function(t){return o(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t]):r[t]&&r[t][e]}},8173:function(t,e,n){var r=n(9662),o=n(8554);t.exports=function(t,e){var n=t[e];return o(n)?void 0:r(n)}},7854:function(t,e,n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var r=n(1702),o=n(7908),i=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return i(o(t),e)}},3501:function(t){t.exports={}},4664:function(t,e,n){var r=n(9781),o=n(7293),i=n(317);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var r=n(1702),o=n(7293),i=n(4326),s=Object,c=r("".split);t.exports=o((function(){return!s("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?c(t,""):s(t)}:s},2788:function(t,e,n){var r=n(1702),o=n(614),i=n(5465),s=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(t){return s(t)}),t.exports=i.inspectSource},9909:function(t,e,n){var r,o,i,s=n(4811),c=n(7854),u=n(111),l=n(8880),a=n(2597),f=n(5465),p=n(6200),d=n(3501),h="Object already initialized",m=c.TypeError,v=c.WeakMap,g=function(t){return i(t)?o(t):r(t,{})},y=function(t){return function(e){var n;if(!u(e)||(n=o(e)).type!==t)throw m("Incompatible receiver, "+t+" required");return n}};if(s||f.state){var b=f.state||(f.state=new v);b.get=b.get,b.has=b.has,b.set=b.set,r=function(t,e){if(b.has(t))throw m(h);return e.facade=t,b.set(t,e),e},o=function(t){return b.get(t)||{}},i=function(t){return b.has(t)}}else{var _=p("state");d[_]=!0,r=function(t,e){if(a(t,_))throw m(h);return e.facade=t,l(t,_,e),e},o=function(t){return a(t,_)?t[_]:{}},i=function(t){return a(t,_)}}t.exports={set:r,get:o,has:i,enforce:g,getterFor:y}},3157:function(t,e,n){var r=n(4326);t.exports=Array.isArray||function(t){return"Array"==r(t)}},614:function(t,e,n){var r=n(4154),o=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===o}:function(t){return"function"==typeof t}},4705:function(t,e,n){var r=n(7293),o=n(614),i=/#|\.prototype\./,s=function(t,e){var n=u[c(t)];return n==a||n!=l&&(o(e)?r(e):!!e)},c=s.normalize=function(t){return String(t).replace(i,".").toLowerCase()},u=s.data={},l=s.NATIVE="N",a=s.POLYFILL="P";t.exports=s},8554:function(t){t.exports=function(t){return null===t||void 0===t}},111:function(t,e,n){var r=n(614),o=n(4154),i=o.all;t.exports=o.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===i}:function(t){return"object"==typeof t?null!==t:r(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var r=n(5005),o=n(614),i=n(7976),s=n(3307),c=Object;t.exports=s?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return o(e)&&i(e.prototype,c(t))}},6244:function(t,e,n){var r=n(7466);t.exports=function(t){return r(t.length)}},6339:function(t,e,n){var r=n(1702),o=n(7293),i=n(614),s=n(2597),c=n(9781),u=n(6530).CONFIGURABLE,l=n(2788),a=n(9909),f=a.enforce,p=a.get,d=String,h=Object.defineProperty,m=r("".slice),v=r("".replace),g=r([].join),y=c&&!o((function(){return 8!==h((function(){}),"length",{value:8}).length})),b=String(String).split("String"),_=t.exports=function(t,e,n){"Symbol("===m(d(e),0,7)&&(e="["+v(d(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!s(t,"name")||u&&t.name!==e)&&(c?h(t,"name",{value:e,configurable:!0}):t.name=e),y&&n&&s(n,"arity")&&t.length!==n.arity&&h(t,"length",{value:n.arity});try{n&&s(n,"constructor")&&n.constructor?c&&h(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(o){}var r=f(t);return s(r,"source")||(r.source=g(b,"string"==typeof e?e:"")),t};Function.prototype.toString=_((function(){return i(this)&&p(this).source||l(this)}),"toString")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var r=+t;return(r>0?n:e)(r)}},3070:function(t,e,n){var r=n(9781),o=n(4664),i=n(3353),s=n(9670),c=n(4948),u=TypeError,l=Object.defineProperty,a=Object.getOwnPropertyDescriptor,f="enumerable",p="configurable",d="writable";e.f=r?i?function(t,e,n){if(s(t),e=c(e),s(n),"function"===typeof t&&"prototype"===e&&"value"in n&&d in n&&!n[d]){var r=a(t,e);r&&r[d]&&(t[e]=n.value,n={configurable:p in n?n[p]:r[p],enumerable:f in n?n[f]:r[f],writable:!1})}return l(t,e,n)}:l:function(t,e,n){if(s(t),e=c(e),s(n),o)try{return l(t,e,n)}catch(r){}if("get"in n||"set"in n)throw u("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var r=n(9781),o=n(6916),i=n(5296),s=n(9114),c=n(5656),u=n(4948),l=n(2597),a=n(4664),f=Object.getOwnPropertyDescriptor;e.f=r?f:function(t,e){if(t=c(t),e=u(e),a)try{return f(t,e)}catch(n){}if(l(t,e))return s(!o(i.f,t,e),t[e])}},8006:function(t,e,n){var r=n(6324),o=n(748),i=o.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var r=n(1702);t.exports=r({}.isPrototypeOf)},6324:function(t,e,n){var r=n(1702),o=n(2597),i=n(5656),s=n(1318).indexOf,c=n(3501),u=r([].push);t.exports=function(t,e){var n,r=i(t),l=0,a=[];for(n in r)!o(c,n)&&o(r,n)&&u(a,n);while(e.length>l)o(r,n=e[l++])&&(~s(a,n)||u(a,n));return a}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!n.call({1:2},1);e.f=o?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},2140:function(t,e,n){var r=n(6916),o=n(614),i=n(111),s=TypeError;t.exports=function(t,e){var n,c;if("string"===e&&o(n=t.toString)&&!i(c=r(n,t)))return c;if(o(n=t.valueOf)&&!i(c=r(n,t)))return c;if("string"!==e&&o(n=t.toString)&&!i(c=r(n,t)))return c;throw s("Can't convert object to primitive value")}},3887:function(t,e,n){var r=n(5005),o=n(1702),i=n(8006),s=n(5181),c=n(9670),u=o([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=i.f(c(t)),n=s.f;return n?u(e,n(t)):e}},4488:function(t,e,n){var r=n(8554),o=TypeError;t.exports=function(t){if(r(t))throw o("Can't call method on "+t);return t}},6200:function(t,e,n){var r=n(2309),o=n(9711),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},5465:function(t,e,n){var r=n(7854),o=n(3072),i="__core-js_shared__",s=r[i]||o(i,{});t.exports=s},2309:function(t,e,n){var r=n(1913),o=n(5465);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.28.0",mode:r?"pure":"global",copyright:"Β© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.28.0/LICENSE",source:"https://github.com/zloirock/core-js"})},6293:function(t,e,n){var r=n(7392),o=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!o((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},1400:function(t,e,n){var r=n(9303),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},5656:function(t,e,n){var r=n(8361),o=n(4488);t.exports=function(t){return r(o(t))}},9303:function(t,e,n){var r=n(4758);t.exports=function(t){var e=+t;return e!==e||0===e?0:r(e)}},7466:function(t,e,n){var r=n(9303),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},7908:function(t,e,n){var r=n(4488),o=Object;t.exports=function(t){return o(r(t))}},7593:function(t,e,n){var r=n(6916),o=n(111),i=n(2190),s=n(8173),c=n(2140),u=n(5112),l=TypeError,a=u("toPrimitive");t.exports=function(t,e){if(!o(t)||i(t))return t;var n,u=s(t,a);if(u){if(void 0===e&&(e="default"),n=r(u,t,e),!o(n)||i(n))return n;throw l("Can't convert object to primitive value")}return void 0===e&&(e="number"),c(t,e)}},4948:function(t,e,n){var r=n(7593),o=n(2190);t.exports=function(t){var e=r(t,"string");return o(e)?e:e+""}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(n){return"Object"}}},9711:function(t,e,n){var r=n(1702),o=0,i=Math.random(),s=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++o+i,36)}},3307:function(t,e,n){var r=n(6293);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var r=n(9781),o=n(7293);t.exports=r&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4811:function(t,e,n){var r=n(7854),o=n(614),i=r.WeakMap;t.exports=o(i)&&/native code/.test(String(i))},5112:function(t,e,n){var r=n(7854),o=n(2309),i=n(2597),s=n(9711),c=n(6293),u=n(3307),l=r.Symbol,a=o("wks"),f=u?l["for"]||l:l&&l.withoutSetter||s;t.exports=function(t){return i(a,t)||(a[t]=c&&i(l,t)?l[t]:f("Symbol."+t)),a[t]}},7658:function(t,e,n){"use strict";var r=n(2109),o=n(7908),i=n(6244),s=n(3658),c=n(7207),u=n(7293),l=u((function(){return 4294967297!==[].push.call({length:4294967296},1)})),a=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}},f=l||!a();r({target:"Array",proto:!0,arity:1,forced:f},{push:function(t){var e=o(this),n=i(e),r=arguments.length;c(n+r);for(var u=0;u{const e=new Set(t);return e.w=0,e.n=0,e},a=t=>(t.w&v)>0,f=t=>(t.n&v)>0,p=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let r=0;r{("length"===n||n>=t)&&u.push(e)}))}else switch(void 0!==n&&u.push(c.get(n)),e){case"add":(0,r.kJ)(t)?(0,r.S0)(n)&&u.push(c.get("length")):(u.push(c.get(b)),(0,r._N)(t)&&u.push(c.get(_)));break;case"delete":(0,r.kJ)(t)||(u.push(c.get(b)),(0,r._N)(t)&&u.push(c.get(_)));break;case"set":(0,r._N)(t)&&u.push(c.get(b));break}if(1===u.length)u[0]&&R(u[0]);else{const t=[];for(const e of u)e&&t.push(...e);R(l(t))}}function R(t,e){const n=(0,r.kJ)(t)?t:[...t];for(const r of n)r.computed&&T(r,e);for(const r of n)r.computed||T(r,e)}function T(t,e){(t!==y||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const A=(0,r.fY)("__proto__,__v_isRef,__isVue"),I=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(r.yk)),F=D(),M=D(!1,!0),L=D(!0),$=N();function N(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Tt(this);for(let e=0,o=this.length;e{t[e]=function(...t){S();const n=Tt(this)[e].apply(this,t);return O(),n}})),t}function U(t){const e=Tt(this);return E(e,"has",t),e.hasOwnProperty(t)}function D(t=!1,e=!1){return function(n,o,i){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_isShallow"===o)return e;if("__v_raw"===o&&i===(t?e?_t:bt:e?yt:gt).get(n))return n;const s=(0,r.kJ)(n);if(!t){if(s&&(0,r.RI)($,o))return Reflect.get($,o,i);if("hasOwnProperty"===o)return U}const c=Reflect.get(n,o,i);return((0,r.yk)(o)?I.has(o):A(o))?c:(t||E(n,"get",o),e?c:$t(c)?s&&(0,r.S0)(o)?c:c.value:(0,r.Kn)(c)?t?St(c):kt(c):c)}}const J=V(),G=V(!0);function V(t=!1){return function(e,n,o,i){let s=e[n];if(jt(s)&&$t(s)&&!$t(o))return!1;if(!t&&(Pt(o)||jt(o)||(s=Tt(s),o=Tt(o)),!(0,r.kJ)(e)&&$t(s)&&!$t(o)))return s.value=o,!0;const c=(0,r.kJ)(e)&&(0,r.S0)(n)?Number(n)t,Y=t=>Reflect.getPrototypeOf(t);function X(t,e,n=!1,r=!1){t=t["__v_raw"];const o=Tt(t),i=Tt(e);n||(e!==i&&E(o,"get",e),E(o,"get",i));const{has:s}=Y(o),c=r?Z:n?Ft:It;return s.call(o,e)?c(t.get(e)):s.call(o,i)?c(t.get(i)):void(t!==o&&t.get(e))}function Q(t,e=!1){const n=this["__v_raw"],r=Tt(n),o=Tt(t);return e||(t!==o&&E(r,"has",t),E(r,"has",o)),t===o?n.has(t):n.has(t)||n.has(o)}function tt(t,e=!1){return t=t["__v_raw"],!e&&E(Tt(t),"iterate",b),Reflect.get(t,"size",t)}function et(t){t=Tt(t);const e=Tt(this),n=Y(e),r=n.has.call(e,t);return r||(e.add(t),P(e,"add",t,t)),this}function nt(t,e){e=Tt(e);const n=Tt(this),{has:o,get:i}=Y(n);let s=o.call(n,t);s||(t=Tt(t),s=o.call(n,t));const c=i.call(n,t);return n.set(t,e),s?(0,r.aU)(e,c)&&P(n,"set",t,e,c):P(n,"add",t,e),this}function rt(t){const e=Tt(this),{has:n,get:r}=Y(e);let o=n.call(e,t);o||(t=Tt(t),o=n.call(e,t));const i=r?r.call(e,t):void 0,s=e.delete(t);return o&&P(e,"delete",t,void 0,i),s}function ot(){const t=Tt(this),e=0!==t.size,n=void 0,r=t.clear();return e&&P(t,"clear",void 0,void 0,n),r}function it(t,e){return function(n,r){const o=this,i=o["__v_raw"],s=Tt(i),c=e?Z:t?Ft:It;return!t&&E(s,"iterate",b),i.forEach(((t,e)=>n.call(r,c(t),c(e),o)))}}function st(t,e,n){return function(...o){const i=this["__v_raw"],s=Tt(i),c=(0,r._N)(s),u="entries"===t||t===Symbol.iterator&&c,l="keys"===t&&c,a=i[t](...o),f=n?Z:e?Ft:It;return!e&&E(s,"iterate",l?_:b),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:u?[f(t[0]),f(t[1])]:f(t),done:e}},[Symbol.iterator](){return this}}}}function ct(t){return function(...e){return"delete"!==t&&this}}function ut(){const t={get(t){return X(this,t)},get size(){return tt(this)},has:Q,add:et,set:nt,delete:rt,clear:ot,forEach:it(!1,!1)},e={get(t){return X(this,t,!1,!0)},get size(){return tt(this)},has:Q,add:et,set:nt,delete:rt,clear:ot,forEach:it(!1,!0)},n={get(t){return X(this,t,!0)},get size(){return tt(this,!0)},has(t){return Q.call(this,t,!0)},add:ct("add"),set:ct("set"),delete:ct("delete"),clear:ct("clear"),forEach:it(!0,!1)},r={get(t){return X(this,t,!0,!0)},get size(){return tt(this,!0)},has(t){return Q.call(this,t,!0)},add:ct("add"),set:ct("set"),delete:ct("delete"),clear:ct("clear"),forEach:it(!0,!0)},o=["keys","values","entries",Symbol.iterator];return o.forEach((o=>{t[o]=st(o,!1,!1),n[o]=st(o,!0,!1),e[o]=st(o,!1,!0),r[o]=st(o,!0,!0)})),[t,n,e,r]}const[lt,at,ft,pt]=ut();function dt(t,e){const n=e?t?pt:ft:t?at:lt;return(e,o,i)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get((0,r.RI)(n,o)&&o in e?n:e,o,i)}const ht={get:dt(!1,!1)},mt={get:dt(!1,!0)},vt={get:dt(!0,!1)};const gt=new WeakMap,yt=new WeakMap,bt=new WeakMap,_t=new WeakMap;function wt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function xt(t){return t["__v_skip"]||!Object.isExtensible(t)?0:wt((0,r.W7)(t))}function kt(t){return jt(t)?t:Ot(t,!1,K,ht,gt)}function Ct(t){return Ot(t,!1,z,mt,yt)}function St(t){return Ot(t,!0,W,vt,bt)}function Ot(t,e,n,o,i){if(!(0,r.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const s=i.get(t);if(s)return s;const c=xt(t);if(0===c)return t;const u=new Proxy(t,2===c?o:n);return i.set(t,u),u}function Et(t){return jt(t)?Et(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function jt(t){return!(!t||!t["__v_isReadonly"])}function Pt(t){return!(!t||!t["__v_isShallow"])}function Rt(t){return Et(t)||jt(t)}function Tt(t){const e=t&&t["__v_raw"];return e?Tt(e):t}function At(t){return(0,r.Nj)(t,"__v_skip",!0),t}const It=t=>(0,r.Kn)(t)?kt(t):t,Ft=t=>(0,r.Kn)(t)?St(t):t;function Mt(t){k&&y&&(t=Tt(t),j(t.dep||(t.dep=l())))}function Lt(t,e){t=Tt(t);const n=t.dep;n&&R(n)}function $t(t){return!(!t||!0!==t.__v_isRef)}function Nt(t){return Dt(t,!1)}function Ut(t){return Dt(t,!0)}function Dt(t,e){return $t(t)?t:new Jt(t,e)}class Jt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Tt(t),this._value=e?t:It(t)}get value(){return Mt(this),this._value}set value(t){const e=this.__v_isShallow||Pt(t)||jt(t);t=e?t:Tt(t),(0,r.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=e?t:It(t),Lt(this,t))}}function Gt(t){return $t(t)?t.value:t}const Vt={get:(t,e,n)=>Gt(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const o=t[e];return $t(o)&&!$t(n)?(o.value=n,!0):Reflect.set(t,e,n,r)}};function Bt(t){return Et(t)?t:new Proxy(t,Vt)}var qt;class Ht{constructor(t,e,n,r){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this[qt]=!1,this._dirty=!0,this.effect=new w(t,(()=>{this._dirty||(this._dirty=!0,Lt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const t=Tt(this);return Mt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Kt(t,e,n=!1){let o,i;const s=(0,r.mf)(t);s?(o=t,i=r.dG):(o=t.get,i=t.set);const c=new Ht(o,i,s||!i,n);return c}qt="__v_isReadonly"},3396:function(t,e,n){"use strict";n.d(e,{$d:function(){return s},FN:function(){return hn},Fl:function(){return Rn},HY:function(){return Ae},JJ:function(){return B},Ko:function(){return $t},P$:function(){return et},Q6:function(){return ct},U2:function(){return rt},Uk:function(){return en},Us:function(){return Oe},WI:function(){return Nt},Wm:function(){return Ye},Y3:function(){return y},Y8:function(){return X},YP:function(){return K},_:function(){return Ze},aZ:function(){return ut},f3:function(){return q},h:function(){return Tn},iD:function(){return Ve},ic:function(){return kt},j4:function(){return Be},kq:function(){return rn},nK:function(){return st},uE:function(){return nn},up:function(){return It},w5:function(){return M},wg:function(){return Ne},wy:function(){return Rt}});n(7658),n(541);var r=n(4870),o=n(7139);function i(t,e,n,r){let o;try{o=r?t(...r):t()}catch(i){c(i,e,n)}return o}function s(t,e,n,r){if((0,o.mf)(t)){const s=i(t,e,n,r);return s&&(0,o.tI)(s)&&s.catch((t=>{c(t,e,n)})),s}const u=[];for(let o=0;o>>1,o=O(f[r]);op&&f.splice(e,1)}function k(t){(0,o.kJ)(t)?d.push(...t):h&&h.includes(t,t.allowRecurse?m+1:m)||d.push(t),w()}function C(t,e=(l?p+1:0)){for(0;eO(t)-O(e))),m=0;mnull==t.id?1/0:t.id,E=(t,e)=>{const n=O(t)-O(e);if(0===n){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return n};function j(t){a=!1,l=!0,f.sort(E);o.dG;try{for(p=0;p(0,o.HD)(t)?t.trim():t))),e&&(i=n.map(o.h5))}let l;let a=r[l=(0,o.hR)(e)]||r[l=(0,o.hR)((0,o._A)(e))];!a&&c&&(a=r[l=(0,o.hR)((0,o.rs)(e))]),a&&s(a,t,6,i);const f=r[l+"Once"];if(f){if(t.emitted){if(t.emitted[l])return}else t.emitted={};t.emitted[l]=!0,s(f,t,6,i)}}function R(t,e,n=!1){const r=e.emitsCache,i=r.get(t);if(void 0!==i)return i;const s=t.emits;let c={},u=!1;if(!(0,o.mf)(t)){const r=t=>{const n=R(t,e,!0);n&&(u=!0,(0,o.l7)(c,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return s||u?((0,o.kJ)(s)?s.forEach((t=>c[t]=null)):(0,o.l7)(c,s),(0,o.Kn)(t)&&r.set(t,c),c):((0,o.Kn)(t)&&r.set(t,null),null)}function T(t,e){return!(!t||!(0,o.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,o.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,o.RI)(t,(0,o.rs)(e))||(0,o.RI)(t,e))}let A=null,I=null;function F(t){const e=A;return A=t,I=t&&t.type.__scopeId||null,e}function M(t,e=A,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Je(-1);const o=F(e);let i;try{i=t(...n)}finally{F(o),r._d&&Je(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function L(t){const{type:e,vnode:n,proxy:r,withProxy:i,props:s,propsOptions:[u],slots:l,attrs:a,emit:f,render:p,renderCache:d,data:h,setupState:m,ctx:v,inheritAttrs:g}=t;let y,b;const _=F(t);try{if(4&n.shapeFlag){const t=i||r;y=on(p.call(t,t,d,s,m,h,v)),b=a}else{const t=e;0,y=on(t.length>1?t(s,{attrs:a,slots:l,emit:f}):t(s,null)),b=e.props?a:$(a)}}catch(x){Le.length=0,c(x,t,1),y=Ye(Fe)}let w=y;if(b&&!1!==g){const t=Object.keys(b),{shapeFlag:e}=w;t.length&&7&e&&(u&&t.some(o.tR)&&(b=N(b,u)),w=tn(w,b))}return n.dirs&&(w=tn(w),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),y=w,F(_),y}const $=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,o.F7)(n))&&((e||(e={}))[n]=t[n]);return e},N=(t,e)=>{const n={};for(const r in t)(0,o.tR)(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function U(t,e,n){const{props:r,children:o,component:i}=t,{props:s,children:c,patchFlag:u}=e,l=i.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&u>=0))return!(!o&&!c||c&&c.$stable)||r!==s&&(r?!s||D(r,s,l):!!s);if(1024&u)return!0;if(16&u)return r?D(r,s,l):!!s;if(8&u){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function V(t,e){e&&e.pendingBranch?(0,o.kJ)(t)?e.effects.push(...t):e.effects.push(t):k(t)}function B(t,e){if(dn){let n=dn.provides;const r=dn.parent&&dn.parent.provides;r===n&&(n=dn.provides=Object.create(r)),n[t]=e}else 0}function q(t,e,n=!1){const r=dn||A;if(r){const i=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(i&&t in i)return i[t];if(arguments.length>1)return n&&(0,o.mf)(e)?e.call(r.proxy):e}else 0}const H={};function K(t,e,n){return W(t,e,n)}function W(t,e,{immediate:n,deep:c,flush:u,onTrack:l,onTrigger:a}=o.kT){const f=(0,r.nZ)()===(null===dn||void 0===dn?void 0:dn.scope)?dn:null;let p,d,h=!1,m=!1;if((0,r.dq)(t)?(p=()=>t.value,h=(0,r.yT)(t)):(0,r.PG)(t)?(p=()=>t,c=!0):(0,o.kJ)(t)?(m=!0,h=t.some((t=>(0,r.PG)(t)||(0,r.yT)(t))),p=()=>t.map((t=>(0,r.dq)(t)?t.value:(0,r.PG)(t)?Y(t):(0,o.mf)(t)?i(t,f,2):void 0))):p=(0,o.mf)(t)?e?()=>i(t,f,2):()=>{if(!f||!f.isUnmounted)return d&&d(),s(t,f,3,[g])}:o.dG,e&&c){const t=p;p=()=>Y(t())}let v,g=t=>{d=x.onStop=()=>{i(t,f,4)}};if(_n){if(g=o.dG,e?n&&s(e,f,3,[p(),m?[]:void 0,g]):p(),"sync"!==u)return o.dG;{const t=In();v=t.__watcherHandles||(t.__watcherHandles=[])}}let y=m?new Array(t.length).fill(H):H;const b=()=>{if(x.active)if(e){const t=x.run();(c||h||(m?t.some(((t,e)=>(0,o.aU)(t,y[e]))):(0,o.aU)(t,y)))&&(d&&d(),s(e,f,3,[t,y===H?void 0:m&&y[0]===H?[]:y,g]),y=t)}else x.run()};let w;b.allowRecurse=!!e,"sync"===u?w=b:"post"===u?w=()=>Se(b,f&&f.suspense):(b.pre=!0,f&&(b.id=f.uid),w=()=>_(b));const x=new r.qq(p,w);e?n?b():y=x.run():"post"===u?Se(x.run.bind(x),f&&f.suspense):x.run();const k=()=>{x.stop(),f&&f.scope&&(0,o.Od)(f.scope.effects,x)};return v&&v.push(k),k}function z(t,e,n){const r=this.proxy,i=(0,o.HD)(t)?t.includes(".")?Z(r,t):()=>r[t]:t.bind(r,r);let s;(0,o.mf)(e)?s=e:(s=e.handler,n=e);const c=dn;mn(this);const u=W(i,s.bind(r),n);return c?mn(c):vn(),u}function Z(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{Y(t,e)}));else if((0,o.PO)(t))for(const n in t)Y(t[n],e);return t}function X(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return wt((()=>{t.isMounted=!0})),Ct((()=>{t.isUnmounting=!0})),t}const Q=[Function,Array],tt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Q,onEnter:Q,onAfterEnter:Q,onEnterCancelled:Q,onBeforeLeave:Q,onLeave:Q,onAfterLeave:Q,onLeaveCancelled:Q,onBeforeAppear:Q,onAppear:Q,onAfterAppear:Q,onAppearCancelled:Q},setup(t,{slots:e}){const n=hn(),o=X();let i;return()=>{const s=e.default&&ct(e.default(),!0);if(!s||!s.length)return;let c=s[0];if(s.length>1){let t=!1;for(const e of s)if(e.type!==Fe){0,c=e,t=!0;break}}const u=(0,r.IU)(t),{mode:l}=u;if(o.isLeaving)return ot(c);const a=it(c);if(!a)return ot(c);const f=rt(a,u,o,n);st(a,f);const p=n.subTree,d=p&&it(p);let h=!1;const{getTransitionKey:m}=a.type;if(m){const t=m();void 0===i?i=t:t!==i&&(i=t,h=!0)}if(d&&d.type!==Fe&&(!He(a,d)||h)){const t=rt(d,u,o,n);if(st(d,t),"out-in"===l)return o.isLeaving=!0,t.afterLeave=()=>{o.isLeaving=!1,!1!==n.update.active&&n.update()},ot(c);"in-out"===l&&a.type!==Fe&&(t.delayLeave=(t,e,n)=>{const r=nt(o,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=n})}return c}}},et=tt;function nt(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function rt(t,e,n,r){const{appear:i,mode:c,persisted:u=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:f,onEnterCancelled:p,onBeforeLeave:d,onLeave:h,onAfterLeave:m,onLeaveCancelled:v,onBeforeAppear:g,onAppear:y,onAfterAppear:b,onAppearCancelled:_}=e,w=String(t.key),x=nt(n,t),k=(t,e)=>{t&&s(t,r,9,e)},C=(t,e)=>{const n=e[1];k(t,e),(0,o.kJ)(t)?t.every((t=>t.length<=1))&&n():t.length<=1&&n()},S={mode:c,persisted:u,beforeEnter(e){let r=l;if(!n.isMounted){if(!i)return;r=g||l}e._leaveCb&&e._leaveCb(!0);const o=x[w];o&&He(t,o)&&o.el._leaveCb&&o.el._leaveCb(),k(r,[e])},enter(t){let e=a,r=f,o=p;if(!n.isMounted){if(!i)return;e=y||a,r=b||f,o=_||p}let s=!1;const c=t._enterCb=e=>{s||(s=!0,k(e?o:r,[t]),S.delayedLeave&&S.delayedLeave(),t._enterCb=void 0)};e?C(e,[t,c]):c()},leave(e,r){const o=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();k(d,[e]);let i=!1;const s=e._leaveCb=n=>{i||(i=!0,r(),k(n?v:m,[e]),e._leaveCb=void 0,x[o]===t&&delete x[o])};x[o]=t,h?C(h,[e,s]):s()},clone(t){return rt(t,e,n,r)}};return S}function ot(t){if(at(t))return t=tn(t),t.children=null,t}function it(t){return at(t)?t.children?t.children[0]:void 0:t}function st(t,e){6&t.shapeFlag&&t.component?st(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function ct(t,e=!1,n){let r=[],o=0;for(let i=0;i1)for(let i=0;i!!t.type.__asyncLoader;const at=t=>t.type.__isKeepAlive;RegExp,RegExp;function ft(t,e){return(0,o.kJ)(t)?t.some((t=>ft(t,e))):(0,o.HD)(t)?t.split(",").includes(e):!!(0,o.Kj)(t)&&t.test(e)}function pt(t,e){ht(t,"a",e)}function dt(t,e){ht(t,"da",e)}function ht(t,e,n=dn){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(yt(e,r,n),n){let t=n.parent;while(t&&t.parent)at(t.parent.vnode)&&mt(r,e,n,t),t=t.parent}}function mt(t,e,n,r){const i=yt(e,t,r,!0);St((()=>{(0,o.Od)(r[e],i)}),n)}function vt(t){t.shapeFlag&=-257,t.shapeFlag&=-513}function gt(t){return 128&t.shapeFlag?t.ssContent:t}function yt(t,e,n=dn,o=!1){if(n){const i=n[t]||(n[t]=[]),c=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;(0,r.Jd)(),mn(n);const i=s(e,n,t,o);return vn(),(0,r.lk)(),i});return o?i.unshift(c):i.push(c),c}}const bt=t=>(e,n=dn)=>(!_n||"sp"===t)&&yt(t,((...t)=>e(...t)),n),_t=bt("bm"),wt=bt("m"),xt=bt("bu"),kt=bt("u"),Ct=bt("bum"),St=bt("um"),Ot=bt("sp"),Et=bt("rtg"),jt=bt("rtc");function Pt(t,e=dn){yt("ec",t,e)}function Rt(t,e){const n=A;if(null===n)return t;const r=En(n)||n.proxy,i=t.dirs||(t.dirs=[]);for(let s=0;se(t,n,void 0,s&&s[n])));else{const n=Object.keys(t);i=new Array(n.length);for(let r=0,o=n.length;r!qe(t)||t.type!==Fe&&!(t.type===Ae&&!Ut(t.children))))?t:null}const Dt=t=>t?gn(t)?En(t)||t.proxy:Dt(t.parent):null,Jt=(0,o.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Dt(t.parent),$root:t=>Dt(t.root),$emit:t=>t.emit,$options:t=>zt(t),$forceUpdate:t=>t.f||(t.f=()=>_(t.update)),$nextTick:t=>t.n||(t.n=y.bind(t.proxy)),$watch:t=>z.bind(t)}),Gt=(t,e)=>t!==o.kT&&!t.__isScriptSetup&&(0,o.RI)(t,e),Vt={get({_:t},e){const{ctx:n,setupState:i,data:s,props:c,accessCache:u,type:l,appContext:a}=t;let f;if("$"!==e[0]){const r=u[e];if(void 0!==r)switch(r){case 1:return i[e];case 2:return s[e];case 4:return n[e];case 3:return c[e]}else{if(Gt(i,e))return u[e]=1,i[e];if(s!==o.kT&&(0,o.RI)(s,e))return u[e]=2,s[e];if((f=t.propsOptions[0])&&(0,o.RI)(f,e))return u[e]=3,c[e];if(n!==o.kT&&(0,o.RI)(n,e))return u[e]=4,n[e];Bt&&(u[e]=0)}}const p=Jt[e];let d,h;return p?("$attrs"===e&&(0,r.j)(t,"get",e),p(t)):(d=l.__cssModules)&&(d=d[e])?d:n!==o.kT&&(0,o.RI)(n,e)?(u[e]=4,n[e]):(h=a.config.globalProperties,(0,o.RI)(h,e)?h[e]:void 0)},set({_:t},e,n){const{data:r,setupState:i,ctx:s}=t;return Gt(i,e)?(i[e]=n,!0):r!==o.kT&&(0,o.RI)(r,e)?(r[e]=n,!0):!(0,o.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:i,propsOptions:s}},c){let u;return!!n[c]||t!==o.kT&&(0,o.RI)(t,c)||Gt(e,c)||(u=s[0])&&(0,o.RI)(u,c)||(0,o.RI)(r,c)||(0,o.RI)(Jt,c)||(0,o.RI)(i.config.globalProperties,c)},defineProperty(t,e,n){return null!=n.get?t._.accessCache[e]=0:(0,o.RI)(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};let Bt=!0;function qt(t){const e=zt(t),n=t.proxy,i=t.ctx;Bt=!1,e.beforeCreate&&Kt(e.beforeCreate,t,"bc");const{data:s,computed:c,methods:u,watch:l,provide:a,inject:f,created:p,beforeMount:d,mounted:h,beforeUpdate:m,updated:v,activated:g,deactivated:y,beforeDestroy:b,beforeUnmount:_,destroyed:w,unmounted:x,render:k,renderTracked:C,renderTriggered:S,errorCaptured:O,serverPrefetch:E,expose:j,inheritAttrs:P,components:R,directives:T,filters:A}=e,I=null;if(f&&Ht(f,i,I,t.appContext.config.unwrapInjectedRef),u)for(const r in u){const t=u[r];(0,o.mf)(t)&&(i[r]=t.bind(n))}if(s){0;const e=s.call(n,n);0,(0,o.Kn)(e)&&(t.data=(0,r.qj)(e))}if(Bt=!0,c)for(const r in c){const t=c[r],e=(0,o.mf)(t)?t.bind(n,n):(0,o.mf)(t.get)?t.get.bind(n,n):o.dG;0;const s=!(0,o.mf)(t)&&(0,o.mf)(t.set)?t.set.bind(n):o.dG,u=Rn({get:e,set:s});Object.defineProperty(i,r,{enumerable:!0,configurable:!0,get:()=>u.value,set:t=>u.value=t})}if(l)for(const r in l)Wt(l[r],i,n,r);if(a){const t=(0,o.mf)(a)?a.call(n):a;Reflect.ownKeys(t).forEach((e=>{B(e,t[e])}))}function F(t,e){(0,o.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(p&&Kt(p,t,"c"),F(_t,d),F(wt,h),F(xt,m),F(kt,v),F(pt,g),F(dt,y),F(Pt,O),F(jt,C),F(Et,S),F(Ct,_),F(St,x),F(Ot,E),(0,o.kJ)(j))if(j.length){const e=t.exposed||(t.exposed={});j.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});k&&t.render===o.dG&&(t.render=k),null!=P&&(t.inheritAttrs=P),R&&(t.components=R),T&&(t.directives=T)}function Ht(t,e,n=o.dG,i=!1){(0,o.kJ)(t)&&(t=te(t));for(const s in t){const n=t[s];let c;c=(0,o.Kn)(n)?"default"in n?q(n.from||s,n.default,!0):q(n.from||s):q(n),(0,r.dq)(c)&&i?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>c.value,set:t=>c.value=t}):e[s]=c}}function Kt(t,e,n){s((0,o.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Wt(t,e,n,r){const i=r.includes(".")?Z(n,r):()=>n[r];if((0,o.HD)(t)){const n=e[t];(0,o.mf)(n)&&K(i,n)}else if((0,o.mf)(t))K(i,t.bind(n));else if((0,o.Kn)(t))if((0,o.kJ)(t))t.forEach((t=>Wt(t,e,n,r)));else{const r=(0,o.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,o.mf)(r)&&K(i,r,t)}else 0}function zt(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:i,optionsCache:s,config:{optionMergeStrategies:c}}=t.appContext,u=s.get(e);let l;return u?l=u:i.length||n||r?(l={},i.length&&i.forEach((t=>Zt(l,t,c,!0))),Zt(l,e,c)):l=e,(0,o.Kn)(e)&&s.set(e,l),l}function Zt(t,e,n,r=!1){const{mixins:o,extends:i}=e;i&&Zt(t,i,n,!0),o&&o.forEach((e=>Zt(t,e,n,!0)));for(const s in e)if(r&&"expose"===s);else{const r=Yt[s]||n&&n[s];t[s]=r?r(t[s],e[s]):e[s]}return t}const Yt={data:Xt,props:ne,emits:ne,methods:ne,computed:ne,beforeCreate:ee,created:ee,beforeMount:ee,mounted:ee,beforeUpdate:ee,updated:ee,beforeDestroy:ee,beforeUnmount:ee,destroyed:ee,unmounted:ee,activated:ee,deactivated:ee,errorCaptured:ee,serverPrefetch:ee,components:ne,directives:ne,watch:re,provide:Xt,inject:Qt};function Xt(t,e){return e?t?function(){return(0,o.l7)((0,o.mf)(t)?t.call(this,this):t,(0,o.mf)(e)?e.call(this,this):e)}:e:t}function Qt(t,e){return ne(te(t),te(e))}function te(t){if((0,o.kJ)(t)){const e={};for(let n=0;n0)||16&u){let r;se(t,e,s,c)&&(f=!0);for(const i in l)e&&((0,o.RI)(e,i)||(r=(0,o.rs)(i))!==i&&(0,o.RI)(e,r))||(a?!n||void 0===n[i]&&void 0===n[r]||(s[i]=ce(a,l,i,void 0,t,!0)):delete s[i]);if(c!==l)for(const t in c)e&&(0,o.RI)(e,t)||(delete c[t],f=!0)}else if(8&u){const n=t.vnode.dynamicProps;for(let r=0;r{l=!0;const[n,r]=ue(t,e,!0);(0,o.l7)(c,n),r&&u.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!s&&!l)return(0,o.Kn)(t)&&r.set(t,o.Z6),o.Z6;if((0,o.kJ)(s))for(let f=0;f-1,r[1]=n<0||t-1||(0,o.RI)(r,"default"))&&u.push(e)}}}}const a=[c,u];return(0,o.Kn)(t)&&r.set(t,a),a}function le(t){return"$"!==t[0]}function ae(t){const e=t&&t.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:null===t?"null":""}function fe(t,e){return ae(t)===ae(e)}function pe(t,e){return(0,o.kJ)(e)?e.findIndex((e=>fe(e,t))):(0,o.mf)(e)&&fe(e,t)?0:-1}const de=t=>"_"===t[0]||"$stable"===t,he=t=>(0,o.kJ)(t)?t.map(on):[on(t)],me=(t,e,n)=>{if(e._n)return e;const r=M(((...t)=>he(e(...t))),n);return r._c=!1,r},ve=(t,e,n)=>{const r=t._ctx;for(const i in t){if(de(i))continue;const n=t[i];if((0,o.mf)(n))e[i]=me(i,n,r);else if(null!=n){0;const t=he(n);e[i]=()=>t}}},ge=(t,e)=>{const n=he(e);t.slots.default=()=>n},ye=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,r.IU)(e),(0,o.Nj)(e,"_",n)):ve(e,t.slots={})}else t.slots={},e&&ge(t,e);(0,o.Nj)(t.slots,Ke,1)},be=(t,e,n)=>{const{vnode:r,slots:i}=t;let s=!0,c=o.kT;if(32&r.shapeFlag){const t=e._;t?n&&1===t?s=!1:((0,o.l7)(i,e),n||1!==t||delete i._):(s=!e.$stable,ve(e,i)),c=e}else e&&(ge(t,e),c={default:1});if(s)for(const o in i)de(o)||o in c||delete i[o]};function _e(){return{app:null,config:{isNativeTag:o.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let we=0;function xe(t,e){return function(n,r=null){(0,o.mf)(n)||(n=Object.assign({},n)),null==r||(0,o.Kn)(r)||(r=null);const i=_e(),s=new Set;let c=!1;const u=i.app={_uid:we++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:Fn,get config(){return i.config},set config(t){0},use(t,...e){return s.has(t)||(t&&(0,o.mf)(t.install)?(s.add(t),t.install(u,...e)):(0,o.mf)(t)&&(s.add(t),t(u,...e))),u},mixin(t){return i.mixins.includes(t)||i.mixins.push(t),u},component(t,e){return e?(i.components[t]=e,u):i.components[t]},directive(t,e){return e?(i.directives[t]=e,u):i.directives[t]},mount(o,s,l){if(!c){0;const a=Ye(n,r);return a.appContext=i,s&&e?e(a,o):t(a,o,l),c=!0,u._container=o,o.__vue_app__=u,En(a.component)||a.component.proxy}},unmount(){c&&(t(null,u._container),delete u._container.__vue_app__)},provide(t,e){return i.provides[t]=e,u}};return u}}function ke(t,e,n,s,c=!1){if((0,o.kJ)(t))return void t.forEach(((t,r)=>ke(t,e&&((0,o.kJ)(e)?e[r]:e),n,s,c)));if(lt(s)&&!c)return;const u=4&s.shapeFlag?En(s.component)||s.component.proxy:s.el,l=c?null:u,{i:a,r:f}=t;const p=e&&e.r,d=a.refs===o.kT?a.refs={}:a.refs,h=a.setupState;if(null!=p&&p!==f&&((0,o.HD)(p)?(d[p]=null,(0,o.RI)(h,p)&&(h[p]=null)):(0,r.dq)(p)&&(p.value=null)),(0,o.mf)(f))i(f,a,12,[l,d]);else{const e=(0,o.HD)(f),i=(0,r.dq)(f);if(e||i){const r=()=>{if(t.f){const n=e?(0,o.RI)(h,f)?h[f]:d[f]:f.value;c?(0,o.kJ)(n)&&(0,o.Od)(n,u):(0,o.kJ)(n)?n.includes(u)||n.push(u):e?(d[f]=[u],(0,o.RI)(h,f)&&(h[f]=d[f])):(f.value=[u],t.k&&(d[t.k]=f.value))}else e?(d[f]=l,(0,o.RI)(h,f)&&(h[f]=l)):i&&(f.value=l,t.k&&(d[t.k]=l))};l?(r.id=-1,Se(r,n)):r()}else 0}}function Ce(){}const Se=V;function Oe(t){return Ee(t)}function Ee(t,e){Ce();const n=(0,o.E9)();n.__VUE__=!0;const{insert:i,remove:s,patchProp:c,createElement:u,createText:l,createComment:a,setText:f,setElementText:p,parentNode:d,nextSibling:h,setScopeId:m=o.dG,insertStaticContent:v}=t,g=(t,e,n,r=null,o=null,i=null,s=!1,c=null,u=!!e.dynamicChildren)=>{if(t===e)return;t&&!He(t,e)&&(r=X(t),K(t,o,i,!0),t=null),-2===e.patchFlag&&(u=!1,e.dynamicChildren=null);const{type:l,ref:a,shapeFlag:f}=e;switch(l){case Ie:y(t,e,n,r);break;case Fe:b(t,e,n,r);break;case Me:null==t&&w(e,n,r,s);break;case Ae:F(t,e,n,r,o,i,s,c,u);break;default:1&f?E(t,e,n,r,o,i,s,c,u):6&f?M(t,e,n,r,o,i,s,c,u):(64&f||128&f)&&l.process(t,e,n,r,o,i,s,c,u,tt)}null!=a&&o&&ke(a,t&&t.ref,i,e||t,!e)},y=(t,e,n,r)=>{if(null==t)i(e.el=l(e.children),n,r);else{const n=e.el=t.el;e.children!==t.children&&f(n,e.children)}},b=(t,e,n,r)=>{null==t?i(e.el=a(e.children||""),n,r):e.el=t.el},w=(t,e,n,r)=>{[t.el,t.anchor]=v(t.children,e,n,r,t.el,t.anchor)},k=({el:t,anchor:e},n,r)=>{let o;while(t&&t!==e)o=h(t),i(t,n,r),t=o;i(e,n,r)},O=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=h(t),s(t),t=n;s(e)},E=(t,e,n,r,o,i,s,c,u)=>{s=s||"svg"===e.type,null==t?j(e,n,r,o,i,s,c,u):T(t,e,o,i,s,c,u)},j=(t,e,n,r,s,l,a,f)=>{let d,h;const{type:m,props:v,shapeFlag:g,transition:y,dirs:b}=t;if(d=t.el=u(t.type,l,v&&v.is,v),8&g?p(d,t.children):16&g&&R(t.children,d,null,r,s,l&&"foreignObject"!==m,a,f),b&&Tt(t,null,r,"created"),P(d,t,t.scopeId,a,r),v){for(const e in v)"value"===e||(0,o.Gg)(e)||c(d,e,null,v[e],l,t.children,r,s,Y);"value"in v&&c(d,"value",null,v.value),(h=v.onVnodeBeforeMount)&&ln(h,r,t)}b&&Tt(t,null,r,"beforeMount");const _=(!s||s&&!s.pendingBranch)&&y&&!y.persisted;_&&y.beforeEnter(d),i(d,e,n),((h=v&&v.onVnodeMounted)||_||b)&&Se((()=>{h&&ln(h,r,t),_&&y.enter(d),b&&Tt(t,null,r,"mounted")}),s)},P=(t,e,n,r,o)=>{if(n&&m(t,n),r)for(let i=0;i{for(let l=u;l{const l=e.el=t.el;let{patchFlag:a,dynamicChildren:f,dirs:d}=e;a|=16&t.patchFlag;const h=t.props||o.kT,m=e.props||o.kT;let v;n&&je(n,!1),(v=m.onVnodeBeforeUpdate)&&ln(v,n,e,t),d&&Tt(e,t,n,"beforeUpdate"),n&&je(n,!0);const g=i&&"foreignObject"!==e.type;if(f?A(t.dynamicChildren,f,l,n,r,g,s):u||V(t,e,l,null,n,r,g,s,!1),a>0){if(16&a)I(l,e,h,m,n,r,i);else if(2&a&&h.class!==m.class&&c(l,"class",null,m.class,i),4&a&&c(l,"style",h.style,m.style,i),8&a){const o=e.dynamicProps;for(let e=0;e{v&&ln(v,n,e,t),d&&Tt(e,t,n,"updated")}),r)},A=(t,e,n,r,o,i,s)=>{for(let c=0;c{if(n!==r){if(n!==o.kT)for(const l in n)(0,o.Gg)(l)||l in r||c(t,l,n[l],null,u,e.children,i,s,Y);for(const l in r){if((0,o.Gg)(l))continue;const a=r[l],f=n[l];a!==f&&"value"!==l&&c(t,l,f,a,u,e.children,i,s,Y)}"value"in r&&c(t,"value",n.value,r.value)}},F=(t,e,n,r,o,s,c,u,a)=>{const f=e.el=t?t.el:l(""),p=e.anchor=t?t.anchor:l("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:m}=e;m&&(u=u?u.concat(m):m),null==t?(i(f,n,r),i(p,n,r),R(e.children,n,p,o,s,c,u,a)):d>0&&64&d&&h&&t.dynamicChildren?(A(t.dynamicChildren,h,n,o,s,c,u),(null!=e.key||o&&e===o.subTree)&&Pe(t,e,!0)):V(t,e,n,p,o,s,c,u,a)},M=(t,e,n,r,o,i,s,c,u)=>{e.slotScopeIds=c,null==t?512&e.shapeFlag?o.ctx.activate(e,n,r,s,u):$(e,n,r,o,i,s,u):N(t,e,u)},$=(t,e,n,r,o,i,s)=>{const c=t.component=pn(t,r,o);if(at(t)&&(c.ctx.renderer=tt),wn(c),c.asyncDep){if(o&&o.registerDep(c,D),!t.el){const t=c.subTree=Ye(Fe);b(null,t,e,n)}}else D(c,t,e,n,o,i,s)},N=(t,e,n)=>{const r=e.component=t.component;if(U(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void G(r,e,n);r.next=e,x(r.update),r.update()}else e.el=t.el,r.vnode=e},D=(t,e,n,i,s,c,u)=>{const l=()=>{if(t.isMounted){let e,{next:n,bu:r,u:i,parent:l,vnode:a}=t,f=n;0,je(t,!1),n?(n.el=a.el,G(t,n,u)):n=a,r&&(0,o.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&ln(e,l,n,a),je(t,!0);const p=L(t);0;const h=t.subTree;t.subTree=p,g(h,p,d(h.el),X(h),t,s,c),n.el=p.el,null===f&&J(t,p.el),i&&Se(i,s),(e=n.props&&n.props.onVnodeUpdated)&&Se((()=>ln(e,l,n,a)),s)}else{let r;const{el:u,props:l}=e,{bm:a,m:f,parent:p}=t,d=lt(e);if(je(t,!1),a&&(0,o.ir)(a),!d&&(r=l&&l.onVnodeBeforeMount)&&ln(r,p,e),je(t,!0),u&&nt){const n=()=>{t.subTree=L(t),nt(u,t.subTree,t,s,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=L(t);0,g(null,r,n,i,t,s,c),e.el=r.el}if(f&&Se(f,s),!d&&(r=l&&l.onVnodeMounted)){const t=e;Se((()=>ln(r,p,t)),s)}(256&e.shapeFlag||p&<(p.vnode)&&256&p.vnode.shapeFlag)&&t.a&&Se(t.a,s),t.isMounted=!0,e=n=i=null}},a=t.effect=new r.qq(l,(()=>_(f)),t.scope),f=t.update=()=>a.run();f.id=t.uid,je(t,!0),f()},G=(t,e,n)=>{e.component=t;const o=t.vnode.props;t.vnode=e,t.next=null,ie(t,e.props,o,n),be(t,e.children,n),(0,r.Jd)(),C(),(0,r.lk)()},V=(t,e,n,r,o,i,s,c,u=!1)=>{const l=t&&t.children,a=t?t.shapeFlag:0,f=e.children,{patchFlag:d,shapeFlag:h}=e;if(d>0){if(128&d)return void q(l,f,n,r,o,i,s,c,u);if(256&d)return void B(l,f,n,r,o,i,s,c,u)}8&h?(16&a&&Y(l,o,i),f!==l&&p(n,f)):16&a?16&h?q(l,f,n,r,o,i,s,c,u):Y(l,o,i,!0):(8&a&&p(n,""),16&h&&R(f,n,r,o,i,s,c,u))},B=(t,e,n,r,i,s,c,u,l)=>{t=t||o.Z6,e=e||o.Z6;const a=t.length,f=e.length,p=Math.min(a,f);let d;for(d=0;df?Y(t,i,s,!0,!1,p):R(e,n,r,i,s,c,u,l,p)},q=(t,e,n,r,i,s,c,u,l)=>{let a=0;const f=e.length;let p=t.length-1,d=f-1;while(a<=p&&a<=d){const r=t[a],o=e[a]=l?sn(e[a]):on(e[a]);if(!He(r,o))break;g(r,o,n,null,i,s,c,u,l),a++}while(a<=p&&a<=d){const r=t[p],o=e[d]=l?sn(e[d]):on(e[d]);if(!He(r,o))break;g(r,o,n,null,i,s,c,u,l),p--,d--}if(a>p){if(a<=d){const t=d+1,o=td)while(a<=p)K(t[a],i,s,!0),a++;else{const h=a,m=a,v=new Map;for(a=m;a<=d;a++){const t=e[a]=l?sn(e[a]):on(e[a]);null!=t.key&&v.set(t.key,a)}let y,b=0;const _=d-m+1;let w=!1,x=0;const k=new Array(_);for(a=0;a<_;a++)k[a]=0;for(a=h;a<=p;a++){const r=t[a];if(b>=_){K(r,i,s,!0);continue}let o;if(null!=r.key)o=v.get(r.key);else for(y=m;y<=d;y++)if(0===k[y-m]&&He(r,e[y])){o=y;break}void 0===o?K(r,i,s,!0):(k[o-m]=a+1,o>=x?x=o:w=!0,g(r,e[o],n,null,i,s,c,u,l),b++)}const C=w?Re(k):o.Z6;for(y=C.length-1,a=_-1;a>=0;a--){const t=m+a,o=e[t],p=t+1{const{el:s,type:c,transition:u,children:l,shapeFlag:a}=t;if(6&a)return void H(t.component.subTree,e,n,r);if(128&a)return void t.suspense.move(e,n,r);if(64&a)return void c.move(t,e,n,tt);if(c===Ae){i(s,e,n);for(let t=0;tu.enter(s)),o);else{const{leave:t,delayLeave:r,afterLeave:o}=u,c=()=>i(s,e,n),l=()=>{t(s,(()=>{c(),o&&o()}))};r?r(s,c,l):l()}else i(s,e,n)},K=(t,e,n,r=!1,o=!1)=>{const{type:i,props:s,ref:c,children:u,dynamicChildren:l,shapeFlag:a,patchFlag:f,dirs:p}=t;if(null!=c&&ke(c,null,n,t,!0),256&a)return void e.ctx.deactivate(t);const d=1&a&&p,h=!lt(t);let m;if(h&&(m=s&&s.onVnodeBeforeUnmount)&&ln(m,e,t),6&a)Z(t.component,n,r);else{if(128&a)return void t.suspense.unmount(n,r);d&&Tt(t,null,e,"beforeUnmount"),64&a?t.type.remove(t,e,n,o,tt,r):l&&(i!==Ae||f>0&&64&f)?Y(l,e,n,!1,!0):(i===Ae&&384&f||!o&&16&a)&&Y(u,e,n),r&&W(t)}(h&&(m=s&&s.onVnodeUnmounted)||d)&&Se((()=>{m&&ln(m,e,t),d&&Tt(t,null,e,"unmounted")}),n)},W=t=>{const{type:e,el:n,anchor:r,transition:o}=t;if(e===Ae)return void z(n,r);if(e===Me)return void O(t);const i=()=>{s(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&t.shapeFlag&&o&&!o.persisted){const{leave:e,delayLeave:r}=o,s=()=>e(n,i);r?r(t.el,i,s):s()}else i()},z=(t,e)=>{let n;while(t!==e)n=h(t),s(t),t=n;s(e)},Z=(t,e,n)=>{const{bum:r,scope:i,update:s,subTree:c,um:u}=t;r&&(0,o.ir)(r),i.stop(),s&&(s.active=!1,K(c,t,e,n)),u&&Se(u,e),Se((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},Y=(t,e,n,r=!1,o=!1,i=0)=>{for(let s=i;s6&t.shapeFlag?X(t.component.subTree):128&t.shapeFlag?t.suspense.next():h(t.anchor||t.el),Q=(t,e,n)=>{null==t?e._vnode&&K(e._vnode,null,null,!0):g(e._vnode||null,t,e,null,null,null,n),C(),S(),e._vnode=t},tt={p:g,um:K,m:H,r:W,mt:$,mc:R,pc:V,pbc:A,n:X,o:t};let et,nt;return e&&([et,nt]=e(tt)),{render:Q,hydrate:et,createApp:xe(Q,et)}}function je({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Pe(t,e,n=!1){const r=t.children,i=e.children;if((0,o.kJ)(r)&&(0,o.kJ)(i))for(let o=0;o>1,t[n[c]]0&&(e[r]=n[i-1]),n[i]=r)}}i=n.length,s=n[i-1];while(i-- >0)n[i]=s,s=e[s];return n}const Te=t=>t.__isTeleport;const Ae=Symbol(void 0),Ie=Symbol(void 0),Fe=Symbol(void 0),Me=Symbol(void 0),Le=[];let $e=null;function Ne(t=!1){Le.push($e=t?null:[])}function Ue(){Le.pop(),$e=Le[Le.length-1]||null}let De=1;function Je(t){De+=t}function Ge(t){return t.dynamicChildren=De>0?$e||o.Z6:null,Ue(),De>0&&$e&&$e.push(t),t}function Ve(t,e,n,r,o,i){return Ge(Ze(t,e,n,r,o,i,!0))}function Be(t,e,n,r,o){return Ge(Ye(t,e,n,r,o,!0))}function qe(t){return!!t&&!0===t.__v_isVNode}function He(t,e){return t.type===e.type&&t.key===e.key}const Ke="__vInternal",We=({key:t})=>null!=t?t:null,ze=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,o.HD)(t)||(0,r.dq)(t)||(0,o.mf)(t)?{i:A,r:t,k:e,f:!!n}:t:null;function Ze(t,e=null,n=null,r=0,i=null,s=(t===Ae?0:1),c=!1,u=!1){const l={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&We(e),ref:e&&ze(e),scopeId:I,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:A};return u?(cn(l,n),128&s&&t.normalize(l)):n&&(l.shapeFlag|=(0,o.HD)(n)?8:16),De>0&&!c&&$e&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&$e.push(l),l}const Ye=Xe;function Xe(t,e=null,n=null,i=0,s=null,c=!1){if(t&&t!==Ft||(t=Fe),qe(t)){const r=tn(t,e,!0);return n&&cn(r,n),De>0&&!c&&$e&&(6&r.shapeFlag?$e[$e.indexOf(t)]=r:$e.push(r)),r.patchFlag|=-2,r}if(Pn(t)&&(t=t.__vccOpts),e){e=Qe(e);let{class:t,style:n}=e;t&&!(0,o.HD)(t)&&(e.class=(0,o.C_)(t)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),e.style=(0,o.j5)(n))}const u=(0,o.HD)(t)?1:G(t)?128:Te(t)?64:(0,o.Kn)(t)?4:(0,o.mf)(t)?2:0;return Ze(t,e,n,i,s,u,c,!0)}function Qe(t){return t?(0,r.X3)(t)||Ke in t?(0,o.l7)({},t):t:null}function tn(t,e,n=!1){const{props:r,ref:i,patchFlag:s,children:c}=t,u=e?un(r||{},e):r,l={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&We(u),ref:e&&e.ref?n&&i?(0,o.kJ)(i)?i.concat(ze(e)):[i,ze(e)]:ze(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:c,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Ae?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&tn(t.ssContent),ssFallback:t.ssFallback&&tn(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return l}function en(t=" ",e=0){return Ye(Ie,null,t,e)}function nn(t,e){const n=Ye(Me,null,t);return n.staticCount=e,n}function rn(t="",e=!1){return e?(Ne(),Be(Fe,null,t)):Ye(Fe,null,t)}function on(t){return null==t||"boolean"===typeof t?Ye(Fe):(0,o.kJ)(t)?Ye(Ae,null,t.slice()):"object"===typeof t?sn(t):Ye(Ie,null,String(t))}function sn(t){return null===t.el&&-1!==t.patchFlag||t.memo?t:tn(t)}function cn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,o.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),cn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||Ke in e?3===r&&A&&(1===A.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=A}}else(0,o.mf)(e)?(e={default:e,_ctx:A},n=32):(e=String(e),64&r?(n=16,e=[en(e)]):n=8);t.children=e,t.shapeFlag|=n}function un(...t){const e={};for(let n=0;ndn||A,mn=t=>{dn=t,t.scope.on()},vn=()=>{dn&&dn.scope.off(),dn=null};function gn(t){return 4&t.vnode.shapeFlag}let yn,bn,_n=!1;function wn(t,e=!1){_n=e;const{props:n,children:r}=t.vnode,o=gn(t);oe(t,n,o,e),ye(t,r);const i=o?xn(t,e):void 0;return _n=!1,i}function xn(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Vt));const{setup:s}=n;if(s){const n=t.setupContext=s.length>1?On(t):null;mn(t),(0,r.Jd)();const u=i(s,t,0,[t.props,n]);if((0,r.lk)(),vn(),(0,o.tI)(u)){if(u.then(vn,vn),e)return u.then((n=>{kn(t,n,e)})).catch((e=>{c(e,t,0)}));t.asyncDep=u}else kn(t,u,e)}else Cn(t,e)}function kn(t,e,n){(0,o.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,o.Kn)(e)&&(t.setupState=(0,r.WL)(e)),Cn(t,n)}function Cn(t,e,n){const i=t.type;if(!t.render){if(!e&&yn&&!i.render){const e=i.template||zt(t).template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:s,compilerOptions:c}=i,u=(0,o.l7)((0,o.l7)({isCustomElement:n,delimiters:s},r),c);i.render=yn(e,u)}}t.render=i.render||o.dG,bn&&bn(t)}mn(t),(0,r.Jd)(),qt(t),(0,r.lk)(),vn()}function Sn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function On(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=Sn(t))},slots:t.slots,emit:t.emit,expose:e}}function En(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in Jt?Jt[n](t):void 0},has(t,e){return e in t||e in Jt}}))}function jn(t,e=!0){return(0,o.mf)(t)?t.displayName||t.name:t.name||e&&t.__name}function Pn(t){return(0,o.mf)(t)&&"__vccOpts"in t}const Rn=(t,e)=>(0,r.Fl)(t,e,_n);function Tn(t,e,n){const r=arguments.length;return 2===r?(0,o.Kn)(e)&&!(0,o.kJ)(e)?qe(e)?Ye(t,null,[e]):Ye(t,e):Ye(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&qe(n)&&(n=[n]),Ye(t,e,n))}const An=Symbol(""),In=()=>{{const t=q(An);return t}};const Fn="3.2.47"},9242:function(t,e,n){"use strict";n.d(e,{nr:function(){return ut},ri:function(){return pt}});n(7658);var r=n(7139),o=n(3396),i=n(4870);const s="http://www.w3.org/2000/svg",c="undefined"!==typeof document?document:null,u=c&&c.createElement("template"),l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const o=e?c.createElementNS(s,t):c.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:t=>c.createTextNode(t),createComment:t=>c.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>c.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,r,o,i){const s=n?n.previousSibling:e.lastChild;if(o&&(o===i||o.nextSibling)){while(1)if(e.insertBefore(o.cloneNode(!0),n),o===i||!(o=o.nextSibling))break}else{u.innerHTML=r?`${t}`:t;const o=u.content;if(r){const t=o.firstChild;while(t.firstChild)o.appendChild(t.firstChild);o.removeChild(t)}e.insertBefore(o,n)}return[s?s.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function a(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function f(t,e,n){const o=t.style,i=(0,r.HD)(n);if(n&&!i){if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&d(o,t,"");for(const t in n)d(o,t,n[t])}else{const r=o.display;i?e!==n&&(o.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(o.display=r)}}const p=/\s*!important$/;function d(t,e,n){if((0,r.kJ)(n))n.forEach((n=>d(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const o=v(t,e);p.test(n)?t.setProperty((0,r.rs)(o),n.replace(p,""),"important"):t[o]=n}}const h=["Webkit","Moz","ms"],m={};function v(t,e){const n=m[e];if(n)return n;let o=(0,r._A)(e);if("filter"!==o&&o in t)return m[e]=o;o=(0,r.kC)(o);for(let r=0;rS||(O.then((()=>S=0)),S=Date.now());function j(t,e){const n=t=>{if(t._vts){if(t._vts<=n.attached)return}else t._vts=Date.now();(0,o.$d)(P(t,n.value),e,5,[t])};return n.value=t,n.attached=E(),n}function P(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const R=/^on[a-z]/,T=(t,e,n,o,i=!1,s,c,u,l)=>{"class"===e?a(t,o,i):"style"===e?f(t,n,o):(0,r.F7)(e)?(0,r.tR)(e)||x(t,e,n,o,c):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):A(t,e,o,i))?b(t,e,o,s,c,u,l):("true-value"===e?t._trueValue=o:"false-value"===e&&(t._falseValue=o),y(t,e,o,i))};function A(t,e,n,o){return o?"innerHTML"===e||"textContent"===e||!!(e in t&&R.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!R.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const I="transition",F="animation",M=(t,{slots:e})=>(0,o.h)(o.P$,D(t),e);M.displayName="Transition";const L={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},$=M.props=(0,r.l7)({},o.P$.props,L),N=(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)},U=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function D(t){const e={};for(const r in t)r in L||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:o,duration:i,enterFromClass:s=`${n}-enter-from`,enterActiveClass:c=`${n}-enter-active`,enterToClass:u=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:a=c,appearToClass:f=u,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=t,m=J(i),v=m&&m[0],g=m&&m[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:_,onLeave:w,onLeaveCancelled:x,onBeforeAppear:k=y,onAppear:C=b,onAppearCancelled:S=_}=e,O=(t,e,n)=>{B(t,e?f:u),B(t,e?a:c),n&&n()},E=(t,e)=>{t._isLeaving=!1,B(t,p),B(t,h),B(t,d),e&&e()},j=t=>(e,n)=>{const r=t?C:b,i=()=>O(e,t,n);N(r,[e,i]),q((()=>{B(e,t?l:s),V(e,t?f:u),U(r)||K(e,o,v,i)}))};return(0,r.l7)(e,{onBeforeEnter(t){N(y,[t]),V(t,s),V(t,c)},onBeforeAppear(t){N(k,[t]),V(t,l),V(t,a)},onEnter:j(!1),onAppear:j(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>E(t,e);V(t,p),Y(),V(t,d),q((()=>{t._isLeaving&&(B(t,p),V(t,h),U(w)||K(t,o,g,n))})),N(w,[t,n])},onEnterCancelled(t){O(t,!1),N(_,[t])},onAppearCancelled(t){O(t,!0),N(S,[t])},onLeaveCancelled(t){E(t),N(x,[t])}})}function J(t){if(null==t)return null;if((0,r.Kn)(t))return[G(t.enter),G(t.leave)];{const e=G(t);return[e,e]}}function G(t){const e=(0,r.He)(t);return e}function V(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function B(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function q(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let H=0;function K(t,e,n,r){const o=t._endId=++H,i=()=>{o===t._endId&&r()};if(n)return setTimeout(i,n);const{type:s,timeout:c,propCount:u}=W(t,e);if(!s)return r();const l=s+"end";let a=0;const f=()=>{t.removeEventListener(l,p),i()},p=e=>{e.target===t&&++a>=u&&f()};setTimeout((()=>{a(n[t]||"").split(", "),o=r(`${I}Delay`),i=r(`${I}Duration`),s=z(o,i),c=r(`${F}Delay`),u=r(`${F}Duration`),l=z(c,u);let a=null,f=0,p=0;e===I?s>0&&(a=I,f=s,p=i.length):e===F?l>0&&(a=F,f=l,p=u.length):(f=Math.max(s,l),a=f>0?s>l?I:F:null,p=a?a===I?i.length:u.length:0);const d=a===I&&/\b(transform|all)(,|$)/.test(r(`${I}Property`).toString());return{type:a,timeout:f,propCount:p,hasTransform:d}}function z(t,e){while(t.lengthZ(e)+Z(t[n]))))}function Z(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Y(){return document.body.offsetHeight}const X=new WeakMap,Q=new WeakMap,tt={name:"TransitionGroup",props:(0,r.l7)({},$,{tag:String,moveClass:String}),setup(t,{slots:e}){const n=(0,o.FN)(),r=(0,o.Y8)();let s,c;return(0,o.ic)((()=>{if(!s.length)return;const e=t.moveClass||`${t.name||"v"}-move`;if(!ot(s[0].el,n.vnode.el,e))return;s.forEach(et),s.forEach(nt);const r=s.filter(rt);Y(),r.forEach((t=>{const n=t.el,r=n.style;V(n,e),r.transform=r.webkitTransform=r.transitionDuration="";const o=n._moveCb=t=>{t&&t.target!==n||t&&!/transform$/.test(t.propertyName)||(n.removeEventListener("transitionend",o),n._moveCb=null,B(n,e))};n.addEventListener("transitionend",o)}))})),()=>{const u=(0,i.IU)(t),l=D(u);let a=u.tag||o.HY;s=c,c=e.default?(0,o.Q6)(e.default()):[];for(let t=0;t{t.split(/\s+/).forEach((t=>t&&r.classList.remove(t)))})),n.split(/\s+/).forEach((t=>t&&r.classList.add(t))),r.style.display="none";const o=1===e.nodeType?e:e.parentNode;o.appendChild(r);const{hasTransform:i}=W(r);return o.removeChild(r),i}const it=t=>{const e=t.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function st(t){t.target.composing=!0}function ct(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const ut={created(t,{modifiers:{lazy:e,trim:n,number:o}},i){t._assign=it(i);const s=o||i.props&&"number"===i.props.type;_(t,e?"change":"input",(e=>{if(e.target.composing)return;let o=t.value;n&&(o=o.trim()),s&&(o=(0,r.h5)(o)),t._assign(o)})),n&&_(t,"change",(()=>{t.value=t.value.trim()})),e||(_(t,"compositionstart",st),_(t,"compositionend",ct),_(t,"change",ct))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:o,number:i}},s){if(t._assign=it(s),t.composing)return;if(document.activeElement===t&&"range"!==t.type){if(n)return;if(o&&t.value.trim()===e)return;if((i||"number"===t.type)&&(0,r.h5)(t.value)===e)return}const c=null==e?"":e;t.value!==c&&(t.value=c)}};const lt=(0,r.l7)({patchProp:T},l);let at;function ft(){return at||(at=(0,o.Us)(lt))}const pt=(...t)=>{const e=ft().createApp(...t);const{mount:n}=e;return e.mount=t=>{const o=dt(t);if(!o)return;const i=e._component;(0,r.mf)(i)||i.render||i.template||(i.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},e};function dt(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},7139:function(t,e,n){"use strict";n.d(e,{C_:function(){return f},DM:function(){return I},E9:function(){return st},F7:function(){return S},Gg:function(){return H},HD:function(){return $},He:function(){return ot},Kj:function(){return M},Kn:function(){return U},NO:function(){return k},Nj:function(){return nt},Od:function(){return j},PO:function(){return B},Pq:function(){return d},RI:function(){return R},S0:function(){return q},W7:function(){return V},WV:function(){return v},Z6:function(){return w},_A:function(){return z},_N:function(){return A},aU:function(){return tt},dG:function(){return x},e1:function(){return i},fY:function(){return r},h5:function(){return rt},hR:function(){return Q},hq:function(){return g},ir:function(){return et},j5:function(){return s},kC:function(){return X},kJ:function(){return T},kT:function(){return _},l7:function(){return E},mf:function(){return L},rs:function(){return Y},tI:function(){return D},tR:function(){return O},yA:function(){return h},yk:function(){return N},zw:function(){return y}});n(7658);function r(t,e){const n=Object.create(null),r=t.split(",");for(let o=0;o!!n[t.toLowerCase()]:t=>!!n[t]}const o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",i=r(o);function s(t){if(T(t)){const e={};for(let n=0;n{if(t){const n=t.split(u);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function f(t){let e="";if($(t))e=t;else if(T(t))for(let n=0;nv(t,e)))}const y=t=>$(t)?t:null==t?"":T(t)||U(t)&&(t.toString===J||!L(t.toString))?JSON.stringify(t,b,2):String(t),b=(t,e)=>e&&e.__v_isRef?b(t,e.value):A(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:I(e)?{[`Set(${e.size})`]:[...e.values()]}:!U(e)||T(e)||B(e)?e:String(e),_={},w=[],x=()=>{},k=()=>!1,C=/^on[^a-z]/,S=t=>C.test(t),O=t=>t.startsWith("onUpdate:"),E=Object.assign,j=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},P=Object.prototype.hasOwnProperty,R=(t,e)=>P.call(t,e),T=Array.isArray,A=t=>"[object Map]"===G(t),I=t=>"[object Set]"===G(t),F=t=>"[object Date]"===G(t),M=t=>"[object RegExp]"===G(t),L=t=>"function"===typeof t,$=t=>"string"===typeof t,N=t=>"symbol"===typeof t,U=t=>null!==t&&"object"===typeof t,D=t=>U(t)&&L(t.then)&&L(t.catch),J=Object.prototype.toString,G=t=>J.call(t),V=t=>G(t).slice(8,-1),B=t=>"[object Object]"===G(t),q=t=>$(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,H=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),K=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},W=/-(\w)/g,z=K((t=>t.replace(W,((t,e)=>e?e.toUpperCase():"")))),Z=/\B([A-Z])/g,Y=K((t=>t.replace(Z,"-$1").toLowerCase())),X=K((t=>t.charAt(0).toUpperCase()+t.slice(1))),Q=K((t=>t?`on${X(t)}`:"")),tt=(t,e)=>!Object.is(t,e),et=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},rt=t=>{const e=parseFloat(t);return isNaN(e)?t:e},ot=t=>{const e=$(t)?Number(t):NaN;return isNaN(e)?t:e};let it;const st=()=>it||(it="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},89:function(t,e){"use strict";e.Z=(t,e)=>{const n=t.__vccOpts||t;for(const[r,o]of e)n[r]=o;return n}},5231:function(t,e){"use strict";function n(t,e){t.map((t=>{const n=document.createElement(e);return Object.keys(t).forEach((e=>{n.setAttribute(e,t[e])})),n.setAttribute("data-vue-router-controlled",""),n})).forEach((t=>document.head.appendChild(t)))}function r(t,e,r,o){Array.from(document.querySelectorAll("[data-vue-router-controlled]")).map((t=>{t.parentNode&&t.parentNode.removeChild(t)}));let i="",s=[],c=[];return o.forEach((e=>{e.path===t.fullPath&&e.meta&&(i=e.meta.title,s=e.meta.metaTags,c=e.meta.linkTags)})),i&&(document.title=i),s&&n(s,"meta"),c&&n(c,"link"),r()}const o={update:r};e["Z"]=o},4749:function(t,e,n){"use strict";n(7658);function r(t,e,n,r,o){return o.forEach((e=>{e.query===t.fullPath&&r.push(e.path)})),n()}const o={update:r};e["Z"]=o},65:function(t,e,n){"use strict";n.d(e,{MT:function(){return tt}});n(7658),n(541);var r=n(3396),o=n(4870);function i(){return s().__VUE_DEVTOOLS_GLOBAL_HOOK__}function s(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const c="function"===typeof Proxy,u="devtools-plugin:setup",l="plugin:settings:set";let a,f;function p(){var t;return void 0!==a||("undefined"!==typeof window&&window.performance?(a=!0,f=window.performance):"undefined"!==typeof n.g&&(null===(t=n.g.perf_hooks)||void 0===t?void 0:t.performance)?(a=!0,f=n.g.perf_hooks.performance):a=!1),a}function d(){return p()?f.now():Date.now()}class h{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const s in t.settings){const e=t.settings[s];n[s]=e.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let o=Object.assign({},n);try{const t=localStorage.getItem(r),e=JSON.parse(t);Object.assign(o,e)}catch(i){}this.fallbacks={getSettings(){return o},setSettings(t){try{localStorage.setItem(r,JSON.stringify(t))}catch(i){}o=t},now(){return d()}},e&&e.on(l,((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function m(t,e){const n=t,r=s(),o=i(),l=c&&n.enableEarlyProxy;if(!o||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&l){const t=l?new h(n,o):null,i=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];i.push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else o.emit(u,t,e)} -/*! - * vuex v4.1.0 - * (c) 2022 Evan You - * @license MIT - */ -var v="store";function g(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function y(t){return null!==t&&"object"===typeof t}function b(t){return t&&"function"===typeof t.then}function _(t,e){return function(){return t(e)}}function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function x(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;C(t,n,[],t._modules.root,!0),k(t,n,e)}function k(t,e,n){var i=t._state,s=t._scope;t.getters={},t._makeLocalGettersCache=Object.create(null);var c=t._wrappedGetters,u={},l={},a=(0,o.B)(!0);a.run((function(){g(c,(function(e,n){u[n]=_(e,t),l[n]=(0,r.Fl)((function(){return u[n]()})),Object.defineProperty(t.getters,n,{get:function(){return l[n].value},enumerable:!0})}))})),t._state=(0,o.qj)({data:e}),t._scope=a,t.strict&&R(t),i&&n&&t._withCommit((function(){i.data=null})),s&&s.stop()}function C(t,e,n,r,o){var i=!n.length,s=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[s],t._modulesNamespaceMap[s]=r),!i&&!o){var c=T(e,n.slice(0,-1)),u=n[n.length-1];t._withCommit((function(){c[u]=r.state}))}var l=r.context=S(t,s,n);r.forEachMutation((function(e,n){var r=s+n;E(t,r,e,l)})),r.forEachAction((function(e,n){var r=e.root?n:s+n,o=e.handler||e;j(t,r,o,l)})),r.forEachGetter((function(e,n){var r=s+n;P(t,r,e,l)})),r.forEachChild((function(r,i){C(t,e,n.concat(i),r,o)}))}function S(t,e,n){var r=""===e,o={dispatch:r?t.dispatch:function(n,r,o){var i=A(n,r,o),s=i.payload,c=i.options,u=i.type;return c&&c.root||(u=e+u),t.dispatch(u,s)},commit:r?t.commit:function(n,r,o){var i=A(n,r,o),s=i.payload,c=i.options,u=i.type;c&&c.root||(u=e+u),t.commit(u,s,c)}};return Object.defineProperties(o,{getters:{get:r?function(){return t.getters}:function(){return O(t,e)}},state:{get:function(){return T(t.state,n)}}}),o}function O(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(o){if(o.slice(0,r)===e){var i=o.slice(r);Object.defineProperty(n,i,{get:function(){return t.getters[o]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function E(t,e,n,r){var o=t._mutations[e]||(t._mutations[e]=[]);o.push((function(e){n.call(t,r.state,e)}))}function j(t,e,n,r){var o=t._actions[e]||(t._actions[e]=[]);o.push((function(e){var o=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return b(o)||(o=Promise.resolve(o)),t._devtoolHook?o.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):o}))}function P(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function R(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function T(t,e){return e.reduce((function(t,e){return t[e]}),t)}function A(t,e,n){return y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var I="vuex bindings",F="vuex:mutations",M="vuex:actions",L="vuex",$=0;function N(t,e){m({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[I]},(function(n){n.addTimelineLayer({id:F,label:"Vuex Mutations",color:U}),n.addTimelineLayer({id:M,label:"Vuex Actions",color:U}),n.addInspector({id:L,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===L)if(n.filter){var r=[];q(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[B(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===L){var r=n.nodeId;O(e,r),n.state=H(W(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===L){var r=n.nodeId,o=n.path;"root"!==r&&(o=r.split("/").filter(Boolean).concat(o)),e._withCommit((function(){n.set(e._state.data,o,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(L),n.sendInspectorState(L),n.addTimelineEvent({layerId:F,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=$++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:M,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},o=Date.now()-t._time;r.duration={_custom:{type:"duration",display:o+"ms",tooltip:"Action duration",value:o}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:M,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var U=8702998,D=6710886,J=16777215,G={label:"namespaced",textColor:J,backgroundColor:D};function V(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function B(t,e){return{id:e||"root",label:V(e),tags:t.namespaced?[G]:[],children:Object.keys(t._children).map((function(n){return B(t._children[n],e+n+"/")}))}}function q(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[G]:[]}),Object.keys(e._children).forEach((function(o){q(t,e._children[o],n,r+o+"/")}))}function H(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),o={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var i=K(e);o.getters=Object.keys(i).map((function(t){return{key:t.endsWith("/")?V(t):t,editable:!1,value:z((function(){return i[t]}))}}))}return o}function K(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var o=e,i=r.pop();r.forEach((function(t){o[t]||(o[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),o=o[t]._custom.value})),o[i]=z((function(){return t[n]}))}else e[n]=z((function(){return t[n]}))})),e}function W(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,o){var i=t[r];if(!i)throw new Error('Missing module "'+r+'" for path "'+e+'".');return o===n.length-1?i:i._children}),"root"===e?t:t.root._children)}function z(t){try{return t()}catch(e){return e}}var Z=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},Y={namespaced:{configurable:!0}};Y.namespaced.get=function(){return!!this._rawModule.namespaced},Z.prototype.addChild=function(t,e){this._children[t]=e},Z.prototype.removeChild=function(t){delete this._children[t]},Z.prototype.getChild=function(t){return this._children[t]},Z.prototype.hasChild=function(t){return t in this._children},Z.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},Z.prototype.forEachChild=function(t){g(this._children,t)},Z.prototype.forEachGetter=function(t){this._rawModule.getters&&g(this._rawModule.getters,t)},Z.prototype.forEachAction=function(t){this._rawModule.actions&&g(this._rawModule.actions,t)},Z.prototype.forEachMutation=function(t){this._rawModule.mutations&&g(this._rawModule.mutations,t)},Object.defineProperties(Z.prototype,Y);var X=function(t){this.register([],t,!1)};function Q(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;Q(t.concat(r),e.getChild(r),n.modules[r])}}X.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},X.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},X.prototype.update=function(t){Q([],this.root,t)},X.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var o=new Z(e,n);if(0===t.length)this.root=o;else{var i=this.get(t.slice(0,-1));i.addChild(t[t.length-1],o)}e.modules&&g(e.modules,(function(e,o){r.register(t.concat(o),e,n)}))},X.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},X.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function tt(t){return new et(t)}var et=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new X(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var i=this,s=this,c=s.dispatch,u=s.commit;this.dispatch=function(t,e){return c.call(i,t,e)},this.commit=function(t,e,n){return u.call(i,t,e,n)},this.strict=r;var l=this._modules.root.state;C(this,l,[],this._modules.root),k(this,l),n.forEach((function(t){return t(e)}))},nt={state:{configurable:!0}};et.prototype.install=function(t,e){t.provide(e||v,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&N(t,this)},nt.state.get=function(){return this._state.data},nt.state.set=function(t){0},et.prototype.commit=function(t,e,n){var r=this,o=A(t,e,n),i=o.type,s=o.payload,c=(o.options,{type:i,payload:s}),u=this._mutations[i];u&&(this._withCommit((function(){u.forEach((function(t){t(s)}))})),this._subscribers.slice().forEach((function(t){return t(c,r.state)})))},et.prototype.dispatch=function(t,e){var n=this,r=A(t,e),o=r.type,i=r.payload,s={type:o,payload:i},c=this._actions[o];if(c){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(s,n.state)}))}catch(l){0}var u=c.length>1?Promise.all(c.map((function(t){return t(i)}))):c[0](i);return new Promise((function(t,e){u.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(s,n.state)}))}catch(l){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(s,n.state,t)}))}catch(l){0}e(t)}))}))}},et.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},et.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return w(n,this._actionSubscribers,e)},et.prototype.watch=function(t,e,n){var o=this;return(0,r.YP)((function(){return t(o.state,o.getters)}),e,Object.assign({},n))},et.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},et.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),C(this,this.state,t,this._modules.get(t),n.preserveState),k(this,this.state)},et.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=T(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),x(this)},et.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},et.prototype.hotUpdate=function(t){this._modules.update(t),x(this,!0)},et.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(et.prototype,nt);it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=st(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof o?o.call(this,e,n):e[o]},n[r].vuex=!0})),n})),it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var i=st(this.$store,"mapMutations",t);if(!i)return;r=i.context.commit}return"function"===typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n})),it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){if(!t||st(this.$store,"mapGetters",t))return this.$store.getters[o]},n[r].vuex=!0})),n})),it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var i=st(this.$store,"mapActions",t);if(!i)return;r=i.context.dispatch}return"function"===typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n}));function rt(t){return ot(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function ot(t){return Array.isArray(t)||y(t)}function it(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function st(t,e,n){var r=t._modulesNamespaceMap[n];return r}},7327:function(t,e,n){"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){if("object"!==r(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e||"default");if("object"!==r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function i(t){var e=o(t,"string");return"symbol"===r(e)?e:String(e)}function s(t,e,n){return e=i(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{Z:function(){return s}})},2483:function(t,e,n){"use strict";n.d(e,{PO:function(){return U},p7:function(){return ee}});n(7658),n(541);var r=n(3396),o=n(4870); -/*! - * vue-router v4.1.6 - * (c) 2022 Eduardo San Martin Morote - * @license MIT - */ -const i="undefined"!==typeof window;function s(t){return t.__esModule||"Module"===t[Symbol.toStringTag]}const c=Object.assign;function u(t,e){const n={};for(const r in e){const o=e[r];n[r]=a(o)?o.map(t):t(o)}return n}const l=()=>{},a=Array.isArray;const f=/\/$/,p=t=>t.replace(f,"");function d(t,e,n="/"){let r,o={},i="",s="";const c=e.indexOf("#");let u=e.indexOf("?");return c=0&&(u=-1),u>-1&&(r=e.slice(0,u),i=e.slice(u+1,c>-1?c:e.length),o=t(i)),c>-1&&(r=r||e.slice(0,c),s=e.slice(c,e.length)),r=w(null!=r?r:e,n),{fullPath:r+(i&&"?")+i+s,path:r,query:o,hash:s}}function h(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function m(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function v(t,e,n){const r=e.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&g(e.matched[r],n.matched[o])&&y(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function g(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function y(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!b(t[n],e[n]))return!1;return!0}function b(t,e){return a(t)?_(t,e):a(e)?_(e,t):t===e}function _(t,e){return a(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function w(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let o,i,s=n.length-1;for(o=0;o1&&s--}return n.slice(0,s).join("/")+"/"+r.slice(o-(o===r.length?1:0)).join("/")}var x,k;(function(t){t["pop"]="pop",t["push"]="push"})(x||(x={})),function(t){t["back"]="back",t["forward"]="forward",t["unknown"]=""}(k||(k={}));function C(t){if(!t)if(i){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return"/"!==t[0]&&"#"!==t[0]&&(t="/"+t),p(t)}const S=/^[^#]+#/;function O(t,e){return t.replace(S,"#")+e}function E(t,e){const n=document.documentElement.getBoundingClientRect(),r=t.getBoundingClientRect();return{behavior:e.behavior,left:r.left-n.left-(e.left||0),top:r.top-n.top-(e.top||0)}}const j=()=>({left:window.pageXOffset,top:window.pageYOffset});function P(t){let e;if("el"in t){const n=t.el,r="string"===typeof n&&n.startsWith("#");0;const o="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;e=E(o,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function R(t,e){const n=history.state?history.state.position-e:-1;return n+t}const T=new Map;function A(t,e){T.set(t,e)}function I(t){const e=T.get(t);return T.delete(t),e}let F=()=>location.protocol+"//"+location.host;function M(t,e){const{pathname:n,search:r,hash:o}=e,i=t.indexOf("#");if(i>-1){let e=o.includes(t.slice(i))?t.slice(i).length:1,n=o.slice(e);return"/"!==n[0]&&(n="/"+n),m(n,"")}const s=m(n,t);return s+r+o}function L(t,e,n,r){let o=[],i=[],s=null;const u=({state:i})=>{const c=M(t,location),u=n.value,l=e.value;let a=0;if(i){if(n.value=c,e.value=i,s&&s===u)return void(s=null);a=l?i.position-l.position:0}else r(c);o.forEach((t=>{t(n.value,u,{delta:a,type:x.pop,direction:a?a>0?k.forward:k.back:k.unknown})}))};function l(){s=n.value}function a(t){o.push(t);const e=()=>{const e=o.indexOf(t);e>-1&&o.splice(e,1)};return i.push(e),e}function f(){const{history:t}=window;t.state&&t.replaceState(c({},t.state,{scroll:j()}),"")}function p(){for(const t of i)t();i=[],window.removeEventListener("popstate",u),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",u),window.addEventListener("beforeunload",f),{pauseListeners:l,listen:a,destroy:p}}function $(t,e,n,r=!1,o=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:o?j():null}}function N(t){const{history:e,location:n}=window,r={value:M(t,n)},o={value:e.state};function i(r,i,s){const c=t.indexOf("#"),u=c>-1?(n.host&&document.querySelector("base")?t:t.slice(c))+r:F()+t+r;try{e[s?"replaceState":"pushState"](i,"",u),o.value=i}catch(l){console.error(l),n[s?"replace":"assign"](u)}}function s(t,n){const s=c({},e.state,$(o.value.back,t,o.value.forward,!0),n,{position:o.value.position});i(t,s,!0),r.value=t}function u(t,n){const s=c({},o.value,e.state,{forward:t,scroll:j()});i(s.current,s,!0);const u=c({},$(r.value,t,null),{position:s.position+1},n);i(t,u,!1),r.value=t}return o.value||i(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:u,replace:s}}function U(t){t=C(t);const e=N(t),n=L(t,e.state,e.location,e.replace);function r(t,e=!0){e||n.pauseListeners(),history.go(t)}const o=c({location:"",base:t,go:r,createHref:O.bind(null,t)},e,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>e.state.value}),o}function D(t){return"string"===typeof t||t&&"object"===typeof t}function J(t){return"string"===typeof t||"symbol"===typeof t}const G={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},V=Symbol("");var B;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})(B||(B={}));function q(t,e){return c(new Error,{type:t,[V]:!0},e)}function H(t,e){return t instanceof Error&&V in t&&(null==e||!!(t.type&e))}const K="[^/]+?",W={sensitive:!1,strict:!1,start:!0,end:!0},z=/[.+*?^${}()[\]/\\]/g;function Z(t,e){const n=c({},W,e),r=[];let o=n.start?"^":"";const i=[];for(const c of t){const t=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function X(t,e){let n=0;const r=t.score,o=e.score;while(n0&&e[e.length-1]<0}const tt={type:0,value:""},et=/[a-zA-Z0-9_]/;function nt(t){if(!t)return[[]];if("/"===t)return[[tt]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(t){throw new Error(`ERR (${n})/"${l}": ${t}`)}let n=0,r=n;const o=[];let i;function s(){i&&o.push(i),i=[]}let c,u=0,l="",a="";function f(){l&&(0===n?i.push({type:0,value:l}):1===n||2===n||3===n?(i.length>1&&("*"===c||"+"===c)&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:l,regexp:a,repeatable:"*"===c||"+"===c,optional:"*"===c||"?"===c})):e("Invalid state to consume buffer"),l="")}function p(){l+=c}while(u{s(h)}:l}function s(t){if(J(t)){const e=r.get(t);e&&(r.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(s),e.alias.forEach(s))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&r.delete(t.record.name),t.children.forEach(s),t.alias.forEach(s))}}function u(){return n}function a(t){let e=0;while(e=0&&(t.record.path!==n[e].record.path||!ft(t,n[e])))e++;n.splice(e,0,t),t.record.name&&!ut(t)&&r.set(t.record.name,t)}function f(t,e){let o,i,s,u={};if("name"in t&&t.name){if(o=r.get(t.name),!o)throw q(1,{location:t});0,s=o.record.name,u=c(it(e.params,o.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params&&it(t.params,o.keys.map((t=>t.name)))),i=o.stringify(u)}else if("path"in t)i=t.path,o=n.find((t=>t.re.test(i))),o&&(u=o.parse(i),s=o.record.name);else{if(o=e.name?r.get(e.name):n.find((t=>t.re.test(e.path))),!o)throw q(1,{location:t,currentLocation:e});s=o.record.name,u=c({},e.params,t.params),i=o.stringify(u)}const l=[];let a=o;while(a)l.unshift(a.record),a=a.parent;return{name:s,path:i,params:u,matched:l,meta:lt(l)}}return e=at({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>i(t))),{addRoute:i,resolve:f,removeRoute:s,getRoutes:u,getRecordMatcher:o}}function it(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function st(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:ct(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function ct(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]="boolean"===typeof n?n:n[r];return e}function ut(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function lt(t){return t.reduce(((t,e)=>c(t,e.meta)),{})}function at(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}function ft(t,e){return e.children.some((e=>e===t||ft(t,e)))}const pt=/#/g,dt=/&/g,ht=/\//g,mt=/=/g,vt=/\?/g,gt=/\+/g,yt=/%5B/g,bt=/%5D/g,_t=/%5E/g,wt=/%60/g,xt=/%7B/g,kt=/%7C/g,Ct=/%7D/g,St=/%20/g;function Ot(t){return encodeURI(""+t).replace(kt,"|").replace(yt,"[").replace(bt,"]")}function Et(t){return Ot(t).replace(xt,"{").replace(Ct,"}").replace(_t,"^")}function jt(t){return Ot(t).replace(gt,"%2B").replace(St,"+").replace(pt,"%23").replace(dt,"%26").replace(wt,"`").replace(xt,"{").replace(Ct,"}").replace(_t,"^")}function Pt(t){return jt(t).replace(mt,"%3D")}function Rt(t){return Ot(t).replace(pt,"%23").replace(vt,"%3F")}function Tt(t){return null==t?"":Rt(t).replace(ht,"%2F")}function At(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function It(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],r=(n?t.slice(1):t).split("&");for(let o=0;ot&&jt(t))):[r&&jt(r)];o.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Mt(t){const e={};for(const n in t){const r=t[n];void 0!==r&&(e[n]=a(r)?r.map((t=>null==t?null:""+t)):null==r?r:""+r)}return e}const Lt=Symbol(""),$t=Symbol(""),Nt=Symbol(""),Ut=Symbol(""),Dt=Symbol("");function Jt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Gt(t,e,n,r,o){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((s,c)=>{const u=t=>{!1===t?c(q(4,{from:n,to:e})):t instanceof Error?c(t):D(t)?c(q(2,{from:e,to:t})):(i&&r.enterCallbacks[o]===i&&"function"===typeof t&&i.push(t),s())},l=t.call(r&&r.instances[o],e,n,u);let a=Promise.resolve(l);t.length<3&&(a=a.then(u)),a.catch((t=>c(t)))}))}function Vt(t,e,n,r){const o=[];for(const i of t){0;for(const t in i.components){let c=i.components[t];if("beforeRouteEnter"===e||i.instances[t])if(Bt(c)){const s=c.__vccOpts||c,u=s[e];u&&o.push(Gt(u,n,r,i,t))}else{let u=c();0,o.push((()=>u.then((o=>{if(!o)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${i.path}"`));const c=s(o)?o.default:o;i.components[t]=c;const u=c.__vccOpts||c,l=u[e];return l&&Gt(l,n,r,i,t)()}))))}}}return o}function Bt(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function qt(t){const e=(0,r.f3)(Nt),n=(0,r.f3)(Ut),i=(0,r.Fl)((()=>e.resolve((0,o.SU)(t.to)))),s=(0,r.Fl)((()=>{const{matched:t}=i.value,{length:e}=t,r=t[e-1],o=n.matched;if(!r||!o.length)return-1;const s=o.findIndex(g.bind(null,r));if(s>-1)return s;const c=Zt(t[e-2]);return e>1&&Zt(r)===c&&o[o.length-1].path!==c?o.findIndex(g.bind(null,t[e-2])):s})),c=(0,r.Fl)((()=>s.value>-1&&zt(n.params,i.value.params))),u=(0,r.Fl)((()=>s.value>-1&&s.value===n.matched.length-1&&y(n.params,i.value.params)));function a(n={}){return Wt(n)?e[(0,o.SU)(t.replace)?"replace":"push"]((0,o.SU)(t.to)).catch(l):Promise.resolve()}return{route:i,href:(0,r.Fl)((()=>i.value.href)),isActive:c,isExactActive:u,navigate:a}}const Ht=(0,r.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:qt,setup(t,{slots:e}){const n=(0,o.qj)(qt(t)),{options:i}=(0,r.f3)(Nt),s=(0,r.Fl)((()=>({[Yt(t.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[Yt(t.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=e.default&&e.default(n);return t.custom?o:(0,r.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),Kt=Ht;function Wt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function zt(t,e){for(const n in e){const r=e[n],o=t[n];if("string"===typeof r){if(r!==o)return!1}else if(!a(o)||o.length!==r.length||r.some(((t,e)=>t!==o[e])))return!1}return!0}function Zt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Yt=(t,e,n)=>null!=t?t:null!=e?e:n,Xt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const i=(0,r.f3)(Dt),s=(0,r.Fl)((()=>t.route||i.value)),u=(0,r.f3)($t,0),l=(0,r.Fl)((()=>{let t=(0,o.SU)(u);const{matched:e}=s.value;let n;while((n=e[t])&&!n.components)t++;return t})),a=(0,r.Fl)((()=>s.value.matched[l.value]));(0,r.JJ)($t,(0,r.Fl)((()=>l.value+1))),(0,r.JJ)(Lt,a),(0,r.JJ)(Dt,s);const f=(0,o.iH)();return(0,r.YP)((()=>[f.value,a.value,t.name]),(([t,e,n],[r,o,i])=>{e&&(e.instances[n]=t,o&&o!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=o.leaveGuards),e.updateGuards.size||(e.updateGuards=o.updateGuards))),!t||!e||o&&g(e,o)&&r||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const o=s.value,i=t.name,u=a.value,l=u&&u.components[i];if(!l)return Qt(n.default,{Component:l,route:o});const p=u.props[i],d=p?!0===p?o.params:"function"===typeof p?p(o):p:null,h=t=>{t.component.isUnmounted&&(u.instances[i]=null)},m=(0,r.h)(l,c({},d,e,{onVnodeUnmounted:h,ref:f}));return Qt(n.default,{Component:m,route:o})||m}}});function Qt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const te=Xt;function ee(t){const e=ot(t.routes,t),n=t.parseQuery||It,s=t.stringifyQuery||Ft,f=t.history;const p=Jt(),m=Jt(),g=Jt(),y=(0,o.XI)(G);let b=G;i&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=u.bind(null,(t=>""+t)),w=u.bind(null,Tt),k=u.bind(null,At);function C(t,n){let r,o;return J(t)?(r=e.getRecordMatcher(t),o=n):o=t,e.addRoute(o,r)}function S(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function O(){return e.getRoutes().map((t=>t.record))}function E(t){return!!e.getRecordMatcher(t)}function T(t,r){if(r=c({},r||y.value),"string"===typeof t){const o=d(n,t,r.path),i=e.resolve({path:o.path},r),s=f.createHref(o.fullPath);return c(o,i,{params:k(i.params),hash:At(o.hash),redirectedFrom:void 0,href:s})}let o;if("path"in t)o=c({},t,{path:d(n,t.path,r.path).path});else{const e=c({},t.params);for(const t in e)null==e[t]&&delete e[t];o=c({},t,{params:w(t.params)}),r.params=w(r.params)}const i=e.resolve(o,r),u=t.hash||"";i.params=_(k(i.params));const l=h(s,c({},t,{hash:Et(u),path:i.path})),a=f.createHref(l);return c({fullPath:l,hash:u,query:s===Ft?Mt(t.query):t.query||{}},i,{redirectedFrom:void 0,href:a})}function F(t){return"string"===typeof t?d(n,t,y.value.path):c({},t)}function M(t,e){if(b!==t)return q(8,{from:e,to:t})}function L(t){return U(t)}function $(t){return L(c(F(t),{replace:!0}))}function N(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let r="function"===typeof n?n(t):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=F(r):{path:r},r.params={}),c({query:t.query,hash:t.hash,params:"path"in r?{}:t.params},r)}}function U(t,e){const n=b=T(t),r=y.value,o=t.state,i=t.force,u=!0===t.replace,l=N(n);if(l)return U(c(F(l),{state:"object"===typeof l?c({},o,l.state):o,force:i,replace:u}),e||n);const a=n;let f;return a.redirectedFrom=e,!i&&v(s,r,n)&&(f=q(16,{to:a,from:r}),nt(r,r,!0,!1)),(f?Promise.resolve(f):V(a,r)).catch((t=>H(t)?H(t,2)?t:et(t):Q(t,a,r))).then((t=>{if(t){if(H(t,2))return U(c({replace:u},F(t.to),{state:"object"===typeof t.to?c({},o,t.to.state):o,force:i}),e||a)}else t=K(a,r,!0,u,o);return B(a,r,t),t}))}function D(t,e){const n=M(t,e);return n?Promise.reject(n):Promise.resolve()}function V(t,e){let n;const[r,o,i]=re(t,e);n=Vt(r.reverse(),"beforeRouteLeave",t,e);for(const c of r)c.leaveGuards.forEach((r=>{n.push(Gt(r,t,e))}));const s=D.bind(null,t,e);return n.push(s),ne(n).then((()=>{n=[];for(const r of p.list())n.push(Gt(r,t,e));return n.push(s),ne(n)})).then((()=>{n=Vt(o,"beforeRouteUpdate",t,e);for(const r of o)r.updateGuards.forEach((r=>{n.push(Gt(r,t,e))}));return n.push(s),ne(n)})).then((()=>{n=[];for(const r of t.matched)if(r.beforeEnter&&!e.matched.includes(r))if(a(r.beforeEnter))for(const o of r.beforeEnter)n.push(Gt(o,t,e));else n.push(Gt(r.beforeEnter,t,e));return n.push(s),ne(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Vt(i,"beforeRouteEnter",t,e),n.push(s),ne(n)))).then((()=>{n=[];for(const r of m.list())n.push(Gt(r,t,e));return n.push(s),ne(n)})).catch((t=>H(t,8)?t:Promise.reject(t)))}function B(t,e,n){for(const r of g.list())r(t,e,n)}function K(t,e,n,r,o){const s=M(t,e);if(s)return s;const u=e===G,l=i?history.state:{};n&&(r||u?f.replace(t.fullPath,c({scroll:u&&l&&l.scroll},o)):f.push(t.fullPath,o)),y.value=t,nt(t,e,n,u),et()}let W;function z(){W||(W=f.listen(((t,e,n)=>{if(!ct.listening)return;const r=T(t),o=N(r);if(o)return void U(c(o,{replace:!0}),r).catch(l);b=r;const s=y.value;i&&A(R(s.fullPath,n.delta),j()),V(r,s).catch((t=>H(t,12)?t:H(t,2)?(U(t.to,r).then((t=>{H(t,20)&&!n.delta&&n.type===x.pop&&f.go(-1,!1)})).catch(l),Promise.reject()):(n.delta&&f.go(-n.delta,!1),Q(t,r,s)))).then((t=>{t=t||K(r,s,!1),t&&(n.delta&&!H(t,8)?f.go(-n.delta,!1):n.type===x.pop&&H(t,20)&&f.go(-1,!1)),B(r,s,t)})).catch(l)})))}let Z,Y=Jt(),X=Jt();function Q(t,e,n){et(t);const r=X.list();return r.length?r.forEach((r=>r(t,e,n))):console.error(t),Promise.reject(t)}function tt(){return Z&&y.value!==G?Promise.resolve():new Promise(((t,e)=>{Y.add([t,e])}))}function et(t){return Z||(Z=!t,z(),Y.list().forEach((([e,n])=>t?n(t):e())),Y.reset()),t}function nt(e,n,o,s){const{scrollBehavior:c}=t;if(!i||!c)return Promise.resolve();const u=!o&&I(R(e.fullPath,0))||(s||!o)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>c(e,n,u))).then((t=>t&&P(t))).catch((t=>Q(t,e,n)))}const rt=t=>f.go(t);let it;const st=new Set,ct={currentRoute:y,listening:!0,addRoute:C,removeRoute:S,hasRoute:E,getRoutes:O,resolve:T,options:t,push:L,replace:$,go:rt,back:()=>rt(-1),forward:()=>rt(1),beforeEach:p.add,beforeResolve:m.add,afterEach:g.add,onError:X.add,isReady:tt,install(t){const e=this;t.component("RouterLink",Kt),t.component("RouterView",te),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,o.SU)(y)}),i&&!it&&y.value===G&&(it=!0,L(f.location).catch((t=>{0})));const n={};for(const o in G)n[o]=(0,r.Fl)((()=>y.value[o]));t.provide(Nt,e),t.provide(Ut,(0,o.qj)(n)),t.provide(Dt,y);const s=t.unmount;st.add(t),t.unmount=function(){st.delete(t),st.size<1&&(b=G,W&&W(),W=null,y.value=G,it=!1,Z=!1),s()}}};return ct}function ne(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function re(t,e){const n=[],r=[],o=[],i=Math.max(e.matched.length,t.matched.length);for(let s=0;sg(t,i)))?r.push(i):n.push(i));const c=t.matched[s];c&&(e.matched.find((t=>g(t,c)))||o.push(c))}return[n,r,o]}}}]); -//# sourceMappingURL=chunk-vendors.a1275114.js.map \ No newline at end of file diff --git a/docs/js/chunk-vendors.a1275114.js.map b/docs/js/chunk-vendors.a1275114.js.map deleted file mode 100644 index a160413..0000000 --- a/docs/js/chunk-vendors.a1275114.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/chunk-vendors.a1275114.js","mappings":"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","sources":["webpack://wavelovers/./node_modules/core-js/internals/a-callable.js","webpack://wavelovers/./node_modules/core-js/internals/an-object.js","webpack://wavelovers/./node_modules/core-js/internals/array-includes.js","webpack://wavelovers/./node_modules/core-js/internals/array-set-length.js","webpack://wavelovers/./node_modules/core-js/internals/classof-raw.js","webpack://wavelovers/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://wavelovers/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://wavelovers/./node_modules/core-js/internals/create-property-descriptor.js","webpack://wavelovers/./node_modules/core-js/internals/define-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/define-global-property.js","webpack://wavelovers/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://wavelovers/./node_modules/core-js/internals/descriptors.js","webpack://wavelovers/./node_modules/core-js/internals/document-all.js","webpack://wavelovers/./node_modules/core-js/internals/document-create-element.js","webpack://wavelovers/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://wavelovers/./node_modules/core-js/internals/engine-user-agent.js","webpack://wavelovers/./node_modules/core-js/internals/engine-v8-version.js","webpack://wavelovers/./node_modules/core-js/internals/enum-bug-keys.js","webpack://wavelovers/./node_modules/core-js/internals/export.js","webpack://wavelovers/./node_modules/core-js/internals/fails.js","webpack://wavelovers/./node_modules/core-js/internals/function-bind-native.js","webpack://wavelovers/./node_modules/core-js/internals/function-call.js","webpack://wavelovers/./node_modules/core-js/internals/function-name.js","webpack://wavelovers/./node_modules/core-js/internals/function-uncurry-this.js","webpack://wavelovers/./node_modules/core-js/internals/get-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/get-method.js","webpack://wavelovers/./node_modules/core-js/internals/global.js","webpack://wavelovers/./node_modules/core-js/internals/has-own-property.js","webpack://wavelovers/./node_modules/core-js/internals/hidden-keys.js","webpack://wavelovers/./node_modules/core-js/internals/ie8-dom-define.js","webpack://wavelovers/./node_modules/core-js/internals/indexed-object.js","webpack://wavelovers/./node_modules/core-js/internals/inspect-source.js","webpack://wavelovers/./node_modules/core-js/internals/internal-state.js","webpack://wavelovers/./node_modules/core-js/internals/is-array.js","webpack://wavelovers/./node_modules/core-js/internals/is-callable.js","webpack://wavelovers/./node_modules/core-js/internals/is-forced.js","webpack://wavelovers/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://wavelovers/./node_modules/core-js/internals/is-object.js","webpack://wavelovers/./node_modules/core-js/internals/is-pure.js","webpack://wavelovers/./node_modules/core-js/internals/is-symbol.js","webpack://wavelovers/./node_modules/core-js/internals/length-of-array-like.js","webpack://wavelovers/./node_modules/core-js/internals/make-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/math-trunc.js","webpack://wavelovers/./node_modules/core-js/internals/object-define-property.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://wavelovers/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://wavelovers/./node_modules/core-js/internals/object-keys-internal.js","webpack://wavelovers/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://wavelovers/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://wavelovers/./node_modules/core-js/internals/own-keys.js","webpack://wavelovers/./node_modules/core-js/internals/require-object-coercible.js","webpack://wavelovers/./node_modules/core-js/internals/shared-key.js","webpack://wavelovers/./node_modules/core-js/internals/shared-store.js","webpack://wavelovers/./node_modules/core-js/internals/shared.js","webpack://wavelovers/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://wavelovers/./node_modules/core-js/internals/to-absolute-index.js","webpack://wavelovers/./node_modules/core-js/internals/to-indexed-object.js","webpack://wavelovers/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://wavelovers/./node_modules/core-js/internals/to-length.js","webpack://wavelovers/./node_modules/core-js/internals/to-object.js","webpack://wavelovers/./node_modules/core-js/internals/to-primitive.js","webpack://wavelovers/./node_modules/core-js/internals/to-property-key.js","webpack://wavelovers/./node_modules/core-js/internals/try-to-string.js","webpack://wavelovers/./node_modules/core-js/internals/uid.js","webpack://wavelovers/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://wavelovers/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://wavelovers/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://wavelovers/./node_modules/core-js/internals/well-known-symbol.js","webpack://wavelovers/./node_modules/core-js/modules/es.array.push.js","webpack://wavelovers/./node_modules/core-js/modules/es.array.unshift.js","webpack://wavelovers/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://wavelovers/./node_modules/vue-loader/dist/exportHelper.js","webpack://wavelovers/../src/index.ts","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://wavelovers/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://wavelovers/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wavelovers/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://wavelovers/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://wavelovers/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wavelovers/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.28.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: 'Β© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.28.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\n\n// IE8-\nvar INCORRECT_RESULT = [].unshift(0) !== 1;\n\n// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).unshift();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength();\n\n// `Array.prototype.unshift` method\n// https://tc39.es/ecma262/#sec-array.prototype.unshift\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n unshift: function unshift(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n if (argCount) {\n doesNotExceedSafeInteger(len + argCount);\n var k = len;\n while (k--) {\n var to = k + argCount;\n if (k in O) O[to] = O[k];\n else deletePropertyOrThrow(O, to);\n }\n for (var j = 0; j < argCount; j++) {\n O[j] = arguments[j];\n }\n } return setArrayLength(O, len + argCount);\n }\n});\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`onScopeDispose() is called when there is no active effect scope` +\n ` to be associated with.`);\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit; // set was tracked\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n }\n else {\n deps[ptr++] = dep;\n }\n // clear bits\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = new WeakMap();\n// The number of effects currently being tracked recursively.\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\n/**\n * The bitwise track markers support at most 30 levels of recursion.\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\n * When recursion depth is greater, fall back to using a full cleanup.\n */\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = undefined;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n }\n else {\n cleanupEffect(this);\n }\n return this.fn();\n }\n finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = undefined;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n // stopped while running itself - defer the cleanup\n if (activeEffect === this) {\n this.deferStop = true;\n }\n else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect) {\n const { deps } = effect;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === undefined ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, (depsMap = new Map()));\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, (dep = createDep()));\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { effect: activeEffect, target, type, key }\n : undefined;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit; // set newly tracked\n shouldTrack = !wasTracked(dep);\n }\n }\n else {\n // Full cleanup mode.\n shouldTrack = !dep.has(activeEffect);\n }\n if (shouldTrack) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n // never been tracked\n return;\n }\n let deps = [];\n if (type === \"clear\" /* TriggerOpTypes.CLEAR */) {\n // collection being cleared\n // trigger all effects for target\n deps = [...depsMap.values()];\n }\n else if (key === 'length' && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key) => {\n if (key === 'length' || key >= newLength) {\n deps.push(dep);\n }\n });\n }\n else {\n // schedule runs for SET | ADD | DELETE\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n // also run for iteration key on ADD | DELETE | Map.SET\n switch (type) {\n case \"add\" /* TriggerOpTypes.ADD */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n else if (isIntegerKey(key)) {\n // new index added to array -> length changes\n deps.push(depsMap.get('length'));\n }\n break;\n case \"delete\" /* TriggerOpTypes.DELETE */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\" /* TriggerOpTypes.SET */:\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { target, type, key, newValue, oldValue, oldTarget }\n : undefined;\n if (deps.length === 1) {\n if (deps[0]) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(deps[0], eventInfo);\n }\n else {\n triggerEffects(deps[0]);\n }\n }\n }\n else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(createDep(effects), eventInfo);\n }\n else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n // spread into array for stabilization\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect of effects) {\n if (effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n for (const effect of effects) {\n if (!effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\n if (effect !== activeEffect || effect.allowRecurse) {\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\n }\n if (effect.scheduler) {\n effect.scheduler();\n }\n else {\n effect.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) === null || _a === void 0 ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n/*#__PURE__*/\nObject.getOwnPropertyNames(Symbol)\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\n // function\n .filter(key => key !== 'arguments' && key !== 'caller')\n .map(key => Symbol[key])\n .filter(isSymbol));\nconst get$1 = /*#__PURE__*/ createGetter();\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\n instrumentations[key] = function (...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\" /* TrackOpTypes.GET */, i + '');\n }\n // we run the method using the original args first (which may be reactive)\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n // if that didn't work, run it again using raw values.\n return arr[key](...args.map(toRaw));\n }\n else {\n return res;\n }\n };\n });\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\n instrumentations[key] = function (...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\" /* TrackOpTypes.HAS */, key);\n return obj.hasOwnProperty(key);\n}\nfunction createGetter(isReadonly = false, shallow = false) {\n return function get(target, key, receiver) {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */) {\n return shallow;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */ &&\n receiver ===\n (isReadonly\n ? shallow\n ? shallowReadonlyMap\n : readonlyMap\n : shallow\n ? shallowReactiveMap\n : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === 'hasOwnProperty') {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly) {\n track(target, \"get\" /* TrackOpTypes.GET */, key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n // ref unwrapping - skip unwrap for Array + integer key.\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n // Convert returned value into a proxy as well. we do the isObject check\n // here to avoid invalid value warning. Also need to lazy access readonly\n // and reactive here to avoid circular dependency.\n return isReadonly ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set$1 = /*#__PURE__*/ createSetter();\nconst shallowSet = /*#__PURE__*/ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key)\n ? Number(key) < target.length\n : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n // don't trigger if target is something up in the prototype chain of original\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction has$1(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\" /* TrackOpTypes.HAS */, key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n});\n// Props handlers are special in the sense that it should not unwrap top-level\n// refs (in order to allow refs to be explicitly passed down), but should\n// retain the reactivity of the normal readonly object.\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\n get: shallowReadonlyGet\n});\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\n // of the value\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, key);\n }\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n }\n else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n }\n else if (target !== rawTarget) {\n // #3602 readonly(reactive(Map))\n // ensure that the nested reactive `Map` can do tracking for itself\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, key);\n }\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, rawKey);\n }\n return key === rawKey\n ? target.has(key)\n : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n !isReadonly && track(toRaw(target), \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return Reflect.get(target, 'size', target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : undefined;\n // forward the operation before queueing reactions\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = (process.env.NODE_ENV !== 'production')\n ? isMap(target)\n ? new Map(target)\n : new Set(target)\n : undefined;\n // forward the operation before queueing reactions\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return target.forEach((value, key) => {\n // important: make sure the callback is\n // 1. invoked with the reactive map as `this` and 3rd arg\n // 2. the value received should be a corresponding reactive/readonly.\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function (...args) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\n const isKeyOnly = method === 'keys' && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly &&\n track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n // return a wrapped iterator which returns observed versions of the\n // values emitted from the real iterator\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done\n ? { value, done }\n : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function (...args) {\n if ((process.env.NODE_ENV !== 'production')) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" /* TriggerOpTypes.DELETE */ ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\n iteratorMethods.forEach(method => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n return [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n ];\n}\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow\n ? isReadonly\n ? shallowReadonlyInstrumentations\n : shallowInstrumentations\n : isReadonly\n ? readonlyInstrumentations\n : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */) {\n return target;\n }\n return Reflect.get(hasOwn(instrumentations, key) && key in target\n ? instrumentations\n : target, key, receiver);\n };\n}\nconst mutableCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\n `which can lead to inconsistencies. ` +\n `Avoid differentiating between the raw and reactive versions ` +\n `of an object and only use the reactive version if possible.`);\n }\n}\n\nconst reactiveMap = new WeakMap();\nconst shallowReactiveMap = new WeakMap();\nconst readonlyMap = new WeakMap();\nconst shallowReadonlyMap = new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case 'Object':\n case 'Array':\n return 1 /* TargetType.COMMON */;\n case 'Map':\n case 'Set':\n case 'WeakMap':\n case 'WeakSet':\n return 2 /* TargetType.COLLECTION */;\n default:\n return 0 /* TargetType.INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)\n ? 0 /* TargetType.INVALID */\n : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n}\n/**\n * Creates a readonly copy of the original object. Note the returned copy is not\n * made reactive, but `readonly` can be called on an already reactive object.\n */\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n}\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n // target is already a Proxy, return it.\n // exception: calling readonly() on a reactive object\n if (target[\"__v_raw\" /* ReactiveFlags.RAW */] &&\n !(isReadonly && target[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */])) {\n return target;\n }\n // target already has corresponding Proxy\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n // only specific value types can be observed.\n const targetType = getTargetType(target);\n if (targetType === 0 /* TargetType.INVALID */) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\n if (shouldTrack && activeEffect) {\n ref = toRaw(ref);\n if ((process.env.NODE_ENV !== 'production')) {\n trackEffects(ref.dep || (ref.dep = createDep()), {\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n trackEffects(ref.dep || (ref.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref, newVal) {\n ref = toRaw(ref);\n const dep = ref.dep;\n if (dep) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(dep, {\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value',\n newValue: newVal\n });\n }\n else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = undefined;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref) {\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs)\n ? objectWithRefs\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = undefined;\n this.__v_isRef = true;\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === undefined ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nfunction toRef(object, key, defaultValue) {\n const val = object[key];\n return isRef(val)\n ? val\n : new ObjectRefImpl(object, key, defaultValue);\n}\n\nvar _a$1;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = undefined;\n this.__v_isRef = true;\n this[_a$1] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */] = isReadonly;\n }\n get value() {\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\n_a$1 = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = (process.env.NODE_ENV !== 'production')\n ? () => {\n console.warn('Write operation failed: computed value is readonly');\n }\n : NOOP;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nvar _a;\nconst tick = /*#__PURE__*/ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = undefined;\n this._dirty = true;\n this.__v_isRef = true;\n this[_a] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n }\n else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n // chained upstream computeds are notified synchronously to ensure\n // value invalidation in case of sync access; normal effects are\n // deferred to be triggered in scheduler.\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(true /* computedTrigger */);\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return (this._value = this.effect.run());\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n return toRaw(this)._get();\n }\n}\n_a = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isRegExp, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n // avoid props formatting or warn handler tracking deps that might be mutated\n // during patch, leading to infinite recursion.\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\n msg + args.join(''),\n instance && instance.proxy,\n trace\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\n .join('\\n'),\n trace\n ]);\n }\n else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n /* istanbul ignore if */\n if (trace.length &&\n // avoid spamming console during tests\n !false) {\n warnArgs.push(`\\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n // we can't just use the stack because it will be incomplete during updates\n // that did not start from the root. Re-construct the parent chain using\n // instance parent pointers.\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n }\n else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\n/* istanbul ignore next */\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\n const close = `>` + postfix;\n return vnode.props\n ? [open, ...formatProps(vnode.props), close]\n : [open + close];\n}\n/* istanbul ignore next */\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach(key => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\n/* istanbul ignore next */\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n }\n else if (typeof value === 'number' ||\n typeof value === 'boolean' ||\n value == null) {\n return raw ? value : [`${key}=${value}`];\n }\n else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n }\n else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n }\n else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n/**\n * @internal\n */\nfunction assertNumber(val, type) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n if (val === undefined) {\n return;\n }\n else if (typeof val !== 'number') {\n warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);\n }\n else if (isNaN(val)) {\n warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if ((process.env.NODE_ENV !== 'production')) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n // crash in dev by default so it's more noticeable\n if (throwInDev) {\n throw err;\n }\n else {\n console.error(err);\n }\n }\n else {\n // recover in prod to reduce the impact on end-user\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if ((process.env.NODE_ENV !== 'production') &&\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = (process.env.NODE_ENV !== 'production')\n ? (job) => checkRecursiveUpdates(seen, job)\n : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\n continue;\n }\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n }\n else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\n `This means you have a reactive effect that is mutating its own ` +\n `dependencies and thus recursively triggering itself. Possible sources ` +\n `include component template, render function, updated hook or ` +\n `watcher source function.`);\n return true;\n }\n else {\n seen.set(fn, count + 1);\n }\n }\n}\n\n/* eslint-disable no-restricted-globals */\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = new Set();\n// Expose the HMR runtime on the global object\n// This makes it entirely tree-shakable without polluting the exports and makes\n// it easier to be used in toolings like vue-loader\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\n// to be set so that its instances can be registered / removed.\nif ((process.env.NODE_ENV !== 'production')) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n // update initial record (for not-yet-rendered component)\n record.initialDef.render = newRender;\n [...record.instances].forEach(instance => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n // this flag forces child components with slot content to update\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n // update initial def (for not-yet-rendered components)\n updateComponentDef(record.initialDef, newComp);\n // create a snapshot which avoids the set being mutated during updates\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n // 1. Update existing comp definition to match new one\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n // 2. mark definition dirty. This forces the renderer to replace the\n // component on patch.\n hmrDirtyComponents.add(oldComp);\n }\n // 3. invalidate options resolution cache\n instance.appContext.optionsCache.delete(instance.type);\n // 4. actually update\n if (instance.ceReload) {\n // custom element\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n }\n else if (instance.parent) {\n // 4. Force the parent instance to re-render. This will cause all updated\n // components to be unmounted and re-mounted. Queue the update so that we\n // don't end up forcing the same parent to re-render multiple times.\n queueJob(instance.parent.update);\n }\n else if (instance.appContext.reload) {\n // root instance mounted via createApp() has a reload method\n instance.appContext.reload();\n }\n else if (typeof window !== 'undefined') {\n // root instance inside tree created via raw render(). Force reload.\n window.location.reload();\n }\n else {\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\n }\n }\n // 5. make sure to cleanup dirty hmr components after update\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== '__file' && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n }\n catch (e) {\n console.error(e);\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\n `Full reload required.`);\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n }\n else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3000);\n }\n else {\n // non-browser env, assume not installed\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = \n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools &&\n typeof devtools.cleanupBuffer === 'function' &&\n // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\n };\n}\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if ((process.env.NODE_ENV !== 'production')) {\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) &&\n !(false )) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\n }\n }\n else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => (isString(a) ? a.trim() : a));\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if ((process.env.NODE_ENV !== 'production')) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\n }\n }\n let handlerName;\n let handler = props[(handlerName = toHandlerKey(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = toHandlerKey(camelize(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\n hasOwn(options, hyphenate(key)) ||\n hasOwn(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled ``, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\n/**\n * dev only flag to track whether $attrs was used during render.\n * If $attrs was used during render then the warning for failed attrs\n * fallthrough can be suppressed.\n */\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if ((process.env.NODE_ENV !== 'production')) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(render.length > 1\n ? render(props, (process.env.NODE_ENV !== 'production')\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : { attrs, slots, emit })\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n let setRoot = undefined;\n if ((process.env.NODE_ENV !== 'production') &&\n result.patchFlag > 0 &&\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n // ignore v-model handlers when they fail to fallthrough\n if (!isModelListener(key)) {\n // remove `on`, lowercase first letter to reflect event casing\n // accurately\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n }\n else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(`Extraneous non-props attributes (` +\n `${extraAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes.`);\n }\n if (eventAttrs.length) {\n warn(`Extraneous non-emits event listeners (` +\n `${eventAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes. ` +\n `If the listener is intended to be a component custom event listener only, ` +\n `declare it using the \"emits\" option.`);\n }\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Runtime directive used on component with non-element root node. ` +\n `The directives will not function as intended.`);\n }\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Component inside renders non-element root node ` +\n `that cannot be animated.`);\n }\n root.transition = vnode.transition;\n }\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\n setRoot(root);\n }\n else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\n/**\n * dev only\n * In dev mode, template root level comments are rendered, which turns the\n * template into a fragment root, but we need to locate the single element\n * root for attrs and scope id processing.\n */\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, undefined];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n }\n else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\n vnode.type === Comment // potential v-if branch switch\n );\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // Parent component's render function was hot-updated. Since this may have\n // caused the child component's slots content to have changed, we need to\n // force the child to update as well.\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\n hasWarned = true;\n // @ts-ignore `console.info` cannot be null error\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\n }\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;\n if ((process.env.NODE_ENV !== 'production')) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n if ((process.env.NODE_ENV !== 'production')) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(`suspense.resolve() is called without a pending branch.`);\n }\n if (suspense.isUnmounted) {\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\n }\n }\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n if ((process.env.NODE_ENV !== 'production')) {\n pushWarningContext(vnode);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n if ((process.env.NODE_ENV !== 'production')) {\n popWarningContext();\n }\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`provide() can only be used inside setup().`);\n }\n }\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`injection \"${String(key)}\" not found.`);\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' });\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' });\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\n `supports \\`watch(source, cb, options?) signature.`);\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n if ((process.env.NODE_ENV !== 'production') && !cb) {\n if (immediate !== undefined) {\n warn(`watch() \"immediate\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n if (deep !== undefined) {\n warn(`watch() \"deep\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n }\n const warnInvalidSource = (s) => {\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\n `a reactive object, or an array of these types.`);\n };\n const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;\n // const instance = currentInstance\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n }\n else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\n getter = () => source.map(s => {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n return traverse(s);\n }\n else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\n }\n });\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = NOOP;\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager or sync flush\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n if (flush === 'sync') {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n }\n else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource\n ? new Array(source.length).fill(INITIAL_WATCHER_VALUE)\n : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\n : hasChanged(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE\n ? undefined\n : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE\n ? []\n : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if ((process.env.NODE_ENV !== 'production')) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\n // warn more than one non-comment child\n warn(' can only be used on a single element or component. ' +\n 'Use for lists.');\n break;\n }\n child = c;\n hasFound = true;\n if (!(process.env.NODE_ENV !== 'production'))\n break;\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n // check mode\n if ((process.env.NODE_ENV !== 'production') &&\n mode &&\n mode !== 'in-out' &&\n mode !== 'out-in' &&\n mode !== 'default') {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of , we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n // #6835\n // it also needs to be updated when active is undefined\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of diff --git a/src/components/AppPatterns.vue b/src/components/AppPatterns.vue index fd20b86..7ec10fe 100644 --- a/src/components/AppPatterns.vue +++ b/src/components/AppPatterns.vue @@ -1,57 +1,58 @@ ο»Ώ diff --git a/src/components/DiagnosticItem.vue b/src/components/DiagnosticItem.vue index edb5f1d..c9a17df 100644 --- a/src/components/DiagnosticItem.vue +++ b/src/components/DiagnosticItem.vue @@ -3,34 +3,78 @@

#{{ gamepad.unit.index + 1 }}. {{ gamepad.unit.id }}

- A: {{ gamepad.unit.buttons[0].value.toFixed(2) }} - B: {{ gamepad.unit.buttons[1].value.toFixed(2) }} - X: {{ gamepad.unit.buttons[2].value.toFixed(2) }} - Y: {{ gamepad.unit.buttons[3].value.toFixed(2) }} + A: {{ gamepad.unit.buttons[0].value.toFixed(2) }} + B: {{ gamepad.unit.buttons[1].value.toFixed(2) }} + X: {{ gamepad.unit.buttons[2].value.toFixed(2) }} + Y: {{ gamepad.unit.buttons[3].value.toFixed(2) }}
- LB: {{ gamepad.unit.buttons[4].value.toFixed(2) }} - RB: {{ gamepad.unit.buttons[5].value.toFixed(2) }} - LT: {{ gamepad.unit.buttons[6].value.toFixed(2) }} - RT: {{ gamepad.unit.buttons[7].value.toFixed(2) }} + LB: {{ gamepad.unit.buttons[4].value.toFixed(2) }} + RB: {{ gamepad.unit.buttons[5].value.toFixed(2) }} + LT: {{ gamepad.unit.buttons[6].value.toFixed(2) }} + RT: {{ gamepad.unit.buttons[7].value.toFixed(2) }}
- Back: {{ gamepad.unit.buttons[8].value.toFixed(2) }} - Start: {{ gamepad.unit.buttons[9].value.toFixed(2) }} - Left Stick: {{gamepad.unit.buttons[10].value.toFixed(2) }} - Right Stick: {{ gamepad.unit.buttons[11].value.toFixed(2) }} + Back: {{ gamepad.unit.buttons[8].value.toFixed(2) }} + Start: {{ gamepad.unit.buttons[9].value.toFixed(2) }} + Left Stick: {{ gamepad.unit.buttons[10].value.toFixed(2) }} + Right Stick: {{ gamepad.unit.buttons[11].value.toFixed(2) }}
- Forward: {{ gamepad.unit.buttons[12].value.toFixed(2) }} - Backward: {{ gamepad.unit.buttons[13].value.toFixed(2) }} - Left: {{ gamepad.unit.buttons[14].value.toFixed(2) }} - Right: {{ gamepad.unit.buttons[15].value.toFixed(2) }} + Forward: {{ gamepad.unit.buttons[12].value.toFixed(2) }} + Backward: {{ gamepad.unit.buttons[13].value.toFixed(2) }} + Left: {{ gamepad.unit.buttons[14].value.toFixed(2) }} + Right: {{ gamepad.unit.buttons[15].value.toFixed(2) }}
- Left Stick X: {{ gamepad.unit.axes[0] ? gamepad.unit.axes[0].toFixed(2) : 'missing' }} - Left Stick Y: {{ gamepad.unit.axes[1] ? gamepad.unit.axes[1].toFixed(2) : 'missing' }} - Right Stick X: {{ gamepad.unit.axes[2] ? gamepad.unit.axes[2].toFixed(2) : 'missing' }} - Right Stick Y: {{ gamepad.unit.axes[3] ? gamepad.unit.axes[3].toFixed(2) : 'missing' }} + Left Stick X: + {{ gamepad.unit.axes[0] ? gamepad.unit.axes[0].toFixed(2) : 'missing' }} + Left Stick Y: + {{ gamepad.unit.axes[1] ? gamepad.unit.axes[1].toFixed(2) : 'missing' }} + Right Stick X: + {{ gamepad.unit.axes[2] ? gamepad.unit.axes[2].toFixed(2) : 'missing' }} + Right Stick Y: + {{ gamepad.unit.axes[3] ? gamepad.unit.axes[3].toFixed(2) : 'missing' }}
Vibration Actuator: {{ gamepad.unit.vibrationActuator ? 'Available' : 'missing' }} @@ -38,47 +82,47 @@ diff --git a/src/components/FooterItem.vue b/src/components/FooterItem.vue index 788c333..4a6d87b 100644 --- a/src/components/FooterItem.vue +++ b/src/components/FooterItem.vue @@ -2,52 +2,57 @@ diff --git a/src/components/GamepadItem.vue b/src/components/GamepadItem.vue index 5f21a59..8ca9d6e 100644 --- a/src/components/GamepadItem.vue +++ b/src/components/GamepadItem.vue @@ -3,31 +3,31 @@ diff --git a/src/components/GamepadList.vue b/src/components/GamepadList.vue index 4a8ac85..46f6aec 100644 --- a/src/components/GamepadList.vue +++ b/src/components/GamepadList.vue @@ -1,33 +1,31 @@ diff --git a/src/components/HeaderItem.vue b/src/components/HeaderItem.vue index 3b42275..53ee0f0 100644 --- a/src/components/HeaderItem.vue +++ b/src/components/HeaderItem.vue @@ -25,119 +25,119 @@ diff --git a/src/components/MessageItem.vue b/src/components/MessageItem.vue index 377b5f5..2f181b3 100644 --- a/src/components/MessageItem.vue +++ b/src/components/MessageItem.vue @@ -7,26 +7,26 @@ diff --git a/src/components/NavigationList.vue b/src/components/NavigationList.vue index 6d65f71..6a3e918 100644 --- a/src/components/NavigationList.vue +++ b/src/components/NavigationList.vue @@ -8,26 +8,26 @@ diff --git a/src/components/PatternItem.vue b/src/components/PatternItem.vue index 3c38a27..f7682ca 100644 --- a/src/components/PatternItem.vue +++ b/src/components/PatternItem.vue @@ -1,100 +1,96 @@ diff --git a/src/components/PatternList.vue b/src/components/PatternList.vue index e8af8e5..6787f20 100644 --- a/src/components/PatternList.vue +++ b/src/components/PatternList.vue @@ -1,56 +1,58 @@ diff --git a/src/main.ts b/src/main.ts index 91b4f92..fec09cf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,7 +3,4 @@ import App from '@/App.vue'; import router from '@/router'; import store from '@/store'; -createApp(App) - .use(store) - .use(router) - .mount('#app'); +createApp(App).use(store).use(router).mount('#app'); diff --git a/src/mixins/ComputedGamepads.vue b/src/mixins/ComputedGamepads.vue index a426332..4336aff 100644 --- a/src/mixins/ComputedGamepads.vue +++ b/src/mixins/ComputedGamepads.vue @@ -1,36 +1,36 @@ diff --git a/src/models/PatternUnit.ts b/src/models/PatternUnit.ts index ebee752..9aec97b 100644 --- a/src/models/PatternUnit.ts +++ b/src/models/PatternUnit.ts @@ -1,15 +1,16 @@ -import IPatternUnit from "@/models/IPatternUnit"; +import IPatternUnit from '@/models/IPatternUnit'; class PatternUnit implements IPatternUnit { - startDelay: number; duration: number; weakMagnitude: number; strongMagnitude: number; constructor( - startDelay: number, duration: number, - weakMagnitude: number, strongMagnitude: number + startDelay: number, + duration: number, + weakMagnitude: number, + strongMagnitude: number, ) { this.startDelay = startDelay; this.duration = duration; diff --git a/src/models/TPattern.ts b/src/models/TPattern.ts index b42ff66..6a6b897 100644 --- a/src/models/TPattern.ts +++ b/src/models/TPattern.ts @@ -5,6 +5,6 @@ type TPattern = { type: string; icon: string; pattern: TPatternUnit[]; -} +}; export default TPattern; diff --git a/src/models/TPatternUnit.ts b/src/models/TPatternUnit.ts index 0cd34c7..58fc26b 100644 --- a/src/models/TPatternUnit.ts +++ b/src/models/TPatternUnit.ts @@ -3,6 +3,6 @@ type TPatternUnit = { duration: number; weakMagnitude: number; strongMagnitude: number; -} +}; export default TPatternUnit; diff --git a/src/models/Vibrator.ts b/src/models/Vibrator.ts index 8882ff5..888f8a2 100644 --- a/src/models/Vibrator.ts +++ b/src/models/Vibrator.ts @@ -3,7 +3,6 @@ import IGamepad from '@/models/IGamepad'; import IVibrator from '@/models/IVibrator'; class Vibrator implements IVibrator { - unit: IGamepad; readonly id: number; readonly canVibrate: boolean; @@ -13,7 +12,7 @@ class Vibrator implements IVibrator { constructor(unit: IGamepad) { this.unit = unit; this.id = Date.now(); - this.canVibrate = (this.unit.vibrationActuator) ? true : false; + this.canVibrate = this.unit.vibrationActuator ? true : false; this.isVibrating = false; this.update = this.update.bind(this); this.interval = setInterval(this.update, 1); @@ -49,7 +48,7 @@ class Vibrator implements IVibrator { } sleep(ms: number): Promise { - return new Promise(resolve => setTimeout(resolve, ms)); + return new Promise((resolve) => setTimeout(resolve, ms)); } } diff --git a/src/router/assets/metas/About.ts b/src/router/assets/metas/About.ts index 3fc89cf..d225ad7 100644 --- a/src/router/assets/metas/About.ts +++ b/src/router/assets/metas/About.ts @@ -5,7 +5,8 @@ const meta: IMeta = { metaTags: [ { name: 'keywords', - content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°', + content: + 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°', }, { name: 'description', diff --git a/src/router/assets/metas/Custom.ts b/src/router/assets/metas/Custom.ts index e4e6bca..53adf84 100644 --- a/src/router/assets/metas/Custom.ts +++ b/src/router/assets/metas/Custom.ts @@ -5,11 +5,13 @@ const meta: IMeta = { metaTags: [ { name: 'keywords', - content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Custom mode', + content: + 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Custom mode', }, { name: 'description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.', }, { name: 'og:title', @@ -17,7 +19,8 @@ const meta: IMeta = { }, { name: 'og:description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.', }, { name: 'og:url', @@ -29,7 +32,8 @@ const meta: IMeta = { }, { name: 'twitter:description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Custom mode.', }, ], linkTags: [ diff --git a/src/router/assets/metas/Diagnostic.ts b/src/router/assets/metas/Diagnostic.ts index 17f3895..f4960be 100644 --- a/src/router/assets/metas/Diagnostic.ts +++ b/src/router/assets/metas/Diagnostic.ts @@ -5,11 +5,13 @@ const meta: IMeta = { metaTags: [ { name: 'keywords', - content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Diagnostic mode', + content: + 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Diagnostic mode', }, { name: 'description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.', }, { name: 'og:title', @@ -17,7 +19,8 @@ const meta: IMeta = { }, { name: 'og:description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.', }, { name: 'og:url', @@ -29,7 +32,8 @@ const meta: IMeta = { }, { name: 'twitter:description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Diagnostic mode.', }, ], linkTags: [ diff --git a/src/router/assets/metas/Donate.ts b/src/router/assets/metas/Donate.ts index b1bf3f1..3174762 100644 --- a/src/router/assets/metas/Donate.ts +++ b/src/router/assets/metas/Donate.ts @@ -5,7 +5,8 @@ const meta: IMeta = { metaTags: [ { name: 'keywords', - content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π·Π°Π΄ΠΎΠ½Π°Ρ‚ΠΈΡ‚ΡŒ, ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ', + content: + 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π·Π°Π΄ΠΎΠ½Π°Ρ‚ΠΈΡ‚ΡŒ, ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ', }, { name: 'description', diff --git a/src/router/assets/metas/Faq.ts b/src/router/assets/metas/Faq.ts index 5a059ce..47c10e6 100644 --- a/src/router/assets/metas/Faq.ts +++ b/src/router/assets/metas/Faq.ts @@ -5,7 +5,8 @@ const meta: IMeta = { metaTags: [ { name: 'keywords', - content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы', + content: + 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы', }, { name: 'description', diff --git a/src/router/assets/metas/Manual.ts b/src/router/assets/metas/Manual.ts index 4945b07..f009fdb 100644 --- a/src/router/assets/metas/Manual.ts +++ b/src/router/assets/metas/Manual.ts @@ -5,11 +5,13 @@ const meta: IMeta = { metaTags: [ { name: 'keywords', - content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Manual mode', + content: + 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Manual mode', }, { name: 'description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.', }, { name: 'og:title', @@ -17,7 +19,8 @@ const meta: IMeta = { }, { name: 'og:description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.', }, { name: 'og:url', @@ -29,7 +32,8 @@ const meta: IMeta = { }, { name: 'twitter:description', - content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.', + content: + 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad. Manual mode.', }, ], linkTags: [ diff --git a/src/router/assets/metas/Patterns.ts b/src/router/assets/metas/Patterns.ts index db57225..6141c88 100644 --- a/src/router/assets/metas/Patterns.ts +++ b/src/router/assets/metas/Patterns.ts @@ -5,7 +5,8 @@ const meta: IMeta = { metaTags: [ { name: 'keywords', - content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°', + content: + 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, дТойстик, Π²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€, вибромассаТСр, Π²ΠΈΠ±Ρ€ΠΎ, вибромассаТёр ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, тСстСр Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°', }, { name: 'description', diff --git a/src/router/assets/queries.ts b/src/router/assets/queries.ts index 7352ca0..a848184 100644 --- a/src/router/assets/queries.ts +++ b/src/router/assets/queries.ts @@ -24,7 +24,7 @@ const queries: Array = [ { query: '/?donate', path: '/donate', - } + }, ]; export default queries; diff --git a/src/router/index.ts b/src/router/index.ts index 7c51e7e..6922698 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,6 +1,8 @@ import { - createRouter, createWebHistory, - NavigationGuardNext, RouteLocationNormalized + createRouter, + createWebHistory, + NavigationGuardNext, + RouteLocationNormalized, } from 'vue-router'; import QueryRouter from 'vue-query-router'; import MetaTagUpdater from 'vue-meta-tag-updater'; @@ -13,13 +15,11 @@ const router = createRouter({ routes, }); -router.beforeEach(( - to: RouteLocationNormalized, - from: RouteLocationNormalized, - next: NavigationGuardNext -) => { - QueryRouter.update(to, from, next, router, queries); - MetaTagUpdater.update(to, from, next, metas) -}); +router.beforeEach( + (to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) => { + QueryRouter.update(to, from, next, router, queries); + MetaTagUpdater.update(to, from, next, metas); + }, +); export default router; diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts index b2f30d2..bb39a1a 100644 --- a/src/shims-vue.d.ts +++ b/src/shims-vue.d.ts @@ -3,4 +3,4 @@ declare module '*.vue' { import type { DefineComponent } from 'vue'; const component: DefineComponent<{}, {}, any>; export default component; -}; +} diff --git a/src/store/modules/MGamepads.ts b/src/store/modules/MGamepads.ts index 5a41631..bff27ec 100644 --- a/src/store/modules/MGamepads.ts +++ b/src/store/modules/MGamepads.ts @@ -26,7 +26,7 @@ const MGamepads: Module = { actions: { addGamepad: function ( context: ActionContext, - event: GamepadEvent + event: GamepadEvent, ): void { const iEvent: IGamepadEvent = event as unknown as IGamepadEvent; if (context.getters.gamepads.length >= 1) { @@ -37,7 +37,7 @@ const MGamepads: Module = { }, deleteGamepad: function ( context: ActionContext, - event: GamepadEvent + event: GamepadEvent, ): void { context.getters.gamepads.forEach((gamepad: Vibrator, index: number) => { if (gamepad.unit.id === event.gamepad.id) { @@ -47,7 +47,7 @@ const MGamepads: Module = { }, loop: function ( context: ActionContext, - pattern: TPatternUnit[] + pattern: TPatternUnit[], ): void { context.getters.gamepads.forEach((gamepad: Vibrator) => { gamepad.loop(pattern); @@ -55,15 +55,13 @@ const MGamepads: Module = { }, vibrate: function ( context: ActionContext, - pattern: TPatternUnit + pattern: TPatternUnit, ): void { context.getters.gamepads.forEach((gamepad: Vibrator) => { gamepad.vibrate(pattern); }); }, - reset: function ( - context: ActionContext - ): void { + reset: function (context: ActionContext): void { context.getters.gamepads.forEach((gamepad: Vibrator) => { gamepad.reset(); }); diff --git a/src/store/modules/MPatterns.ts b/src/store/modules/MPatterns.ts index 7fb8b54..a7cb795 100644 --- a/src/store/modules/MPatterns.ts +++ b/src/store/modules/MPatterns.ts @@ -19,7 +19,7 @@ const MPatterns: Module = { }, actions: { loadPatterns: async function ( - context: ActionContext + context: ActionContext, ): Promise { const url = 'https://wavelovers.ru/assets/patterns.json'; try { diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue index 5638040..4c0ede3 100644 --- a/src/views/AboutView.vue +++ b/src/views/AboutView.vue @@ -1,17 +1,17 @@ diff --git a/src/views/CustomView.vue b/src/views/CustomView.vue index c9508ea..ea03e02 100644 --- a/src/views/CustomView.vue +++ b/src/views/CustomView.vue @@ -1,16 +1,16 @@ diff --git a/src/views/DiagnosticView.vue b/src/views/DiagnosticView.vue index 8742e59..aeb0699 100644 --- a/src/views/DiagnosticView.vue +++ b/src/views/DiagnosticView.vue @@ -1,16 +1,16 @@ diff --git a/src/views/DonateView.vue b/src/views/DonateView.vue index a1bbd82..df47469 100644 --- a/src/views/DonateView.vue +++ b/src/views/DonateView.vue @@ -1,5 +1,5 @@ diff --git a/src/views/FaqView.vue b/src/views/FaqView.vue index e354d5b..0b955e6 100644 --- a/src/views/FaqView.vue +++ b/src/views/FaqView.vue @@ -1,30 +1,55 @@ diff --git a/src/views/ManualView.vue b/src/views/ManualView.vue index 69b8136..b5bc367 100644 --- a/src/views/ManualView.vue +++ b/src/views/ManualView.vue @@ -1,16 +1,16 @@ diff --git a/src/views/NotFoundView.vue b/src/views/NotFoundView.vue index 31e09e1..4312496 100644 --- a/src/views/NotFoundView.vue +++ b/src/views/NotFoundView.vue @@ -8,9 +8,9 @@ diff --git a/src/views/PatternsView.vue b/src/views/PatternsView.vue index 1c625f7..39ad348 100644 --- a/src/views/PatternsView.vue +++ b/src/views/PatternsView.vue @@ -4,13 +4,13 @@ diff --git a/tests/unit/HeaderItem.spec.ts b/tests/unit/HeaderItem.spec.ts index 7832235..b3f73fe 100644 --- a/tests/unit/HeaderItem.spec.ts +++ b/tests/unit/HeaderItem.spec.ts @@ -1,23 +1,20 @@ -ο»Ώimport { shallowMount } from '@vue/test-utils'; -import { createRouter, createWebHistory } from 'vue-router' -import routes from '@/router/assets/routes' -import HeaderItem from '@/components/HeaderItem.vue'; +ο»Ώimport { shallowMount } from '@vue/test-utils'; +import { createRouter, createWebHistory } from 'vue-router'; +import routes from '@/router/assets/routes'; +import HeaderItem from '@/components/HeaderItem.vue'; const router = createRouter({ history: createWebHistory(), routes: routes, -}) +}); describe('HeaderItem.vue', () => { it('renders slots when passed', () => { - const wrapper = shallowMount( - HeaderItem, - { - global: { - plugins: [router] - } - } - ); + const wrapper = shallowMount(HeaderItem, { + global: { + plugins: [router], + }, + }); expect(wrapper.html()).toContain('Wavelovers'); }); }); diff --git a/tests/unit/MessageItem.spec.ts b/tests/unit/MessageItem.spec.ts index 5dbc288..6351fea 100644 --- a/tests/unit/MessageItem.spec.ts +++ b/tests/unit/MessageItem.spec.ts @@ -4,14 +4,11 @@ import MessageItem from '@/components/MessageItem.vue'; describe('MessageItem.vue', () => { it('renders slots when passed', () => { const msg = 'new message'; - const wrapper = shallowMount( - MessageItem, - { - slots: { - default: msg, - }, - } - ); + const wrapper = shallowMount(MessageItem, { + slots: { + default: msg, + }, + }); expect(wrapper.html()).toContain(msg); }); }); diff --git a/tsconfig.json b/tsconfig.json index 524b4fb..1b0f08c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,30 +12,12 @@ "useDefineForClassFields": true, "sourceMap": true, "baseUrl": ".", - "types": [ - "webpack-env", - "jest" - ], + "types": ["webpack-env", "jest"], "paths": { - "@/*": [ - "src/*" - ] + "@/*": ["src/*"] }, - "lib": [ - "esnext", - "dom", - "dom.iterable", - "scripthost" - ] + "lib": ["esnext", "dom", "dom.iterable", "scripthost"] }, - "include": [ - "src/**/*.ts", - "src/**/*.tsx", - "src/**/*.vue", - "tests/**/*.ts", - "tests/**/*.tsx" - ], - "exclude": [ - "node_modules" - ] + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "tests/**/*.ts", "tests/**/*.tsx"], + "exclude": ["node_modules"] }