From 3b4dc7df275e4f18e97046df142fb4aa54a00149 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Thu, 2 Jan 2025 23:58:45 +0100 Subject: [PATCH] codeformat --- .github/workflows/.deploy.yml | 6 +- hydra.html | 38 +- index.html | 9 +- package.json | 3 +- pnpm-lock.yaml | 961 ++++++++++++++++---------- public/assets/clockworker--4w5RvGG.js | 114 ++- src/confirm.js | 6 +- src/hydra.js | 39 +- src/main.js | 80 +-- src/settings.js | 24 +- src/strudel.js | 71 +- src/theme.js | 90 +-- strudel.html | 16 +- vite.config.js | 8 +- 14 files changed, 898 insertions(+), 567 deletions(-) diff --git a/.github/workflows/.deploy.yml b/.github/workflows/.deploy.yml index 58fd113..3886d58 100644 --- a/.github/workflows/.deploy.yml +++ b/.github/workflows/.deploy.yml @@ -14,7 +14,7 @@ permissions: # Allow one concurrent deployment concurrency: - group: "pages" + group: 'pages' cancel-in-progress: true jobs: @@ -31,7 +31,7 @@ jobs: - uses: actions/setup-node@v3 with: node-version: 20 - cache: "pnpm" + cache: 'pnpm' - name: Install Dependencies run: pnpm install @@ -45,7 +45,7 @@ jobs: uses: actions/upload-pages-artifact@v1 with: # Upload entire repository - path: "./dist" + path: './dist' - name: Deploy to GitHub Pages id: deployment diff --git a/hydra.html b/hydra.html index d88ddb9..fc6767d 100644 --- a/hydra.html +++ b/hydra.html @@ -1,16 +1,16 @@ - + - - - + + - /> + /> diff --git a/index.html b/index.html index 645d4cf..70e3855 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + @@ -106,12 +106,7 @@

Settings


