diff --git a/examples/blockly-angular/package-lock.json b/examples/blockly-angular/package-lock.json index 19211ed81f..8691214cdd 100644 --- a/examples/blockly-angular/package-lock.json +++ b/examples/blockly-angular/package-lock.json @@ -727,12 +727,13 @@ "dev": true }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" @@ -891,9 +892,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" @@ -912,25 +913,39 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1072,18 +1087,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1128,13 +1143,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -1142,9 +1157,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", - "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2291,19 +2306,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", - "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.3", - "@babel/types": "^7.21.3", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2312,12 +2327,12 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", - "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.21.3", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -2326,14 +2341,26 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/types": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", - "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -14181,12 +14208,13 @@ "dev": true }, "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" } }, "@babel/compat-data": { @@ -14302,9 +14330,9 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true }, "@babel/helper-explode-assignable-expression": { @@ -14317,22 +14345,35 @@ } }, "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + } } }, "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { @@ -14438,15 +14479,15 @@ } }, "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { @@ -14479,20 +14520,20 @@ } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", - "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -15261,45 +15302,54 @@ } }, "@babel/traverse": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", - "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.3", - "@babel/types": "^7.21.3", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/generator": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", - "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "requires": { - "@babel/types": "^7.21.3", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } } } }, "@babel/types": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", - "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, diff --git a/examples/blockly-react/package-lock.json b/examples/blockly-react/package-lock.json index be57796248..239c978fb5 100644 --- a/examples/blockly-react/package-lock.json +++ b/examples/blockly-react/package-lock.json @@ -30,11 +30,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" @@ -119,12 +120,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dependencies": { - "@babel/types": "^7.20.2", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -252,9 +254,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "engines": { "node": ">=6.9.0" } @@ -271,23 +273,23 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -407,28 +409,28 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } @@ -469,12 +471,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -482,9 +484,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1806,31 +1808,31 @@ } }, "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1839,12 +1841,12 @@ } }, "node_modules/@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -16607,11 +16609,12 @@ } }, "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" } }, "@babel/compat-data": { @@ -16671,12 +16674,13 @@ } }, "@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "requires": { - "@babel/types": "^7.20.2", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "dependencies": { @@ -16771,9 +16775,9 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" }, "@babel/helper-explode-assignable-expression": { "version": "7.18.6", @@ -16784,20 +16788,20 @@ } }, "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { @@ -16884,22 +16888,22 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, "@babel/helper-validator-option": { "version": "7.18.6", @@ -16928,19 +16932,19 @@ } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -17792,39 +17796,39 @@ } }, "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, diff --git a/examples/blockly-rtc/package-lock.json b/examples/blockly-rtc/package-lock.json index 3e2f8cb698..f6adc38440 100644 --- a/examples/blockly-rtc/package-lock.json +++ b/examples/blockly-rtc/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@vscode/sqlite3": "^5.0.8", "blockly": "^10.0.0", - "socket.io": "^2.5.0", + "socket.io": "^4.7.2", "socket.io-client": "^2.3.0" }, "devDependencies": { @@ -138,6 +138,11 @@ "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -146,6 +151,19 @@ "node": ">= 10" } }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "node_modules/@types/cors": { + "version": "2.8.14", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.14.tgz", + "integrity": "sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -165,8 +183,7 @@ "node_modules/@types/node": { "version": "14.0.27", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.27.tgz", - "integrity": "sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==", - "dev": true + "integrity": "sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==" }, "node_modules/@vscode/sqlite3": { "version": "5.0.8", @@ -1425,7 +1442,8 @@ "node_modules/component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true }, "node_modules/component-inherit": { "version": "0.0.3", @@ -1653,6 +1671,18 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -1765,11 +1795,19 @@ "dev": true }, "node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decamelize": { @@ -2181,19 +2219,23 @@ } }, "node_modules/engine.io": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.6.1.tgz", - "integrity": "sha512-dfs8EVg/i7QjFsXxn7cCRQ+Wai1G1TlEvHhdYEi80fxn5R1vZ2K661O6v/rezj1FP234SZ14r9CmJke99iYDGg==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.2.tgz", + "integrity": "sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==", "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.2.0" } }, "node_modules/engine.io-client": { @@ -2244,6 +2286,34 @@ "has-binary2": "~1.0.2" } }, + "node_modules/engine.io/node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/enhanced-resolve": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", @@ -5801,29 +5871,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/mocha/node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -6593,7 +6640,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7133,9 +7179,9 @@ } }, "node_modules/portfinder/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" @@ -8124,22 +8170,49 @@ } }, "node_modules/socket.io": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.5.0.tgz", - "integrity": "sha512-gGunfS0od3VpwDBpGwVkzSZx6Aqo9uOcf1afJj2cKnKFAoyl16fvhpsUhmUFd4Ldbvl5JvRQed6eQw6oQp6n8w==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dependencies": { - "debug": "~4.1.0", - "engine.io": "~3.6.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.5.0", - "socket.io-parser": "~3.4.0" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" } }, "node_modules/socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, "node_modules/socket.io-client": { "version": "2.5.0", @@ -8188,13 +8261,12 @@ } }, "node_modules/socket.io-parser": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.3.tgz", - "integrity": "sha512-1rE4dZN3kCI/E5wixd393hmbqa78vVpkKmnEJhLeWoS/C5hbFYAbcSfnWoaVH43u9ToUVtzKjguxEZq+1XZfCQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dependencies": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, "engines": { "node": ">=10.0.0" @@ -8226,9 +8298,9 @@ } }, "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" @@ -8274,23 +8346,6 @@ "node": ">= 10" } }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -9206,7 +9261,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, "engines": { "node": ">= 0.8" } @@ -10058,11 +10112,29 @@ "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "@types/cors": { + "version": "2.8.14", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.14.tgz", + "integrity": "sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==", + "requires": { + "@types/node": "*" + } + }, "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -10082,8 +10154,7 @@ "@types/node": { "version": "14.0.27", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.27.tgz", - "integrity": "sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==", - "dev": true + "integrity": "sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==" }, "@vscode/sqlite3": { "version": "5.0.8", @@ -11195,7 +11266,8 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true }, "component-inherit": { "version": "0.0.3", @@ -11391,6 +11463,15 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -11491,11 +11572,11 @@ "dev": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decamelize": { @@ -11843,16 +11924,33 @@ } }, "engine.io": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.6.1.tgz", - "integrity": "sha512-dfs8EVg/i7QjFsXxn7cCRQ+Wai1G1TlEvHhdYEi80fxn5R1vZ2K661O6v/rezj1FP234SZ14r9CmJke99iYDGg==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.2.tgz", + "integrity": "sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==", "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" + }, + "dependencies": { + "engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==" + }, + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} + } } }, "engine.io-client": { @@ -14683,23 +14781,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -15294,8 +15375,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", @@ -15727,9 +15807,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -16567,22 +16647,34 @@ } }, "socket.io": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.5.0.tgz", - "integrity": "sha512-gGunfS0od3VpwDBpGwVkzSZx6Aqo9uOcf1afJj2cKnKFAoyl16fvhpsUhmUFd4Ldbvl5JvRQed6eQw6oQp6n8w==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "requires": { - "debug": "~4.1.0", - "engine.io": "~3.6.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.5.0", - "socket.io-parser": "~3.4.0" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" } }, "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "requires": { + "ws": "~8.11.0" + }, + "dependencies": { + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} + } + } }, "socket.io-client": { "version": "2.5.0", @@ -16633,13 +16725,12 @@ } }, "socket.io-parser": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.3.tgz", - "integrity": "sha512-1rE4dZN3kCI/E5wixd393hmbqa78vVpkKmnEJhLeWoS/C5hbFYAbcSfnWoaVH43u9ToUVtzKjguxEZq+1XZfCQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" } }, "sockjs": { @@ -16668,9 +16759,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -16706,17 +16797,6 @@ "agent-base": "^6.0.2", "debug": "^4.3.1", "socks": "^2.6.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } } }, "source-list-map": { @@ -17509,8 +17589,7 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, "vm-browserify": { "version": "1.1.2", diff --git a/examples/blockly-rtc/package.json b/examples/blockly-rtc/package.json index 96a7ea5f3e..6c650924cf 100644 --- a/examples/blockly-rtc/package.json +++ b/examples/blockly-rtc/package.json @@ -20,7 +20,7 @@ "dependencies": { "@vscode/sqlite3": "^5.0.8", "blockly": "^10.0.0", - "socket.io": "^2.5.0", + "socket.io": "^4.7.2", "socket.io-client": "^2.3.0" }, "devDependencies": { diff --git a/examples/blockly-vue3/package-lock.json b/examples/blockly-vue3/package-lock.json index bc09cb165a..f3f2bd7779 100644 --- a/examples/blockly-vue3/package-lock.json +++ b/examples/blockly-vue3/package-lock.json @@ -1378,8 +1378,15 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.4", - "license": "MIT", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -1499,7 +1506,9 @@ } }, "node_modules/postcss": { - "version": "8.4.14", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -1508,11 +1517,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -3050,7 +3062,9 @@ "version": "2.1.2" }, "nanoid": { - "version": "3.3.4" + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, "natural-compare": { "version": "1.4.0", @@ -3126,9 +3140,11 @@ "dev": true }, "postcss": { - "version": "8.4.14", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "requires": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } diff --git a/examples/custom-generator-codelab/package-lock.json b/examples/custom-generator-codelab/package-lock.json index 9d5102592c..ca54be704e 100644 --- a/examples/custom-generator-codelab/package-lock.json +++ b/examples/custom-generator-codelab/package-lock.json @@ -2529,10 +2529,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2865,9 +2871,9 @@ } }, "node_modules/postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "funding": [ { @@ -2877,10 +2883,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -6400,9 +6410,9 @@ } }, "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true }, "negotiator": { @@ -6651,12 +6661,12 @@ } }, "postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "requires": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } diff --git a/examples/custom-renderer-codelab/package-lock.json b/examples/custom-renderer-codelab/package-lock.json index 538a18444a..62af9c4c03 100644 --- a/examples/custom-renderer-codelab/package-lock.json +++ b/examples/custom-renderer-codelab/package-lock.json @@ -2685,7 +2685,9 @@ } }, "node_modules/postcss": { - "version": "8.4.23", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "funding": [ { @@ -2701,7 +2703,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -3028,11 +3029,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/schema-utils/node_modules/@types/json-schema": { - "version": "7.0.9", - "dev": true, - "license": "MIT" - }, "node_modules/select-hose": { "version": "2.0.0", "dev": true, @@ -5872,7 +5868,9 @@ } }, "postcss": { - "version": "8.4.23", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "requires": { "nanoid": "^3.3.6", @@ -6083,12 +6081,6 @@ "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.9", - "dev": true - } } }, "select-hose": { diff --git a/examples/custom-tooltips-demo/package-lock.json b/examples/custom-tooltips-demo/package-lock.json index ac08feee48..1b531172a8 100644 --- a/examples/custom-tooltips-demo/package-lock.json +++ b/examples/custom-tooltips-demo/package-lock.json @@ -316,9 +316,9 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "engines": { "node": "*" } @@ -962,9 +962,9 @@ } }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" }, "has-flag": { "version": "4.0.0", diff --git a/examples/devsite-demo/acorn_interpreter.js b/examples/devsite-demo/acorn_interpreter.js index c9d3f4f594..3f911d718d 100644 --- a/examples/devsite-demo/acorn_interpreter.js +++ b/examples/devsite-demo/acorn_interpreter.js @@ -1,64 +1,68 @@ -// Acorn: Copyright 2012 Marijn Haverbeke, MIT License -(function(X,k){if("object"==typeof exports&&"object"==typeof module)return k(exports);if("function"==typeof define&&define.amd)return define(["exports"],k);k(X.acorn||(X.acorn={}))})(this,function(X){function k(a,b){var c=f;for(var e=1,g=0;;){ja.lastIndex=g;var w=ja.exec(c);if(w&&w.indexa)++d;else if(47===a)if(a=f.charCodeAt(d+1),42===a){a=void 0;var b=m.onComment&&m.locations&&new M,c=d,e=f.indexOf("*/",d+=2);-1===e&&k(d-2,"Unterminated comment");d=e+2;if(m.locations)for(ja.lastIndex=c;(a=ja.exec(f))&&a.index=a?a=Ta(!0):(++d,a=u(Ua)),a;case 40:return++d,u(F);case 41:return++d,u(D);case 59:return++d,u(G);case 44:return++d,u(J);case 91:return++d,u(wa);case 93:return++d,u(xa);case 123:return++d,u(aa);case 125:return++d,u(S);case 58:return++d,u(ba);case 63:return++d,u(Va);case 48:if(a=f.charCodeAt(d+1),120===a||88===a)return d+=2,a=ca(16),null==a&&k(t+2,"Expected hexadecimal number"),la(f.charCodeAt(d))&&k(d,"Identifier directly after number"), -u(da,a);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return Ta(!1);case 34:case 39:a:{d++;for(var b="";;){d>=R&&k(t,"Unterminated string constant");var c=f.charCodeAt(d);if(c===a){++d;a=u(ma,b);break a}if(92===c){c=f.charCodeAt(++d);var e=/^[0-7]+/.exec(f.slice(d,d+3));for(e&&(e=e[0]);e&&255=R)return u(za);var b=f.charCodeAt(d);if(la(b)||92===b)return bb(); -a=Fb(b);if(!1===a){b=String.fromCharCode(b);if("\\"===b||cb.test(b))return bb();k(d,"Unexpected character '"+b+"'")}return a}function v(a,b){var c=f.slice(d,d+b);d+=b;u(a,c)}function Wa(){for(var a,b,c=d;;){d>=R&&k(c,"Unterminated regular expression");var e=f.charAt(d);oa.test(e)&&k(c,"Unterminated regular expression");if(a)a=!1;else{if("["===e)b=!0;else if("]"===e&&b)b=!1;else if("/"===e&&!b)break;a="\\"===e}++d}a=f.slice(c,d);++d;(b=db())&&!/^[gmi]*$/.test(b)&&k(c,"Invalid regexp flag");try{var g= -new RegExp(a,b)}catch(w){w instanceof SyntaxError&&k(c,w.message),k(w)}return u(eb,g)}function ca(a,b){for(var c=d,e=0,g=0,w=null==b?Infinity:b;g=z?z-48:Infinity;if(z>=a)break;++d;e=e*a+z}return d===c||null!=b&&d-c!==b?null:e}function Ta(a){var b=d,c=!1,e=48===f.charCodeAt(d);a||null!==ca(10)||k(b,"Invalid number");46===f.charCodeAt(d)&&(++d,ca(10),c=!0);a=f.charCodeAt(d);if(69===a||101===a)a=f.charCodeAt(++d),43!==a&&45!==a||++d, -null===ca(10)&&k(b,"Invalid number"),c=!0;la(f.charCodeAt(d))&&k(d,"Identifier directly after number");a=f.slice(b,d);var g;c?g=parseFloat(a):e&&1!==a.length?/[89]/.test(a)||A?k(b,"Invalid number"):g=parseInt(a,8):g=parseInt(a,10);return u(da,g)}function na(a){a=ca(16,a);null===a&&k(t,"Bad character escape sequence");return a}function db(){U=!1;for(var a,b=!0,c=d;;){var e=f.charCodeAt(d);if(fb(e))U&&(a+=f.charAt(d)),++d;else if(92===e){U||(a=f.slice(c,d));U=!0;117!=f.charCodeAt(++d)&&k(d,"Expecting Unicode escape sequence \\uXXXX"); -++d;e=na(4);var g=String.fromCharCode(e);g||k(d-1,"Invalid Unicode escape");(b?la(e):fb(e))||k(d-4,"Invalid Unicode escape");a+=g}else break;b=!1}return U?a:f.slice(c,d)}function bb(){var a=db(),b=V;!U&&Pb(a)&&(b=Qb[a]);return u(b,a)}function n(){Aa=t;K=Q;Ba=ua;T()}function Ca(a){A=a;d=t;if(m.locations)for(;db){var g=L(a);g.left=a;g.operator=B;a=h;n();g.right=Pa(Qa(),e,c);e=l(g,a===Ya||a===Za?"LogicalExpression":"BinaryExpression"); -return Pa(e,b,c)}return a}function Qa(){if(h.prefix){var a=x(),b=h.isUpdate;a.operator=B;Z=a.prefix=!0;n();a.argument=Qa();b?qa(a.argument):A&&"delete"===a.operator&&"Identifier"===a.argument.type&&k(a.start,"Deleting local variable in strict mode");return l(a,b?"UpdateExpression":"UnaryExpression")}for(b=ia(ta());h.postfix&&!pa();)a=L(b),a.operator=B,a.prefix=!1,a.argument=b,qa(b),n(),b=l(a,"UpdateExpression");return b}function ia(a,b){if(p(Ua)){var c=L(a);c.object=a;c.property=I(!0);c.computed= -!1;return ia(l(c,"MemberExpression"),b)}return p(wa)?(c=L(a),c.object=a,c.property=y(),c.computed=!0,q(xa),ia(l(c,"MemberExpression"),b)):!b&&p(F)?(c=L(a),c.callee=a,c.arguments=Ra(D,!1),ia(l(c,"CallExpression"),b)):a}function ta(){switch(h){case xb:var a=x();n();return l(a,"ThisExpression");case V:return I();case da:case ma:case eb:return a=x(),a.value=B,a.raw=f.slice(t,Q),n(),l(a,"Literal");case yb:case zb:case Ab:return a=x(),a.value=h.atomValue,a.raw=h.keyword,n(),l(a,"Literal");case F:a=ya;var b= -t;n();var c=y();c.start=b;c.end=Q;m.locations&&(c.loc.start=a,c.loc.end=ua);m.ranges&&(c.range=[b,Q]);q(D);return c;case wa:return a=x(),n(),a.elements=Ra(xa,!0,!0),l(a,"ArrayExpression");case aa:a=x();b=!0;c=!1;a.properties=[];for(n();!p(S);){if(b)b=!1;else if(q(J),m.allowTrailingCommas&&p(S))break;var e={key:h===da||h===ma?ta():I(!0)},g=!1;if(p(ba)){e.value=y(!0);var w=e.kind="init"}else"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name?H():(g=c=!0,w=e.kind=e.key.name,e.key=h===da|| -h===ma?ta():I(!0),h!==F&&H(),e.value=La(x(),!1));if("Identifier"===e.key.type&&(A||c))for(var z=0;zc?a.id:a.params[c],(Cb(e.name)||ra(e.name))&&k(e.start,"Defining '"+e.name+"' in strict mode"),0<=c)for(var g=0;ga?36===a:91>a?!0:97>a?95===a:123>a?!0:170<=a&&cb.test(String.fromCharCode(a))},fb=function(a){return 48>a?36===a:58>a?!0:65>a?!1:91>a?!0:97>a?95===a:123>a?!0:170<=a&&Ub.test(String.fromCharCode(a))},U,Ga={kind:"loop"},Rb={kind:"switch"}}); -// JS-Interpreter: Copyright 2013 Google LLC, Apache 2.0 -var h; -function k(a,b){"string"===typeof a&&(a=l(a,"code"));var d=a.constructor;this.ya=function(){return new d({options:{}})};var c=this.ya(),e;for(e in a)c[e]="body"===e?a[e].slice():a[e];this.ea=c;this.Va=b;this.ka=!1;this.U=[];this.Fa=0;this.Wa=Object.create(null);a=/^step([A-Z]\w*)$/;var f,g;for(g in this)"function"===typeof this[g]&&(f=g.match(a))&&(this.Wa[f[1]]=this[g].bind(this));this.J=n(this,this.ea,null);this.Ga=this.J.object;this.ea=l(this.U.join("\n"),"polyfills");this.U=void 0;p(this.ea);f= -new r(this.ea,this.J);f.done=!1;this.l=[f];this.bb();this.value=void 0;this.ea=c;f=new r(this.ea,this.J);f.done=!1;this.l.length=0;this.l[0]=f} -var aa={locations:!0,ecmaVersion:5},ba={configurable:!0,enumerable:!0,writable:!1},t={configurable:!0,enumerable:!1,writable:!0},u={configurable:!0,enumerable:!1,writable:!1},v={configurable:!1,enumerable:!1,writable:!1},ca={configurable:!1,enumerable:!0,writable:!0},da={STEP_ERROR:!0},w={SCOPE_REFERENCE:!0},y={VALUE_IN_DESCRIPTOR:!0},z={REGEXP_TIMEOUT:!0},ea=[],A=null,B=null,D="undefined"===typeof globalThis?this:globalThis,fa=["onmessage = function(e) {","var result;","var data = e.data;","switch (data[0]) {", -"case 'split':","result = data[1].split(data[2], data[3]);","break;","case 'match':","result = data[1].match(data[2]);","break;","case 'search':","result = data[1].search(data[2]);","break;","case 'replace':","result = data[1].replace(data[2], data[3]);","break;","case 'exec':","var regexp = data[1];","regexp.lastIndex = data[2];","result = [regexp.exec(data[3]), data[1].lastIndex];","break;","default:","throw Error('Unknown RegExp operation: ' + data[0]);","}","postMessage(result);","close();","};"]; -function E(a){var b=a>>>0;return b===Number(a)?b:NaN}function F(a){var b=a>>>0;return String(b)===String(a)&&4294967295!==b?b:NaN}function p(a,b,d){b?a.start=b:delete a.start;d?a.end=d:delete a.end;for(var c in a)if("loc"!==c&&a.hasOwnProperty(c)){var e=a[c];e&&"object"===typeof e&&p(e,b,d)}}k.prototype.REGEXP_MODE=2;k.prototype.REGEXP_THREAD_TIMEOUT=1E3;k.prototype.POLYFILL_TIMEOUT=1E3;h=k.prototype;h.K=!1;h.va=!1;h.hb=0; -function l(a,b){var d={},c;for(c in aa)d[c]=aa[c];d.sourceFile=b;return D.acorn.parse(a,d)}h.gb=function(a){var b=this.l[0];if(!b||"Program"!==b.node.type)throw Error("Expecting original AST to start with a Program node");"string"===typeof a&&(a=l(a,"appendCode"+this.hb++));if(!a||"Program"!==a.type)throw Error("Expecting new AST to start with a Program node");G(this,a,b.scope);Array.prototype.push.apply(b.node.body,a.body);b.node.body.Oa=null;b.done=!1}; -h.Qa=function(){var a=this.l;do{var b=a[a.length-1];if(!b)return!1;var d=b.node,c=d.type;if("Program"===c&&b.done)return!1;if(this.ka)break;var e=B;B=this;try{var f=this.Wa[c](a,b,d)}catch(m){if(m!==da)throw this.value!==m&&(this.value=void 0),m;}finally{B=e}f&&a.push(f);if(this.K)throw this.value=void 0,Error("Getter not supported in this context");if(this.va)throw this.value=void 0,Error("Setter not supported in this context");if(!g&&!d.end)var g=Date.now()+this.POLYFILL_TIMEOUT}while(!d.end&&g> -Date.now());return!0};h.bb=function(){for(;!this.ka&&this.Qa(););return this.ka}; -function ha(a,b){a.g(b,"NaN",NaN,v);a.g(b,"Infinity",Infinity,v);a.g(b,"undefined",void 0,v);a.g(b,"window",b,ba);a.g(b,"this",b,v);a.g(b,"self",b);a.H=new H(null);a.P=new H(a.H);ia(a,b);ja(a,b);b.ja=a.H;a.g(b,"constructor",a.s,t);ka(a,b);la(a,b);ma(a,b);na(a,b);oa(a,b);pa(a,b);qa(a,b);ra(a,b);sa(a,b);var d=a.i(function(){throw EvalError("Can't happen");},!1);d.eval=!0;a.g(b,"eval",d,t);a.g(b,"parseInt",a.i(parseInt,!1),t);a.g(b,"parseFloat",a.i(parseFloat,!1),t);a.g(b,"isNaN",a.i(isNaN,!1),t);a.g(b, -"isFinite",a.i(isFinite,!1),t);d=[[escape,"escape"],[unescape,"unescape"],[decodeURI,"decodeURI"],[decodeURIComponent,"decodeURIComponent"],[encodeURI,"encodeURI"],[encodeURIComponent,"encodeURIComponent"]];for(var c=0;cf?36===f:58>f?!0:65>f?!1:91>f?!0:97>f?95===f:123>f?!0:170<=f&&Kc.test(String.fromCharCode(f))}function d(f){return 65>f?36===f:91>f?!0:97>f?95===f:123>f?!0:170<=f&&Qb.test(String.fromCharCode(f))}function c(f,g){var l=r;for(var n=1,w=0;;){Ta.lastIndex=w;var J=Ta.exec(l);if(J&&J.indexf)++m;else if(47===f)if(f=r.charCodeAt(m+1),42===f){f=void 0;var g=z.wa&&z.C&&new h,l=m,n=r.indexOf("*/",m+=2);-1===n&&c(m-2,"Unterminated comment");m=n+2;if(z.C)for(Ta.lastIndex=l;(f=Ta.exec(r))&&f.index=f?Rb(!0): +(++m,k(Sb));return;case 40:return++m,k(Y);case 41:return++m,k(W);case 59:return++m,k(Z);case 44:return++m,k(ha);case 91:return++m,k(eb);case 93:return++m,k(fb);case 123:return++m,k(Aa);case 125:return++m,k(qa);case 58:return++m,k(Ba);case 63:return++m,k(Tb);case 48:if(f=r.charCodeAt(m+1),120===f||88===f){m+=2;f=Ca(16);null===f&&c(I+2,"Expected hexadecimal number");d(r.charCodeAt(m))&&c(m,"Identifier directly after number");k(Da,f);return}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return Rb(!1); +case 34:case 39:m++;for(var g="";;){m>=pa&&c(I,"Unterminated string constant");var l=r.charCodeAt(m);if(l===f){++m;k(Ua,g);break}if(92===l){l=r.charCodeAt(++m);var n=/^[0-7]+/.exec(r.slice(m,m+3));for(n&&(n=n[0]);n&&255=pa)return k(hb);f=r.charCodeAt(m);if(d(f)||92===f)return $b();if(!1===U(f)){f=String.fromCharCode(f);if("\\"===f||Qb.test(f))return $b();c(m,"Unexpected character '"+f+"'")}}function F(f,g){var l=r.slice(m,m+g);m+=g;k(f,l)}function Ub(){for(var f, +g,l=m;;){m>=pa&&c(l,"Unterminated regexp");var n=r.charAt(m);Wa.test(n)&&c(l,"Unterminated regexp");if(f)f=!1;else{if("["===n)g=!0;else if("]"===n&&g)g=!1;else if("/"===n&&!g)break;f="\\"===n}++m}f=r.slice(l,m);++m;(g=ac())&&!/^[gmi]*$/.test(g)&&c(l,"Invalid regexp flag");try{var w=new RegExp(f,g)}catch(J){throw J instanceof SyntaxError&&c(l,J.message),J;}k(bc,w)}function Ca(f,g){for(var l=m,n=0,w=void 0===g?Infinity:g,J=0;J=P? +P-48:Infinity;if(P>=f)break;++m;n=n*f+P}return m===l||void 0!==g&&m-l!==g?null:n}function Rb(f){var g=m,l=!1,n=48===r.charCodeAt(m);f||null!==Ca(10)||c(g,"Invalid number");46===r.charCodeAt(m)&&(++m,Ca(10),l=!0);f=r.charCodeAt(m);if(69===f||101===f)f=r.charCodeAt(++m),43!==f&&45!==f||++m,null===Ca(10)&&c(g,"Invalid number"),l=!0;d(r.charCodeAt(m))&&c(m,"Identifier directly after number");f=r.slice(g,m);var w;l?w=parseFloat(f):n&&1!==f.length?/[89]/.test(f)||S?c(g,"Invalid number"):w=parseInt(f,8): +w=parseInt(f,10);k(Da,w)}function Va(f){f=Ca(16,f);null===f&&c(I,"Bad character escape sequence");return f}function ac(){ra=!1;for(var f,g=!0,l=m;;){var n=r.charCodeAt(m);if(b(n))ra&&(f+=r.charAt(m)),++m;else if(92===n){ra||(f=r.slice(l,m));ra=!0;117!==r.charCodeAt(++m)&&c(m,"Expecting Unicode escape sequence \\uXXXX");++m;n=Va(4);var w=String.fromCharCode(n);w||c(m-1,"Invalid Unicode escape");(g?d(n):b(n))||c(m-4,"Invalid Unicode escape");f+=w}else break;g=!1}return ra?f:r.slice(l,m)}function $b(){var f= +ac(),g=sa;!ra&&Vc(f)&&(g=Wc[f]);k(g,f)}function B(){ib=I;ia=oa;jb=db;N()}function kb(f){S=f;m=I;if(z.C)for(;mg){var w=ja(f);w.left=f;w.operator=T;f=x;B();w.right=xb(yb(),n,l);n=y(w,f===Wb||f===Xb?"LogicalExpression":"BinaryExpression"); +return xb(n,g,l)}return f}function yb(){if(x.prefix){var f=L(),g=x.ac;f.operator=T;za=f.prefix=!0;B();f.K=yb();g?Ya(f.K):S&&"delete"===f.operator&&"Identifier"===f.K.type&&c(f.start,"Deleting local variable in strict mode");return y(f,g?"UpdateExpression":"UnaryExpression")}for(g=Ha(ab());x.dc&&!Xa();)f=ja(g),f.operator=T,f.prefix=!1,f.K=g,Ya(g),B(),g=y(f,"UpdateExpression");return g}function Ha(f,g){if(E(Sb)){var l=ja(f);l.object=f;l.Wa=ba(!0);l.bb=!1;return Ha(y(l,"MemberExpression"),g)}return E(eb)? +(l=ja(f),l.object=f,l.Wa=O(),l.bb=!0,G(fb),Ha(y(l,"MemberExpression"),g)):!g&&E(Y)?(l=ja(f),l.callee=f,l.arguments=zb(W,!1),Ha(y(l,"CallExpression"),g)):f}function ab(){switch(x){case tc:var f=L();B();return y(f,"ThisExpression");case sa:return ba();case Da:case Ua:case bc:return f=L(),f.value=T,f.raw=r.slice(I,oa),B(),y(f,"Literal");case uc:case vc:case wc:return f=L(),f.value=x.$a,f.raw=x.l,B(),y(f,"Literal");case Y:f=gb;var g=I;B();var l=O();l.start=g;l.end=oa;z.C&&(l.Y.start=f,l.Y.end=db);z.Xa&& +(l.j=[g,oa]);G(W);return l;case eb:return f=L(),B(),f.elements=zb(fb,!0,!0),y(f,"ArrayExpression");case Aa:f=L();g=!0;l=!1;f.h=[];for(B();!E(qa);){if(g)g=!1;else if(G(ha),z.sb&&E(qa))break;var n={key:x===Da||x===Ua?ab():ba(!0)},w=!1;if(E(Ba)){n.value=O(!0);var J=n.kind="init"}else"Identifier"!==n.key.type||"get"!==n.key.name&&"set"!==n.key.name?aa():(w=l=!0,J=n.kind=n.key.name,n.key=x===Da||x===Ua?ab():ba(!0),x!==Y&&aa(),n.value=tb(L(),!1));if("Identifier"===n.key.type&&(S||l))for(var P=0;Pl?f.id:f.oa[l],(yc(n.name)||Za(n.name))&&c(n.start,"Defining '"+n.name+"' in strict mode"),0<=l)for(var w=0;w>>0;return b===Number(a)?b:NaN}function Ra(a){var b=a>>>0;return String(b)===String(a)&&4294967295!==b?b:NaN}function fa(a,b,d){b?a.start=b:delete a.start;d?a.end=d:delete a.end;for(var c in a)if("loc"!==c&&a.hasOwnProperty(c)){var e=a[c];e&&"object"===typeof e&&fa(e,b,d)}}t.prototype.REGEXP_MODE=2;t.prototype.REGEXP_THREAD_TIMEOUT=1E3;t.prototype.POLYFILL_TIMEOUT=1E3;p=t.prototype;p.P=!1;p.Ka=!1;p.Kb=0;p.jc=0; +function da(a,b){var d={},c;for(c in ua)d[c]=ua[c];d.sourceFile=b;return Oa.j.parse(a,d)}p.Jb=function(a){var b=this.j[0];if(!b||"Program"!==b.node.type)throw Error("Expecting original AST to start with a Program node");"string"===typeof a&&(a=da(a,"appendCode"+this.Kb++));if(!a||"Program"!==a.type)throw Error("Expecting new AST to start with a Program node");Sa(this,a,b.scope);Array.prototype.push.apply(b.node.body,a.body);b.node.body.jb=null;b.done=!1}; +p.lb=function(){var a=this.j,b;do{var d=a[a.length-1];if(this.sa)break;else if(!d||"Program"===d.node.type&&d.done){if(!this.U.length)return!1;d=this.U[0];if(!d||d.time>Date.now())d=null;else{this.U.shift();0<=d.interval&&bb(this,d,d.interval);var c=new u(d.node,d.scope);d.zb&&(c.ia=2,c.B=this.Na,c.V=d.zb,c.Qa=!0,c.F=d.Lb);d=c}if(!d)break}c=d.node;var e=Na;Na=this;try{var h=this.rb[c.type](a,d,c)}catch(k){if(k!==ya)throw this.value!==k&&(this.value=void 0),k;}finally{Na=e}h&&a.push(h);if(this.P)throw this.value= +void 0,Error("Getter not supported in this context");if(this.Ka)throw this.value=void 0,Error("Setter not supported in this context");b||c.end||(b=Date.now()+this.POLYFILL_TIMEOUT)}while(!c.end&&b>Date.now());return!0};p.Eb=function(){for(;!this.sa&&this.lb(););return this.sa};p.Zb=function(){if(this.sa)return ka.ASYNC;var a=this.j;return!(a=a[a.length-1])||"Program"===a.node.type&&a.done?(a=this.U[0])?a.time>Date.now()?ka.TASK:ka.STEP:ka.DONE:ka.STEP}; +function cb(a,b){a.g(b,"NaN",NaN,wa);a.g(b,"Infinity",Infinity,wa);a.g(b,"undefined",void 0,wa);a.g(b,"window",b,va);a.g(b,"this",b,wa);a.g(b,"self",b);a.M=new D(null);a.$=new D(a.M);Bb(a,b);Cb(a,b);b.ya=a.M;a.g(b,"constructor",a.v,v);Db(a,b);Eb(a,b);Fb(a,b);Gb(a,b);Hb(a,b);Ib(a,b);Jb(a,b);Kb(a,b);Lb(a,b);var d=a.i(function(){throw EvalError("Can't happen");},!1);d.eval=!0;a.g(b,"eval",d,v);a.g(b,"parseInt",a.i(parseInt,!1),v);a.g(b,"parseFloat",a.i(parseFloat,!1),v);a.g(b,"isNaN",a.i(isNaN,!1),v); +a.g(b,"isFinite",a.i(isFinite,!1),v);for(var c=[[escape,"escape"],[unescape,"unescape"],[decodeURI,"decodeURI"],[decodeURIComponent,"decodeURIComponent"],[encodeURI,"encodeURI"],[encodeURIComponent,"encodeURIComponent"]],e=0;e>> 0;","if (!len || len < 0) {","o.length = 0;","return undefined;","}","len--;","var x = o[len];","delete o[len];","o.length = len;","return x;","}",");","createArrayMethod_(","function push(var_args) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","for (var i = 0; i < arguments.length; i++) {", "o[len] = arguments[i];","len++;","}","o.length = len;","return len;","}",");","createArrayMethod_(","function shift() {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","if (!len || len < 0) {","o.length = 0;","return undefined;","}","var value = o[0];","for (var i = 0; i < len - 1; i++) {","if ((i + 1) in o) {","o[i] = o[i + 1];","} else {","delete o[i];","}","}","delete o[i];","o.length = len - 1;","return value;","}",");","createArrayMethod_(","function unshift(var_args) {", "if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","if (!len || len < 0) {","len = 0;","}","for (var i = len - 1; i >= 0; i--) {","if (i in o) {","o[i + arguments.length] = o[i];","} else {","delete o[i + arguments.length];","}","}","for (var i = 0; i < arguments.length; i++) {","o[i] = arguments[i];","}","return (o.length = len + arguments.length);","}",");","createArrayMethod_(","function reverse() {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;", @@ -69,87 +73,92 @@ function ka(a,b){var d=function(c){var e=L(a)?this:O(a),f=arguments[0];if(1===ar "deleteCount = len - start;","} else {","deleteCount |= 0;","deleteCount = Math.max(0, Math.min(deleteCount, len - start));","}","var removed = [];","for (var i = start; i < start + deleteCount; i++) {","if (i in o) {","removed.push(o[i]);","} else {","removed.length++;","}","if ((i + deleteCount) in o) {","o[i] = o[i + deleteCount];","} else {","delete o[i];","}","}","for (var i = start + deleteCount; i < len - deleteCount; i++) {","if ((i + deleteCount) in o) {","o[i] = o[i + deleteCount];","} else {", "delete o[i];","}","}","for (var i = len - deleteCount; i < len; i++) {","delete o[i];","}","len -= deleteCount;","var arl = arguments.length - 2;","for (var i = len - 1; i >= start; i--) {","if (i in o) {","o[i + arl] = o[i];","} else {","delete o[i + arl];","}","}","len += arl;","for (var i = 2; i < arguments.length; i++) {","o[start + i - 2] = arguments[i];","}","o.length = len;","return removed;","}",");","createArrayMethod_(","function concat(var_args) {","if (!this) throw TypeError();","var o = Object(this);", "var cloned = [];","for (var i = -1; i < arguments.length; i++) {","var value = (i === -1) ? o : arguments[i];","if (Array.isArray(value)) {","for (var j = 0, l = value.length; j < l; j++) {","if (j in value) {","cloned.push(value[j]);","} else {","cloned.length++;","}","}","} else {","cloned.push(value);","}","}","return cloned;","}",");","createArrayMethod_(","function join(opt_separator) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","var sep = typeof opt_separator === 'undefined' ?", -"',' : ('' + opt_separator);","var str = '';","for (var i = 0; i < len; i++) {","if (i && sep) {","str += sep;","}","str += (o[i] === null || o[i] === undefined) ? '' : o[i];","}","return str;","}",");","createArrayMethod_(","function every(callbackfn, thisArg) {","if (!this || typeof callbackfn !== 'function') throw TypeError();","var t, k = 0;","var o = Object(this), len = o.length >>> 0;","if (arguments.length > 1) t = thisArg;","while (k < len) {","if (k in o && !callbackfn.call(t, o[k], k, o)) return false;", +"',' : ('' + opt_separator);","var str = '';","for (var i = 0; i < len; i++) {","if (i && sep) str += sep;","str += (o[i] === null || o[i] === undefined) ? '' : o[i];","}","return str;","}",");","createArrayMethod_(","function every(callbackfn, thisArg) {","if (!this || typeof callbackfn !== 'function') throw TypeError();","var t, k = 0;","var o = Object(this), len = o.length >>> 0;","if (arguments.length > 1) t = thisArg;","while (k < len) {","if (k in o && !callbackfn.call(t, o[k], k, o)) return false;", "k++;","}","return true;","}",");","createArrayMethod_(","function filter(fun, var_args) {","if (this === void 0 || this === null || typeof fun !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var res = [];","var thisArg = arguments.length >= 2 ? arguments[1] : void 0;","for (var i = 0; i < len; i++) {","if (i in o) {","var val = o[i];","if (fun.call(thisArg, val, i, o)) res.push(val);","}","}","return res;","}",");","createArrayMethod_(","function forEach(callback, thisArg) {", "if (!this || typeof callback !== 'function') throw TypeError();","var t, k = 0;","var o = Object(this), len = o.length >>> 0;","if (arguments.length > 1) t = thisArg;","while (k < len) {","if (k in o) callback.call(t, o[k], k, o);","k++;","}","}",");","createArrayMethod_(","function map(callback, thisArg) {","if (!this || typeof callback !== 'function') throw TypeError();","var t, k = 0;","var o = Object(this), len = o.length >>> 0;","if (arguments.length > 1) t = thisArg;","var a = new Array(len);", "while (k < len) {","if (k in o) a[k] = callback.call(t, o[k], k, o);","k++;","}","return a;","}",");","createArrayMethod_(","function reduce(callback /*, initialValue*/) {","if (!this || typeof callback !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var k = 0, value;","if (arguments.length === 2) {","value = arguments[1];","} else {","while (k < len && !(k in o)) k++;","if (k >= len) {","throw TypeError('Reduce of empty array with no initial value');","}","value = o[k++];", "}","for (; k < len; k++) {","if (k in o) value = callback(value, o[k], k, o);","}","return value;","}",");","createArrayMethod_(","function reduceRight(callback /*, initialValue*/) {","if (null === this || 'undefined' === typeof this || 'function' !== typeof callback) throw TypeError();","var o = Object(this), len = o.length >>> 0;","var k = len - 1, value;","if (arguments.length >= 2) {","value = arguments[1];","} else {","while (k >= 0 && !(k in o)) k--;","if (k < 0) {","throw TypeError('Reduce of empty array with no initial value');", -"}","value = o[k--];","}","for (; k >= 0; k--) {","if (k in o) value = callback(value, o[k], k, o);","}","return value;","}",");","createArrayMethod_(","function some(fun/*, thisArg*/) {","if (!this || typeof fun !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var thisArg = arguments.length >= 2 ? arguments[1] : void 0;","for (var i = 0; i < len; i++) {","if (i in o && fun.call(thisArg, o[i], i, o)) {","return true;","}","}","return false;","}",");","createArrayMethod_(", +"}","value = o[k--];","}","for (; k >= 0; k--) {","if (k in o) value = callback(value, o[k], k, o);","}","return value;","}",");","createArrayMethod_(","function some(fun/*, thisArg*/) {","if (!this || typeof fun !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var thisArg = arguments.length >= 2 ? arguments[1] : void 0;","for (var i = 0; i < len; i++) {","if (i in o && fun.call(thisArg, o[i], i, o)) return true;","}","return false;","}",");","createArrayMethod_(", "function sort(opt_comp) {","if (!this) throw TypeError();","if (typeof opt_comp !== 'function') {","opt_comp = undefined;","}","for (var i = 0; i < this.length; i++) {","var changes = 0;","for (var j = 0; j < this.length - i - 1; j++) {","if (opt_comp ? (opt_comp(this[j], this[j + 1]) > 0) :","(String(this[j]) > String(this[j + 1]))) {","var swap = this[j];","var hasSwap = j in this;","if ((j + 1) in this) {","this[j] = this[j + 1];","} else {","delete this[j];","}","if (hasSwap) {","this[j + 1] = swap;", "} else {","delete this[j + 1];","}","changes++;","}","}","if (!changes) break;","}","return this;","}",");","createArrayMethod_(","function toLocaleString() {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","var out = [];","for (var i = 0; i < len; i++) {","out[i] = (o[i] === null || o[i] === undefined) ? '' : o[i].toLocaleString();","}","return out.join(',');","}",");","})();","")} -function la(a,b){var d=function(c){c=arguments.length?D.String(c):"";return L(a)?(this.data=c,this):c};a.G=a.i(d,!0);a.g(b,"String",a.G,t);a.g(a.G,"fromCharCode",a.i(String.fromCharCode,!1),t);b="charAt charCodeAt concat indexOf lastIndexOf slice substr substring toLocaleLowerCase toLocaleUpperCase toLowerCase toUpperCase trim".split(" ");for(d=0;d= 0; i--) {","str = str.substring(0, subs[i][0]) + subs[i][2] + str.substring(subs[i][0] + subs[i][1]);", -"}","} else {","var i = str.indexOf(substr);","if (i !== -1) {","var inject = newSubstr(str.substr(i, substr.length), i, str);","str = str.substring(0, i) + inject + str.substring(i + substr.length);","}","}","return str;","};","})();","")}function ma(a,b){a.Ra=a.i(function(d){d=D.Boolean(d);return L(a)?(this.data=d,this):d},!0);a.g(b,"Boolean",a.Ra,t)} -function na(a,b){var d=function(c){c=arguments.length?D.Number(c):0;return L(a)?(this.data=c,this):c};a.S=a.i(d,!0);a.g(b,"Number",a.S,t);b=["MAX_VALUE","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"];for(d=0;db.charCodeAt(0)&&P(this,a,this.G)){var d=F(b);if(!isNaN(d)&&d>=":c>>=e;break;case ">>>=":c>>>=e;break;case "&=":c&=e;break;case "^=":c^=e;break;case "|=":c|=e;break;default:throw SyntaxError("Unknown assignment expression: "+d.operator);}if(d=Ba(this,b.qa,c))return b.ha=!0,b.Na=c,Ca(this,d,b.qa,c);a.pop();a[a.length-1].value=c}}; -k.prototype.stepBinaryExpression=function(a,b,d){if(!b.Z)return b.Z=!0,new r(d.left,b.scope);if(!b.oa)return b.oa=!0,b.aa=b.value,new r(d.right,b.scope);a.pop();var c=b.aa;b=b.value;switch(d.operator){case "==":d=c==b;break;case "!=":d=c!=b;break;case "===":d=c===b;break;case "!==":d=c!==b;break;case ">":d=c>b;break;case ">=":d=c>=b;break;case "<":d=c>":d=c>>b;break;case ">>>":d=c>>>b;break;case "in":b instanceof H||I(this,this.j,"'in' expects an object, not '"+b+"'");d=W(this,b,c);break;case "instanceof":P(this,b,this.I)||I(this,this.j,"Right-hand side of instanceof is not an object");d=c instanceof H?P(this,c,b):!1;break;default:throw SyntaxError("Unknown binary operator: "+d.operator);}a[a.length-1].value=d}; -k.prototype.stepBlockStatement=function(a,b,d){var c=b.u||0;if(d=d.body[c])return b.u=c+1,new r(d,b.scope);a.pop()};k.prototype.stepBreakStatement=function(a,b,d){X(this,1,void 0,d.label&&d.label.name)};k.prototype.fb=0; -k.prototype.stepCallExpression=function(a,b,d){if(!b.ga){b.ga=1;var c=new r(d.callee,b.scope);c.fa=!0;return c}if(1===b.ga){b.ga=2;c=b.value;if(Array.isArray(c)){if(b.W=Aa(this,c),c[0]===w?b.lb="eval"===c[1]:b.v=c[0],c=b.W,this.K)return b.ga=1,Z(this,c,b.value)}else b.W=c;b.C=[];b.u=0}c=b.W;if(!b.Ja){0!==b.u&&b.C.push(b.value);if(d.arguments[b.u])return new r(d.arguments[b.u++],b.scope);if("NewExpression"===d.type){c instanceof H&&!c.$a||I(this,this.j,c+" is not a constructor");if(c===this.da)b.v= -O(this);else{var e=c.h.prototype;if("object"!==typeof e||null===e)e=this.H;b.v=this.m(e)}b.isConstructor=!0}b.Ja=!0}if(b.Ka)a.pop(),a[a.length-1].value=b.isConstructor&&"object"!==typeof b.value?b.v:b.value;else{b.Ka=!0;c instanceof H||I(this,this.j,c+" is not a function");if(a=c.node){d=n(this,a.body,c.Ea);for(var f=0;ff?b.C[f]:void 0);e=O(this);for(f=0;f= 0; i--) {","str = str.substring(0, subs[i][0]) + subs[i][2] + str.substring(subs[i][0] + subs[i][1]);","}","} else {","var i = str.indexOf(substr);","if (i !== -1) {","var inject = newSubstr(str.substr(i, substr.length), i, str);","str = str.substring(0, i) + inject + str.substring(i + substr.length);","}","}","return str;","};","})();","")}function Fb(a,b){a.mb=a.i(function(d){d=Oa.Boolean(d);return Ac(a)?(this.data=d,this):d},!0);a.g(b,"Boolean",a.mb,v)} +function Gb(a,b){var d=function(c){c=arguments.length?Oa.Number(c):0;return Ac(a)?(this.data=c,this):c};a.ba=a.i(d,!0);a.g(b,"Number",a.ba,v);b=["MAX_VALUE","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"];for(d=0;db.charCodeAt(0)&&Q(this,a,this.J)){var d=Ra(b);if(!isNaN(d)&&d>=":c>>=e;break;case ">>>=":c>>>=e;break;case "&=":c&=e;break;case "^=":c^=e;break;case "|=":c|=e;break;default:throw SyntaxError("Unknown assignment expression: "+d.operator);}if(d=hd(this,b.Fa,c))return b.ua=!0,b.ib=c,ld(this,d,b.Fa,c);a.pop();a[a.length-1].value=c}}; +t.prototype.stepBinaryExpression=function(a,b,d){if(!b.ja)return b.ja=!0,new u(d.left,b.scope);if(!b.Da)return b.Da=!0,b.ma=b.value,new u(d.right,b.scope);a.pop();var c=b.ma;b=b.value;switch(d.operator){case "==":d=c==b;break;case "!=":d=c!=b;break;case "===":d=c===b;break;case "!==":d=c!==b;break;case ">":d=c>b;break;case ">=":d=c>=b;break;case "<":d=c>":d=c>>b;break;case ">>>":d=c>>>b;break;case "in":b instanceof D||K(this,this.o,"'in' expects an object, not '"+b+"'");d=ad(this,b,c);break;case "instanceof":Q(this,b,this.O)||K(this,this.o,"'instanceof' expects an object, not '"+b+"'");d=c instanceof D?Q(this,c,b):!1;break;default:throw SyntaxError("Unknown binary operator: "+d.operator);}a[a.length-1].value=d}; +t.prototype.stepBlockStatement=function(a,b,d){var c=b.A||0;if(d=d.body[c])return b.A=c+1,new u(d,b.scope);a.pop()};t.prototype.stepBreakStatement=function(a,b,d){id(this,1,void 0,d.label&&d.label.name)};t.prototype.Hb=0; +t.prototype.stepCallExpression=function(a,b,d){if(!b.ia){b.ia=1;var c=new u(d.callee,b.scope);c.ta=!0;return c}if(1===b.ia){b.ia=2;var e=b.value;if(Array.isArray(e)){if(b.V=gd(this,e),e[0]===Ia?b.Pb="eval"===e[1]:b.B=e[0],e=b.V,this.P)return b.ia=1,kd(this,e,b.value)}else b.V=e;b.F=[];b.A=0}e=b.V;if(!b.Qa){0!==b.A&&b.F.push(b.value);if(d.arguments[b.A])return new u(d.arguments[b.A++],b.scope);if("NewExpression"===d.type){e instanceof D&&!e.Ab||K(this,this.o,R(this,d.callee)+" is not a constructor"); +if(e===this.qa)b.B=Dc(this);else{var h=e.h.prototype;if("object"!==typeof h||null===h)h=this.M;b.B=this.s(h)}b.isConstructor=!0}b.Qa=!0}if(b.eb)a.pop(),a[a.length-1].value=b.isConstructor&&"object"!==typeof b.value?b.B:b.value;else{b.eb=!0;e instanceof D||K(this,this.o,R(this,d.callee)+" is not a function");if(a=e.node){d=ea(this,a.body,e.Va);c=Dc(this);for(e=0;ee?b.F[e]: +void 0);d.S||(b.B=md(this,b.B));this.g(d.object,"this",b.B,va);b.value=void 0;return new u(a.body,d)}if(e.eval)if(e=b.F[0],"string"!==typeof e)b.value=e;else{try{c=da(String(e),"eval"+this.Hb++)}catch(q){K(this,this.T,"Invalid code: "+q.message)}e=this.za();e.type="EvalProgram_";e.body=c.body;fa(e,d.start,d.end);d=b.Pb?b.scope:this.N;d.S?d=ea(this,c,d):Sa(this,c,d);this.value=void 0;return new u(e,d)}else if(e.Ta)b.scope.S||(b.B=md(this,b.B)),b.value=e.Ta.apply(b.B,b.F);else if(e.Za){var k=this;c= +e.Za.length-1;c=b.F.concat(Array(c)).slice(0,c);c.push(function(q){b.value=q;k.sa=!1});this.sa=!0;b.scope.S||(b.B=md(this,b.B));e.Za.apply(b.B,c)}else K(this,this.o,R(this,d.callee)+" is not callable")}}; +t.prototype.stepConditionalExpression=function(a,b,d){var c=b.na||0;if(0===c)return b.na=1,new u(d.test,b.scope);if(1===c){b.na=2;if((c=!!b.value)&&d.da)return new u(d.da,b.scope);if(!c&&d.alternate)return new u(d.alternate,b.scope);this.value=void 0}a.pop();"ConditionalExpression"===d.type&&(a[a.length-1].value=b.value)};t.prototype.stepContinueStatement=function(a,b,d){id(this,2,void 0,d.label&&d.label.name)};t.prototype.stepDebuggerStatement=function(a){a.pop()}; +t.prototype.stepDoWhileStatement=function(a,b,d){"DoWhileStatement"===d.type&&void 0===b.ga&&(b.value=!0,b.ga=!0);if(!b.ga)return b.ga=!0,new u(d.test,b.scope);if(!b.value)a.pop();else if(d.body)return b.ga=!1,b.X=!0,new u(d.body,b.scope)};t.prototype.stepEmptyStatement=function(a){a.pop()};t.prototype.stepEvalProgram_=function(a,b,d){var c=b.A||0;if(d=d.body[c])return b.A=c+1,new u(d,b.scope);a.pop();a[a.length-1].value=this.value}; +t.prototype.stepExpressionStatement=function(a,b,d){if(!b.ka)return this.value=void 0,b.ka=!0,new u(d.la,b.scope);a.pop();this.value=b.value}; +t.prototype.stepForInStatement=function(a,b,d){if(!b.Ub&&(b.Ub=!0,d.left.fa&&d.left.fa[0].va))return b.scope.S&&K(this,this.T,"for-in loop variable declaration may not have an initializer"),new u(d.left,b.scope);if(!b.Ca)return b.Ca=!0,b.pa||(b.pa=b.value),new u(d.right,b.scope);b.X||(b.X=!0,b.u=b.value,b.kb=Object.create(null));if(void 0===b.Ra)a:for(;;){if(b.u instanceof D)for(b.xa||(b.xa=Object.getOwnPropertyNames(b.u.h));;){var c=b.xa.shift();if(void 0===c)break;if(Object.prototype.hasOwnProperty.call(b.u.h, +c)&&!b.kb[c]&&(b.kb[c]=!0,Object.prototype.propertyIsEnumerable.call(b.u.h,c))){b.Ra=c;break a}}else if(null!==b.u&&void 0!==b.u)for(b.xa||(b.xa=Object.getOwnPropertyNames(b.u));;){c=b.xa.shift();if(void 0===c)break;b.kb[c]=!0;if(Object.prototype.propertyIsEnumerable.call(b.u,c)){b.Ra=c;break a}}b.u=Bc(this,b.u);b.xa=null;if(null===b.u){a.pop();return}}if(!b.wb)if(b.wb=!0,a=d.left,"VariableDeclaration"===a.type)b.pa=[Ia,a.fa[0].id.name];else return b.pa=null,b=new u(a,b.scope),b.ta=!0,b;b.pa||(b.pa= +b.value);if(!b.ua&&(b.ua=!0,a=b.Ra,c=hd(this,b.pa,a)))return ld(this,c,b.pa,a);b.Ra=void 0;b.wb=!1;b.ua=!1;if(d.body)return new u(d.body,b.scope)};t.prototype.stepForStatement=function(a,b,d){switch(b.na){default:b.na=1;if(d.va)return new u(d.va,b.scope);break;case 1:b.na=2;if(d.test)return new u(d.test,b.scope);break;case 2:b.na=3;if(d.test&&!b.value)a.pop();else return b.X=!0,new u(d.body,b.scope);break;case 3:if(b.na=1,d.update)return new u(d.update,b.scope)}}; +t.prototype.stepFunctionDeclaration=function(a){a.pop()};t.prototype.stepFunctionExpression=function(a,b,d){a.pop();b=a[a.length-1];a=b.scope;d.id&&(a=dd(this,a));b.value=Ob(this,d,a,b.Pa);d.id&&this.g(a.object,d.id.name,b.value,va)};t.prototype.stepIdentifier=function(a,b,d){a.pop();if(b.ta)a[a.length-1].value=[Ia,d.name];else{b=ed(this,d.name);if(this.P)return kd(this,b,this.Na);a[a.length-1].value=b}};t.prototype.stepIfStatement=t.prototype.stepConditionalExpression; +t.prototype.stepLabeledStatement=function(a,b,d){a.pop();a=b.labels||[];a.push(d.label.name);b=new u(d.body,b.scope);b.labels=a;return b};t.prototype.stepLiteral=function(a,b,d){a.pop();b=d.value;b instanceof RegExp&&(d=this.s(this.Ma),Ic(this,d,b),b=d);a[a.length-1].value=b}; +t.prototype.stepLogicalExpression=function(a,b,d){if("&&"!==d.operator&&"||"!==d.operator)throw SyntaxError("Unknown logical operator: "+d.operator);if(!b.ja)return b.ja=!0,new u(d.left,b.scope);if(b.Da)a.pop(),a[a.length-1].value=b.value;else if("&&"===d.operator&&!b.value||"||"===d.operator&&b.value)a.pop(),a[a.length-1].value=b.value;else return b.Da=!0,new u(d.right,b.scope)}; +t.prototype.stepMemberExpression=function(a,b,d){if(!b.Ca)return b.Ca=!0,new u(d.object,b.scope);if(d.bb)if(b.Vb)d=b.value;else return b.u=b.value,b.Vb=!0,new u(d.Wa,b.scope);else b.u=b.value,d=d.Wa.name;a.pop();if(b.ta)a[a.length-1].value=[b.u,d];else{d=this.G(b.u,d);if(this.P)return kd(this,d,b.u);a[a.length-1].value=d}};t.prototype.stepNewExpression=t.prototype.stepCallExpression; +t.prototype.stepObjectExpression=function(a,b,d){var c=b.A||0,e=d.h[c];if(b.u){var h=b.Pa;b.Ja[h]||(b.Ja[h]={});b.Ja[h][e.kind]=b.value;b.A=++c;e=d.h[c]}else b.u=this.s(this.M),b.Ja=Object.create(null);if(e){var k=e.key;if("Identifier"===k.type)h=k.name;else if("Literal"===k.type)h=k.value;else throw SyntaxError("Unknown object structure: "+k.type);b.Pa=h;return new u(e.value,b.scope)}for(k in b.Ja)d=b.Ja[k],"get"in d||"set"in d?this.g(b.u,k,Ja,{configurable:!0,enumerable:!0,get:d.get,set:d.set}): +this.g(b.u,k,d.init);a.pop();a[a.length-1].value=b.u};t.prototype.stepProgram=function(a,b,d){if(a=d.body.shift())return b.done=!1,new u(a,b.scope);b.done=!0};t.prototype.stepReturnStatement=function(a,b,d){if(d.K&&!b.ka)return b.ka=!0,new u(d.K,b.scope);id(this,3,b.value)};t.prototype.stepSequenceExpression=function(a,b,d){var c=b.A||0;if(d=d.xb[c])return b.A=c+1,new u(d,b.scope);a.pop();a[a.length-1].value=b.value}; +t.prototype.stepSwitchStatement=function(a,b,d){if(!b.ga)return b.ga=1,new u(d.Qb,b.scope);1===b.ga&&(b.ga=2,b.ic=b.value,b.cb=-1);for(;;){var c=b.gb||0,e=d.tb[c];if(b.Ha||!e||e.test)if(e||b.Ha||-1===b.cb)if(e){if(!b.Ha&&!b.Fb&&e.test)return b.Fb=!0,new u(e.test,b.scope);if(b.Ha||b.value===b.ic){b.Ha=!0;var h=b.A||0;if(e.da[h])return b.$b=!0,b.A=h+1,new u(e.da[h],b.scope)}b.Fb=!1;b.A=0;b.gb=c+1}else{a.pop();break}else b.Ha=!0,b.gb=b.cb;else b.cb=c,b.gb=c+1}}; +t.prototype.stepThisExpression=function(a){a.pop();a[a.length-1].value=ed(this,"this")};t.prototype.stepThrowStatement=function(a,b,d){if(b.ka)K(this,b.value);else return b.ka=!0,new u(d.K,b.scope)}; +t.prototype.stepTryStatement=function(a,b,d){if(!b.Rb)return b.Rb=!0,new u(d.block,b.scope);if(b.ea&&4===b.ea.type&&!b.Tb&&d.Ea)return b.Tb=!0,a=dd(this,b.scope),this.g(a.object,d.Ea.Ua.name,b.ea.value),b.ea=void 0,new u(d.Ea.body,a);if(!b.Sb&&d.fb)return b.Sb=!0,new u(d.fb,b.scope);a.pop();b.ea&&id(this,b.ea.type,b.ea.value,b.ea.label)}; +t.prototype.stepUnaryExpression=function(a,b,d){if(!b.ka)return b.ka=!0,a=new u(d.K,b.scope),a.ta="delete"===d.operator,a;a.pop();var c=b.value;switch(d.operator){case "-":c=-c;break;case "+":c=+c;break;case "!":c=!c;break;case "~":c=~c;break;case "delete":d=!0;if(Array.isArray(c)){var e=c[0];e===Ia&&(e=b.scope);c=String(c[1]);try{delete e.h[c]}catch(h){b.scope.S?K(this,this.o,"Cannot delete property '"+c+"' of '"+e+"'"):d=!1}}c=d;break;case "typeof":c=c&&"Function"===c.H?"function":typeof c;break; +case "void":c=void 0;break;default:throw SyntaxError("Unknown unary operator: "+d.operator);}a[a.length-1].value=c}; +t.prototype.stepUpdateExpression=function(a,b,d){if(!b.ja)return b.ja=!0,a=new u(d.K,b.scope),a.ta=!0,a;b.Ga||(b.Ga=b.value);b.Ba&&(b.ma=b.value);if(!b.Ba){var c=gd(this,b.Ga);b.ma=c;if(this.P)return b.Ba=!0,kd(this,c,b.Ga)}if(b.ua)a.pop(),a[a.length-1].value=b.ib;else{c=Number(b.ma);if("++"===d.operator)var e=c+1;else if("--"===d.operator)e=c-1;else throw SyntaxError("Unknown update expression: "+d.operator);d=d.prefix?e:c;if(c=hd(this,b.Ga,e))return b.ua=!0,b.ib=d,ld(this,c,b.Ga,e);a.pop();a[a.length- +1].value=d}};t.prototype.stepVariableDeclaration=function(a,b,d){d=d.fa;var c=b.A||0,e=d[c];b.Bb&&e&&(fd(this,e.id.name,b.value),b.Bb=!1,e=d[++c]);for(;e;){if(e.va)return b.A=c,b.Bb=!0,b.Pa=e.id.name,new u(e.va,b.scope);e=d[++c]}a.pop()};t.prototype.stepWithStatement=function(a,b,d){if(!b.Ca)return b.Ca=!0,new u(d.object,b.scope);a.pop();a=dd(this,b.scope,b.value);return new u(d.body,a)};t.prototype.stepWhileStatement=t.prototype.stepDoWhileStatement;Oa.Interpreter=t;t.prototype.step=t.prototype.lb; +t.prototype.run=t.prototype.Eb;t.prototype.appendCode=t.prototype.Jb;t.prototype.createObject=t.prototype.Aa;t.prototype.createObjectProto=t.prototype.s;t.prototype.createAsyncFunction=t.prototype.ub;t.prototype.createNativeFunction=t.prototype.i;t.prototype.getProperty=t.prototype.G;t.prototype.setProperty=t.prototype.g;t.prototype.getStatus=t.prototype.Zb;t.prototype.nativeToPseudo=t.prototype.Ia;t.prototype.pseudoToNative=t.prototype.R;t.prototype.getGlobalScope=t.prototype.Xb; +t.prototype.getStateStack=t.prototype.Yb;t.prototype.setStateStack=t.prototype.fc;t.VALUE_IN_DESCRIPTOR=Ja;t.Status=ka; diff --git a/examples/interpreter-demo/acorn.js b/examples/interpreter-demo/acorn.js index 2ca4249f76..f714185b63 100644 --- a/examples/interpreter-demo/acorn.js +++ b/examples/interpreter-demo/acorn.js @@ -1,3 +1,9 @@ +/** + * @license + * Copyright 2012 Marijn Haverbeke + * SPDX-License-Identifier: MIT + */ + // Acorn is a tiny, fast JavaScript parser written in JavaScript. // // Acorn was written by Marijn Haverbeke and released under an MIT @@ -21,8 +27,8 @@ // [walk]: util/walk.js (function(root, mod) { - if (typeof exports == "object" && typeof module == "object") return mod(exports); // CommonJS - if (typeof define == "function" && define.amd) return define(["exports"], mod); // AMD + if (typeof exports === "object" && typeof module === "object") return mod(exports); // CommonJS + if (typeof define === "function" && define.amd) return define(["exports"], mod); // AMD mod(root.acorn || (root.acorn = {})); // Plain browser env })(this, function(exports) { "use strict"; @@ -30,6 +36,10 @@ exports.version = "0.5.0"; // Plus additional edits marked with 'JS-Interpreter change' comments. + // JS-Interpreter change: + // Added JSDoc type definitions. + // -- Neil Fraser, July 2023. + // JS-Interpreter change: // No longer exporting defaultOptions, getLineInfo, tokenize, tokTypes, // isIdentifierStart, and isIdentifierChar. Not used by JS-Interpreter. @@ -43,10 +53,24 @@ // // [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API - var options, input, inputLen, sourceFile; - + /** @type {!Object|undefined} */ + var options; + + /** @type {string} */ + var input = ''; + /** @type {number|undefined} */ + var inputLen; + /** @type {*} */ + var sourceFile; + + /** + * @param {string} inpt + * @param {Object=} opts + * @returns + */ exports.parse = function(inpt, opts) { - input = String(inpt); inputLen = input.length; + input = String(inpt); + inputLen = input.length; setOptions(opts); initTokenState(); return parseTopLevel(options.program); @@ -112,22 +136,33 @@ sourceFile: null, // This value, if given, is stored in every node, whether // `locations` is on or off. - directSourceFile: null + directSourceFile: null, }; + /** + * @param {Object|undefined} opts + */ function setOptions(opts) { options = opts || {}; - for (var opt in defaultOptions) if (!Object.prototype.hasOwnProperty.call(options, opt)) - options[opt] = defaultOptions[opt]; - sourceFile = options.sourceFile || null; - } - - // The `getLineInfo` function is mostly useful when the - // `locations` option is off (for performance reasons) and you - // want to find the line/column position for a given character - // offset. `input` should be the code string that the offset refers - // into. - + for (var opt in defaultOptions) { + if (!Object.prototype.hasOwnProperty.call(options, opt)) { + options[opt] = defaultOptions[opt]; + } + } + sourceFile = options.sourceFile; + } + + /** + * The `getLineInfo` function is mostly useful when the + * `locations` option is off (for performance reasons) and you + * want to find the line/column position for a given character + * offset. `input` should be the code string that the offset refers + * into. + * + * @param {string} input + * @param {number} offset + * @returns {!Object} + */ var getLineInfo = function(input, offset) { for (var line = 1, cur = 0;;) { lineBreak.lastIndex = cur; @@ -135,7 +170,9 @@ if (match && match.index < offset) { ++line; cur = match.index + match[0].length; - } else break; + } else { + break; + } } return {line: line, column: offset - cur}; }; @@ -147,67 +184,138 @@ // State is kept in (closure-)global variables. We already saw the // `options`, `input`, and `inputLen` variables above. - // The current position of the tokenizer in the input. - - var tokPos; - - // The start and end offsets of the current token. - - var tokStart, tokEnd; - - // When `options.locations` is true, these hold objects - // containing the tokens start and end line/column pairs. - - var tokStartLoc, tokEndLoc; - - // The type and value of the current token. Token types are objects, - // named by variables against which they can be compared, and - // holding properties that describe them (indicating, for example, - // the precedence of an infix operator, and the original name of a - // keyword token). The kind of value that's held in `tokVal` depends - // on the type of the token. For literals, it is the literal value, - // for operators, the operator name, and so on. - - var tokType, tokVal; - - // Interal state for the tokenizer. To distinguish between division - // operators and regular expressions, it remembers whether the last - // token was one that is allowed to be followed by an expression. - // (If it is, a slash is probably a regexp, if it isn't it's a - // division operator. See the `parseStatement` function for a - // caveat.) - + /** + * The current position of the tokenizer in the input. + * @type {number} + */ + var tokPos = 0; + + /** + * The start offset of the current token. + * @type {number} + */ + var tokStart = 0; + + /** + * The end offset of the current token. + * @type {number} + */ + var tokEnd = 0; + + /** + * When `options.locations` is true, holds object + * containing the token's start line/column pairs. + * @type {!line_loc_t|undefined} + */ + var tokStartLoc; + + /** + * When `options.locations` is true, holds object + * containing the token's end line/column pairs. + * @type {!line_loc_t|undefined} + */ + var tokEndLoc; + + /** + * The type of the current token. Token types are objects, + * named by variables against which they can be compared, and + * holding properties that describe them (indicating, for example, + * the precedence of an infix operator, and the original name of a + * keyword token). + * @type {!Object|undefined} + */ + var tokType; + + /** + * The value of the current token. The kind of value that's held in + * `tokVal` depends on the type of the token. For literals, it is the + * literal value, for operators, the operator name, and so on. + * @type {*} + */ + var tokVal; + + /** + * Interal state for the tokenizer. To distinguish between division + * operators and regular expressions, it remembers whether the last + * token was one that is allowed to be followed by an expression. + * (If it is, a slash is probably a regexp, if it isn't it's a + * division operator. See the `parseStatement` function for a caveat.) + * @type {boolean|undefined} + */ var tokRegexpAllowed; - // When `options.locations` is true, these are used to keep - // track of the current line, and know when a new line has been - // entered. - - var tokCurLine, tokLineStart; - - // These store the position of the previous token, which is useful - // when finishing a node and assigning its `end` position. - - var lastStart, lastEnd, lastEndLoc; - - // This is the parser's state. `inFunction` is used to reject - // `return` statements outside of functions, `labels` to verify that - // `break` and `continue` have somewhere to jump to, and `strict` - // indicates whether strict mode is on. - - var inFunction, labels, strict; - - // This function is used to raise exceptions on parse errors. It - // takes an offset integer (into the current `input`) to indicate - // the location of the error, attaches the position to the end - // of the error message, and then raises a `SyntaxError` with that - // message. - + /** + * When `options.locations` is true, `tokCurLine` is used to keep + * track of the current line. + * @type {number|undefined} + */ + var tokCurLine; + + /** + * When `options.locations` is true, `tokLineStart` is used to know + * when a new line has been entered. + * @type {number|undefined} + */ + var tokLineStart; + + /** + * The start of the position of the previous token, which is useful + * when finishing a node and assigning its `end` position. + * @type {number} + */ + var lastStart = 0; + + /** + * The end oy the position of the previous token, which is useful + * when finishing a node and assigning its `end` position. + * @type {number} + */ + var lastEnd = 0; + + /** + * Stores the position of the previous token, which is useful + * when finishing a node and assigning its `end` position. + * @type {!line_loc_t|undefined} + */ + var lastEndLoc; + + /** + * `inFunction` is used to reject `return` statements outside of functions. + * @type {boolean|undefined} + */ + var inFunction; + + /** + * `labels` is used to verify that `break` and `continue` have somewhere + * to jump to. + * @type {!Array|undefined} + */ + var labels; + + /** + * `strict` indicates whether strict mode is on. + * @type {boolean|undefined} + */ + var strict; + + /** + * This function is used to raise exceptions on parse errors. It + * takes an offset integer (into the current `input`) to indicate + * the location of the error, attaches the position to the end + * of the error message, and then raises a `SyntaxError` with that + * message. + * + * @param {number} pos + * @param {string} message + * @throws {SyntaxError} + */ function raise(pos, message) { var loc = getLineInfo(input, pos); message += " (" + loc.line + ":" + loc.column + ")"; var err = new SyntaxError(message); - err.pos = pos; err.loc = loc; err.raisedAt = tokPos; + err.pos = pos; + err.loc = loc; + err.raisedAt = tokPos; throw err; } @@ -227,8 +335,11 @@ // These are the general types. The `type` property is only used to // make them recognizeable when debugging. - var _num = {type: "num"}, _regexp = {type: "regexp"}, _string = {type: "string"}; - var _name = {type: "name"}, _eof = {type: "eof"}; + var _num = {type: "num"}; + var _regexp = {type: "regexp"}; + var _string = {type: "string"}; + var _name = {type: "name"}; + var _eof = {type: "eof"}; // Keyword tokens. The `keyword` property (also used in keyword-like // operators) indicates that the token originated from an @@ -243,18 +354,32 @@ // to know when parsing a label, in order to allow or disallow // continue jumps to that label. - var _break = {keyword: "break"}, _case = {keyword: "case", beforeExpr: true}, _catch = {keyword: "catch"}; - var _continue = {keyword: "continue"}, _debugger = {keyword: "debugger"}, _default = {keyword: "default"}; - var _do = {keyword: "do", isLoop: true}, _else = {keyword: "else", beforeExpr: true}; - var _finally = {keyword: "finally"}, _for = {keyword: "for", isLoop: true}, _function = {keyword: "function"}; - var _if = {keyword: "if"}, _return = {keyword: "return", beforeExpr: true}, _switch = {keyword: "switch"}; - var _throw = {keyword: "throw", beforeExpr: true}, _try = {keyword: "try"}, _var = {keyword: "var"}; - var _while = {keyword: "while", isLoop: true}, _with = {keyword: "with"}, _new = {keyword: "new", beforeExpr: true}; + var _break = {keyword: "break"}; + var _case = {keyword: "case", beforeExpr: true}; + var _catch = {keyword: "catch"}; + var _continue = {keyword: "continue"}; + var _debugger = {keyword: "debugger"}; + var _default = {keyword: "default"}; + var _do = {keyword: "do", isLoop: true}; + var _else = {keyword: "else", beforeExpr: true}; + var _finally = {keyword: "finally"}; + var _for = {keyword: "for", isLoop: true}; + var _function = {keyword: "function"}; + var _if = {keyword: "if"}; + var _return = {keyword: "return", beforeExpr: true}; + var _switch = {keyword: "switch"}; + var _throw = {keyword: "throw", beforeExpr: true}; + var _try = {keyword: "try"}; + var _var = {keyword: "var"}; + var _while = {keyword: "while", isLoop: true}; + var _with = {keyword: "with"}; + var _new = {keyword: "new", beforeExpr: true}; var _this = {keyword: "this"}; // The keywords that denote values. - var _null = {keyword: "null", atomValue: null}, _true = {keyword: "true", atomValue: true}; + var _null = {keyword: "null", atomValue: null}; + var _true = {keyword: "true", atomValue: true}; var _false = {keyword: "false", atomValue: false}; // Some keywords are treated as regular operators. `in` sometimes @@ -265,23 +390,51 @@ // Map keyword names to token types. - var keywordTypes = {"break": _break, "case": _case, "catch": _catch, - "continue": _continue, "debugger": _debugger, "default": _default, - "do": _do, "else": _else, "finally": _finally, "for": _for, - "function": _function, "if": _if, "return": _return, "switch": _switch, - "throw": _throw, "try": _try, "var": _var, "while": _while, "with": _with, - "null": _null, "true": _true, "false": _false, "new": _new, "in": _in, - "instanceof": {keyword: "instanceof", binop: 7, beforeExpr: true}, "this": _this, - "typeof": {keyword: "typeof", prefix: true, beforeExpr: true}, - "void": {keyword: "void", prefix: true, beforeExpr: true}, - "delete": {keyword: "delete", prefix: true, beforeExpr: true}}; + var keywordTypes = { + "break": _break, + "case": _case, + "catch": _catch, + "continue": _continue, + "debugger": _debugger, + "default": _default, + "do": _do, + "else": _else, + "finally": _finally, + "for": _for, + "function": _function, + "if": _if, + "return": _return, + "switch": _switch, + "throw": _throw, + "try": _try, + "var": _var, + "while": _while, + "with": _with, + "null": _null, + "true": _true, + "false": _false, + "new": _new, + "in": _in, + "instanceof": {keyword: "instanceof", binop: 7, beforeExpr: true}, + "this": _this, + "typeof": {keyword: "typeof", prefix: true, beforeExpr: true}, + "void": {keyword: "void", prefix: true, beforeExpr: true}, + "delete": {keyword: "delete", prefix: true, beforeExpr: true}, + }; // Punctuation token types. Again, the `type` property is purely for debugging. - var _bracketL = {type: "[", beforeExpr: true}, _bracketR = {type: "]"}, _braceL = {type: "{", beforeExpr: true}; - var _braceR = {type: "}"}, _parenL = {type: "(", beforeExpr: true}, _parenR = {type: ")"}; - var _comma = {type: ",", beforeExpr: true}, _semi = {type: ";", beforeExpr: true}; - var _colon = {type: ":", beforeExpr: true}, _dot = {type: "."}, _question = {type: "?", beforeExpr: true}; + var _bracketL = {type: "[", beforeExpr: true}; + var _bracketR = {type: "]"}; + var _braceL = {type: "{", beforeExpr: true}; + var _braceR = {type: "}"}; + var _parenL = {type: "(", beforeExpr: true}; + var _parenR = {type: ")"}; + var _comma = {type: ",", beforeExpr: true}; + var _semi = {type: ";", beforeExpr: true}; + var _colon = {type: ":", beforeExpr: true}; + var _dot = {type: "."}; + var _question = {type: "?", beforeExpr: true}; // Operators. These carry several kinds of properties to help the // parser use them properly (the presence of these properties is @@ -299,9 +452,11 @@ // binary operators with a very low precedence, that should result // in AssignmentExpression nodes. - var _slash = {binop: 10, beforeExpr: true}, _eq = {isAssign: true, beforeExpr: true}; + var _slash = {binop: 10, beforeExpr: true}; + var _eq = {isAssign: true, beforeExpr: true}; var _assign = {isAssign: true, beforeExpr: true}; - var _incDec = {postfix: true, prefix: true, isUpdate: true}, _prefix = {prefix: true, beforeExpr: true}; + var _incDec = {postfix: true, prefix: true, isUpdate: true}; + var _prefix = {prefix: true, beforeExpr: true}; var _logicalOR = {binop: 1, beforeExpr: true}; var _logicalAND = {binop: 2, beforeExpr: true}; var _bitwiseOR = {binop: 3, beforeExpr: true}; @@ -322,11 +477,16 @@ // However, this triggered a CSP unsafe-eval requirement. Here's a slower, but // simpler approach. -- Neil Fraser, January 2022. // https://github.com/NeilFraser/JS-Interpreter/issues/228 + + /** + * @param {string} words + * @returns {function(*): boolean} + */ function makePredicate(words) { - words = words.split(" "); + var wordList = words.split(" "); var set = Object.create(null); - for (var i = 0; i < words.length; i++) { - set[words[i]] = true; + for (var i = 0; i < wordList.length; i++) { + set[wordList[i]] = true; } return function(str) { return set[str] || false; @@ -371,40 +531,51 @@ var lineBreak = /\r\n|[\n\r\u2028\u2029]/g; - // Test whether a given character code starts an identifier. - + /** + * Test whether a given character code starts an identifier. + * + * @param {number} code + * @returns {boolean} + */ var isIdentifierStart = function(code) { if (code < 65) return code === 36; if (code < 91) return true; if (code < 97) return code === 95; - if (code < 123)return true; + if (code < 123) return true; return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); }; - // Test whether a given character is part of an identifier. - + /** + * Test whether a given character is part of an identifier. + * + * @param {number} code + * @returns {boolean} + */ var isIdentifierChar = function(code) { if (code < 48) return code === 36; if (code < 58) return true; if (code < 65) return false; if (code < 91) return true; if (code < 97) return code === 95; - if (code < 123)return true; + if (code < 123) return true; return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); }; // ## Tokenizer - // These are used when `options.locations` is on, for the - // `tokStartLoc` and `tokEndLoc` properties. - + /** + * These are used when `options.locations` is on, for the + * `tokStartLoc` and `tokEndLoc` properties. + * @constructor + */ function line_loc_t() { this.line = tokCurLine; this.column = tokPos - tokLineStart; } - // Reset the token state. Used at the start of a parse. - + /** + * Reset the token state. Used at the start of a parse. + */ function initTokenState() { tokCurLine = 1; tokPos = tokLineStart = 0; @@ -412,13 +583,19 @@ skipSpace(); } - // Called at the end of every token. Sets `tokEnd`, `tokVal`, and - // `tokRegexpAllowed`, and skips the space after the token, so that - // the next one's `tokStart` will point at the right position. - + /** + * Called at the end of every token. Sets `tokEnd`, `tokVal`, and + * `tokRegexpAllowed`, and skips the space after the token, so that + * the next one's `tokStart` will point at the right position. + * + * @param {!Object} type + * @param {*=} val + */ function finishToken(type, val) { tokEnd = tokPos; - if (options.locations) tokEndLoc = new line_loc_t; + if (options.locations) { + tokEndLoc = new line_loc_t(); + } tokType = type; skipSpace(); tokVal = val; @@ -426,9 +603,12 @@ } function skipBlockComment() { - var startLoc = options.onComment && options.locations && new line_loc_t; - var start = tokPos, end = input.indexOf("*/", tokPos += 2); - if (end === -1) raise(tokPos - 2, "Unterminated comment"); + var startLoc = options.onComment && options.locations && new line_loc_t(); + var start = tokPos; + var end = input.indexOf("*/", tokPos += 2); + if (end === -1) { + raise(tokPos - 2, "Unterminated comment"); + } tokPos = end + 2; if (options.locations) { lineBreak.lastIndex = start; @@ -438,22 +618,24 @@ tokLineStart = match.index + match[0].length; } } - if (options.onComment) + if (options.onComment) { options.onComment(true, input.slice(start + 2, end), start, tokPos, - startLoc, options.locations && new line_loc_t); + startLoc, options.locations && new line_loc_t()); + } } function skipLineComment() { var start = tokPos; - var startLoc = options.onComment && options.locations && new line_loc_t; - var ch = input.charCodeAt(tokPos+=2); + var startLoc = options.onComment && options.locations && new line_loc_t(); + var ch = input.charCodeAt(tokPos += 2); while (tokPos < inputLen && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) { ++tokPos; ch = input.charCodeAt(tokPos); } - if (options.onComment) + if (options.onComment) { options.onComment(false, input.slice(start + 2, tokPos), start, tokPos, - startLoc, options.locations && new line_loc_t); + startLoc, options.locations && new line_loc_t()); + } } // Called at the start of the parse and after every token. Skips @@ -513,157 +695,213 @@ function readToken_dot() { var next = input.charCodeAt(tokPos + 1); - if (next >= 48 && next <= 57) return readNumber(true); - ++tokPos; - return finishToken(_dot); + if (next >= 48 && next <= 57) { + readNumber(true); + } else { + ++tokPos; + finishToken(_dot); + } } - function readToken_slash() { // '/' + function readToken_slash() { // '/' var next = input.charCodeAt(tokPos + 1); - if (tokRegexpAllowed) {++tokPos; return readRegexp();} - if (next === 61) return finishOp(_assign, 2); - return finishOp(_slash, 1); + if (tokRegexpAllowed) { + ++tokPos; + readRegexp(); + } else if (next === 61) { + finishOp(_assign, 2); + } else { + finishOp(_slash, 1); + } } - function readToken_mult_modulo() { // '%*' + function readToken_mult_modulo() { // '%*' var next = input.charCodeAt(tokPos + 1); - if (next === 61) return finishOp(_assign, 2); - return finishOp(_multiplyModulo, 1); + if (next === 61) { + finishOp(_assign, 2); + } else { + finishOp(_multiplyModulo, 1); + } } - function readToken_pipe_amp(code) { // '|&' + /** + * @param {number} code + */ + function readToken_pipe_amp(code) { // '|&' var next = input.charCodeAt(tokPos + 1); - if (next === code) return finishOp(code === 124 ? _logicalOR : _logicalAND, 2); - if (next === 61) return finishOp(_assign, 2); - return finishOp(code === 124 ? _bitwiseOR : _bitwiseAND, 1); + if (next === code) { + finishOp(code === 124 ? _logicalOR : _logicalAND, 2); + } else if (next === 61) { + finishOp(_assign, 2); + } else { + finishOp(code === 124 ? _bitwiseOR : _bitwiseAND, 1); + } } - function readToken_caret() { // '^' + function readToken_caret() { // '^' var next = input.charCodeAt(tokPos + 1); - if (next === 61) return finishOp(_assign, 2); - return finishOp(_bitwiseXOR, 1); + if (next === 61) { + finishOp(_assign, 2); + } else { + finishOp(_bitwiseXOR, 1); + } } - function readToken_plus_min(code) { // '+-' + /** + * @param {number} code + */ + function readToken_plus_min(code) { // '+-' var next = input.charCodeAt(tokPos + 1); if (next === code) { - if (next == 45 && input.charCodeAt(tokPos + 2) == 62 && + if (next === 45 && input.charCodeAt(tokPos + 2) === 62 && newline.test(input.slice(lastEnd, tokPos))) { // A `-->` line comment tokPos += 3; skipLineComment(); skipSpace(); - return readToken(); + readToken(); + return; } - return finishOp(_incDec, 2); + finishOp(_incDec, 2); + } else if (next === 61) { + finishOp(_assign, 2); + } else { + finishOp(_plusMin, 1); } - if (next === 61) return finishOp(_assign, 2); - return finishOp(_plusMin, 1); } - function readToken_lt_gt(code) { // '<>' + /** + * @param {number} code + */ + function readToken_lt_gt(code) { // '<>' var next = input.charCodeAt(tokPos + 1); var size = 1; if (next === code) { - size = code === 62 && input.charCodeAt(tokPos + 2) === 62 ? 3 : 2; - if (input.charCodeAt(tokPos + size) === 61) return finishOp(_assign, size + 1); - return finishOp(_bitShift, size); + size = (code === 62 && input.charCodeAt(tokPos + 2) === 62) ? 3 : 2; + if (input.charCodeAt(tokPos + size) === 61) { + finishOp(_assign, size + 1); + } else { + finishOp(_bitShift, size); + } + return; } - if (next == 33 && code == 60 && input.charCodeAt(tokPos + 2) == 45 && - input.charCodeAt(tokPos + 3) == 45) { + if (next === 33 && code === 60 && input.charCodeAt(tokPos + 2) === 45 && + input.charCodeAt(tokPos + 3) === 45) { // `