diff --git a/package.json b/package.json index af6271a..fd163ed 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "dev": "vite", "build": "vite build", - "preview": "vite preview" + "preview": "vite preview", + "codeformat": "prettier --write ." }, "devDependencies": { "vite": "^5.0.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 488e1e0..97f54e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,6 @@ settings: excludeLinksFromLockfile: false importers: - .: dependencies: '@codemirror/lang-javascript': @@ -86,175 +85,207 @@ importers: version: 5.4.11 packages: - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== } + engines: { node: '>=6.9.0' } '@codemirror/autocomplete@6.18.4': - resolution: {integrity: sha512-sFAphGQIqyQZfP2ZBsSHV7xQvo9Py0rV0dW7W3IMRdS+zDuNb2l3no78CvUaWKGfzFjI4FTrLdUSj86IGb2hRA==} + resolution: + { integrity: sha512-sFAphGQIqyQZfP2ZBsSHV7xQvo9Py0rV0dW7W3IMRdS+zDuNb2l3no78CvUaWKGfzFjI4FTrLdUSj86IGb2hRA== } '@codemirror/commands@6.7.1': - resolution: {integrity: sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw==} + resolution: + { integrity: sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw== } '@codemirror/lang-javascript@6.2.2': - resolution: {integrity: sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==} + resolution: + { integrity: sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg== } '@codemirror/language@6.10.8': - resolution: {integrity: sha512-wcP8XPPhDH2vTqf181U8MbZnW+tDyPYy0UzVOa+oHORjyT+mhhom9vBd7dApJwoDz9Nb/a8kHjJIsuA/t8vNFw==} + resolution: + { integrity: sha512-wcP8XPPhDH2vTqf181U8MbZnW+tDyPYy0UzVOa+oHORjyT+mhhom9vBd7dApJwoDz9Nb/a8kHjJIsuA/t8vNFw== } '@codemirror/lint@6.8.4': - resolution: {integrity: sha512-u4q7PnZlJUojeRe8FJa/njJcMctISGgPQ4PnWsd9268R4ZTtU+tfFYmwkBvgcrK2+QQ8tYFVALVb5fVJykKc5A==} + resolution: + { integrity: sha512-u4q7PnZlJUojeRe8FJa/njJcMctISGgPQ4PnWsd9268R4ZTtU+tfFYmwkBvgcrK2+QQ8tYFVALVb5fVJykKc5A== } '@codemirror/search@6.5.8': - resolution: {integrity: sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig==} + resolution: + { integrity: sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig== } '@codemirror/state@6.5.0': - resolution: {integrity: sha512-MwBHVK60IiIHDcoMet78lxt6iw5gJOGSbNbOIVBHWVXIH4/Nq1+GQgLLGgI1KlnN86WDXsPudVaqYHKBIx7Eyw==} + resolution: + { integrity: sha512-MwBHVK60IiIHDcoMet78lxt6iw5gJOGSbNbOIVBHWVXIH4/Nq1+GQgLLGgI1KlnN86WDXsPudVaqYHKBIx7Eyw== } '@codemirror/view@6.36.1': - resolution: {integrity: sha512-miD1nyT4m4uopZaDdO2uXU/LLHliKNYL9kB1C1wJHrunHLm/rpkb5QVSokqgw9hFqEZakrdlb/VGWX8aYZTslQ==} + resolution: + { integrity: sha512-miD1nyT4m4uopZaDdO2uXU/LLHliKNYL9kB1C1wJHrunHLm/rpkb5QVSokqgw9hFqEZakrdlb/VGWX8aYZTslQ== } '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== } + engines: { node: '>=12' } cpu: [arm64] os: [android] '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== } + engines: { node: '>=12' } cpu: [arm] os: [android] '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== } + engines: { node: '>=12' } cpu: [x64] os: [android] '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== } + engines: { node: '>=12' } cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== } + engines: { node: '>=12' } cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== } + engines: { node: '>=12' } cpu: [x64] os: [linux] '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== } + engines: { node: '>=12' } cpu: [x64] os: [win32] '@flok-editor/cm-eval@1.0.1': - resolution: {integrity: sha512-3BVjAEKu8y4R99JGeckcVfRmqOotFZ9iDi+ow86vzsrKGNgNLx7ZyP4TZi202O4tMqhIIfEDdhn+WKfwpMPtrA==} + resolution: + { integrity: sha512-3BVjAEKu8y4R99JGeckcVfRmqOotFZ9iDi+ow86vzsrKGNgNLx7ZyP4TZi202O4tMqhIIfEDdhn+WKfwpMPtrA== } peerDependencies: '@codemirror/commands': ^6.2.2 '@codemirror/state': ^6.2.0 @@ -263,10 +294,12 @@ packages: codemirror: ^6.0.1 '@flok-editor/pubsub@1.0.1': - resolution: {integrity: sha512-xBilIxTQAzetV16812ne+smik338B1FudeAKOl4XgA1+XeWqjUuhXj1w7ovtjcI4GXd8kjXJ2RDV02Eai4y5zg==} + resolution: + { integrity: sha512-xBilIxTQAzetV16812ne+smik338B1FudeAKOl4XgA1+XeWqjUuhXj1w7ovtjcI4GXd8kjXJ2RDV02Eai4y5zg== } '@flok-editor/session@1.1.0': - resolution: {integrity: sha512-y7dZnhwgzvRfLOYMOy/v4t8g4Q1U2e8krmdFaD4S/b24InrMykHkijM6d3BdKMiFuxbdxe6mRdE6mrI70z2LuA==} + resolution: + { integrity: sha512-y7dZnhwgzvRfLOYMOy/v4t8g4Q1U2e8krmdFaD4S/b24InrMykHkijM6d3BdKMiFuxbdxe6mRdE6mrI70z2LuA== } peerDependencies: y-indexeddb: ^9.0.9 y-protocols: ^1.0.5 @@ -275,28 +308,35 @@ packages: yjs: ^13.5.50 '@lezer/common@1.2.3': - resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==} + resolution: + { integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA== } '@lezer/highlight@1.2.1': - resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} + resolution: + { integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA== } '@lezer/javascript@1.4.21': - resolution: {integrity: sha512-lL+1fcuxWYPURMM/oFZLEDm0XuLN128QPV+VuGtKpeaOGdcl9F2LYC3nh1S9LkPqx9M0mndZFdXCipNAZpzIkQ==} + resolution: + { integrity: sha512-lL+1fcuxWYPURMM/oFZLEDm0XuLN128QPV+VuGtKpeaOGdcl9F2LYC3nh1S9LkPqx9M0mndZFdXCipNAZpzIkQ== } '@lezer/lr@1.4.2': - resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} + resolution: + { integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA== } '@marijn/find-cluster-break@1.0.2': - resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} + resolution: + { integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g== } '@nanostores/persistent@0.9.1': - resolution: {integrity: sha512-ow57Hxm5VMaI5GHET/cVk8hX/iKMmbhcGrB9owfN8p8OHiiJgUlYxe1giacwlAALJXAh2t8bxXh42hHb64BCEA==} - engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + resolution: + { integrity: sha512-ow57Hxm5VMaI5GHET/cVk8hX/iKMmbhcGrB9owfN8p8OHiiJgUlYxe1giacwlAALJXAh2t8bxXh42hHb64BCEA== } + engines: { node: ^16.0.0 || ^18.0.0 || >=20.0.0 } peerDependencies: nanostores: ^0.9.0 '@replit/codemirror-emacs@6.1.0': - resolution: {integrity: sha512-74DITnht6Cs6sHg02PQ169IKb1XgtyhI9sLD0JeOFco6Ds18PT+dkD8+DgXBDokne9UIFKsBbKPnpFRAz60/Lw==} + resolution: + { integrity: sha512-74DITnht6Cs6sHg02PQ169IKb1XgtyhI9sLD0JeOFco6Ds18PT+dkD8+DgXBDokne9UIFKsBbKPnpFRAz60/Lw== } peerDependencies: '@codemirror/autocomplete': ^6.0.2 '@codemirror/commands': ^6.0.0 @@ -305,7 +345,8 @@ packages: '@codemirror/view': ^6.3.0 '@replit/codemirror-vim@6.2.1': - resolution: {integrity: sha512-qDAcGSHBYU5RrdO//qCmD8K9t6vbP327iCj/iqrkVnjbrpFhrjOt92weGXGHmTNRh16cUtkUZ7Xq7rZf+8HVow==} + resolution: + { integrity: sha512-qDAcGSHBYU5RrdO//qCmD8K9t6vbP327iCj/iqrkVnjbrpFhrjOt92weGXGHmTNRh16cUtkUZ7Xq7rZf+8HVow== } peerDependencies: '@codemirror/commands': ^6.0.0 '@codemirror/language': ^6.1.0 @@ -314,7 +355,8 @@ packages: '@codemirror/view': ^6.0.3 '@replit/codemirror-vscode-keymap@6.0.2': - resolution: {integrity: sha512-j45qTwGxzpsv82lMD/NreGDORFKSctMDVkGRopaP+OrzSzv+pXDQuU3LnFvKpasyjVT0lf+PKG1v2DSCn/vxxg==} + resolution: + { integrity: sha512-j45qTwGxzpsv82lMD/NreGDORFKSctMDVkGRopaP+OrzSzv+pXDQuU3LnFvKpasyjVT0lf+PKG1v2DSCn/vxxg== } peerDependencies: '@codemirror/autocomplete': ^6.0.0 '@codemirror/commands': ^6.0.0 @@ -325,8 +367,9 @@ packages: '@codemirror/view': ^6.0.0 '@rollup/plugin-node-resolve@15.3.1': - resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA== } + engines: { node: '>=14.0.0' } peerDependencies: rollup: ^2.78.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -334,8 +377,9 @@ packages: optional: true '@rollup/pluginutils@5.1.4': - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ== } + engines: { node: '>=14.0.0' } peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -343,408 +387,526 @@ packages: optional: true '@rollup/rollup-android-arm-eabi@4.29.1': - resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} + resolution: + { integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw== } cpu: [arm] os: [android] '@rollup/rollup-android-arm64@4.29.1': - resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} + resolution: + { integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew== } cpu: [arm64] os: [android] '@rollup/rollup-darwin-arm64@4.29.1': - resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} + resolution: + { integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw== } cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-x64@4.29.1': - resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} + resolution: + { integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng== } cpu: [x64] os: [darwin] '@rollup/rollup-freebsd-arm64@4.29.1': - resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} + resolution: + { integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw== } cpu: [arm64] os: [freebsd] '@rollup/rollup-freebsd-x64@4.29.1': - resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} + resolution: + { integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w== } cpu: [x64] os: [freebsd] '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} + resolution: + { integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A== } cpu: [arm] os: [linux] '@rollup/rollup-linux-arm-musleabihf@4.29.1': - resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} + resolution: + { integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ== } cpu: [arm] os: [linux] '@rollup/rollup-linux-arm64-gnu@4.29.1': - resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} + resolution: + { integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA== } cpu: [arm64] os: [linux] '@rollup/rollup-linux-arm64-musl@4.29.1': - resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} + resolution: + { integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA== } cpu: [arm64] os: [linux] '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} + resolution: + { integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw== } cpu: [loong64] os: [linux] '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} + resolution: + { integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w== } cpu: [ppc64] os: [linux] '@rollup/rollup-linux-riscv64-gnu@4.29.1': - resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} + resolution: + { integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ== } cpu: [riscv64] os: [linux] '@rollup/rollup-linux-s390x-gnu@4.29.1': - resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} + resolution: + { integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g== } cpu: [s390x] os: [linux] '@rollup/rollup-linux-x64-gnu@4.29.1': - resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} + resolution: + { integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ== } cpu: [x64] os: [linux] '@rollup/rollup-linux-x64-musl@4.29.1': - resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} + resolution: + { integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA== } cpu: [x64] os: [linux] '@rollup/rollup-win32-arm64-msvc@4.29.1': - resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} + resolution: + { integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig== } cpu: [arm64] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.29.1': - resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} + resolution: + { integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng== } cpu: [ia32] os: [win32] '@rollup/rollup-win32-x64-msvc@4.29.1': - resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} + resolution: + { integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg== } cpu: [x64] os: [win32] '@strudel/codemirror@1.1.0': - resolution: {integrity: sha512-lInbqnNhBBKug/7CbmTvCR9/j1lmMBpxDmCTgPI0fYGKBhJQcRhJVB4mfDVXFcM6Ze8cd5mQ2vvHTtlptSDn8A==} + resolution: + { integrity: sha512-lInbqnNhBBKug/7CbmTvCR9/j1lmMBpxDmCTgPI0fYGKBhJQcRhJVB4mfDVXFcM6Ze8cd5mQ2vvHTtlptSDn8A== } '@strudel/core@1.1.0': - resolution: {integrity: sha512-8qyMIJjXwmmi7A6oJ7reY/npLwCRU3SNRUR+x9BxuHnrLOY+Y7OH3Zi9/wMgVJcZWcsL76K0XIiMt1QuKjfvSg==} + resolution: + { integrity: sha512-8qyMIJjXwmmi7A6oJ7reY/npLwCRU3SNRUR+x9BxuHnrLOY+Y7OH3Zi9/wMgVJcZWcsL76K0XIiMt1QuKjfvSg== } '@strudel/draw@1.1.0': - resolution: {integrity: sha512-wAqlSbWI/0eR0m1NlWjPvJ7GPpCTGjR0m6K2Avw8eCEx0BqxHo07K1GUWKIwzkS3qG8olLymVda0mvf1NOhCAA==} + resolution: + { integrity: sha512-wAqlSbWI/0eR0m1NlWjPvJ7GPpCTGjR0m6K2Avw8eCEx0BqxHo07K1GUWKIwzkS3qG8olLymVda0mvf1NOhCAA== } '@strudel/mini@1.1.0': - resolution: {integrity: sha512-anI6LUXU+PyBya0/KI+iC/Dfg3zfxuOK4pRgWJKAJHIMz65pWEwX8G3Ag77C9XLNOGz9y4detXQ9w6y90vDwVg==} + resolution: + { integrity: sha512-anI6LUXU+PyBya0/KI+iC/Dfg3zfxuOK4pRgWJKAJHIMz65pWEwX8G3Ag77C9XLNOGz9y4detXQ9w6y90vDwVg== } '@strudel/soundfonts@1.1.0': - resolution: {integrity: sha512-H8YnLxrIKyUMbJ3NBfOynLbcnn3/eciPXNIMvpZa3d9owSXPRU3AdDzT3Xr/XNq4vuMoPn/lAAybi5/PrYcVrg==} + resolution: + { integrity: sha512-H8YnLxrIKyUMbJ3NBfOynLbcnn3/eciPXNIMvpZa3d9owSXPRU3AdDzT3Xr/XNq4vuMoPn/lAAybi5/PrYcVrg== } '@strudel/tonal@1.1.0': - resolution: {integrity: sha512-y8QYO2w6kvL9f8Uyfo220E/w1ga2d5vP+icXhlyjri+qNxwVZmJvkzB+7pwgQtPNgLJJnvrUhQjQzlXXmn/qBw==} + resolution: + { integrity: sha512-y8QYO2w6kvL9f8Uyfo220E/w1ga2d5vP+icXhlyjri+qNxwVZmJvkzB+7pwgQtPNgLJJnvrUhQjQzlXXmn/qBw== } '@strudel/transpiler@1.1.0': - resolution: {integrity: sha512-GPCHeQsxU8Kz45FRUu3WGOJVIWIjfazbmKauwETHDMDvITdtfkhmYNcYogSteFvlJlVxUlypz0VBVqYgM1hg4A==} + resolution: + { integrity: sha512-GPCHeQsxU8Kz45FRUu3WGOJVIWIjfazbmKauwETHDMDvITdtfkhmYNcYogSteFvlJlVxUlypz0VBVqYgM1hg4A== } '@strudel/webaudio@1.1.0': - resolution: {integrity: sha512-9BigqLIP+0CETAtiuG4dbJCoMTTT2brSaWaEVadcwz6SiXPA0dxGjlcLgR/j+iDnCmbAmzgHRkfRbPAe6nS4Tg==} + resolution: + { integrity: sha512-9BigqLIP+0CETAtiuG4dbJCoMTTT2brSaWaEVadcwz6SiXPA0dxGjlcLgR/j+iDnCmbAmzgHRkfRbPAe6nS4Tg== } '@tonaljs/abc-notation@4.9.0': - resolution: {integrity: sha512-G52FHXNcIbZldoY1LlkXshD5nZqh/VylLCxPlXkx3Fikbn2UZqQ1uK+me8PjJltCCKmNI7M+DkHdh5oBK5CzVw==} + resolution: + { integrity: sha512-G52FHXNcIbZldoY1LlkXshD5nZqh/VylLCxPlXkx3Fikbn2UZqQ1uK+me8PjJltCCKmNI7M+DkHdh5oBK5CzVw== } '@tonaljs/array@4.8.3': - resolution: {integrity: sha512-TeX5vqk61EhlRAIo70d0hKt3a0FEcROsu9ETtTclXl+qaQ1QtEEs0M+B46IZ+sQo5T3s8vtz5z1yCiK26HPr5A==} + resolution: + { integrity: sha512-TeX5vqk61EhlRAIo70d0hKt3a0FEcROsu9ETtTclXl+qaQ1QtEEs0M+B46IZ+sQo5T3s8vtz5z1yCiK26HPr5A== } '@tonaljs/chord-detect@4.9.0': - resolution: {integrity: sha512-ixlPHjntvcGbcHbIsTNEO8KKSDd2vM8IXVvVAbM8ZXldFHCjejCBQ0nyMPDxY3uzepLALFqBwXfkxF/injsTRw==} + resolution: + { integrity: sha512-ixlPHjntvcGbcHbIsTNEO8KKSDd2vM8IXVvVAbM8ZXldFHCjejCBQ0nyMPDxY3uzepLALFqBwXfkxF/injsTRw== } '@tonaljs/chord-type@4.8.2': - resolution: {integrity: sha512-GzSTjQmZjkUdPhyesFDeJbxpW8R7L/bAE34E8ApGAh9FMcKYpRdX3Tn+gkluRsXOiRMfW07p3E0Adx4bjtyN+Q==} + resolution: + { integrity: sha512-GzSTjQmZjkUdPhyesFDeJbxpW8R7L/bAE34E8ApGAh9FMcKYpRdX3Tn+gkluRsXOiRMfW07p3E0Adx4bjtyN+Q== } '@tonaljs/chord-type@5.1.0': - resolution: {integrity: sha512-39/SRnhgvElvWHQH1mkOxkQvDodz7HRkPeIL2rjFV3JL57ve38Ws+y9bjbkKCbD474jF0SQ9V+Xga3d/Mccz5g==} + resolution: + { integrity: sha512-39/SRnhgvElvWHQH1mkOxkQvDodz7HRkPeIL2rjFV3JL57ve38Ws+y9bjbkKCbD474jF0SQ9V+Xga3d/Mccz5g== } '@tonaljs/chord@4.10.2': - resolution: {integrity: sha512-Zlqtq6c6T4y+EqvwHRQp9icEjHqyniCpnIwwCFg5amgAQwXmWzarouOOSmcdJ1Is92eEvcPVuCoLiVUtajS30A==} + resolution: + { integrity: sha512-Zlqtq6c6T4y+EqvwHRQp9icEjHqyniCpnIwwCFg5amgAQwXmWzarouOOSmcdJ1Is92eEvcPVuCoLiVUtajS30A== } '@tonaljs/chord@6.1.0': - resolution: {integrity: sha512-Eybaqaox4ukBO3FDQ7x3FLCdq3Gco0YIAFlxtL1fjdlULa1kJL7IVvZND5oVGIBIExI2JLODExyxy054rfZGvw==} + resolution: + { integrity: sha512-Eybaqaox4ukBO3FDQ7x3FLCdq3Gco0YIAFlxtL1fjdlULa1kJL7IVvZND5oVGIBIExI2JLODExyxy054rfZGvw== } '@tonaljs/collection@4.9.0': - resolution: {integrity: sha512-Mk0h7O54nT6PgNVcUYauzxa5KOB23+0AOKudWzRH7JhJIN9vhVIC7PtwZXE+/G051UTbHSFIcN/afkgF4nB/8A==} + resolution: + { integrity: sha512-Mk0h7O54nT6PgNVcUYauzxa5KOB23+0AOKudWzRH7JhJIN9vhVIC7PtwZXE+/G051UTbHSFIcN/afkgF4nB/8A== } '@tonaljs/core@4.10.4': - resolution: {integrity: sha512-PhGlQ2Js6rFQ6CufkSiBpEJoPS8QIIhbXSXhT4U+5ffqckli+YBZRN24vjZ4AEKuX8xoYDmCCbl+r6agauvzmw==} + resolution: + { integrity: sha512-PhGlQ2Js6rFQ6CufkSiBpEJoPS8QIIhbXSXhT4U+5ffqckli+YBZRN24vjZ4AEKuX8xoYDmCCbl+r6agauvzmw== } '@tonaljs/duration-value@4.9.0': - resolution: {integrity: sha512-Muz54HyIe0nMYKWx6wyTa4y17ma29DtpJF4/oqJphy6A124rAVDe/SKit8JGOvDYAQj71FUXqs17sXBxO/ExVw==} + resolution: + { integrity: sha512-Muz54HyIe0nMYKWx6wyTa4y17ma29DtpJF4/oqJphy6A124rAVDe/SKit8JGOvDYAQj71FUXqs17sXBxO/ExVw== } '@tonaljs/interval@4.8.2': - resolution: {integrity: sha512-9SEuJuqFdmu9lnvMmJtxbReQcQvZ1YHXhCcxaF6Re23/w+BqiJvvkvNZhfWH+n1+g0uaSdTsuvMfamp7hAvPMw==} + resolution: + { integrity: sha512-9SEuJuqFdmu9lnvMmJtxbReQcQvZ1YHXhCcxaF6Re23/w+BqiJvvkvNZhfWH+n1+g0uaSdTsuvMfamp7hAvPMw== } '@tonaljs/interval@5.1.0': - resolution: {integrity: sha512-GR9dUjn0j7yhjwjRh8HQxZYXOiVl05WfY3AFyMB9rfg807K4dSJmWfPTULPQXyHJ6NiZOPXcwRs8MxMLDxgdbg==} + resolution: + { integrity: sha512-GR9dUjn0j7yhjwjRh8HQxZYXOiVl05WfY3AFyMB9rfg807K4dSJmWfPTULPQXyHJ6NiZOPXcwRs8MxMLDxgdbg== } '@tonaljs/key@4.11.0': - resolution: {integrity: sha512-ZnuKdoiUMwgG2FDM1/OnXsqASSR6J1fpyZpX0ZNwMtlpEIPhvOkLqzrCH1DOIyxWQ1iqcoK6DZNPCxzWiowdIA==} + resolution: + { integrity: sha512-ZnuKdoiUMwgG2FDM1/OnXsqASSR6J1fpyZpX0ZNwMtlpEIPhvOkLqzrCH1DOIyxWQ1iqcoK6DZNPCxzWiowdIA== } '@tonaljs/midi@4.10.0': - resolution: {integrity: sha512-LjwEzcBwJSNMLD+qDwVBWvkmIOAs59TPdlTQlooP3S1Au0jy7T+bZeIbBKtLEcDG14S2zyYZEZ1Mo+cxcumMmg==} + resolution: + { integrity: sha512-LjwEzcBwJSNMLD+qDwVBWvkmIOAs59TPdlTQlooP3S1Au0jy7T+bZeIbBKtLEcDG14S2zyYZEZ1Mo+cxcumMmg== } '@tonaljs/mode@4.9.0': - resolution: {integrity: sha512-e1MtDfEMZPcWOuaKW2wbgisAmeptTZq1UDm4RU03inqgggnpsiaJC/NI9sbmTdO4XtAL/JGPgSxm4uB5KWxx8w==} + resolution: + { integrity: sha512-e1MtDfEMZPcWOuaKW2wbgisAmeptTZq1UDm4RU03inqgggnpsiaJC/NI9sbmTdO4XtAL/JGPgSxm4uB5KWxx8w== } '@tonaljs/note@4.11.0': - resolution: {integrity: sha512-KJjtMaJ4Bc0wquFlKFDHk6RBrzHwHPgSvklqWSmhgxbklqQt+70wPn5RVwcJqNc5qnmZce+uvATwl+QVBXMCLQ==} + resolution: + { integrity: sha512-KJjtMaJ4Bc0wquFlKFDHk6RBrzHwHPgSvklqWSmhgxbklqQt+70wPn5RVwcJqNc5qnmZce+uvATwl+QVBXMCLQ== } '@tonaljs/pcset@4.10.0': - resolution: {integrity: sha512-kGiGDpN/fhJGJoILnNJIQqt2vpk8EkcXFtRvs3PaDfaMphtQ7Hd03d2zIhcEEShbCtaXUSeSwbCepwoGqt4WRw==} + resolution: + { integrity: sha512-kGiGDpN/fhJGJoILnNJIQqt2vpk8EkcXFtRvs3PaDfaMphtQ7Hd03d2zIhcEEShbCtaXUSeSwbCepwoGqt4WRw== } '@tonaljs/pitch-distance@5.0.2': - resolution: {integrity: sha512-DPxfGJCf4BvfIVRxl2v142tuCKIziM6PomOBT0/s7U5o+Z5qFAIW0tNx/MKyL83guV74p+XIf5VI0w1flmXxDA==} + resolution: + { integrity: sha512-DPxfGJCf4BvfIVRxl2v142tuCKIziM6PomOBT0/s7U5o+Z5qFAIW0tNx/MKyL83guV74p+XIf5VI0w1flmXxDA== } '@tonaljs/pitch-distance@5.0.4': - resolution: {integrity: sha512-c/Q/QpU0pE5QMxhf7VfP4p7C+gf5YfGt5mkwgMyQgpGNFSwQrKPPWSrWzArrFjJzejabUlDMREQyRU+Wj50iOQ==} + resolution: + { integrity: sha512-c/Q/QpU0pE5QMxhf7VfP4p7C+gf5YfGt5mkwgMyQgpGNFSwQrKPPWSrWzArrFjJzejabUlDMREQyRU+Wj50iOQ== } '@tonaljs/pitch-interval@5.0.2': - resolution: {integrity: sha512-bQmxeenRFNuuABs9mDc+bSUp3ySGw8I49pHMoGDdCcro9n3MDN8IsSwhvKoGOYErFMx76rNn1t+7WL8ukpvX5w==} + resolution: + { integrity: sha512-bQmxeenRFNuuABs9mDc+bSUp3ySGw8I49pHMoGDdCcro9n3MDN8IsSwhvKoGOYErFMx76rNn1t+7WL8ukpvX5w== } '@tonaljs/pitch-interval@6.0.0': - resolution: {integrity: sha512-0iaFWbgshYWjfmdxzF8jNmTqsNK2krwn+FqDRZb8vEsfaSNC8Jek0f5wYcE2to+7f0P5jJlJnj8CUGvlfKIT5A==} + resolution: + { integrity: sha512-0iaFWbgshYWjfmdxzF8jNmTqsNK2krwn+FqDRZb8vEsfaSNC8Jek0f5wYcE2to+7f0P5jJlJnj8CUGvlfKIT5A== } '@tonaljs/pitch-note@5.0.3': - resolution: {integrity: sha512-JsPgqPa8VZdZtfwvgoHJz996BZqzvlnRxUF6c/Q9q8E0iq30UHBEid0Y6XldK+h6tuIENsG3a9jyvNNxRqIeYw==} + resolution: + { integrity: sha512-JsPgqPa8VZdZtfwvgoHJz996BZqzvlnRxUF6c/Q9q8E0iq30UHBEid0Y6XldK+h6tuIENsG3a9jyvNNxRqIeYw== } '@tonaljs/pitch-note@6.0.0': - resolution: {integrity: sha512-m4Ei7zwSsKwotVfnodA7m1SR7zD5NNIea+V7Mo35EcK32ZJBg+SvxdwgfNNdLO8bkDbVrZIgVYqeP3R3Jq7VFQ==} + resolution: + { integrity: sha512-m4Ei7zwSsKwotVfnodA7m1SR7zD5NNIea+V7Mo35EcK32ZJBg+SvxdwgfNNdLO8bkDbVrZIgVYqeP3R3Jq7VFQ== } '@tonaljs/pitch@5.0.1': - resolution: {integrity: sha512-5HYkF4hGY0jS2y5V3Hf5gNFXX46kT4cAcI7JLEn+qQb9N1dU9Gz9koI9di0mD1Tbam+kviceiCsJl4WX/FqYjA==} + resolution: + { integrity: sha512-5HYkF4hGY0jS2y5V3Hf5gNFXX46kT4cAcI7JLEn+qQb9N1dU9Gz9koI9di0mD1Tbam+kviceiCsJl4WX/FqYjA== } '@tonaljs/pitch@5.0.2': - resolution: {integrity: sha512-mxaXJPPe+LIJdjzpZEl8I8Wx3dEvlzkBbsr2Ltwc2dTAdnErAZ5R0TxVq2egF27lMvQN2QPQPWI9iDPPdVUmrg==} + resolution: + { integrity: sha512-mxaXJPPe+LIJdjzpZEl8I8Wx3dEvlzkBbsr2Ltwc2dTAdnErAZ5R0TxVq2egF27lMvQN2QPQPWI9iDPPdVUmrg== } '@tonaljs/progression@4.9.0': - resolution: {integrity: sha512-Pe9gp9o4af7uN7sSbA588ImVn9A31mjCD1t2gjHYEDve+q+S33juBurUkdwiJBI3mPWMPPCtSxucZI/nrAiYDA==} + resolution: + { integrity: sha512-Pe9gp9o4af7uN7sSbA588ImVn9A31mjCD1t2gjHYEDve+q+S33juBurUkdwiJBI3mPWMPPCtSxucZI/nrAiYDA== } '@tonaljs/range@4.9.0': - resolution: {integrity: sha512-ir8MN6F89lmoNjfdTbr0evZUjFQp6cAxMzFckf1KBKnjvVulinRWAW//VHgZ7EdNGkLKDCfdT/F5GKEGlj6KnQ==} + resolution: + { integrity: sha512-ir8MN6F89lmoNjfdTbr0evZUjFQp6cAxMzFckf1KBKnjvVulinRWAW//VHgZ7EdNGkLKDCfdT/F5GKEGlj6KnQ== } '@tonaljs/roman-numeral@4.9.0': - resolution: {integrity: sha512-kegMCXUcLpdSSTI7YoU49kWv5DwVAkpyZAz6svYKtP1Vdjt4+q8c5hjSupM8QH4chQBNElRzqhZRgx90sMc/fw==} + resolution: + { integrity: sha512-kegMCXUcLpdSSTI7YoU49kWv5DwVAkpyZAz6svYKtP1Vdjt4+q8c5hjSupM8QH4chQBNElRzqhZRgx90sMc/fw== } '@tonaljs/scale-type@4.9.0': - resolution: {integrity: sha512-8kp71+gLAgKkLKd78SrLbP9eUdt1xKY/1uchgG7vyL4itMixMo/3l+WRKcvb0+gX2+AM2/E+xeCjxrRU5jaVpw==} + resolution: + { integrity: sha512-8kp71+gLAgKkLKd78SrLbP9eUdt1xKY/1uchgG7vyL4itMixMo/3l+WRKcvb0+gX2+AM2/E+xeCjxrRU5jaVpw== } '@tonaljs/scale@4.13.0': - resolution: {integrity: sha512-eCOoJlnjW542hCeW7yN61TEZkm7HTbBqdrug3Qx61o62tlwSwJF/nY00XgaTxWFpJFb9HEqAKuD7EUleqBnTYw==} + resolution: + { integrity: sha512-eCOoJlnjW542hCeW7yN61TEZkm7HTbBqdrug3Qx61o62tlwSwJF/nY00XgaTxWFpJFb9HEqAKuD7EUleqBnTYw== } '@tonaljs/time-signature@4.9.0': - resolution: {integrity: sha512-zRo8CBqg/2guzTlF2vxyVIuB5gmwWQaxlknJPUSDII8CTdQ/x3a1LlNoMKkvTUnqwCihe3WrNPZ5XUfOOTthYA==} + resolution: + { integrity: sha512-zRo8CBqg/2guzTlF2vxyVIuB5gmwWQaxlknJPUSDII8CTdQ/x3a1LlNoMKkvTUnqwCihe3WrNPZ5XUfOOTthYA== } '@tonaljs/tonal@4.10.0': - resolution: {integrity: sha512-F2T9Fiy+j0MVped89kCrX1XF68mQOLUnny4pDOHrIf+OkrjtLQOzzaSOrX1tx0o72WUwQm1knz6D1d57b9X1HA==} + resolution: + { integrity: sha512-F2T9Fiy+j0MVped89kCrX1XF68mQOLUnny4pDOHrIf+OkrjtLQOzzaSOrX1tx0o72WUwQm1knz6D1d57b9X1HA== } '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + resolution: + { integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== } '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + resolution: + { integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== } '@types/webmidi@2.1.0': - resolution: {integrity: sha512-k898MjEUSHB+6rSeCPQk/kLgie0wgWZ2t78GlWj86HbTQ+XmtbBafYg5LNjn8bVHfItEhPGZPf579Xfc6keV6w==} + resolution: + { integrity: sha512-k898MjEUSHB+6rSeCPQk/kLgie0wgWZ2t78GlWj86HbTQ+XmtbBafYg5LNjn8bVHfItEhPGZPf579Xfc6keV6w== } '@uiw/codemirror-theme-abcdef@4.23.7': - resolution: {integrity: sha512-KXTtbIJX00lyKs1ukVo73cHItgoufKbVYqgv3SSHxw1Z5bjcAnBQc7RUGE8eMy5uDBjasKYGYFlJeRCVu8L2wg==} + resolution: + { integrity: sha512-KXTtbIJX00lyKs1ukVo73cHItgoufKbVYqgv3SSHxw1Z5bjcAnBQc7RUGE8eMy5uDBjasKYGYFlJeRCVu8L2wg== } '@uiw/codemirror-theme-abyss@4.23.7': - resolution: {integrity: sha512-HKx9u6sc59BQ0aENugDZ7uFJ2PPq3qMhpTrUSOog6LUAbc1Pm5AlyEBLSf8Otrb0R8R8zonek+oUFivWuVp9Cg==} + resolution: + { integrity: sha512-HKx9u6sc59BQ0aENugDZ7uFJ2PPq3qMhpTrUSOog6LUAbc1Pm5AlyEBLSf8Otrb0R8R8zonek+oUFivWuVp9Cg== } '@uiw/codemirror-theme-androidstudio@4.23.7': - resolution: {integrity: sha512-3rhMmDHgYhtMkrdrI/miC2VzeCuwhIDj+QO7JETsaseqHa4xCd7EcZ08g4zSWE2xMl4TtXWeJhPYea6JY5wg1A==} + resolution: + { integrity: sha512-3rhMmDHgYhtMkrdrI/miC2VzeCuwhIDj+QO7JETsaseqHa4xCd7EcZ08g4zSWE2xMl4TtXWeJhPYea6JY5wg1A== } '@uiw/codemirror-theme-andromeda@4.23.7': - resolution: {integrity: sha512-2p5JJB2fKnPMaiFjmcMjMyxKYVPjYhiIoyae9TK5rUNrmdV/sbaUqEYECqEXllS+Yx7WSpv86tpRwvnjZDdl7g==} + resolution: + { integrity: sha512-2p5JJB2fKnPMaiFjmcMjMyxKYVPjYhiIoyae9TK5rUNrmdV/sbaUqEYECqEXllS+Yx7WSpv86tpRwvnjZDdl7g== } '@uiw/codemirror-theme-atomone@4.23.7': - resolution: {integrity: sha512-Un3mvQqUREoUDDQ2o0CzuRRubSmTYrqC6qmj9Jt5zXFbBYgpC1qpIzXLPb2sKx4Mt/L4KnbaNmoXYZd57nOOIg==} + resolution: + { integrity: sha512-Un3mvQqUREoUDDQ2o0CzuRRubSmTYrqC6qmj9Jt5zXFbBYgpC1qpIzXLPb2sKx4Mt/L4KnbaNmoXYZd57nOOIg== } '@uiw/codemirror-theme-aura@4.23.7': - resolution: {integrity: sha512-NN2FLYjTxhRfpvhwaFU3bZl+mFePvpR/VQkHFu3uTUsXoHe2fBbYumuZ73ZvWozEcbfnXipmD7wDIcONV1SeYg==} + resolution: + { integrity: sha512-NN2FLYjTxhRfpvhwaFU3bZl+mFePvpR/VQkHFu3uTUsXoHe2fBbYumuZ73ZvWozEcbfnXipmD7wDIcONV1SeYg== } '@uiw/codemirror-theme-basic@4.23.7': - resolution: {integrity: sha512-jutMIBSJuwr5OIMHugt7mA+y8vUcgojoKEcpDuqCykDdYPjmVTdK1rJcQnRygsbRQCJ8fSSzGm9c59Rnio0yHw==} + resolution: + { integrity: sha512-jutMIBSJuwr5OIMHugt7mA+y8vUcgojoKEcpDuqCykDdYPjmVTdK1rJcQnRygsbRQCJ8fSSzGm9c59Rnio0yHw== } '@uiw/codemirror-theme-bbedit@4.23.7': - resolution: {integrity: sha512-o5KJLUEmjZScRmVJQT7k6ojqzf5U5Q348FGu+xgGeQdQeeAlkQ55fe6D7lJCyQnu8Et5kZhTmvJsks1xT6b0rQ==} + resolution: + { integrity: sha512-o5KJLUEmjZScRmVJQT7k6ojqzf5U5Q348FGu+xgGeQdQeeAlkQ55fe6D7lJCyQnu8Et5kZhTmvJsks1xT6b0rQ== } '@uiw/codemirror-theme-bespin@4.23.7': - resolution: {integrity: sha512-SXnkIuCXbjJJfj0tn2rGMEQYjHFK79K+bCWBKKLOj3s/Kixec/A2KnziVYUYDXqX/JKuC0XGsGkbhuq/4fSgQQ==} + resolution: + { integrity: sha512-SXnkIuCXbjJJfj0tn2rGMEQYjHFK79K+bCWBKKLOj3s/Kixec/A2KnziVYUYDXqX/JKuC0XGsGkbhuq/4fSgQQ== } '@uiw/codemirror-theme-console@4.23.7': - resolution: {integrity: sha512-5o23Pxer0DsuSTbzToUw73Y3b9sBI06e7e9c4SeBqI+tiYWdRefYu3M+hZZYi7L67b5bKlakMitCKvDNo3TqyQ==} + resolution: + { integrity: sha512-5o23Pxer0DsuSTbzToUw73Y3b9sBI06e7e9c4SeBqI+tiYWdRefYu3M+hZZYi7L67b5bKlakMitCKvDNo3TqyQ== } '@uiw/codemirror-theme-copilot@4.23.7': - resolution: {integrity: sha512-TqFUD43SjXaNLUSU5E+jB0ZvhA/S7QATZBRR3SH+MR7CZwYBPKmOgHQRWmvKQMWpxGpZdGXl47GlZImJQ0ElgQ==} + resolution: + { integrity: sha512-TqFUD43SjXaNLUSU5E+jB0ZvhA/S7QATZBRR3SH+MR7CZwYBPKmOgHQRWmvKQMWpxGpZdGXl47GlZImJQ0ElgQ== } '@uiw/codemirror-theme-darcula@4.23.7': - resolution: {integrity: sha512-vnzgAe9s2vxpaleH9/H4E1FazlI90JQp6LbIdXpSix9VRY8F4r/4JUMsAZwnjoPYBFdauGypii+SysnictuXpQ==} + resolution: + { integrity: sha512-vnzgAe9s2vxpaleH9/H4E1FazlI90JQp6LbIdXpSix9VRY8F4r/4JUMsAZwnjoPYBFdauGypii+SysnictuXpQ== } '@uiw/codemirror-theme-dracula@4.23.7': - resolution: {integrity: sha512-Q+N3OQV9jiUxCcT4ihOQKzjmDrh//KvMnjGZPlgurWft1+328G6qBZu4peqiykKlAEQRbZVxOMaxOXfTLItNAw==} + resolution: + { integrity: sha512-Q+N3OQV9jiUxCcT4ihOQKzjmDrh//KvMnjGZPlgurWft1+328G6qBZu4peqiykKlAEQRbZVxOMaxOXfTLItNAw== } '@uiw/codemirror-theme-duotone@4.23.7': - resolution: {integrity: sha512-8Wg7rNdqxoruvy7ADVikchINAvjq7Tm64z8ZoULjztwukEXhjyD02H+vf+pLzYYTltvvREXrAe4G49L6MhX/7Q==} + resolution: + { integrity: sha512-8Wg7rNdqxoruvy7ADVikchINAvjq7Tm64z8ZoULjztwukEXhjyD02H+vf+pLzYYTltvvREXrAe4G49L6MhX/7Q== } '@uiw/codemirror-theme-eclipse@4.23.7': - resolution: {integrity: sha512-KYqTUELhhuwFUpThJ2mvR6bgg0o1DEtGbMIm0RcjaL73Vs4ftefdduUmEwSD81fk9CkFIzKqpnK3QEWhgszIOA==} + resolution: + { integrity: sha512-KYqTUELhhuwFUpThJ2mvR6bgg0o1DEtGbMIm0RcjaL73Vs4ftefdduUmEwSD81fk9CkFIzKqpnK3QEWhgszIOA== } '@uiw/codemirror-theme-github@4.23.7': - resolution: {integrity: sha512-r9SstBZD7Ow1sQ8F0EpsRGx9b11K552M2FayvyLWTkal64YJmQMKW0S2KcWykgCMKLWhmDFi7LX+h8cg6nek8g==} + resolution: + { integrity: sha512-r9SstBZD7Ow1sQ8F0EpsRGx9b11K552M2FayvyLWTkal64YJmQMKW0S2KcWykgCMKLWhmDFi7LX+h8cg6nek8g== } '@uiw/codemirror-theme-gruvbox-dark@4.23.7': - resolution: {integrity: sha512-Qt6gGDJ7NaUEUr/0dcJpmz5+XZFaMZPYVXV4t0WEcu8I2qekqKmo0zvlmOielQHurJz2Q1o7jEW7JhLtm3QaJw==} + resolution: + { integrity: sha512-Qt6gGDJ7NaUEUr/0dcJpmz5+XZFaMZPYVXV4t0WEcu8I2qekqKmo0zvlmOielQHurJz2Q1o7jEW7JhLtm3QaJw== } '@uiw/codemirror-theme-kimbie@4.23.7': - resolution: {integrity: sha512-Ni8WtZ+VchnHgsMlskjpa3ZSma3HK2Xzv++RRjnKaOxpCwAsiKZM2eBqeb7yGZlO0/5y0BnUKi0e2YDqOwXICQ==} + resolution: + { integrity: sha512-Ni8WtZ+VchnHgsMlskjpa3ZSma3HK2Xzv++RRjnKaOxpCwAsiKZM2eBqeb7yGZlO0/5y0BnUKi0e2YDqOwXICQ== } '@uiw/codemirror-theme-material@4.23.7': - resolution: {integrity: sha512-PSuPTPMA4/a6tiBmeAPLlxl98Ehk9D7WYab419PW664eHdzziTU6v9uqZ+nEtJvAwb7E5m2la+DhTndvttdiQA==} + resolution: + { integrity: sha512-PSuPTPMA4/a6tiBmeAPLlxl98Ehk9D7WYab419PW664eHdzziTU6v9uqZ+nEtJvAwb7E5m2la+DhTndvttdiQA== } '@uiw/codemirror-theme-monokai-dimmed@4.23.7': - resolution: {integrity: sha512-gV7wYZ6AGZdT+1CU5VS1sOYs9c5K7NCOvxrngmMpLb3MOLH/OmmfpFAPDP5QCn3lopmk05B61qRXAW/nvKkaug==} + resolution: + { integrity: sha512-gV7wYZ6AGZdT+1CU5VS1sOYs9c5K7NCOvxrngmMpLb3MOLH/OmmfpFAPDP5QCn3lopmk05B61qRXAW/nvKkaug== } '@uiw/codemirror-theme-monokai@4.23.7': - resolution: {integrity: sha512-IkflZncpj0rmQCXdDOn3O2wD516Isx12BQA/xkCfMQtgIQ7QgsqKKCPV83MiOiQFizioBNswjvXns7i5jlaJ7g==} + resolution: + { integrity: sha512-IkflZncpj0rmQCXdDOn3O2wD516Isx12BQA/xkCfMQtgIQ7QgsqKKCPV83MiOiQFizioBNswjvXns7i5jlaJ7g== } '@uiw/codemirror-theme-noctis-lilac@4.23.7': - resolution: {integrity: sha512-2js5RB4Xit19EqXTmQayp8ITZJbYnu86wBzxcVT94FBW65GkROx28NUal01YBrKAi0V4U6TZ9O1x223ZsZMiFA==} + resolution: + { integrity: sha512-2js5RB4Xit19EqXTmQayp8ITZJbYnu86wBzxcVT94FBW65GkROx28NUal01YBrKAi0V4U6TZ9O1x223ZsZMiFA== } '@uiw/codemirror-theme-nord@4.23.7': - resolution: {integrity: sha512-37NneY2Cw3vnXkeMbtOKibktuStpvRFFQYkm2y5SGRWPLWsRVB2B3hIbJuB8a1r+3dE1ShIECEDC8mRBVAlS0Q==} + resolution: + { integrity: sha512-37NneY2Cw3vnXkeMbtOKibktuStpvRFFQYkm2y5SGRWPLWsRVB2B3hIbJuB8a1r+3dE1ShIECEDC8mRBVAlS0Q== } '@uiw/codemirror-theme-okaidia@4.23.7': - resolution: {integrity: sha512-ON8SBOF6FuruVzwdsnxT57hQTJIA2fCV1m7b/htSL6qmqCxmTCVhkGcGAMx9cC9W/Cnm8susQCDDEGOiG/vuww==} + resolution: + { integrity: sha512-ON8SBOF6FuruVzwdsnxT57hQTJIA2fCV1m7b/htSL6qmqCxmTCVhkGcGAMx9cC9W/Cnm8susQCDDEGOiG/vuww== } '@uiw/codemirror-theme-quietlight@4.23.7': - resolution: {integrity: sha512-C8C2vjk5uTkSvrqGdhwzGJN4a9vNai4YQrrRpJ3MscNi3KwLu4akE67U8kE5ZcThki9aHL9K2NXoP0SWt70Fag==} + resolution: + { integrity: sha512-C8C2vjk5uTkSvrqGdhwzGJN4a9vNai4YQrrRpJ3MscNi3KwLu4akE67U8kE5ZcThki9aHL9K2NXoP0SWt70Fag== } '@uiw/codemirror-theme-red@4.23.7': - resolution: {integrity: sha512-kd5v9gmj0ePtd3cfWQz5oNBCxP6Q4e2XGHqX9Psqvb70W9GsMpx6f460lCcnIORK/fC5Nl+2EY5OFSJeRIsIGA==} + resolution: + { integrity: sha512-kd5v9gmj0ePtd3cfWQz5oNBCxP6Q4e2XGHqX9Psqvb70W9GsMpx6f460lCcnIORK/fC5Nl+2EY5OFSJeRIsIGA== } '@uiw/codemirror-theme-solarized@4.23.7': - resolution: {integrity: sha512-SuGLu8u2yXqL6Xl4/GQzuNVH3wLtPCMgLZ6e7XxV+QK8bMA0XiLKFMD+SCUutGoys88tUnQdWbmSF2Aawuztqw==} + resolution: + { integrity: sha512-SuGLu8u2yXqL6Xl4/GQzuNVH3wLtPCMgLZ6e7XxV+QK8bMA0XiLKFMD+SCUutGoys88tUnQdWbmSF2Aawuztqw== } '@uiw/codemirror-theme-sublime@4.23.7': - resolution: {integrity: sha512-edXHyjOB4EimTym6bXAOQ41/ZmkKME8GZnoWo5wAXKOJ4ixHSSblD1Y74vbR+vYH425UFrVGU2GaH88+HTUVpg==} + resolution: + { integrity: sha512-edXHyjOB4EimTym6bXAOQ41/ZmkKME8GZnoWo5wAXKOJ4ixHSSblD1Y74vbR+vYH425UFrVGU2GaH88+HTUVpg== } '@uiw/codemirror-theme-tokyo-night-day@4.23.7': - resolution: {integrity: sha512-EmhEyrm+MdNs+dVDhyITXGV9MN6P2Fk3TMdqAnIrPXZ4wBD7JzRdSJ547E8hBaOpfLKwhnF2kfaN00TSqXxHSQ==} + resolution: + { integrity: sha512-EmhEyrm+MdNs+dVDhyITXGV9MN6P2Fk3TMdqAnIrPXZ4wBD7JzRdSJ547E8hBaOpfLKwhnF2kfaN00TSqXxHSQ== } '@uiw/codemirror-theme-tokyo-night-storm@4.23.7': - resolution: {integrity: sha512-iCx2BHj2ORw/hBUea4JQqoAwf5TZRJ2LvD/pTWf4vFunOPoQ7/GDfhiLkXuvwQOjMiTGL33Uzy4RtZ/dVfJEuA==} + resolution: + { integrity: sha512-iCx2BHj2ORw/hBUea4JQqoAwf5TZRJ2LvD/pTWf4vFunOPoQ7/GDfhiLkXuvwQOjMiTGL33Uzy4RtZ/dVfJEuA== } '@uiw/codemirror-theme-tokyo-night@4.23.7': - resolution: {integrity: sha512-ovyI+t9PR+a0gO4JXrH480aDW180aBgTO73SGpY71WQCMExUXWd0SMFMw+dfMpXvuaX+yyITqKOVVavrdMVB1A==} + resolution: + { integrity: sha512-ovyI+t9PR+a0gO4JXrH480aDW180aBgTO73SGpY71WQCMExUXWd0SMFMw+dfMpXvuaX+yyITqKOVVavrdMVB1A== } '@uiw/codemirror-theme-tomorrow-night-blue@4.23.7': - resolution: {integrity: sha512-eRFvFs8Dr0lIUnuxGjY4Ah7VZ90LThyambfe50KRYvcwKCLXsC6WlCDFI0nBOCTQ9Jutfg2JrYETPAJRPsmkfw==} + resolution: + { integrity: sha512-eRFvFs8Dr0lIUnuxGjY4Ah7VZ90LThyambfe50KRYvcwKCLXsC6WlCDFI0nBOCTQ9Jutfg2JrYETPAJRPsmkfw== } '@uiw/codemirror-theme-vscode@4.23.7': - resolution: {integrity: sha512-KDTeBWsLY9L0jBXFZXovuNJeDxR2B7qR5jKDptGT0M4sLCq8XG6jYGZbWDCgR8cq0CUvmrw+26xeTKcnA1BJOA==} + resolution: + { integrity: sha512-KDTeBWsLY9L0jBXFZXovuNJeDxR2B7qR5jKDptGT0M4sLCq8XG6jYGZbWDCgR8cq0CUvmrw+26xeTKcnA1BJOA== } '@uiw/codemirror-theme-white@4.23.7': - resolution: {integrity: sha512-YI9sGL0D7mbgrZmoDZQYb2SuqIkFAufZNsR+/Bd80dZUhPEPU/kGrsv3Lngw2bqFbVOA3/jIoDg0akpHq6i79Q==} + resolution: + { integrity: sha512-YI9sGL0D7mbgrZmoDZQYb2SuqIkFAufZNsR+/Bd80dZUhPEPU/kGrsv3Lngw2bqFbVOA3/jIoDg0akpHq6i79Q== } '@uiw/codemirror-theme-xcode@4.23.7': - resolution: {integrity: sha512-5MfeRwpdKQlxDgXUiZ8pMTOPUp+tMvCjwMVBUqyEZwgNmOo+Ug2jSYeqeHtEV6SMcGY2ULuMYY/HGp2IFt/1fQ==} + resolution: + { integrity: sha512-5MfeRwpdKQlxDgXUiZ8pMTOPUp+tMvCjwMVBUqyEZwgNmOo+Ug2jSYeqeHtEV6SMcGY2ULuMYY/HGp2IFt/1fQ== } '@uiw/codemirror-themes-all@4.23.7': - resolution: {integrity: sha512-UrF4QJ0C856w6VMsT60D1S/jFf2XltL6oKCbsiuCK6nFZ6ze04Mdg8DXY3poutYXBDthAfTIULFIGI6bE0LWBw==} + resolution: + { integrity: sha512-UrF4QJ0C856w6VMsT60D1S/jFf2XltL6oKCbsiuCK6nFZ6ze04Mdg8DXY3poutYXBDthAfTIULFIGI6bE0LWBw== } '@uiw/codemirror-themes@4.23.7': - resolution: {integrity: sha512-UNf1XOx1hG9OmJnrtT86PxKcdcwhaNhbrcD+nsk8WxRJ3n5c8nH6euDvgVPdVLPwbizsaQcZTILACgA/FjRpVg==} + resolution: + { integrity: sha512-UNf1XOx1hG9OmJnrtT86PxKcdcwhaNhbrcD+nsk8WxRJ3n5c8nH6euDvgVPdVLPwbizsaQcZTILACgA/FjRpVg== } peerDependencies: '@codemirror/language': '>=6.0.0' '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' abstract-leveldown@6.2.3: - resolution: {integrity: sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) abstract-leveldown@6.3.0: - resolution: {integrity: sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== } + engines: { node: '>=0.4.0' } hasBin: true async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + resolution: + { integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== } babel-plugin-add-module-exports@0.2.1: - resolution: {integrity: sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g==} + resolution: + { integrity: sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g== } base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + resolution: + { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } buffer-alloc-unsafe@1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + resolution: + { integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== } buffer-alloc@1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + resolution: + { integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== } buffer-fill@1.0.0: - resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + resolution: + { integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== } buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + resolution: + { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + resolution: + { integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== } bufferutil@4.0.9: - resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} - engines: {node: '>=6.14.2'} + resolution: + { integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw== } + engines: { node: '>=6.14.2' } chord-voicings@0.0.1: - resolution: {integrity: sha512-SutgB/4ynkkuiK6qdQ/k3QvCFcH0Vj8Ch4t6LbRyRQbVzP/TOztiCk3kvXd516UZ6fqk7ijDRELEFcKN+6V8sA==} + resolution: + { integrity: sha512-SutgB/4ynkkuiK6qdQ/k3QvCFcH0Vj8Ch4t6LbRyRQbVzP/TOztiCk3kvXd516UZ6fqk7ijDRELEFcKN+6V8sA== } codemirror@6.0.1: - resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} + resolution: + { integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg== } core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } crelt@1.0.6: - resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + resolution: + { integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== } dct@0.1.0: - resolution: {integrity: sha512-/uUtEniuMq1aUxvLAoDtAduyl12oM1zhA/le2f83UFN/9+4KDHXFB6znEfoj5SDDLiTpUTr26NpxC7t8IFOYhQ==} - engines: {node: '>=0.12.0'} + resolution: + { integrity: sha512-/uUtEniuMq1aUxvLAoDtAduyl12oM1zhA/le2f83UFN/9+4KDHXFB6znEfoj5SDDLiTpUTr26NpxC7t8IFOYhQ== } + engines: { node: '>=0.12.0' } debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + resolution: + { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -752,8 +914,9 @@ packages: optional: true debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -761,331 +924,419 @@ packages: optional: true deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } + engines: { node: '>=0.10.0' } deferred-leveldown@5.3.0: - resolution: {integrity: sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) djipevents@2.0.7: - resolution: {integrity: sha512-KNFYaU85imxOCKOUsIR70Iz9E19r96/X7LSH+u0tSoZdpWcBdzoqtTsU+wuLhc6GMpSFob+KInkZAbfKi01Bjg==} + resolution: + { integrity: sha512-KNFYaU85imxOCKOUsIR70Iz9E19r96/X7LSH+u0tSoZdpWcBdzoqtTsU+wuLhc6GMpSFob+KInkZAbfKi01Bjg== } encoding-down@6.3.0: - resolution: {integrity: sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) err-code@3.0.1: - resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} + resolution: + { integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== } errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + resolution: + { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } hasBin: true esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== } + engines: { node: '>=12' } hasBin: true escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } + engines: { node: '>=6.0' } hasBin: true esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } + engines: { node: '>=4' } hasBin: true estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } + engines: { node: '>=4.0' } estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + resolution: + { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + resolution: + { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } + engines: { node: '>=0.10.0' } events@1.1.1: - resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} - engines: {node: '>=0.4.x'} + resolution: + { integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== } + engines: { node: '>=0.4.x' } events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + resolution: + { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } + engines: { node: '>=0.8.x' } fftjs@0.0.4: - resolution: {integrity: sha512-nIWxQyth1LVD6NH8a+YZUv+McjzbOY6dMe4wv6Pq5cGfP+c8Rd1T8Dsd50DCWlNgzSqA3y9lOkpD6dZD3qHa1A==} + resolution: + { integrity: sha512-nIWxQyth1LVD6NH8a+YZUv+McjzbOY6dMe4wv6Pq5cGfP+c8Rd1T8Dsd50DCWlNgzSqA3y9lOkpD6dZD3qHa1A== } fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + resolution: + { integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== } fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } get-browser-rtc@1.1.0: - resolution: {integrity: sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ==} + resolution: + { integrity: sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ== } hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } + engines: { node: '>= 0.4' } hydra-synth@1.3.29: - resolution: {integrity: sha512-KK1wMGpo9AuVivvD9SP7ukPS7T/rMaYA7XMlnRF3oFbTw9u4l4aVTyexG+KmCd5XDD/4GulR1jVzySZlAuGPCw==} + resolution: + { integrity: sha512-KK1wMGpo9AuVivvD9SP7ukPS7T/rMaYA7XMlnRF3oFbTw9u4l4aVTyexG+KmCd5XDD/4GulR1jVzySZlAuGPCw== } ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + resolution: + { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } immediate@3.3.0: - resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + resolution: + { integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== } inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== } + engines: { node: '>= 0.4' } is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + resolution: + { integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== } isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + resolution: + { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } isomorphic-ws@5.0.0: - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + resolution: + { integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== } peerDependencies: ws: '*' isomorphic.js@0.2.5: - resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + resolution: + { integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw== } jazz-midi@1.7.9: - resolution: {integrity: sha512-c8c4BBgwxdsIr1iVm53nadCrtH7BUlnX3V95ciK/gbvXN/ndE5+POskBalXgqlc/r9p2XUbdLTrgrC6fou5p9w==} - engines: {node: '>=10.0.0'} + resolution: + { integrity: sha512-c8c4BBgwxdsIr1iVm53nadCrtH7BUlnX3V95ciK/gbvXN/ndE5+POskBalXgqlc/r9p2XUbdLTrgrC6fou5p9w== } + engines: { node: '>=10.0.0' } jzz@1.8.7: - resolution: {integrity: sha512-f3OU8NTSbPKG0/v+zqT5Cf8blEHhX3IJZqSveeRmGYmlDQpAnmuyxXsk9zaUsFN1xhkYmCm1mCIbtK7N8qV+ig==} + resolution: + { integrity: sha512-f3OU8NTSbPKG0/v+zqT5Cf8blEHhX3IJZqSveeRmGYmlDQpAnmuyxXsk9zaUsFN1xhkYmCm1mCIbtK7N8qV+ig== } level-codec@9.0.2: - resolution: {integrity: sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ== } + engines: { node: '>=6' } deprecated: Superseded by level-transcoder (https://github.com/Level/community#faq) level-concat-iterator@2.0.1: - resolution: {integrity: sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) level-errors@2.0.1: - resolution: {integrity: sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) level-iterator-stream@4.0.2: - resolution: {integrity: sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q== } + engines: { node: '>=6' } level-js@5.0.2: - resolution: {integrity: sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg==} + resolution: + { integrity: sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg== } deprecated: Superseded by browser-level (https://github.com/Level/community#faq) level-packager@5.1.1: - resolution: {integrity: sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) level-supports@1.0.1: - resolution: {integrity: sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg== } + engines: { node: '>=6' } level@6.0.1: - resolution: {integrity: sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw==} - engines: {node: '>=8.6.0'} + resolution: + { integrity: sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw== } + engines: { node: '>=8.6.0' } leveldown@5.6.0: - resolution: {integrity: sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==} - engines: {node: '>=8.6.0'} + resolution: + { integrity: sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ== } + engines: { node: '>=8.6.0' } deprecated: Superseded by classic-level (https://github.com/Level/community#faq) levelup@4.4.0: - resolution: {integrity: sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ== } + engines: { node: '>=6' } deprecated: Superseded by abstract-level (https://github.com/Level/community#faq) lib0@0.2.99: - resolution: {integrity: sha512-vwztYuUf1uf/1zQxfzRfO5yzfNKhTtgOByCruuiQQxWQXnPb8Itaube5ylofcV0oM0aKal9Mv+S1s1Ky0UYP1w==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-vwztYuUf1uf/1zQxfzRfO5yzfNKhTtgOByCruuiQQxWQXnPb8Itaube5ylofcV0oM0aKal9Mv+S1s1Ky0UYP1w== } + engines: { node: '>=16' } hasBin: true lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + resolution: + { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } ltgt@2.2.1: - resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} + resolution: + { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } meyda@5.6.3: - resolution: {integrity: sha512-fAdwfzIi1WDoL0idUQvCD7dZ7EN74FYH83G+jZQO3Nr9yOEBtzFvcMg2KLdLlu6psSP8XFlO0kYynG5o/E681Q==} + resolution: + { integrity: sha512-fAdwfzIi1WDoL0idUQvCD7dZ7EN74FYH83G+jZQO3Nr9yOEBtzFvcMg2KLdLlu6psSP8XFlO0kYynG5o/E681Q== } hasBin: true ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + resolution: + { integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== } ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true nanostores@0.9.5: - resolution: {integrity: sha512-Z+p+g8E7yzaWwOe5gEUB2Ox0rCEeXWYIZWmYvw/ajNYX8DlXdMvMDj8DWfM/subqPAcsf8l8Td4iAwO1DeIIRQ==} - engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + resolution: + { integrity: sha512-Z+p+g8E7yzaWwOe5gEUB2Ox0rCEeXWYIZWmYvw/ajNYX8DlXdMvMDj8DWfM/subqPAcsf8l8Td4iAwO1DeIIRQ== } + engines: { node: ^16.0.0 || ^18.0.0 || >=20.0.0 } napi-macros@2.0.0: - resolution: {integrity: sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==} + resolution: + { integrity: sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== } node-getopt@0.3.2: - resolution: {integrity: sha512-yqkmYrMbK1wPrfz7mgeYvA4tBperLg9FQ4S3Sau3nSAkpOA0x0zC8nQ1siBwozy1f4SE8vq2n1WKv99r+PCa1Q==} - engines: {node: '>= 0.6.0'} + resolution: + { integrity: sha512-yqkmYrMbK1wPrfz7mgeYvA4tBperLg9FQ4S3Sau3nSAkpOA0x0zC8nQ1siBwozy1f4SE8vq2n1WKv99r+PCa1Q== } + engines: { node: '>= 0.6.0' } node-gyp-build@4.1.1: - resolution: {integrity: sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==} + resolution: + { integrity: sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ== } hasBin: true node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + resolution: + { integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== } hasBin: true path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + resolution: + { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + resolution: + { integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== } picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + resolution: + { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== } picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== } + engines: { node: '>=12' } postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== } + engines: { node: ^10 || ^12 || >=14 } prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== } + engines: { node: '>=14' } hasBin: true prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + resolution: + { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } raf-loop@1.1.3: - resolution: {integrity: sha512-fcIuuIdjbD6OB0IFw4d+cjqdrzDorKkIpwOiSnfU4Tht5PTFiJutR8hnCOGslYqZDyIzwpF5WnwbnTTuo9uUUA==} + resolution: + { integrity: sha512-fcIuuIdjbD6OB0IFw4d+cjqdrzDorKkIpwOiSnfU4Tht5PTFiJutR8hnCOGslYqZDyIzwpF5WnwbnTTuo9uUUA== } raf@3.4.1: - resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} + resolution: + { integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== } randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + resolution: + { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } readable-stream@1.1.14: - resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} + resolution: + { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } + engines: { node: '>= 6' } regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + resolution: + { integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== } regl@1.7.0: - resolution: {integrity: sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==} + resolution: + { integrity: sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w== } resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== } + engines: { node: '>= 0.4' } hasBin: true right-now@1.0.0: - resolution: {integrity: sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==} + resolution: + { integrity: sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg== } rollup@4.29.1: - resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw== } + engines: { node: '>=18.0.0', npm: '>=8.0.0' } hasBin: true safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } sfumato@0.1.2: - resolution: {integrity: sha512-j2s5BLUS5VUNtaK1l+v+yal3XjjV7JXCQIwE5Xs4yiQ3HJ+2Fc/dd3IkkrVHn0AJO2epShSWVoP3GnE0TvPdMg==} + resolution: + { integrity: sha512-j2s5BLUS5VUNtaK1l+v+yal3XjjV7JXCQIwE5Xs4yiQ3HJ+2Fc/dd3IkkrVHn0AJO2epShSWVoP3GnE0TvPdMg== } simple-peer@9.11.1: - resolution: {integrity: sha512-D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw==} + resolution: + { integrity: sha512-D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw== } soundfont2@0.4.0: - resolution: {integrity: sha512-537WiurDBRbDLVhJMxXLE06D6yWxJCidfPClnibZ0f8dKMDpv+0fIfwCQ8pELE0JqKX05SOJosNJgKzQobaAEA==} + resolution: + { integrity: sha512-537WiurDBRbDLVhJMxXLE06D6yWxJCidfPClnibZ0f8dKMDpv+0fIfwCQ8pELE0JqKX05SOJosNJgKzQobaAEA== } source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== } + engines: { node: '>=0.10.0' } source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } + engines: { node: '>=0.10.0' } stream-parser@0.3.1: - resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==} + resolution: + { integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ== } string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + resolution: + { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } style-mod@4.1.2: - resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} + resolution: + { integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw== } superdough@1.1.0: - resolution: {integrity: sha512-8UcCjMakhiZOrKFHS08LmrQZrrzp+om2FouTPFhg1/E1K+gGrsMUYyD6hJl7sa5IM+18Gm/GrBnXoShaqVK7FQ==} + resolution: + { integrity: sha512-8UcCjMakhiZOrKFHS08LmrQZrrzp+om2FouTPFhg1/E1K+gGrsMUYyD6hJl7sa5IM+18Gm/GrBnXoShaqVK7FQ== } supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } + engines: { node: '>= 0.4' } utf-8-validate@6.0.5: - resolution: {integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA==} - engines: {node: '>=6.14.2'} + resolution: + { integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA== } + engines: { node: '>=6.14.2' } util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + resolution: + { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } hasBin: true vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} - engines: {node: ^18.0.0 || >=20.0.0} + resolution: + { integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -1115,17 +1366,21 @@ packages: optional: true w3c-keyname@2.2.8: - resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + resolution: + { integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== } wav@1.0.2: - resolution: {integrity: sha512-viHtz3cDd/Tcr/HbNqzQCofKdF6kWUymH9LGDdskfWFoIy/HJ+RTihgjEcHfnsy1PO4e9B+y4HwgTwMrByquhg==} + resolution: + { integrity: sha512-viHtz3cDd/Tcr/HbNqzQCofKdF6kWUymH9LGDdskfWFoIy/HJ+RTihgjEcHfnsy1PO4e9B+y4HwgTwMrByquhg== } webmidi@3.1.12: - resolution: {integrity: sha512-X1lACggXm2BxuAPdx5wleh8S2kygduHbtR2ti5sGhivLkX6Muv/sLAYmPuIaNLOUddyxr71+3tsq8m5dKXoT4A==} - engines: {node: '>=8.5'} + resolution: + { integrity: sha512-X1lACggXm2BxuAPdx5wleh8S2kygduHbtR2ti5sGhivLkX6Muv/sLAYmPuIaNLOUddyxr71+3tsq8m5dKXoT4A== } + engines: { node: '>=8.5' } ws@6.2.3: - resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} + resolution: + { integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA== } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -1136,8 +1391,9 @@ packages: optional: true ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} - engines: {node: '>=10.0.0'} + resolution: + { integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== } + engines: { node: '>=10.0.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -1148,11 +1404,15 @@ packages: optional: true xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } + engines: { node: '>=0.4' } y-codemirror.next@https://codeload.github.com/felixroos/y-codemirror.next/tar.gz/c8528d36744b7fa62661fddf3d6493ce71b3dcc4: - resolution: {tarball: https://codeload.github.com/felixroos/y-codemirror.next/tar.gz/c8528d36744b7fa62661fddf3d6493ce71b3dcc4} + resolution: + { + tarball: https://codeload.github.com/felixroos/y-codemirror.next/tar.gz/c8528d36744b7fa62661fddf3d6493ce71b3dcc4, + } version: 0.3.2 peerDependencies: '@codemirror/state': ^6.0.0 @@ -1160,42 +1420,47 @@ packages: yjs: ^13.5.6 y-indexeddb@9.0.12: - resolution: {integrity: sha512-9oCFRSPPzBK7/w5vOkJBaVCQZKHXB/v6SIT+WYhnJxlEC61juqG0hBrAf+y3gmSMLFLwICNH9nQ53uscuse6Hg==} - engines: {node: '>=16.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-9oCFRSPPzBK7/w5vOkJBaVCQZKHXB/v6SIT+WYhnJxlEC61juqG0hBrAf+y3gmSMLFLwICNH9nQ53uscuse6Hg== } + engines: { node: '>=16.0.0', npm: '>=8.0.0' } peerDependencies: yjs: ^13.0.0 y-leveldb@0.1.2: - resolution: {integrity: sha512-6ulEn5AXfXJYi89rXPEg2mMHAyyw8+ZfeMMdOtBbV8FJpQ1NOrcgi6DTAcXof0dap84NjHPT2+9d0rb6cFsjEg==} + resolution: + { integrity: sha512-6ulEn5AXfXJYi89rXPEg2mMHAyyw8+ZfeMMdOtBbV8FJpQ1NOrcgi6DTAcXof0dap84NjHPT2+9d0rb6cFsjEg== } peerDependencies: yjs: ^13.0.0 y-protocols@1.0.6: - resolution: {integrity: sha512-vHRF2L6iT3rwj1jub/K5tYcTT/mEYDUppgNPXwp8fmLpui9f7Yeq3OEtTLVF012j39QnV+KEQpNqoN7CWU7Y9Q==} - engines: {node: '>=16.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-vHRF2L6iT3rwj1jub/K5tYcTT/mEYDUppgNPXwp8fmLpui9f7Yeq3OEtTLVF012j39QnV+KEQpNqoN7CWU7Y9Q== } + engines: { node: '>=16.0.0', npm: '>=8.0.0' } peerDependencies: yjs: ^13.0.0 y-webrtc@10.3.0: - resolution: {integrity: sha512-KalJr7dCgUgyVFxoG3CQYbpS0O2qybegD0vI4bYnYHI0MOwoVbucED3RZ5f2o1a5HZb1qEssUKS0H/Upc6p1lA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-KalJr7dCgUgyVFxoG3CQYbpS0O2qybegD0vI4bYnYHI0MOwoVbucED3RZ5f2o1a5HZb1qEssUKS0H/Upc6p1lA== } + engines: { node: '>=12' } hasBin: true peerDependencies: yjs: ^13.6.8 y-websocket@1.5.4: - resolution: {integrity: sha512-Y3021uy0anOIHqAPyAZbNDoR05JuMEGjRNI8c+K9MHzVS8dWoImdJUjccljAznc8H2L7WkIXhRHZ1igWNRSgPw==} - engines: {node: '>=16.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-Y3021uy0anOIHqAPyAZbNDoR05JuMEGjRNI8c+K9MHzVS8dWoImdJUjccljAznc8H2L7WkIXhRHZ1igWNRSgPw== } + engines: { node: '>=16.0.0', npm: '>=8.0.0' } hasBin: true peerDependencies: yjs: ^13.5.6 yjs@13.6.21: - resolution: {integrity: sha512-/fzzyeCAfr3Qwx1D71zvumm64x+Q5MEFel6EhWlA1IBFxWPb7tei4J2a8CJyjpYHfVrRij5q3RJTK9W2Iqjouw==} - engines: {node: '>=16.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-/fzzyeCAfr3Qwx1D71zvumm64x+Q5MEFel6EhWlA1IBFxWPb7tei4J2a8CJyjpYHfVrRij5q3RJTK9W2Iqjouw== } + engines: { node: '>=16.0.0', npm: '>=8.0.0' } snapshots: - '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 diff --git a/public/assets/clockworker--4w5RvGG.js b/public/assets/clockworker--4w5RvGG.js index 947a234..f9a1ce4 100644 --- a/public/assets/clockworker--4w5RvGG.js +++ b/public/assets/clockworker--4w5RvGG.js @@ -1 +1,113 @@ -(function(){"use strict";function L(){const e=performance.now()/1e3;return Math.round(e*1e4)/1e4}let p=0,d=0,f=0,o=.5;const g=new Map,C=.1,b=new BroadcastChannel("strudeltick"),I=(s,e)=>{b.postMessage({type:s,payload:e})},M=O(L,(s,e,t,n)=>{const i=d*e,l=s-n,c=n+l,h=i*o,r=p+h,y=n-c-e,k=e*o,_=r+k,m=r+y*o;I("tick",{begin:r,end:_,cps:o,tickdeadline:l,num_cycles_at_cps_change:p,num_seconds_at_cps_change:f,num_seconds_since_cps_change:i,cycle:m}),d++},C);let u=!1;const A=s=>{g.set(s,{started:!0}),!u&&(M.start(),u=!0)},D=async s=>{g.set(s,{started:!1});const e=Array.from(g.values()).some(t=>t.started);!u||e||(M.stop(),w(0),u=!1)},w=s=>{d=0,p=s},E=s=>{const{type:e,payload:t}=s;switch(e){case"cpschange":{if(t.cps!==o){const n=d*C;p=p+n*o,f=f+n,o=t.cps,d=0}break}case"setcycle":{w(t.cycle);break}case"toggle":{t.started?A(s.id):D(s.id);break}}};self.onconnect=function(s){const e=s.ports[0];e.addEventListener("message",function(t){E(t.data)}),e.start()};function O(s,e,t=.05,n=.1,i=.1){let l=0,c=0,h=10**4,r=.01;const y=a=>t=a(t);i=i||n/2;const k=()=>{const a=s(),P=a+n+i;for(c===0&&(c=a+r);c=a&&e(c,t,l,a),c{T(),k(),_=setInterval(k,n*1e3)},T=()=>_!==void 0&&clearInterval(_);return{setDuration:y,start:m,stop:()=>{l=0,c=0,T()},pause:()=>T(),duration:t,interval:n,getPhase:()=>c,minLatency:r}}})(); +(function () { + 'use strict'; + function L() { + const e = performance.now() / 1e3; + return Math.round(e * 1e4) / 1e4; + } + let p = 0, + d = 0, + f = 0, + o = 0.5; + const g = new Map(), + C = 0.1, + b = new BroadcastChannel('strudeltick'), + I = (s, e) => { + b.postMessage({ type: s, payload: e }); + }, + M = O( + L, + (s, e, t, n) => { + const i = d * e, + l = s - n, + c = n + l, + h = i * o, + r = p + h, + y = n - c - e, + k = e * o, + _ = r + k, + m = r + y * o; + I('tick', { + begin: r, + end: _, + cps: o, + tickdeadline: l, + num_cycles_at_cps_change: p, + num_seconds_at_cps_change: f, + num_seconds_since_cps_change: i, + cycle: m, + }), + d++; + }, + C, + ); + let u = !1; + const A = (s) => { + g.set(s, { started: !0 }), !u && (M.start(), (u = !0)); + }, + D = async (s) => { + g.set(s, { started: !1 }); + const e = Array.from(g.values()).some((t) => t.started); + !u || e || (M.stop(), w(0), (u = !1)); + }, + w = (s) => { + (d = 0), (p = s); + }, + E = (s) => { + const { type: e, payload: t } = s; + switch (e) { + case 'cpschange': { + if (t.cps !== o) { + const n = d * C; + (p = p + n * o), (f = f + n), (o = t.cps), (d = 0); + } + break; + } + case 'setcycle': { + w(t.cycle); + break; + } + case 'toggle': { + t.started ? A(s.id) : D(s.id); + break; + } + } + }; + self.onconnect = function (s) { + const e = s.ports[0]; + e.addEventListener('message', function (t) { + E(t.data); + }), + e.start(); + }; + function O(s, e, t = 0.05, n = 0.1, i = 0.1) { + let l = 0, + c = 0, + h = 10 ** 4, + r = 0.01; + const y = (a) => (t = a(t)); + i = i || n / 2; + const k = () => { + const a = s(), + P = a + n + i; + for (c === 0 && (c = a + r); c < P; ) + (c = Math.round(c * h) / h), c >= a && e(c, t, l, a), c < a && console.log('TOO LATE', c), (c += t), l++; + }; + let _; + const m = () => { + T(), k(), (_ = setInterval(k, n * 1e3)); + }, + T = () => _ !== void 0 && clearInterval(_); + return { + setDuration: y, + start: m, + stop: () => { + (l = 0), (c = 0), T(); + }, + pause: () => T(), + duration: t, + interval: n, + getPhase: () => c, + minLatency: r, + }; + } +})(); diff --git a/src/confirm.js b/src/confirm.js index a124b72..1653f0e 100644 --- a/src/confirm.js +++ b/src/confirm.js @@ -1,6 +1,6 @@ -const youSureDialog = document.querySelector("#you-sure-dialog"); -const yesButton = document.querySelector("#you-sure-yes-button"); -const noButton = document.querySelector("#you-sure-no-button"); +const youSureDialog = document.querySelector('#you-sure-dialog'); +const yesButton = document.querySelector('#you-sure-yes-button'); +const noButton = document.querySelector('#you-sure-no-button'); export async function nudelConfirm() { youSureDialog.showModal(); diff --git a/src/hydra.js b/src/hydra.js index 95139ca..8c7aa23 100644 --- a/src/hydra.js +++ b/src/hydra.js @@ -1,7 +1,7 @@ -import Hydra from "hydra-synth"; +import Hydra from 'hydra-synth'; export class HydraSession { - constructor({onError, canvas, onHighlight}) { + constructor({ onError, canvas, onHighlight }) { this.initialized = false; this.onError = onError; this.canvas = canvas; @@ -9,7 +9,6 @@ export class HydraSession { this.init(); } - resize() { if (this.initialized) { this.canvas.width = window.innerWidth; @@ -61,23 +60,21 @@ export class HydraSession { window.useStrudelCanvas = (s) => { if (window.parent.strudel == undefined) return; const canvas = window.parent.strudel.draw.getDrawContext().canvas; - canvas.style.display = "none"; - s.init({src: canvas}); + canvas.style.display = 'none'; + s.init({ src: canvas }); }; - const clamp = (num, min, max) => - Math.min(Math.max(num, min), max); + const clamp = (num, min, max) => Math.min(Math.max(num, min), max); // Enables Hydra to use Strudel frequency data // with `.scrollX(() => fft(1,0)` it will influence the x-axis, according to the fft data // first number is the index of the bucket, second is the number of buckets to aggregate the number too window.fft = ( - index,//: number, - buckets,//: number = 8, - options,//?: { min?: number; max?: number; scale?: number; analyzerId?: string; }, + index, //: number, + buckets, //: number = 8, + options, //?: { min?: number; max?: number; scale?: number; analyzerId?: string; }, ) => { - - const analyzerId = options?.analyzerId ?? "flok-master"; + const analyzerId = options?.analyzerId ?? 'flok-master'; const min = options?.min ?? -150; const scale = options?.scale ?? 1; const max = options?.max ?? 0; @@ -97,33 +94,25 @@ export class HydraSession { return 0.5; } - const freq = strudel.webaudio.getAnalyzerData( - "frequency", - analyzerId, - )// as Array; + const freq = strudel.webaudio.getAnalyzerData('frequency', analyzerId); // as Array; const bucketSize = freq.length / buckets; // inspired from https://github.com/tidalcycles/strudel/blob/a7728e3d81fb7a0a2dff9f2f4bd9e313ddf138cd/packages/webaudio/scope.mjs#L53 - const normalized = freq.map((it/*: number*/) => { + const normalized = freq.map((it /*: number*/) => { const norm = clamp((it - min) / (max - min), 0, 1); return norm * scale; }); - return ( - normalized - .slice(bucketSize * index, bucketSize * (index + 1)) - .reduce((a, b) => a + b, 0) / bucketSize - ); + return normalized.slice(bucketSize * index, bucketSize * (index + 1)).reduce((a, b) => a + b, 0) / bucketSize; }; this.initialized = true; - console.log("Hydra initialized"); + console.log('Hydra initialized'); } - async eval(msg, conversational = false) { if (!this.initialized) await this.init(); - const {body: code, docId} = msg; + const { body: code, docId } = msg; try { await eval?.(`(async () => { diff --git a/src/main.js b/src/main.js index 0b02208..7ffb6be 100644 --- a/src/main.js +++ b/src/main.js @@ -1,19 +1,15 @@ -import { EditorView, basicSetup } from "codemirror"; -import { javascript } from "@codemirror/lang-javascript"; -import { EditorState, Prec } from "@codemirror/state"; -import { keymap } from "@codemirror/view"; -import { yCollab } from "y-codemirror.next"; -import { Session } from "@flok-editor/session"; -import { flashField, evalKeymap, remoteEvalFlash } from "@flok-editor/cm-eval"; -import { UndoManager } from "yjs"; -import { - highlightExtension, - highlightMiniLocations, - updateMiniLocations, -} from "@strudel/codemirror"; -import { strudelTheme } from "./theme"; - -import "./style.css"; +import { EditorView, basicSetup } from 'codemirror'; +import { javascript } from '@codemirror/lang-javascript'; +import { EditorState, Prec } from '@codemirror/state'; +import { keymap } from '@codemirror/view'; +import { yCollab } from 'y-codemirror.next'; +import { Session } from '@flok-editor/session'; +import { flashField, evalKeymap, remoteEvalFlash } from '@flok-editor/cm-eval'; +import { UndoManager } from 'yjs'; +import { highlightExtension, highlightMiniLocations, updateMiniLocations } from '@strudel/codemirror'; +import { strudelTheme } from './theme'; + +import './style.css'; const editorViews = new Map(); @@ -26,7 +22,7 @@ const flokBasicSetup = (doc) => { flashField(), highlightExtension, remoteEvalFlash(doc), - Prec.high(evalKeymap(doc, { web, defaultMode: "document" })), + Prec.high(evalKeymap(doc, { web, defaultMode: 'document' })), yCollab(text, doc.session.awareness, { undoManager, showLocalCaret: true, @@ -36,14 +32,12 @@ const flokBasicSetup = (doc) => { }; const createEditor = (doc) => { - console.log("createEditor", doc); - if (!["1", "2", "3", "4", "5", "6", "7", "8"].includes(doc.id)) { - console.warn( - `ignoring doc with id "${doc.id}". only slot1 and slot2 is allowed rn..` - ); + console.log('createEditor', doc); + if (!['1', '2', '3', '4', '5', '6', '7', '8'].includes(doc.id)) { + console.warn(`ignoring doc with id "${doc.id}". only slot1 and slot2 is allowed rn..`); return; } - const stopKeys = ["Ctrl-.", "Alt-."]; + const stopKeys = ['Ctrl-.', 'Alt-.']; const state = EditorState.create({ doc: doc.content, extensions: [ @@ -58,11 +52,11 @@ const createEditor = (doc) => { ...stopKeys.map((key) => ({ key, run: () => { - doc.evaluate("$: silence", { from: null, to: null }); + doc.evaluate('$: silence', { from: null, to: null }); return true; }, })), - ]) + ]), ), ], }); @@ -77,7 +71,7 @@ const createEditor = (doc) => { const targetEl = document.querySelector(`#slot-${doc.id} .target`); targetEl.value = doc.target; - targetEl.addEventListener("change", (e) => { + targetEl.addEventListener('change', (e) => { doc.target = e.target.value; }); doc.session.on(`change-target:${doc.id}`, () => { @@ -85,15 +79,15 @@ const createEditor = (doc) => { }); const runButton = document.querySelector(`#slot-${doc.id} .run`); - runButton.addEventListener("click", () => { + runButton.addEventListener('click', () => { doc.evaluate(doc.content); }); }; -const session = new Session("pastagang", { +const session = new Session('pastagang', { // changed this part to what flok.cc uses - hostname: "flok.cc", - port: "", //parseInt(port), + hostname: 'flok.cc', + port: '', //parseInt(port), isSecure: true, }); window.session = session; @@ -101,14 +95,14 @@ window.session = session; /* session.on("change", (...args) => console.log("change", ...args)); session.on("message", (msg) => console.log("message", msg)); */ -session.on("sync", () => { +session.on('sync', () => { // If session is empty, create two documents if (session.getDocuments().length === 0) { session.setActiveDocuments([ - { id: "1", target: "strudel" }, - { id: "2", target: "strudel" }, - { id: "3", target: "strudel" }, - { id: "4", target: "strudel" }, + { id: '1', target: 'strudel' }, + { id: '2', target: 'strudel' }, + { id: '3', target: 'strudel' }, + { id: '4', target: 'strudel' }, ]); } @@ -117,16 +111,12 @@ session.on("sync", () => { }); // hydra -const hydraFrame = document.getElementById("hydra"); -session.on("eval:hydra", (msg) => - hydraFrame.contentWindow.postMessage({ type: "eval", msg }) -); +const hydraFrame = document.getElementById('hydra'); +session.on('eval:hydra', (msg) => hydraFrame.contentWindow.postMessage({ type: 'eval', msg })); // strudel -const strudelFrame = document.getElementById("strudel"); -session.on("eval:strudel", (msg) => - strudelFrame.contentWindow.postMessage({ type: "eval", msg }) -); +const strudelFrame = document.getElementById('strudel'); +session.on('eval:strudel', (msg) => strudelFrame.contentWindow.postMessage({ type: 'eval', msg })); const strudelEventHandlers = { onHighlight: (docId, phase) => { @@ -140,7 +130,7 @@ const strudelEventHandlers = { highlightMiniLocations(view, phase, haps); }, onError: (err, docId) => { - console.log("onError", docId); + console.log('onError', docId); console.error(err); }, onUpdateMiniLocations: (docId, miniLocations) => { @@ -148,7 +138,7 @@ const strudelEventHandlers = { updateMiniLocations(view, miniLocations); }, }; -window.addEventListener("message", (event) => { +window.addEventListener('message', (event) => { if (event.origin !== window.location.origin) { return; } diff --git a/src/settings.js b/src/settings.js index cc45e5d..81fe5a8 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,18 +1,18 @@ -import { nudelConfirm } from "./confirm.js"; +import { nudelConfirm } from './confirm.js'; //=======// // ADMIN // //=======// // Scroll down to configure settings ... -const settingsButton = document.querySelector("#settings-button"); -const settingsDialog = document.querySelector("#settings-dialog"); +const settingsButton = document.querySelector('#settings-button'); +const settingsDialog = document.querySelector('#settings-dialog'); -settingsButton.addEventListener("click", () => { +settingsButton.addEventListener('click', () => { settingsDialog.showModal(); }); -const LOCAL_STORAGE_KEY = "nudelsalat-settings-v0"; +const LOCAL_STORAGE_KEY = 'nudelsalat-settings-v0'; function getSettingsFromLocalStorage() { const rawSettings = localStorage.getItem(LOCAL_STORAGE_KEY); @@ -22,7 +22,7 @@ function getSettingsFromLocalStorage() { try { parsedSettings = { ...defaultSettings, ...JSON.parse(rawSettings) }; } catch (e) { - console.warn("failed to parse settings. defaulting to defaults.", e); + console.warn('failed to parse settings. defaulting to defaults.', e); } } @@ -44,8 +44,8 @@ export function getSettings() { return getSettingsFromLocalStorage(); } -const resetButton = document.querySelector("#settings-reset-button"); -resetButton.addEventListener("click", async () => { +const resetButton = document.querySelector('#settings-reset-button'); +resetButton.addEventListener('click', async () => { const response = await nudelConfirm(); if (response) { setSettings(defaultSettings); @@ -58,10 +58,10 @@ resetButton.addEventListener("click", async () => { // Here's where you can make changes to the settings. const defaultSettings = { - username: "", + username: '', }; -const usernameInput = document.querySelector("#settings-username"); +const usernameInput = document.querySelector('#settings-username'); function inferSettingsFromDom() { const inferredSettings = { @@ -75,11 +75,11 @@ function applySettingsToNudel(settings) { usernameInput.value = settings.username; } - session.user = settings.username || "anonymous nudelfan"; + session.user = settings.username || 'anonymous nudelfan'; } if (usernameInput) { - usernameInput.addEventListener("input", () => { + usernameInput.addEventListener('input', () => { setSettings(inferSettingsFromDom()); }); } diff --git a/src/strudel.js b/src/strudel.js index 5c1c172..3ccc9dd 100644 --- a/src/strudel.js +++ b/src/strudel.js @@ -1,23 +1,10 @@ -import { - controls, - evalScope, - repl, - stack, - evaluate, - silence, -} from "@strudel/core"; -import { Framer } from "@strudel/draw"; -import { registerSoundfonts } from "@strudel/soundfonts"; -import { transpiler } from "@strudel/transpiler"; -import { - getAudioContext, - initAudio, - registerSynthSounds, - samples, - webaudioOutput, -} from "@strudel/webaudio"; - -controls.createParam("docId"); +import { controls, evalScope, repl, stack, evaluate, silence } from '@strudel/core'; +import { Framer } from '@strudel/draw'; +import { registerSoundfonts } from '@strudel/soundfonts'; +import { transpiler } from '@strudel/transpiler'; +import { getAudioContext, initAudio, registerSynthSounds, samples, webaudioOutput } from '@strudel/webaudio'; + +controls.createParam('docId'); export class StrudelSession { constructor({ onError, onHighlight, onUpdateMiniLocations }) { @@ -33,8 +20,7 @@ export class StrudelSession { } loadSamples() { - const ds = - "https://raw.githubusercontent.com/felixroos/dough-samples/main/"; + const ds = 'https://raw.githubusercontent.com/felixroos/dough-samples/main/'; return Promise.all([ samples(`${ds}/tidal-drum-machines.json`), samples(`${ds}/piano.json`), @@ -48,26 +34,22 @@ export class StrudelSession { initAudio(); // why do we need to await this stuff here? - this.core = await import("@strudel/core"); - this.mini = await import("@strudel/mini"); - this.webaudio = await import("@strudel/webaudio"); - this.draw = await import("@strudel/draw"); + this.core = await import('@strudel/core'); + this.mini = await import('@strudel/mini'); + this.webaudio = await import('@strudel/webaudio'); + this.draw = await import('@strudel/draw'); await evalScope( this.core, this.mini, this.webaudio, this.draw, - import("@strudel/tonal"), - import("@strudel/soundfonts"), - controls + import('@strudel/tonal'), + import('@strudel/soundfonts'), + controls, ); try { - await Promise.all([ - this.loadSamples(), - registerSynthSounds(), - registerSoundfonts(), - ]); + await Promise.all([this.loadSamples(), registerSynthSounds(), registerSoundfonts()]); } catch (err) { this.onError(err); } @@ -98,23 +80,20 @@ export class StrudelSession { // queries the stack of strudel patterns for the current time const allHaps = this.repl.scheduler.pattern.queryArc( Math.max(lastFrame, phase - 1 / 10), // make sure query is not larger than 1/10 s - phase + phase, ); // filter out haps that are not active right now - const currentFrame = allHaps.filter( - (hap) => phase >= hap.whole.begin && phase <= hap.endClipped - ); + const currentFrame = allHaps.filter((hap) => phase >= hap.whole.begin && phase <= hap.endClipped); // iterate over each strudel doc Object.keys(this.patterns).forEach((docId) => { // filter out haps belonging to this document (docId is set in eval) - const haps = - currentFrame.filter((h) => h.value.docId === docId) || []; + const haps = currentFrame.filter((h) => h.value.docId === docId) || []; this.onHighlight(docId, phase || 0, haps); }); }, (err) => { - console.error("[strudel] draw error", err); - } + console.error('[strudel] draw error', err); + }, ); this.framer.start(); // tbd allow disabling highlighting } @@ -130,11 +109,11 @@ export class StrudelSession { injectPatternMethods() { const self = this; Pattern.prototype.p = function (id) { - if (typeof id === "string" && (id.startsWith("_") || id.endsWith("_"))) { + if (typeof id === 'string' && (id.startsWith('_') || id.endsWith('_'))) { // allows muting a pattern x with x_ or _x return silence; } - if (id === "$") { + if (id === '$') { // allows adding anonymous patterns with $: id = `$${self.anonymousIndex}`; self.anonymousIndex++; @@ -176,7 +155,7 @@ export class StrudelSession { // little hack that injects the docId at the end of the code to make it available in afterEval let { pattern, meta } = await evaluate( code, - transpiler + transpiler, // { id: '?' } ); @@ -195,7 +174,7 @@ export class StrudelSession { if (this.enableAutoAnalyze) { pattern = pattern.fmap((value) => { if (value.analyze == undefined) { - value.analyze = "flok-master"; + value.analyze = 'flok-master'; } return value; }); diff --git a/src/theme.js b/src/theme.js index e91fe32..61a8ac5 100644 --- a/src/theme.js +++ b/src/theme.js @@ -1,77 +1,77 @@ // currently unused -import { EditorView } from "codemirror"; -import { tags } from "@lezer/highlight"; -import { HighlightStyle } from "@codemirror/language"; -import { syntaxHighlighting } from "@codemirror/language"; +import { EditorView } from 'codemirror'; +import { tags } from '@lezer/highlight'; +import { HighlightStyle } from '@codemirror/language'; +import { syntaxHighlighting } from '@codemirror/language'; let colors = { - teal600: "#c084fc", // text - teal400: "#2dd4bf", - amber: "#d97706", - violet400: "#a78bfa", - violet300: "#c4b5fd", - indigo300: "#a5b4fc", - indigo400: "#818cf8", - fuchsia400: "#e879f9", - fuchsia300: "#78716c", // brackets - fuchsia200: "#f5d0fe", - whitish: "#d9f99d", // text - stone400: "#a8a29e", - stone500: "#78716c", + teal600: '#c084fc', // text + teal400: '#2dd4bf', + amber: '#d97706', + violet400: '#a78bfa', + violet300: '#c4b5fd', + indigo300: '#a5b4fc', + indigo400: '#818cf8', + fuchsia400: '#e879f9', + fuchsia300: '#78716c', // brackets + fuchsia200: '#f5d0fe', + whitish: '#d9f99d', // text + stone400: '#a8a29e', + stone500: '#78716c', }; let theme = EditorView.theme( { - "&": { + '&': { color: colors.teal600, - overflow: "hidden", - backgroundColor: "transparent", - fontSize: "16px", - height: "100%", + overflow: 'hidden', + backgroundColor: 'transparent', + fontSize: '16px', + height: '100%', }, - ".cm-gutters": { - "background-color": "transparent", + '.cm-gutters': { + 'background-color': 'transparent', color: colors.stone500, }, - ".cm-cursor": { - "border-left-color": "transparent", + '.cm-cursor': { + 'border-left-color': 'transparent', // the regular cursor is hidden, because we're showing a nametag.. // the cursor is part of https://github.com/felixroos/y-codemirror.next // i had to fork again because the scrollIntoView was messing with the global scroll }, - ".cm-activeLine, .cm-activeLineGutter": { - "background-color": "#aaaaaa20", + '.cm-activeLine, .cm-activeLineGutter': { + 'background-color': '#aaaaaa20', }, - ".cm-cursorLayer": { - "animation-name": "inherit !important;", // disables blinking + '.cm-cursorLayer': { + 'animation-name': 'inherit !important;', // disables blinking }, - ".cm-matchingBracket": { - "text-decoration": "underline 0.12rem", - "text-underline-offset": "0.24rem", - "text-decoration-color": colors.fuchsia300, + '.cm-matchingBracket': { + 'text-decoration': 'underline 0.12rem', + 'text-underline-offset': '0.24rem', + 'text-decoration-color': colors.fuchsia300, }, - ".cm-ySelectionInfo": { - opacity: "1", - fontFamily: "monospace", - color: "black", - padding: "2px 2px", - fontSize: "0.8rem", + '.cm-ySelectionInfo': { + opacity: '1', + fontFamily: 'monospace', + color: 'black', + padding: '2px 2px', + fontSize: '0.8rem', //"font-weight": "bold", - top: "1.45em", - "z-index": "1000", + top: '1.45em', + 'z-index': '1000', }, }, - { dark: true } + { dark: true }, ); const highlightStyle = HighlightStyle.define([ - { tag: tags.labelName, color: "#7dd3fc" }, + { tag: tags.labelName, color: '#7dd3fc' }, { tag: tags.keyword, color: colors.teal600 }, { tag: tags.literal, color: colors.whitish }, { tag: tags.squareBracket, color: colors.amber }, { tag: tags.punctuation, color: colors.fuchsia300 }, { tag: tags.operator, color: colors.fuchsia300 }, - { tag: tags.comment, color: colors.stone500, fontStyle: "italic" }, + { tag: tags.comment, color: colors.stone500, fontStyle: 'italic' }, ]); export let strudelTheme = [theme, syntaxHighlighting(highlightStyle)]; diff --git a/strudel.html b/strudel.html index ffc702d..c4e67a4 100644 --- a/strudel.html +++ b/strudel.html @@ -1,4 +1,4 @@ - + diff --git a/vite.config.js b/vite.config.js index abba9fc..b68c5f9 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,12 +1,12 @@ -import { defineConfig } from "vite"; +import { defineConfig } from 'vite'; export default defineConfig({ build: { rollupOptions: { input: { - main: "index.html", - strudel: "strudel.html", // iframe - hydra: "hydra.html", // iframe + main: 'index.html', + strudel: 'strudel.html', // iframe + hydra: 'hydra.html', // iframe }, }, },