├── .browserslistrc
├── docs
├── favicon.ico
├── assets
│ └── screenshot.png
├── css
│ └── app.664d6da0.css
├── index.html
└── js
│ ├── app.1af35bb0.js
│ └── app.1af35bb0.js.map
├── sample
├── dist
│ ├── favicon.ico
│ ├── css
│ │ └── app.94d0b41d.css
│ ├── index.html
│ └── js
│ │ ├── app.b0af2813.js
│ │ └── app.b0af2813.js.map
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── assets
│ │ └── logo.png
│ ├── main.js
│ ├── App.vue
│ └── components
│ │ └── Demo.vue
├── babel.config.js
├── .gitignore
├── jsconfig.json
├── README.md
├── vue.config.js
└── package.json
├── vue-webrtc-lobby
├── README.md
├── package.json
├── Web.config
├── VueWebRTC.sln
├── cert.pem
├── key.pem
├── Web.Debug.config
├── server.js
├── vue-webrtc-lobby.njsproj
├── .gitignore
└── package-lock.json
├── .gitignore
├── src
├── lib-components
│ ├── index.js
│ ├── vue-webrtc-sample.vue
│ └── vue-webrtc.vue
├── entry.js
└── entry.esm.js
├── dev
├── serve.js
└── serve.vue
├── babel.config.js
├── .github
└── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
├── LICENSE
├── package.json
└── README.md
/.browserslistrc:
--------------------------------------------------------------------------------
1 | current node
2 | last 2 versions and > 2%
3 | ie > 10
4 |
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/westonsoftware/vue-webrtc/HEAD/docs/favicon.ico
--------------------------------------------------------------------------------
/sample/dist/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/westonsoftware/vue-webrtc/HEAD/sample/dist/favicon.ico
--------------------------------------------------------------------------------
/docs/assets/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/westonsoftware/vue-webrtc/HEAD/docs/assets/screenshot.png
--------------------------------------------------------------------------------
/sample/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/westonsoftware/vue-webrtc/HEAD/sample/public/favicon.ico
--------------------------------------------------------------------------------
/sample/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/westonsoftware/vue-webrtc/HEAD/sample/src/assets/logo.png
--------------------------------------------------------------------------------
/sample/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/sample/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/README.md:
--------------------------------------------------------------------------------
1 | # vue-webrtc-lobby
2 | npm install
3 | node run start
4 |
5 | # debugging
6 | $env:DEBUG = 'socket.io*'
--------------------------------------------------------------------------------
/docs/css/app.664d6da0.css:
--------------------------------------------------------------------------------
1 | .btn{margin-right:8px}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:60px}
--------------------------------------------------------------------------------
/sample/dist/css/app.94d0b41d.css:
--------------------------------------------------------------------------------
1 | .btn{margin-right:8px}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:60px}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 |
4 | # local env files
5 | .env.local
6 | .env.*.local
7 |
8 | # Log files
9 | npm-debug.log*
10 | yarn-debug.log*
11 | yarn-error.log*
12 |
13 | # Editor directories and files
14 | .idea
15 | .vscode
16 | *.suo
17 | *.ntvs*
18 | *.njsproj
19 | *.sln
20 | *.sw*
21 | /.vs
--------------------------------------------------------------------------------
/sample/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 |
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | pnpm-debug.log*
14 |
15 | # Editor directories and files
16 | .idea
17 | .vscode
18 | *.suo
19 | *.ntvs*
20 | *.njsproj
21 | *.sln
22 | *.sw?
23 |
--------------------------------------------------------------------------------
/src/lib-components/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable import/prefer-default-export */
2 | export { default as VueWebRTC } from './vue-webrtc.vue';
3 | export { default as VueWebrtcSample } from './vue-webrtc-sample.vue';
4 |
5 |
6 | // ISSUE 5: https://github.com/westonsoftware/vue-webrtc/issues/5
7 | import * as io from 'socket.io-client'
8 | window.io = io
9 |
--------------------------------------------------------------------------------
/sample/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "esnext",
5 | "baseUrl": "./",
6 | "moduleResolution": "node",
7 | "paths": {
8 | "@/*": [
9 | "src/*"
10 | ]
11 | },
12 | "lib": [
13 | "esnext",
14 | "dom",
15 | "dom.iterable",
16 | "scripthost"
17 | ]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/dev/serve.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue';
2 | import Dev from './serve.vue';
3 | // To register individual components where they are used (serve.vue) instead of using the
4 | // library as a whole, comment/remove this import and it's corresponding "app.use" call
5 | import VueWebRTC from '@/entry.esm';
6 |
7 | const app = createApp(Dev);
8 | app.use(VueWebRTC);
9 |
10 | app.mount('#app');
11 |
--------------------------------------------------------------------------------
/sample/README.md:
--------------------------------------------------------------------------------
1 | # sample
2 |
3 | ## Project setup
4 | ```
5 | yarn install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | yarn serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | yarn build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | yarn lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | const devPresets = ['@vue/babel-preset-app'];
2 | const buildPresets = [
3 | [
4 | '@babel/preset-env',
5 | // Config for @babel/preset-env
6 | {
7 | // Example: Always transpile optional chaining/nullish coalescing
8 | // include: [
9 | // /(optional-chaining|nullish-coalescing)/
10 | // ],
11 | },
12 | ],
13 | ];
14 | module.exports = {
15 | presets: (process.env.NODE_ENV === 'development' ? devPresets : buildPresets),
16 | };
17 |
--------------------------------------------------------------------------------
/sample/vue.config.js:
--------------------------------------------------------------------------------
1 | const { defineConfig } = require('@vue/cli-service')
2 | const NodePolyfillPlugin = require("node-polyfill-webpack-plugin")
3 | module.exports = defineConfig({
4 | transpileDependencies: true,
5 | configureWebpack: {
6 | plugins: [
7 | new NodePolyfillPlugin()
8 | ],
9 | resolve: {
10 | fallback: {
11 | "fs": false,
12 | "child_process": false,
13 | "net": false,
14 | "tls": false
15 | }
16 | }
17 | }
18 | })
--------------------------------------------------------------------------------
/src/entry.js:
--------------------------------------------------------------------------------
1 | // iife/cjs usage extends esm default export - so import it all
2 | import plugin, * as components from '@/entry.esm';
3 |
4 | // Attach named exports directly to plugin. IIFE/CJS will
5 | // only expose one global var, with component exports exposed as properties of
6 | // that global var (eg. plugin.component)
7 | Object.entries(components).forEach(([componentName, component]) => {
8 | if (componentName !== 'default') {
9 | plugin[componentName] = component;
10 | }
11 | });
12 |
13 | export default plugin;
14 |
--------------------------------------------------------------------------------
/dev/serve.vue:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-webrtc-lobby",
3 | "version": "1.0.0",
4 | "description": "vue-webrtc-lobby",
5 | "author": {
6 | "name": "Andy Weston",
7 | "email": "aweston@westonsoftware.com",
8 | "url": "https://github.com/westonsoftware"
9 | },
10 | "scripts": {
11 | "start": "node server -ssl"
12 | },
13 | "engines": {
14 | "node": "~14.16.x"
15 | },
16 | "dependencies": {
17 | "express": "^4.18.2",
18 | "simple-signal-server": "^3.0.0",
19 | "socket.io": "^4.5.4"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/sample/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
16 |
17 |
27 |
--------------------------------------------------------------------------------
/src/entry.esm.js:
--------------------------------------------------------------------------------
1 |
2 | // Import vue components
3 | import * as components from '@/lib-components/index';
4 |
5 | // install function executed by Vue.use()
6 | const install = function installVueWebrtc(app) {
7 | Object.entries(components).forEach(([componentName, component]) => {
8 | app.component(componentName, component);
9 | });
10 | };
11 |
12 | // Create module definition for Vue.use()
13 | export default install;
14 |
15 | // To allow individual component use, export components
16 | // each can be registered via Vue.component()
17 | export * from '@/lib-components/index';
18 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/sample/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sample",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve --https",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "node-polyfill-webpack-plugin": "^2.0.1",
12 | "vue": "^3.2.45",
13 | "vue-webrtc": "^3.0.1"
14 | },
15 | "devDependencies": {
16 | "@babel/core": "^7.12.16",
17 | "@babel/eslint-parser": "^7.12.16",
18 | "@vue/cli-plugin-babel": "~5.0.0",
19 | "@vue/cli-plugin-eslint": "~5.0.0",
20 | "@vue/cli-service": "~5.0.0",
21 | "eslint": "^7.32.0",
22 | "eslint-plugin-vue": "^8.0.3"
23 | },
24 | "eslintConfig": {
25 | "root": true,
26 | "env": {
27 | "node": true
28 | },
29 | "extends": [
30 | "plugin:vue/vue3-essential",
31 | "eslint:recommended"
32 | ],
33 | "parserOptions": {
34 | "parser": "@babel/eslint-parser"
35 | },
36 | "rules": {}
37 | },
38 | "browserslist": [
39 | "> 1%",
40 | "last 2 versions",
41 | "not dead",
42 | "not ie 11"
43 | ]
44 | }
45 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018-2022 Andy Weston
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/Web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/VueWebRTC.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.31005.135
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "vue-webrtc-lobby", "vue-webrtc-lobby.njsproj", "{1BE3B5EF-A236-44A1-A361-9382B09C4B90}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {1BE3B5EF-A236-44A1-A361-9382B09C4B90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {1BE3B5EF-A236-44A1-A361-9382B09C4B90}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {1BE3B5EF-A236-44A1-A361-9382B09C4B90}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {1BE3B5EF-A236-44A1-A361-9382B09C4B90}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {921DC0F4-76E0-4D85-9A3A-CB29D52D8354}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/sample/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Vue WebRTC 3
6 |
7 |
8 |
9 |
10 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/sample/dist/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Vue WebRTC 3
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/cert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIDtzCCAp+gAwIBAgIUDTa2/mnQe5uQU2Q1VTn90Uz6hH8wDQYJKoZIhvcNAQEL
3 | BQAwazELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExFTATBgNVBAcMDElu
4 | ZGlhbmFwb2xpczEdMBsGA1UECgwUV2VzdG9uIFNvZnR3YXJlLCBMTEMxFDASBgNV
5 | BAMMC0FuZHkgV2VzdG9uMB4XDTIxMDUxOTE5MDQyMFoXDTIyMDUxOTE5MDQyMFow
6 | azELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExFTATBgNVBAcMDEluZGlh
7 | bmFwb2xpczEdMBsGA1UECgwUV2VzdG9uIFNvZnR3YXJlLCBMTEMxFDASBgNVBAMM
8 | C0FuZHkgV2VzdG9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvMYc
9 | TL5h7hlsPhWEvmTHB+sKKQO2ztP3HFvVQOvZZhpeJrI1BCyvRertKaWfBPlgNogd
10 | 9kExLsEXILaiy8uYtBOuSUzx3z82cCtUN0yNgCreJ8/vLMaMtgXs1K96lACWxOAK
11 | 6JIFkbCMCHbh7EHzANYEhYjNTi6hk67cY96Riq72+5AUSflkDO3jdST6RVXRJ8sc
12 | u9l3SfobrnLbbSIWnSjOvh/IQ2/HcqREhgy8Dfz5qk/k1OMjAXmzheWhmqi31oW2
13 | 5vYDeUEkWjHL6DHZQcvB2S85Q/ajBOubaQz0/eWhc1NfaUccTsPMPOhzT6dd+P3p
14 | BCCXqkrcdG9notiXiwIDAQABo1MwUTAdBgNVHQ4EFgQUS44obWGSsA3hVWacNx1V
15 | OXCOaU4wHwYDVR0jBBgwFoAUS44obWGSsA3hVWacNx1VOXCOaU4wDwYDVR0TAQH/
16 | BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAYwUW2lCaHKQ2qS2obymEyuodMf2v
17 | ittM4QW+ZGzruYPcgBDL4agCNlK4VLhFZOz6R3zFU64NyM9ZWhPv1r3Jxbjx9XMj
18 | a/xPmp64aZuU1x4BcQ8tOUm5elgvhx865aBx/6NMCmr6jtDHmKK9nrxA5Sl37ffT
19 | x+KNiNQPQEJiQsAN/vIeVt580dCt6HzkJRCCmIhiMfED4j0f29PEKnH302EHwE51
20 | 6/S0xFSA/vHbZyWMuPDEHVaGXTchS7KIoKoKA6lqTOAMgTdT6HO6DoxPky4Kyjax
21 | 7PLTkHTEGc3wPn1NTH5suONU2YGceZWNZvhX3OhvXfYiMmFongxytb20jQ==
22 | -----END CERTIFICATE-----
23 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Vue WebRTC 3
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8xhxMvmHuGWw+
3 | FYS+ZMcH6wopA7bO0/ccW9VA69lmGl4msjUELK9F6u0ppZ8E+WA2iB32QTEuwRcg
4 | tqLLy5i0E65JTPHfPzZwK1Q3TI2AKt4nz+8sxoy2BezUr3qUAJbE4ArokgWRsIwI
5 | duHsQfMA1gSFiM1OLqGTrtxj3pGKrvb7kBRJ+WQM7eN1JPpFVdEnyxy72XdJ+huu
6 | ctttIhadKM6+H8hDb8dypESGDLwN/PmqT+TU4yMBebOF5aGaqLfWhbbm9gN5QSRa
7 | McvoMdlBy8HZLzlD9qME65tpDPT95aFzU19pRxxOw8w86HNPp134/ekEIJeqStx0
8 | b2ei2JeLAgMBAAECggEAShZSmwgJNUJDCia132d7+a6UYT50672i+T1Nd9pYi0sD
9 | 8pn0VrwW2hD2nWbD/1bEHQLVB4XUgK4FnrAvOl6gguRKfbg2IVEU03cd6UohKtEo
10 | OWXRT7hpFzNCHML2D8ofYgswHNDaYLBydQv7ZRcJASX9xk7HjMyeW3DATG3Ynx2Z
11 | fzDl3ITzi06q0TZUGsbCcyqCx/zDMAFIx8s2910FbA/298OUW8xbwC4veLefMJCY
12 | dYK2zW8wDb1PDFjFyJtVzgdpIku35ZWhNb1iyjXjoITVwikjS4eQ98TH7EmgmUJo
13 | IE6bvEPbHlKTQnKQb8F6hFs1Gwj301QXw7J3lnaEWQKBgQDd73n4jKn7fOlic+00
14 | R9YLCu1MRzIavbW14SB9mRzZwyxht22qS7TpJWJ4y7zB9ki0IlXnIe1um+iN8HwU
15 | jISFi/GC4big9KLhx36h/pdHtjGiYFkOunYptVmipuqReqd/d8vAvxNXNpJ/+4gZ
16 | Sgp5AMWgm/+pcpmRL+t0PxLk/wKBgQDZv50mSRTYOOMme9tTwlSEHY25LkLTMIGU
17 | o87ZvJx5moCSLFy9R+nuMPiqOiMmVOWobsEG8aI25AQEGGo3b6Y6TMGoH+e826bN
18 | PnEwtFa4iXUijrbW9JtkRFX36WIg6ybKCoL4qSa6SzRbivrxLyrUsC7faRz9lPuA
19 | mQD3jP8RdQKBgQChh1G70A1Lx/9JM9y6B2rHAL3znYHfKqJdbSwrncv8xmu/9zQv
20 | FQjoA9im2IpalXkW+kKRhgT8UycwX46/mgI9/LvbqZOqOkNulrcZCmZqwDVh3EQV
21 | Tyr/ckl584iYN7A/Ox6l+6wE9ugrlBPbbCMxLJmqKsAqQQl6PWleYyXKWwKBgFN9
22 | DJwpWTyuUynmQ2oSEKW3Tye5fRXMe2KqjB0gHD7j5nglWkmY0TDqxe0+7Us9MfEq
23 | xggLjc7ODlwjoFYxEOM5mucDlK7s6T+4uV2bR8Tpr2fYoHI6x3niWbP8YAuPHghJ
24 | j34YHSlAvIp890qSczGpe89dVihEf0oHYD+KaCIhAoGAb9h5qYImMOsVS0um1r9B
25 | 69ViFsDWNJN+GRE/nLVq4SnAb8EjaE5Oz21ZZLEZn3IuL7IqZSPKANq8kzsUUL7t
26 | yH1NOd1LKPk+BKRqJS6ajYBlKib8G9z9P1yyf4dngpMVxrUJNYHLqPIG65iE6sZl
27 | 9O97SeDQHz/I1ZRKySU7w04=
28 | -----END PRIVATE KEY-----
29 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/Web.Debug.config:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
21 |
22 |
23 |
24 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/lib-components/vue-webrtc-sample.vue:
--------------------------------------------------------------------------------
1 |
44 |
45 |
46 |
47 |
The counter was {{ changedBy }} to {{ counter }}.
48 |
51 |
54 |
57 |
60 |
63 |
64 |
65 |
66 |
80 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/server.js:
--------------------------------------------------------------------------------
1 | const app = require('express')();
2 | let server = {};
3 |
4 | if (process.argv[2] && process.argv[2] === '-ssl') {
5 | var fs = require('fs');
6 | var options = {
7 | key: fs.readFileSync('key.pem'),
8 | cert: fs.readFileSync('cert.pem'),
9 | requestCert: false,
10 | rejectUnauthorized: false
11 | };
12 | server = require('https').createServer(options, app);
13 | log('Using https.');
14 | } else {
15 | server = require('http').createServer(app);
16 | log('Using http.');
17 | }
18 |
19 | const io = require('socket.io')(server, { cors: true, origins: false });
20 | const signalServer = require('simple-signal-server')(io)
21 | const port = process.env.PORT || 3000;
22 | const rooms = new Map()
23 |
24 | server.listen(port, () => {
25 | log('Lobby server running on port ' + port);
26 | });
27 |
28 | app.get('/', function (req, res) {
29 | var sum = 0;
30 | rooms.forEach((v, k) => sum = sum + v.size);
31 | res.send('Lobby server
rooms: ' + rooms.size + '
members: ' + sum);
32 | });
33 |
34 | signalServer.on('discover', (request) => {
35 | log('discover');
36 | let memberId = request.socket.id;
37 | let roomId = request.discoveryData;
38 | let members = rooms.get(roomId);
39 | if (!members) {
40 | members = new Set();
41 | rooms.set(roomId, members);
42 | }
43 | members.add(memberId);
44 | request.socket.roomId = roomId;
45 | request.discover({
46 | peers: Array.from(members)
47 | });
48 | log('joined ' + roomId + ' ' + memberId)
49 | })
50 |
51 | signalServer.on('disconnect', (socket) => {
52 | let memberId = socket.id;
53 | let roomId = socket.roomId;
54 | let members = rooms.get(roomId);
55 | if (members) {
56 | members.delete(memberId)
57 | }
58 | log('left ' + roomId + ' ' + memberId)
59 | })
60 |
61 | signalServer.on('request', (request) => {
62 | request.forward()
63 | log('requested')
64 | })
65 |
66 | function log(message, data) {
67 | if (true) {
68 | console.log(message);
69 | if (data != null) {
70 | console.log(data);
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-webrtc",
3 | "version": "3.0.1",
4 | "description": "WebRTC video component for Vue 3",
5 | "author": {
6 | "name": "Andy Weston",
7 | "email": "aweston@westonsoftware.com",
8 | "url": "https://github.com/westonsoftware"
9 | },
10 | "contributors": [],
11 | "license": "MIT",
12 | "repository": {
13 | "type": "git",
14 | "url": "https://github.com/westonsoftware/vue-webrtc"
15 | },
16 | "main": "dist/vue-webrtc.ssr.js",
17 | "browser": "dist/vue-webrtc.esm.js",
18 | "module": "dist/vue-webrtc.esm.js",
19 | "unpkg": "dist/vue-webrtc.min.js",
20 | "files": [
21 | "dist/*",
22 | "src/**/*.vue"
23 | ],
24 | "sideEffects": false,
25 | "scripts": {
26 | "serve": "vue-cli-service serve --https dev/serve.js",
27 | "prebuild": "rimraf ./dist",
28 | "build": "cross-env NODE_ENV=production rollup --config build/rollup.config.js",
29 | "build:ssr": "cross-env NODE_ENV=production rollup --config build/rollup.config.js --format cjs",
30 | "build:es": "cross-env NODE_ENV=production rollup --config build/rollup.config.js --format es",
31 | "build:unpkg": "cross-env NODE_ENV=production rollup --config build/rollup.config.js --format iife"
32 | },
33 | "dependencies": {
34 | "bufferutil": "^4.0.6",
35 | "core-js": "^3.20.3",
36 | "simple-signal-client": "^3.0.0",
37 | "socket.io-client": "^4.1.2",
38 | "utf-8-validate": "^5.0.8",
39 | "vue": "^3.0.5"
40 | },
41 | "devDependencies": {
42 | "@babel/core": "^7.14.6",
43 | "@babel/preset-env": "^7.14.7",
44 | "@rollup/plugin-alias": "^3.1.2",
45 | "@rollup/plugin-babel": "^5.3.0",
46 | "@rollup/plugin-commonjs": "^14.0.0",
47 | "@rollup/plugin-node-resolve": "^9.0.0",
48 | "@rollup/plugin-replace": "^2.4.2",
49 | "@vue/cli-plugin-babel": "^5.0.8",
50 | "@vue/cli-service": "^5.0.8",
51 | "@vue/compiler-sfc": "^3.0.11",
52 | "cross-env": "^7.0.3",
53 | "minimist": "^1.2.5",
54 | "postcss": "^8.2.10",
55 | "rimraf": "^3.0.2",
56 | "rollup": "^2.52.8",
57 | "rollup-plugin-postcss": "^4.0.0",
58 | "rollup-plugin-terser": "^7.0.2",
59 | "rollup-plugin-vue": "^6.0.0",
60 | "vue": "^3.0.5"
61 | },
62 | "engines": {
63 | "node": ">=12"
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/sample/src/components/Demo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
Captured Image
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
86 |
87 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/vue-webrtc-lobby.njsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | 14.0
4 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
5 | vue-webrtc-lobby
6 | vue-webrtc-lobby
7 |
8 |
9 |
10 | Debug
11 | 2.0
12 | 1be3b5ef-a236-44a1-a361-9382b09c4b90
13 | .
14 | server.js
15 |
16 |
17 | .
18 | .
19 | v4.0
20 | {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}
21 | 1337
22 | true
23 |
24 |
25 | true
26 |
27 |
28 | true
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | False
50 | True
51 | 0
52 | /
53 | http://localhost:48022/
54 | False
55 | True
56 | http://localhost:1337
57 | False
58 |
59 |
60 |
61 |
62 |
63 |
64 | CurrentPage
65 | True
66 | False
67 | False
68 | False
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | False
78 | False
79 |
80 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/sample/dist/js/app.b0af2813.js:
--------------------------------------------------------------------------------
1 | (function(){var n={8970:function(n,o,t){"use strict";var e=t(3862),r=t(3396);function i(n,o,t,e,i,c){const u=(0,r.up)("demo-component");return(0,r.wg)(),(0,r.j4)(u)}const c={class:"container"},u={class:"row"},a={class:"col-md-12 my-3"},s=(0,r._)("h2",null,"Room",-1),f={class:"row"},l={class:"col-md-12"},d={class:""},p={class:"row"},m={class:"col-md-12 my-3"},v={class:"row"},h={class:"col-md-12"},b=(0,r._)("h2",null,"Captured Image",-1),g={class:"figure"},w=["src"];function _(n,o,t,i,_,y){const S=(0,r.up)("vue-webrtc");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r._)("div",u,[(0,r._)("div",a,[s,(0,r.wy)((0,r._)("input",{"onUpdate:modelValue":o[0]||(o[0]=n=>_.roomId=n)},null,512),[[e.nr,_.roomId]])])]),(0,r._)("div",f,[(0,r._)("div",l,[(0,r._)("div",d,[(0,r.Wm)(S,{ref:"webrtc",width:"100%",roomId:_.roomId,enableLogs:!0,onJoinedRoom:y.logEvent,onLeftRoom:y.logEvent,onOpenedRoom:y.logEvent,onShareStarted:y.logEvent,onShareStopped:y.logEvent,onError:y.onError},null,8,["roomId","onJoinedRoom","onLeftRoom","onOpenedRoom","onShareStarted","onShareStopped","onError"])]),(0,r._)("div",p,[(0,r._)("div",m,[(0,r._)("button",{type:"button",class:"btn btn-primary",onClick:o[1]||(o[1]=(...n)=>y.onJoin&&y.onJoin(...n))},"Join"),(0,r._)("button",{type:"button",class:"btn btn-primary",onClick:o[2]||(o[2]=(...n)=>y.onLeave&&y.onLeave(...n))},"Leave"),(0,r._)("button",{type:"button",class:"btn btn-primary",onClick:o[3]||(o[3]=(...n)=>y.onCapture&&y.onCapture(...n))},"Capture Photo"),(0,r._)("button",{type:"button",class:"btn btn-primary",onClick:o[4]||(o[4]=(...n)=>y.onShareScreen&&y.onShareScreen(...n))},"Share Screen")])])])]),(0,r._)("div",v,[(0,r._)("div",h,[b,(0,r._)("figure",g,[(0,r._)("img",{src:_.img,class:"img-responsive"},null,8,w)])])])])}var y=t(7387),S=t(5941),E={name:"demo-component",components:{"vue-webrtc":y.se},data(){return{img:null,roomId:"public-room-v3"}},mounted:function(){},computed:{},watch:{},methods:{onCapture(){this.img=this.$refs.webrtc.capture()},onJoin(){this.$refs.webrtc.join()},onLeave(){this.$refs.webrtc.leave()},onShareScreen(){this.img=this.$refs.webrtc.shareScreen()},onError(n,o){S.log("On Error Event",n,o)},logEvent(n){S.log("Event : ",n)}}},O=t(89);const C=(0,O.Z)(E,[["render",_]]);var k=C,j={name:"App",components:{"demo-component":k}};const I=(0,O.Z)(j,[["render",i]]);var L=I;(0,e.ri)(L).mount("#app")},950:function(){},6601:function(){},9214:function(){},6419:function(){},6353:function(){},8623:function(){},7748:function(){},5568:function(){},9386:function(){},1616:function(){},6619:function(){},8325:function(){},7108:function(){},8929:function(){},2439:function(){},9862:function(){},964:function(){},1408:function(){},3646:function(){},3021:function(){},4973:function(){},282:function(){},2026:function(){}},o={};function t(e){var r=o[e];if(void 0!==r)return r.exports;var i=o[e]={id:e,loaded:!1,exports:{}};return n[e].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}t.m=n,function(){var n=[];t.O=function(o,e,r,i){if(!e){var c=1/0;for(f=0;f=i)&&Object.keys(t.O).every((function(n){return t.O[n](e[a])}))?e.splice(a--,1):(u=!1,i0&&n[f-1][2]>i;f--)n[f]=n[f-1];n[f]=[e,r,i]}}(),function(){t.n=function(n){var o=n&&n.__esModule?function(){return n["default"]}:function(){return n};return t.d(o,{a:o}),o}}(),function(){t.d=function(n,o){for(var e in o)t.o(o,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:o[e]})}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"===typeof window)return window}}()}(),function(){t.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)}}(),function(){t.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){var n={143:0};t.O.j=function(o){return 0===n[o]};var o=function(o,e){var r,i,c=e[0],u=e[1],a=e[2],s=0;if(c.some((function(o){return 0!==n[o]}))){for(r in u)t.o(u,r)&&(t.m[r]=u[r]);if(a)var f=a(t)}for(o&&o(e);s
7 |
8 |
9 |
10 | [](https://gitter.im/westonsoftware/vue-webrtc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
11 | [](https://www.npmjs.com/package/vue-webrtc)
12 | [](https://www.npmjs.com/package/vue-webrtc)
13 | 
14 | [](https://opensource.org/licenses/MIT)
15 |
16 | See [this](http://caniuse.com/#feat=stream)
17 | for browser compatibility.
18 |
19 | ## Installation
20 |
21 | ```
22 | npm install vue-webrtc --save
23 |
24 | ```
25 |
26 | ## Usage
27 |
28 | ```javascript
29 | import Vue from 'vue'
30 | import WebRTC from 'vue-webrtc'
31 | Vue.use(WebRTC)
32 |
33 | // or
34 | import { VueWebRTC } from 'vue-webrtc'
35 | Vue.component(VueWebRTC.name, VueWebRTC)
36 |
37 | // or
38 | import { VueWebRTC } from 'vue-webrtc';
39 | export default {
40 | name: 'App',
41 | components: {
42 | 'vue-webrtc': VueWebRTC
43 | },
44 | ...
45 |
46 | // template
47 |
48 |
49 | ```
50 |
51 | ## Testing & Dev
52 |
53 | ```
54 | npm run serve
55 | ```
56 |
57 | ### Props
58 |
59 | | prop | type | default | notes |
60 | | ---------------- | ------- | ------------ | ------------------------- |
61 | | roomId | string | 'public-room' | id of the room to join |
62 | | socketURL | string | 'https://weston-vue-webrtc-lobby.azurewebsites.net' | URL of the signaling server, use this default or run your own, see .\vue-webrtc-lobby |
63 | | cameraHeight | number | 160 | height of video element |
64 | | autoplay | boolean | true | autoplay attribute |
65 | | screenshotFormat | string | 'image/jpeg' | format of screenshot |
66 | | enableAudio | boolean | true | enables audio on join |
67 | | enableVideo | boolean | true | enables video on join |
68 | | enableLogs | boolean | false | enables webrtc console logs |
69 | | deviceId | string | null | set video device id to a camera from navigator.mediaDevices.enumerateDevices() |
70 | | peerOptions | string | { } | set SimplePeer options such as STUN and TURN from here [https://github.com/feross/simple-peer](https://github.com/feross/simple-peer) |
71 | | ioOptions | string | { rejectUnauthorized: false, transports: ['polling', 'websocket'] } | set Socket IO from here [https://socket.io/docs/v4/client-options/](https://socket.io/docs/v4/client-options/) |
72 |
73 | ### Events
74 |
75 | | name | param | notes |
76 | | -------------- | -------- | ------------------------------------------------------------- |
77 | | opened-room | roomid | emitted when the first user opens the room |
78 | | joined-room | video | emitted when anyone joins the room |
79 | | left-room | video.id | emitted when anyone leaves the room |
80 | | share-started | video.id | emitted when a local screen share stream starts |
81 | | share-stopped | video.id | emitted when a local screen share stream stops |
82 |
83 | ### Methods
84 |
85 | | name | param | notes |
86 | | -------------- | -------- | ----------------------------------------------------------------------- |
87 | | join | void | Join a room, opening it if needed |
88 | | leave | void | Leave a room |
89 | | capture | void | Capture the current image through the webcam as base64 encoded string |
90 | | shareScreen | void | Share your screen or an app as video |
91 |
92 | ### Styles
93 |
94 | .video-list
95 |
96 | .video-item
97 |
98 | ## History
99 |
100 | | Version | Notes |
101 | | -------------- | ----------------------------------------------------------------------- |
102 | | 3.0.1 | Added ioOptions for Socket IO
103 | | 3.0.0 | Migrated from Vue 2 to Vue 3
104 | | 2.0.0 | Replaced signaling server and webrtc library with SimplePeer
105 | | 1.2.2 | Added stunServer and turnServer properties |
106 | | 1.2.1 | Added Vue CLI sample, npm audit fixes |
107 | | 1.2.0 | Added the Screen Share button |
108 |
109 | ## Upgrading from V2 to V3
110 | V3 of this component is a migration from Vue 2 to Vue 3. There is no new functionality yet. The older V2 will only be patched as needed and maintained as Vue 2.
111 |
112 | ## Upgrading from V1 to V2
113 | V2 of this component is mostly compatible with V1 but it completely replaces the internals with a new signaling server and a new SimplePeer client. Due to this, you will need to set the [socketUrl] to a new instance of the included .\vue-webrtc-lobby socket server. There is a default instance that you are welcome to use but you should run your own. If you are using STUN and TURN settings, you will now need to set those in [peerOptions] .
114 |
115 | ## Quick Start with Vue CLI
116 | ```
117 | vue create sample
118 | cd sample
119 | yarn install
120 | npm install vue-webrtc --save
121 | ```
122 | Now open the App.vue file and replace the HelloVue component with the code in the Usage section above.
123 | ```
124 | npm run serve
125 | ```
126 | See the /sample folder for a working project
127 |
128 | ## Roadmap
129 | Some features that we would like to see added are:
130 | - Chat component
131 | - Audio selection
132 | - WebRTC data events
133 |
134 | Let us know what you'd like to see next and vote for a feature.
135 |
136 | ## License
137 |
138 | MIT
139 |
140 | ## Credits
141 |
142 | Author: [@AndyWeston on GitHub at vue-webrtc](https://github.com/westonsoftware)
143 |
144 | This project is based off of:
145 |
146 | [SimplePeer](https://github.com/feross/simple-peer)
147 |
148 | [SimpleSignal](https://github.com/t-mullen/simple-signal)
149 |
--------------------------------------------------------------------------------
/vue-webrtc-lobby/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Ww][Ii][Nn]32/
27 | [Aa][Rr][Mm]/
28 | [Aa][Rr][Mm]64/
29 | bld/
30 | [Bb]in/
31 | [Oo]bj/
32 | [Oo]ut/
33 | [Ll]og/
34 | [Ll]ogs/
35 |
36 | # Visual Studio 2015/2017 cache/options directory
37 | .vs/
38 | # Uncomment if you have tasks that create the project's static files in wwwroot
39 | #wwwroot/
40 |
41 | # Visual Studio 2017 auto generated files
42 | Generated\ Files/
43 |
44 | # MSTest test Results
45 | [Tt]est[Rr]esult*/
46 | [Bb]uild[Ll]og.*
47 |
48 | # NUnit
49 | *.VisualState.xml
50 | TestResult.xml
51 | nunit-*.xml
52 |
53 | # Build Results of an ATL Project
54 | [Dd]ebugPS/
55 | [Rr]eleasePS/
56 | dlldata.c
57 |
58 | # Benchmark Results
59 | BenchmarkDotNet.Artifacts/
60 |
61 | # .NET Core
62 | project.lock.json
63 | project.fragment.lock.json
64 | artifacts/
65 |
66 | # ASP.NET Scaffolding
67 | ScaffoldingReadMe.txt
68 |
69 | # StyleCop
70 | StyleCopReport.xml
71 |
72 | # Files built by Visual Studio
73 | *_i.c
74 | *_p.c
75 | *_h.h
76 | *.ilk
77 | *.meta
78 | *.obj
79 | *.iobj
80 | *.pch
81 | *.pdb
82 | *.ipdb
83 | *.pgc
84 | *.pgd
85 | *.rsp
86 | *.sbr
87 | *.tlb
88 | *.tli
89 | *.tlh
90 | *.tmp
91 | *.tmp_proj
92 | *_wpftmp.csproj
93 | *.log
94 | *.vspscc
95 | *.vssscc
96 | .builds
97 | *.pidb
98 | *.svclog
99 | *.scc
100 |
101 | # Chutzpah Test files
102 | _Chutzpah*
103 |
104 | # Visual C++ cache files
105 | ipch/
106 | *.aps
107 | *.ncb
108 | *.opendb
109 | *.opensdf
110 | *.sdf
111 | *.cachefile
112 | *.VC.db
113 | *.VC.VC.opendb
114 |
115 | # Visual Studio profiler
116 | *.psess
117 | *.vsp
118 | *.vspx
119 | *.sap
120 |
121 | # Visual Studio Trace Files
122 | *.e2e
123 |
124 | # TFS 2012 Local Workspace
125 | $tf/
126 |
127 | # Guidance Automation Toolkit
128 | *.gpState
129 |
130 | # ReSharper is a .NET coding add-in
131 | _ReSharper*/
132 | *.[Rr]e[Ss]harper
133 | *.DotSettings.user
134 |
135 | # TeamCity is a build add-in
136 | _TeamCity*
137 |
138 | # DotCover is a Code Coverage Tool
139 | *.dotCover
140 |
141 | # AxoCover is a Code Coverage Tool
142 | .axoCover/*
143 | !.axoCover/settings.json
144 |
145 | # Coverlet is a free, cross platform Code Coverage Tool
146 | coverage*.json
147 | coverage*.xml
148 | coverage*.info
149 |
150 | # Visual Studio code coverage results
151 | *.coverage
152 | *.coveragexml
153 |
154 | # NCrunch
155 | _NCrunch_*
156 | .*crunch*.local.xml
157 | nCrunchTemp_*
158 |
159 | # MightyMoose
160 | *.mm.*
161 | AutoTest.Net/
162 |
163 | # Web workbench (sass)
164 | .sass-cache/
165 |
166 | # Installshield output folder
167 | [Ee]xpress/
168 |
169 | # DocProject is a documentation generator add-in
170 | DocProject/buildhelp/
171 | DocProject/Help/*.HxT
172 | DocProject/Help/*.HxC
173 | DocProject/Help/*.hhc
174 | DocProject/Help/*.hhk
175 | DocProject/Help/*.hhp
176 | DocProject/Help/Html2
177 | DocProject/Help/html
178 |
179 | # Click-Once directory
180 | publish/
181 |
182 | # Publish Web Output
183 | *.[Pp]ublish.xml
184 | *.azurePubxml
185 | # Note: Comment the next line if you want to checkin your web deploy settings,
186 | # but database connection strings (with potential passwords) will be unencrypted
187 | *.pubxml
188 | *.publishproj
189 | *.arm.json
190 |
191 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
192 | # checkin your Azure Web App publish settings, but sensitive information contained
193 | # in these scripts will be unencrypted
194 | PublishScripts/
195 |
196 | # NuGet Packages
197 | *.nupkg
198 | # NuGet Symbol Packages
199 | *.snupkg
200 | # The packages folder can be ignored because of Package Restore
201 | **/[Pp]ackages/*
202 | # except build/, which is used as an MSBuild target.
203 | !**/[Pp]ackages/build/
204 | # Uncomment if necessary however generally it will be regenerated when needed
205 | #!**/[Pp]ackages/repositories.config
206 | # NuGet v3's project.json files produces more ignorable files
207 | *.nuget.props
208 | *.nuget.targets
209 |
210 | # Microsoft Azure Build Output
211 | csx/
212 | *.build.csdef
213 |
214 | # Microsoft Azure Emulator
215 | ecf/
216 | rcf/
217 |
218 | # Windows Store app package directories and files
219 | AppPackages/
220 | BundleArtifacts/
221 | Package.StoreAssociation.xml
222 | _pkginfo.txt
223 | *.appx
224 | *.appxbundle
225 | *.appxupload
226 |
227 | # Visual Studio cache files
228 | # files ending in .cache can be ignored
229 | *.[Cc]ache
230 | # but keep track of directories ending in .cache
231 | !?*.[Cc]ache/
232 |
233 | # Others
234 | ClientBin/
235 | ~$*
236 | *~
237 | *.dbmdl
238 | *.dbproj.schemaview
239 | *.jfm
240 | *.pfx
241 | *.publishsettings
242 | orleans.codegen.cs
243 |
244 | # Including strong name files can present a security risk
245 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
246 | #*.snk
247 |
248 | # Since there are multiple workflows, uncomment next line to ignore bower_components
249 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
250 | #bower_components/
251 |
252 | # RIA/Silverlight projects
253 | Generated_Code/
254 |
255 | # Backup & report files from converting an old project file
256 | # to a newer Visual Studio version. Backup files are not needed,
257 | # because we have git ;-)
258 | _UpgradeReport_Files/
259 | Backup*/
260 | UpgradeLog*.XML
261 | UpgradeLog*.htm
262 | ServiceFabricBackup/
263 | *.rptproj.bak
264 |
265 | # SQL Server files
266 | *.mdf
267 | *.ldf
268 | *.ndf
269 |
270 | # Business Intelligence projects
271 | *.rdl.data
272 | *.bim.layout
273 | *.bim_*.settings
274 | *.rptproj.rsuser
275 | *- [Bb]ackup.rdl
276 | *- [Bb]ackup ([0-9]).rdl
277 | *- [Bb]ackup ([0-9][0-9]).rdl
278 |
279 | # Microsoft Fakes
280 | FakesAssemblies/
281 |
282 | # GhostDoc plugin setting file
283 | *.GhostDoc.xml
284 |
285 | # Node.js Tools for Visual Studio
286 | .ntvs_analysis.dat
287 | node_modules/
288 |
289 | # Visual Studio 6 build log
290 | *.plg
291 |
292 | # Visual Studio 6 workspace options file
293 | *.opt
294 |
295 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
296 | *.vbw
297 |
298 | # Visual Studio LightSwitch build output
299 | **/*.HTMLClient/GeneratedArtifacts
300 | **/*.DesktopClient/GeneratedArtifacts
301 | **/*.DesktopClient/ModelManifest.xml
302 | **/*.Server/GeneratedArtifacts
303 | **/*.Server/ModelManifest.xml
304 | _Pvt_Extensions
305 |
306 | # Paket dependency manager
307 | .paket/paket.exe
308 | paket-files/
309 |
310 | # FAKE - F# Make
311 | .fake/
312 |
313 | # CodeRush personal settings
314 | .cr/personal
315 |
316 | # Python Tools for Visual Studio (PTVS)
317 | __pycache__/
318 | *.pyc
319 |
320 | # Cake - Uncomment if you are using it
321 | # tools/**
322 | # !tools/packages.config
323 |
324 | # Tabs Studio
325 | *.tss
326 |
327 | # Telerik's JustMock configuration file
328 | *.jmconfig
329 |
330 | # BizTalk build output
331 | *.btp.cs
332 | *.btm.cs
333 | *.odx.cs
334 | *.xsd.cs
335 |
336 | # OpenCover UI analysis results
337 | OpenCover/
338 |
339 | # Azure Stream Analytics local run output
340 | ASALocalRun/
341 |
342 | # MSBuild Binary and Structured Log
343 | *.binlog
344 |
345 | # NVidia Nsight GPU debugger configuration file
346 | *.nvuser
347 |
348 | # MFractors (Xamarin productivity tool) working folder
349 | .mfractor/
350 |
351 | # Local History for Visual Studio
352 | .localhistory/
353 |
354 | # BeatPulse healthcheck temp database
355 | healthchecksdb
356 |
357 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
358 | MigrationBackup/
359 |
360 | # Ionide (cross platform F# VS Code tools) working folder
361 | .ionide/
362 |
363 | # Fody - auto-generated XML schema
364 | FodyWeavers.xsd
365 |
--------------------------------------------------------------------------------
/src/lib-components/vue-webrtc.vue:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
232 |
251 |
--------------------------------------------------------------------------------
/sample/dist/js/app.b0af2813.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"js/app.b0af2813.js","mappings":"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","sources":["webpack://sample/./src/App.vue","webpack://sample/./src/components/Demo.vue","webpack://sample/./src/components/Demo.vue?5521","webpack://sample/./src/App.vue?7ccd","webpack://sample/./src/main.js","webpack://sample/webpack/bootstrap","webpack://sample/webpack/runtime/chunk loaded","webpack://sample/webpack/runtime/compat get default export","webpack://sample/webpack/runtime/define property getters","webpack://sample/webpack/runtime/global","webpack://sample/webpack/runtime/hasOwnProperty shorthand","webpack://sample/webpack/runtime/node module decorator","webpack://sample/webpack/runtime/jsonp chunk loading","webpack://sample/webpack/startup"],"sourcesContent":["\n \n \n\n\n\n\n\n","\n \n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n
Captured Image
\n
\n
\n \n
\n
\n
\n\n\n\n\n","import { render } from \"./Demo.vue?vue&type=template&id=308523e6\"\nimport script from \"./Demo.vue?vue&type=script&lang=js\"\nexport * from \"./Demo.vue?vue&type=script&lang=js\"\n\nimport \"./Demo.vue?vue&type=style&index=0&id=308523e6&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\awest\\\\source\\\\repos\\\\vue-webrtc\\\\sample\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=77e0065a\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=77e0065a&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\awest\\\\source\\\\repos\\\\vue-webrtc\\\\sample\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunksample\"] = self[\"webpackChunksample\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(8970); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_createBlock","_component_demo_component","class","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","$data","_hoisted_5","_hoisted_6","_hoisted_7","_createVNode","_component_vue_webrtc","ref","width","roomId","enableLogs","onJoinedRoom","$options","onLeftRoom","onOpenedRoom","onShareStarted","onShareStopped","onError","_hoisted_8","_hoisted_9","type","onClick","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","src","name","components","VueWebRTC","data","img","mounted","computed","watch","methods","onCapture","this","$refs","webrtc","capture","onJoin","join","onLeave","leave","onShareScreen","shareScreen","error","stream","console","log","logEvent","event","__exports__","Demo","render","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""}
--------------------------------------------------------------------------------
/docs/js/app.1af35bb0.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Demo.vue?da67","webpack:///./src/App.vue?f617","webpack:///./src/App.vue","webpack:///./src/components/Demo.vue","webpack:///./src/components/Demo.vue?5413","webpack:///./src/App.vue?8ecf","webpack:///./src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_createBlock","_component_demo","class","_createElementVNode","_createElementBlock","_hoisted_4","$data","$event","_createVNode","_component_vue_webrtc","ref","width","roomId","enableLogs","onJoinedRoom","$options","onLeftRoom","onOpenedRoom","onShareStarted","onShareStopped","onError","type","onClick","_hoisted_12","src","components","VueWebRTC","img","mounted","computed","watch","methods","onCapture","this","$refs","webrtc","capture","onJoin","join","onLeave","leave","onShareScreen","shareScreen","error","stream","console","log","logEvent","event","__exports__","Demo","render","createApp","App","mount"],"mappings":"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","file":"js/app.1af35bb0.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Demo.vue?vue&type=style&index=0&id=b8b90714&lang=css\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./App.vue?vue&type=style&index=0&id=516c7123&lang=css\"","\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","\r\n \r\n
\r\n
\r\n
Room
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Captured Image
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { render } from \"./Demo.vue?vue&type=template&id=b8b90714\"\nimport script from \"./Demo.vue?vue&type=script&lang=js\"\nexport * from \"./Demo.vue?vue&type=script&lang=js\"\n\nimport \"./Demo.vue?vue&type=style&index=0&id=b8b90714&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\awest\\\\source\\\\repos\\\\vue-webrtc\\\\sample\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=516c7123\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=516c7123&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\awest\\\\source\\\\repos\\\\vue-webrtc\\\\sample\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport 'setimmediate'; // HACK: https://github.com/winstonjs/winston/issues/1354\r\n\r\ncreateApp(App).mount('#app')\r\n"],"sourceRoot":""}
--------------------------------------------------------------------------------
/vue-webrtc-lobby/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-webrtc-lobby",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "vue-webrtc-lobby",
9 | "version": "1.0.0",
10 | "dependencies": {
11 | "express": "^4.18.2",
12 | "simple-signal-server": "^3.0.0",
13 | "socket.io": "^4.5.4"
14 | },
15 | "engines": {
16 | "node": "~14.16.x"
17 | }
18 | },
19 | "node_modules/@socket.io/component-emitter": {
20 | "version": "3.1.0",
21 | "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
22 | "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
23 | },
24 | "node_modules/@types/cookie": {
25 | "version": "0.4.1",
26 | "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
27 | "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
28 | },
29 | "node_modules/@types/cors": {
30 | "version": "2.8.13",
31 | "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
32 | "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
33 | "dependencies": {
34 | "@types/node": "*"
35 | }
36 | },
37 | "node_modules/@types/node": {
38 | "version": "18.11.13",
39 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.13.tgz",
40 | "integrity": "sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w=="
41 | },
42 | "node_modules/accepts": {
43 | "version": "1.3.8",
44 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
45 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
46 | "dependencies": {
47 | "mime-types": "~2.1.34",
48 | "negotiator": "0.6.3"
49 | },
50 | "engines": {
51 | "node": ">= 0.6"
52 | }
53 | },
54 | "node_modules/array-flatten": {
55 | "version": "1.1.1",
56 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
57 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
58 | },
59 | "node_modules/base64id": {
60 | "version": "2.0.0",
61 | "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
62 | "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
63 | "engines": {
64 | "node": "^4.5.0 || >= 5.9"
65 | }
66 | },
67 | "node_modules/body-parser": {
68 | "version": "1.20.1",
69 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
70 | "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
71 | "dependencies": {
72 | "bytes": "3.1.2",
73 | "content-type": "~1.0.4",
74 | "debug": "2.6.9",
75 | "depd": "2.0.0",
76 | "destroy": "1.2.0",
77 | "http-errors": "2.0.0",
78 | "iconv-lite": "0.4.24",
79 | "on-finished": "2.4.1",
80 | "qs": "6.11.0",
81 | "raw-body": "2.5.1",
82 | "type-is": "~1.6.18",
83 | "unpipe": "1.0.0"
84 | },
85 | "engines": {
86 | "node": ">= 0.8",
87 | "npm": "1.2.8000 || >= 1.4.16"
88 | }
89 | },
90 | "node_modules/bytes": {
91 | "version": "3.1.2",
92 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
93 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
94 | "engines": {
95 | "node": ">= 0.8"
96 | }
97 | },
98 | "node_modules/call-bind": {
99 | "version": "1.0.2",
100 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
101 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
102 | "dependencies": {
103 | "function-bind": "^1.1.1",
104 | "get-intrinsic": "^1.0.2"
105 | },
106 | "funding": {
107 | "url": "https://github.com/sponsors/ljharb"
108 | }
109 | },
110 | "node_modules/content-disposition": {
111 | "version": "0.5.4",
112 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
113 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
114 | "dependencies": {
115 | "safe-buffer": "5.2.1"
116 | },
117 | "engines": {
118 | "node": ">= 0.6"
119 | }
120 | },
121 | "node_modules/content-type": {
122 | "version": "1.0.4",
123 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
124 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
125 | "engines": {
126 | "node": ">= 0.6"
127 | }
128 | },
129 | "node_modules/cookie": {
130 | "version": "0.5.0",
131 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
132 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
133 | "engines": {
134 | "node": ">= 0.6"
135 | }
136 | },
137 | "node_modules/cookie-signature": {
138 | "version": "1.0.6",
139 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
140 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
141 | },
142 | "node_modules/cors": {
143 | "version": "2.8.5",
144 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
145 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
146 | "dependencies": {
147 | "object-assign": "^4",
148 | "vary": "^1"
149 | },
150 | "engines": {
151 | "node": ">= 0.10"
152 | }
153 | },
154 | "node_modules/debug": {
155 | "version": "2.6.9",
156 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
157 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
158 | "dependencies": {
159 | "ms": "2.0.0"
160 | }
161 | },
162 | "node_modules/depd": {
163 | "version": "2.0.0",
164 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
165 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
166 | "engines": {
167 | "node": ">= 0.8"
168 | }
169 | },
170 | "node_modules/destroy": {
171 | "version": "1.2.0",
172 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
173 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
174 | "engines": {
175 | "node": ">= 0.8",
176 | "npm": "1.2.8000 || >= 1.4.16"
177 | }
178 | },
179 | "node_modules/ee-first": {
180 | "version": "1.1.1",
181 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
182 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
183 | },
184 | "node_modules/encodeurl": {
185 | "version": "1.0.2",
186 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
187 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
188 | "engines": {
189 | "node": ">= 0.8"
190 | }
191 | },
192 | "node_modules/engine.io": {
193 | "version": "6.2.1",
194 | "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
195 | "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
196 | "dependencies": {
197 | "@types/cookie": "^0.4.1",
198 | "@types/cors": "^2.8.12",
199 | "@types/node": ">=10.0.0",
200 | "accepts": "~1.3.4",
201 | "base64id": "2.0.0",
202 | "cookie": "~0.4.1",
203 | "cors": "~2.8.5",
204 | "debug": "~4.3.1",
205 | "engine.io-parser": "~5.0.3",
206 | "ws": "~8.2.3"
207 | },
208 | "engines": {
209 | "node": ">=10.0.0"
210 | }
211 | },
212 | "node_modules/engine.io-parser": {
213 | "version": "5.0.4",
214 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
215 | "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
216 | "engines": {
217 | "node": ">=10.0.0"
218 | }
219 | },
220 | "node_modules/engine.io/node_modules/cookie": {
221 | "version": "0.4.2",
222 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
223 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
224 | "engines": {
225 | "node": ">= 0.6"
226 | }
227 | },
228 | "node_modules/engine.io/node_modules/debug": {
229 | "version": "4.3.4",
230 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
231 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
232 | "dependencies": {
233 | "ms": "2.1.2"
234 | },
235 | "engines": {
236 | "node": ">=6.0"
237 | },
238 | "peerDependenciesMeta": {
239 | "supports-color": {
240 | "optional": true
241 | }
242 | }
243 | },
244 | "node_modules/engine.io/node_modules/ms": {
245 | "version": "2.1.2",
246 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
247 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
248 | },
249 | "node_modules/escape-html": {
250 | "version": "1.0.3",
251 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
252 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
253 | },
254 | "node_modules/etag": {
255 | "version": "1.8.1",
256 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
257 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
258 | "engines": {
259 | "node": ">= 0.6"
260 | }
261 | },
262 | "node_modules/express": {
263 | "version": "4.18.2",
264 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
265 | "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
266 | "dependencies": {
267 | "accepts": "~1.3.8",
268 | "array-flatten": "1.1.1",
269 | "body-parser": "1.20.1",
270 | "content-disposition": "0.5.4",
271 | "content-type": "~1.0.4",
272 | "cookie": "0.5.0",
273 | "cookie-signature": "1.0.6",
274 | "debug": "2.6.9",
275 | "depd": "2.0.0",
276 | "encodeurl": "~1.0.2",
277 | "escape-html": "~1.0.3",
278 | "etag": "~1.8.1",
279 | "finalhandler": "1.2.0",
280 | "fresh": "0.5.2",
281 | "http-errors": "2.0.0",
282 | "merge-descriptors": "1.0.1",
283 | "methods": "~1.1.2",
284 | "on-finished": "2.4.1",
285 | "parseurl": "~1.3.3",
286 | "path-to-regexp": "0.1.7",
287 | "proxy-addr": "~2.0.7",
288 | "qs": "6.11.0",
289 | "range-parser": "~1.2.1",
290 | "safe-buffer": "5.2.1",
291 | "send": "0.18.0",
292 | "serve-static": "1.15.0",
293 | "setprototypeof": "1.2.0",
294 | "statuses": "2.0.1",
295 | "type-is": "~1.6.18",
296 | "utils-merge": "1.0.1",
297 | "vary": "~1.1.2"
298 | },
299 | "engines": {
300 | "node": ">= 0.10.0"
301 | }
302 | },
303 | "node_modules/finalhandler": {
304 | "version": "1.2.0",
305 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
306 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
307 | "dependencies": {
308 | "debug": "2.6.9",
309 | "encodeurl": "~1.0.2",
310 | "escape-html": "~1.0.3",
311 | "on-finished": "2.4.1",
312 | "parseurl": "~1.3.3",
313 | "statuses": "2.0.1",
314 | "unpipe": "~1.0.0"
315 | },
316 | "engines": {
317 | "node": ">= 0.8"
318 | }
319 | },
320 | "node_modules/forwarded": {
321 | "version": "0.2.0",
322 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
323 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
324 | "engines": {
325 | "node": ">= 0.6"
326 | }
327 | },
328 | "node_modules/fresh": {
329 | "version": "0.5.2",
330 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
331 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
332 | "engines": {
333 | "node": ">= 0.6"
334 | }
335 | },
336 | "node_modules/function-bind": {
337 | "version": "1.1.1",
338 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
339 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
340 | },
341 | "node_modules/get-intrinsic": {
342 | "version": "1.1.3",
343 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
344 | "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
345 | "dependencies": {
346 | "function-bind": "^1.1.1",
347 | "has": "^1.0.3",
348 | "has-symbols": "^1.0.3"
349 | },
350 | "funding": {
351 | "url": "https://github.com/sponsors/ljharb"
352 | }
353 | },
354 | "node_modules/has": {
355 | "version": "1.0.3",
356 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
357 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
358 | "dependencies": {
359 | "function-bind": "^1.1.1"
360 | },
361 | "engines": {
362 | "node": ">= 0.4.0"
363 | }
364 | },
365 | "node_modules/has-symbols": {
366 | "version": "1.0.3",
367 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
368 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
369 | "engines": {
370 | "node": ">= 0.4"
371 | },
372 | "funding": {
373 | "url": "https://github.com/sponsors/ljharb"
374 | }
375 | },
376 | "node_modules/http-errors": {
377 | "version": "2.0.0",
378 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
379 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
380 | "dependencies": {
381 | "depd": "2.0.0",
382 | "inherits": "2.0.4",
383 | "setprototypeof": "1.2.0",
384 | "statuses": "2.0.1",
385 | "toidentifier": "1.0.1"
386 | },
387 | "engines": {
388 | "node": ">= 0.8"
389 | }
390 | },
391 | "node_modules/iconv-lite": {
392 | "version": "0.4.24",
393 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
394 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
395 | "dependencies": {
396 | "safer-buffer": ">= 2.1.2 < 3"
397 | },
398 | "engines": {
399 | "node": ">=0.10.0"
400 | }
401 | },
402 | "node_modules/inherits": {
403 | "version": "2.0.4",
404 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
405 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
406 | },
407 | "node_modules/ipaddr.js": {
408 | "version": "1.9.1",
409 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
410 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
411 | "engines": {
412 | "node": ">= 0.10"
413 | }
414 | },
415 | "node_modules/media-typer": {
416 | "version": "0.3.0",
417 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
418 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
419 | "engines": {
420 | "node": ">= 0.6"
421 | }
422 | },
423 | "node_modules/merge-descriptors": {
424 | "version": "1.0.1",
425 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
426 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
427 | },
428 | "node_modules/methods": {
429 | "version": "1.1.2",
430 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
431 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
432 | "engines": {
433 | "node": ">= 0.6"
434 | }
435 | },
436 | "node_modules/mime": {
437 | "version": "1.6.0",
438 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
439 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
440 | "bin": {
441 | "mime": "cli.js"
442 | },
443 | "engines": {
444 | "node": ">=4"
445 | }
446 | },
447 | "node_modules/mime-db": {
448 | "version": "1.52.0",
449 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
450 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
451 | "engines": {
452 | "node": ">= 0.6"
453 | }
454 | },
455 | "node_modules/mime-types": {
456 | "version": "2.1.35",
457 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
458 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
459 | "dependencies": {
460 | "mime-db": "1.52.0"
461 | },
462 | "engines": {
463 | "node": ">= 0.6"
464 | }
465 | },
466 | "node_modules/ms": {
467 | "version": "2.0.0",
468 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
469 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
470 | },
471 | "node_modules/nanoassert": {
472 | "version": "1.1.0",
473 | "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz",
474 | "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ=="
475 | },
476 | "node_modules/nanobus": {
477 | "version": "4.5.0",
478 | "resolved": "https://registry.npmjs.org/nanobus/-/nanobus-4.5.0.tgz",
479 | "integrity": "sha512-7sBZo9wthqNJ7QXnfVXZL7fkKJLN55GLOdX+RyZT34UOvxxnFtJe/c7K0ZRLAKOvaY1xJThFFn0Usw2H9R6Frg==",
480 | "dependencies": {
481 | "nanoassert": "^1.1.0",
482 | "nanotiming": "^7.2.0",
483 | "remove-array-items": "^1.0.0"
484 | }
485 | },
486 | "node_modules/nanoscheduler": {
487 | "version": "1.0.3",
488 | "resolved": "https://registry.npmjs.org/nanoscheduler/-/nanoscheduler-1.0.3.tgz",
489 | "integrity": "sha512-jBbrF3qdU9321r8n9X7yu18DjP31Do2ItJm3mWrt90wJTrnDO+HXpoV7ftaUglAtjgj9s+OaCxGufbvx6pvbEQ==",
490 | "dependencies": {
491 | "nanoassert": "^1.1.0"
492 | }
493 | },
494 | "node_modules/nanotiming": {
495 | "version": "7.3.1",
496 | "resolved": "https://registry.npmjs.org/nanotiming/-/nanotiming-7.3.1.tgz",
497 | "integrity": "sha512-l3lC7v/PfOuRWQa8vV29Jo6TG10wHtnthLElFXs4Te4Aas57Fo4n1Q8LH9n+NDh9riOzTVvb2QNBhTS4JUKNjw==",
498 | "dependencies": {
499 | "nanoassert": "^1.1.0",
500 | "nanoscheduler": "^1.0.2"
501 | }
502 | },
503 | "node_modules/negotiator": {
504 | "version": "0.6.3",
505 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
506 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
507 | "engines": {
508 | "node": ">= 0.6"
509 | }
510 | },
511 | "node_modules/object-assign": {
512 | "version": "4.1.1",
513 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
514 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
515 | "engines": {
516 | "node": ">=0.10.0"
517 | }
518 | },
519 | "node_modules/object-inspect": {
520 | "version": "1.12.2",
521 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
522 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
523 | "funding": {
524 | "url": "https://github.com/sponsors/ljharb"
525 | }
526 | },
527 | "node_modules/on-finished": {
528 | "version": "2.4.1",
529 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
530 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
531 | "dependencies": {
532 | "ee-first": "1.1.1"
533 | },
534 | "engines": {
535 | "node": ">= 0.8"
536 | }
537 | },
538 | "node_modules/parseurl": {
539 | "version": "1.3.3",
540 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
541 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
542 | "engines": {
543 | "node": ">= 0.8"
544 | }
545 | },
546 | "node_modules/path-to-regexp": {
547 | "version": "0.1.7",
548 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
549 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
550 | },
551 | "node_modules/proxy-addr": {
552 | "version": "2.0.7",
553 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
554 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
555 | "dependencies": {
556 | "forwarded": "0.2.0",
557 | "ipaddr.js": "1.9.1"
558 | },
559 | "engines": {
560 | "node": ">= 0.10"
561 | }
562 | },
563 | "node_modules/qs": {
564 | "version": "6.11.0",
565 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
566 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
567 | "dependencies": {
568 | "side-channel": "^1.0.4"
569 | },
570 | "engines": {
571 | "node": ">=0.6"
572 | },
573 | "funding": {
574 | "url": "https://github.com/sponsors/ljharb"
575 | }
576 | },
577 | "node_modules/range-parser": {
578 | "version": "1.2.1",
579 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
580 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
581 | "engines": {
582 | "node": ">= 0.6"
583 | }
584 | },
585 | "node_modules/raw-body": {
586 | "version": "2.5.1",
587 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
588 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
589 | "dependencies": {
590 | "bytes": "3.1.2",
591 | "http-errors": "2.0.0",
592 | "iconv-lite": "0.4.24",
593 | "unpipe": "1.0.0"
594 | },
595 | "engines": {
596 | "node": ">= 0.8"
597 | }
598 | },
599 | "node_modules/remove-array-items": {
600 | "version": "1.1.1",
601 | "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz",
602 | "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA=="
603 | },
604 | "node_modules/safe-buffer": {
605 | "version": "5.2.1",
606 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
607 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
608 | "funding": [
609 | {
610 | "type": "github",
611 | "url": "https://github.com/sponsors/feross"
612 | },
613 | {
614 | "type": "patreon",
615 | "url": "https://www.patreon.com/feross"
616 | },
617 | {
618 | "type": "consulting",
619 | "url": "https://feross.org/support"
620 | }
621 | ]
622 | },
623 | "node_modules/safer-buffer": {
624 | "version": "2.1.2",
625 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
626 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
627 | },
628 | "node_modules/send": {
629 | "version": "0.18.0",
630 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
631 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
632 | "dependencies": {
633 | "debug": "2.6.9",
634 | "depd": "2.0.0",
635 | "destroy": "1.2.0",
636 | "encodeurl": "~1.0.2",
637 | "escape-html": "~1.0.3",
638 | "etag": "~1.8.1",
639 | "fresh": "0.5.2",
640 | "http-errors": "2.0.0",
641 | "mime": "1.6.0",
642 | "ms": "2.1.3",
643 | "on-finished": "2.4.1",
644 | "range-parser": "~1.2.1",
645 | "statuses": "2.0.1"
646 | },
647 | "engines": {
648 | "node": ">= 0.8.0"
649 | }
650 | },
651 | "node_modules/send/node_modules/ms": {
652 | "version": "2.1.3",
653 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
654 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
655 | },
656 | "node_modules/serve-static": {
657 | "version": "1.15.0",
658 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
659 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
660 | "dependencies": {
661 | "encodeurl": "~1.0.2",
662 | "escape-html": "~1.0.3",
663 | "parseurl": "~1.3.3",
664 | "send": "0.18.0"
665 | },
666 | "engines": {
667 | "node": ">= 0.8.0"
668 | }
669 | },
670 | "node_modules/setprototypeof": {
671 | "version": "1.2.0",
672 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
673 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
674 | },
675 | "node_modules/side-channel": {
676 | "version": "1.0.4",
677 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
678 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
679 | "dependencies": {
680 | "call-bind": "^1.0.0",
681 | "get-intrinsic": "^1.0.2",
682 | "object-inspect": "^1.9.0"
683 | },
684 | "funding": {
685 | "url": "https://github.com/sponsors/ljharb"
686 | }
687 | },
688 | "node_modules/simple-signal-server": {
689 | "version": "3.0.0",
690 | "resolved": "https://registry.npmjs.org/simple-signal-server/-/simple-signal-server-3.0.0.tgz",
691 | "integrity": "sha512-7nSmoU0wXG3wqoNVHlOV1rVlwB0sfpFxg0wYaUnB72QDN9r1oXkn0D7OyBv5NDSESPdUITsr18e1DayD64hu6Q==",
692 | "dependencies": {
693 | "inherits": "^2.0.3",
694 | "nanobus": "^4.3.3"
695 | }
696 | },
697 | "node_modules/socket.io": {
698 | "version": "4.5.4",
699 | "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz",
700 | "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==",
701 | "dependencies": {
702 | "accepts": "~1.3.4",
703 | "base64id": "~2.0.0",
704 | "debug": "~4.3.2",
705 | "engine.io": "~6.2.1",
706 | "socket.io-adapter": "~2.4.0",
707 | "socket.io-parser": "~4.2.1"
708 | },
709 | "engines": {
710 | "node": ">=10.0.0"
711 | }
712 | },
713 | "node_modules/socket.io-adapter": {
714 | "version": "2.4.0",
715 | "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
716 | "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
717 | },
718 | "node_modules/socket.io-parser": {
719 | "version": "4.2.1",
720 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
721 | "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
722 | "dependencies": {
723 | "@socket.io/component-emitter": "~3.1.0",
724 | "debug": "~4.3.1"
725 | },
726 | "engines": {
727 | "node": ">=10.0.0"
728 | }
729 | },
730 | "node_modules/socket.io-parser/node_modules/debug": {
731 | "version": "4.3.4",
732 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
733 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
734 | "dependencies": {
735 | "ms": "2.1.2"
736 | },
737 | "engines": {
738 | "node": ">=6.0"
739 | },
740 | "peerDependenciesMeta": {
741 | "supports-color": {
742 | "optional": true
743 | }
744 | }
745 | },
746 | "node_modules/socket.io-parser/node_modules/ms": {
747 | "version": "2.1.2",
748 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
749 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
750 | },
751 | "node_modules/socket.io/node_modules/debug": {
752 | "version": "4.3.4",
753 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
754 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
755 | "dependencies": {
756 | "ms": "2.1.2"
757 | },
758 | "engines": {
759 | "node": ">=6.0"
760 | },
761 | "peerDependenciesMeta": {
762 | "supports-color": {
763 | "optional": true
764 | }
765 | }
766 | },
767 | "node_modules/socket.io/node_modules/ms": {
768 | "version": "2.1.2",
769 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
770 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
771 | },
772 | "node_modules/statuses": {
773 | "version": "2.0.1",
774 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
775 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
776 | "engines": {
777 | "node": ">= 0.8"
778 | }
779 | },
780 | "node_modules/toidentifier": {
781 | "version": "1.0.1",
782 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
783 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
784 | "engines": {
785 | "node": ">=0.6"
786 | }
787 | },
788 | "node_modules/type-is": {
789 | "version": "1.6.18",
790 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
791 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
792 | "dependencies": {
793 | "media-typer": "0.3.0",
794 | "mime-types": "~2.1.24"
795 | },
796 | "engines": {
797 | "node": ">= 0.6"
798 | }
799 | },
800 | "node_modules/unpipe": {
801 | "version": "1.0.0",
802 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
803 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
804 | "engines": {
805 | "node": ">= 0.8"
806 | }
807 | },
808 | "node_modules/utils-merge": {
809 | "version": "1.0.1",
810 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
811 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
812 | "engines": {
813 | "node": ">= 0.4.0"
814 | }
815 | },
816 | "node_modules/vary": {
817 | "version": "1.1.2",
818 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
819 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
820 | "engines": {
821 | "node": ">= 0.8"
822 | }
823 | },
824 | "node_modules/ws": {
825 | "version": "8.2.3",
826 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
827 | "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
828 | "engines": {
829 | "node": ">=10.0.0"
830 | },
831 | "peerDependencies": {
832 | "bufferutil": "^4.0.1",
833 | "utf-8-validate": "^5.0.2"
834 | },
835 | "peerDependenciesMeta": {
836 | "bufferutil": {
837 | "optional": true
838 | },
839 | "utf-8-validate": {
840 | "optional": true
841 | }
842 | }
843 | }
844 | },
845 | "dependencies": {
846 | "@socket.io/component-emitter": {
847 | "version": "3.1.0",
848 | "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
849 | "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
850 | },
851 | "@types/cookie": {
852 | "version": "0.4.1",
853 | "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
854 | "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
855 | },
856 | "@types/cors": {
857 | "version": "2.8.13",
858 | "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
859 | "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
860 | "requires": {
861 | "@types/node": "*"
862 | }
863 | },
864 | "@types/node": {
865 | "version": "18.11.13",
866 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.13.tgz",
867 | "integrity": "sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w=="
868 | },
869 | "accepts": {
870 | "version": "1.3.8",
871 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
872 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
873 | "requires": {
874 | "mime-types": "~2.1.34",
875 | "negotiator": "0.6.3"
876 | }
877 | },
878 | "array-flatten": {
879 | "version": "1.1.1",
880 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
881 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
882 | },
883 | "base64id": {
884 | "version": "2.0.0",
885 | "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
886 | "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
887 | },
888 | "body-parser": {
889 | "version": "1.20.1",
890 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
891 | "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
892 | "requires": {
893 | "bytes": "3.1.2",
894 | "content-type": "~1.0.4",
895 | "debug": "2.6.9",
896 | "depd": "2.0.0",
897 | "destroy": "1.2.0",
898 | "http-errors": "2.0.0",
899 | "iconv-lite": "0.4.24",
900 | "on-finished": "2.4.1",
901 | "qs": "6.11.0",
902 | "raw-body": "2.5.1",
903 | "type-is": "~1.6.18",
904 | "unpipe": "1.0.0"
905 | }
906 | },
907 | "bytes": {
908 | "version": "3.1.2",
909 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
910 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
911 | },
912 | "call-bind": {
913 | "version": "1.0.2",
914 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
915 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
916 | "requires": {
917 | "function-bind": "^1.1.1",
918 | "get-intrinsic": "^1.0.2"
919 | }
920 | },
921 | "content-disposition": {
922 | "version": "0.5.4",
923 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
924 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
925 | "requires": {
926 | "safe-buffer": "5.2.1"
927 | }
928 | },
929 | "content-type": {
930 | "version": "1.0.4",
931 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
932 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
933 | },
934 | "cookie": {
935 | "version": "0.5.0",
936 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
937 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
938 | },
939 | "cookie-signature": {
940 | "version": "1.0.6",
941 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
942 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
943 | },
944 | "cors": {
945 | "version": "2.8.5",
946 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
947 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
948 | "requires": {
949 | "object-assign": "^4",
950 | "vary": "^1"
951 | }
952 | },
953 | "debug": {
954 | "version": "2.6.9",
955 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
956 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
957 | "requires": {
958 | "ms": "2.0.0"
959 | }
960 | },
961 | "depd": {
962 | "version": "2.0.0",
963 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
964 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
965 | },
966 | "destroy": {
967 | "version": "1.2.0",
968 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
969 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
970 | },
971 | "ee-first": {
972 | "version": "1.1.1",
973 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
974 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
975 | },
976 | "encodeurl": {
977 | "version": "1.0.2",
978 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
979 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
980 | },
981 | "engine.io": {
982 | "version": "6.2.1",
983 | "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
984 | "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
985 | "requires": {
986 | "@types/cookie": "^0.4.1",
987 | "@types/cors": "^2.8.12",
988 | "@types/node": ">=10.0.0",
989 | "accepts": "~1.3.4",
990 | "base64id": "2.0.0",
991 | "cookie": "~0.4.1",
992 | "cors": "~2.8.5",
993 | "debug": "~4.3.1",
994 | "engine.io-parser": "~5.0.3",
995 | "ws": "~8.2.3"
996 | },
997 | "dependencies": {
998 | "cookie": {
999 | "version": "0.4.2",
1000 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
1001 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
1002 | },
1003 | "debug": {
1004 | "version": "4.3.4",
1005 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1006 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1007 | "requires": {
1008 | "ms": "2.1.2"
1009 | }
1010 | },
1011 | "ms": {
1012 | "version": "2.1.2",
1013 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1014 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1015 | }
1016 | }
1017 | },
1018 | "engine.io-parser": {
1019 | "version": "5.0.4",
1020 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
1021 | "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
1022 | },
1023 | "escape-html": {
1024 | "version": "1.0.3",
1025 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1026 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
1027 | },
1028 | "etag": {
1029 | "version": "1.8.1",
1030 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1031 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
1032 | },
1033 | "express": {
1034 | "version": "4.18.2",
1035 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
1036 | "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
1037 | "requires": {
1038 | "accepts": "~1.3.8",
1039 | "array-flatten": "1.1.1",
1040 | "body-parser": "1.20.1",
1041 | "content-disposition": "0.5.4",
1042 | "content-type": "~1.0.4",
1043 | "cookie": "0.5.0",
1044 | "cookie-signature": "1.0.6",
1045 | "debug": "2.6.9",
1046 | "depd": "2.0.0",
1047 | "encodeurl": "~1.0.2",
1048 | "escape-html": "~1.0.3",
1049 | "etag": "~1.8.1",
1050 | "finalhandler": "1.2.0",
1051 | "fresh": "0.5.2",
1052 | "http-errors": "2.0.0",
1053 | "merge-descriptors": "1.0.1",
1054 | "methods": "~1.1.2",
1055 | "on-finished": "2.4.1",
1056 | "parseurl": "~1.3.3",
1057 | "path-to-regexp": "0.1.7",
1058 | "proxy-addr": "~2.0.7",
1059 | "qs": "6.11.0",
1060 | "range-parser": "~1.2.1",
1061 | "safe-buffer": "5.2.1",
1062 | "send": "0.18.0",
1063 | "serve-static": "1.15.0",
1064 | "setprototypeof": "1.2.0",
1065 | "statuses": "2.0.1",
1066 | "type-is": "~1.6.18",
1067 | "utils-merge": "1.0.1",
1068 | "vary": "~1.1.2"
1069 | }
1070 | },
1071 | "finalhandler": {
1072 | "version": "1.2.0",
1073 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
1074 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
1075 | "requires": {
1076 | "debug": "2.6.9",
1077 | "encodeurl": "~1.0.2",
1078 | "escape-html": "~1.0.3",
1079 | "on-finished": "2.4.1",
1080 | "parseurl": "~1.3.3",
1081 | "statuses": "2.0.1",
1082 | "unpipe": "~1.0.0"
1083 | }
1084 | },
1085 | "forwarded": {
1086 | "version": "0.2.0",
1087 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
1088 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
1089 | },
1090 | "fresh": {
1091 | "version": "0.5.2",
1092 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1093 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
1094 | },
1095 | "function-bind": {
1096 | "version": "1.1.1",
1097 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1098 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1099 | },
1100 | "get-intrinsic": {
1101 | "version": "1.1.3",
1102 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
1103 | "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
1104 | "requires": {
1105 | "function-bind": "^1.1.1",
1106 | "has": "^1.0.3",
1107 | "has-symbols": "^1.0.3"
1108 | }
1109 | },
1110 | "has": {
1111 | "version": "1.0.3",
1112 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1113 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1114 | "requires": {
1115 | "function-bind": "^1.1.1"
1116 | }
1117 | },
1118 | "has-symbols": {
1119 | "version": "1.0.3",
1120 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1121 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
1122 | },
1123 | "http-errors": {
1124 | "version": "2.0.0",
1125 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
1126 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
1127 | "requires": {
1128 | "depd": "2.0.0",
1129 | "inherits": "2.0.4",
1130 | "setprototypeof": "1.2.0",
1131 | "statuses": "2.0.1",
1132 | "toidentifier": "1.0.1"
1133 | }
1134 | },
1135 | "iconv-lite": {
1136 | "version": "0.4.24",
1137 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1138 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1139 | "requires": {
1140 | "safer-buffer": ">= 2.1.2 < 3"
1141 | }
1142 | },
1143 | "inherits": {
1144 | "version": "2.0.4",
1145 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1146 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1147 | },
1148 | "ipaddr.js": {
1149 | "version": "1.9.1",
1150 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1151 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
1152 | },
1153 | "media-typer": {
1154 | "version": "0.3.0",
1155 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1156 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
1157 | },
1158 | "merge-descriptors": {
1159 | "version": "1.0.1",
1160 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1161 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
1162 | },
1163 | "methods": {
1164 | "version": "1.1.2",
1165 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1166 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
1167 | },
1168 | "mime": {
1169 | "version": "1.6.0",
1170 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1171 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
1172 | },
1173 | "mime-db": {
1174 | "version": "1.52.0",
1175 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1176 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
1177 | },
1178 | "mime-types": {
1179 | "version": "2.1.35",
1180 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1181 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1182 | "requires": {
1183 | "mime-db": "1.52.0"
1184 | }
1185 | },
1186 | "ms": {
1187 | "version": "2.0.0",
1188 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1189 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1190 | },
1191 | "nanoassert": {
1192 | "version": "1.1.0",
1193 | "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz",
1194 | "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ=="
1195 | },
1196 | "nanobus": {
1197 | "version": "4.5.0",
1198 | "resolved": "https://registry.npmjs.org/nanobus/-/nanobus-4.5.0.tgz",
1199 | "integrity": "sha512-7sBZo9wthqNJ7QXnfVXZL7fkKJLN55GLOdX+RyZT34UOvxxnFtJe/c7K0ZRLAKOvaY1xJThFFn0Usw2H9R6Frg==",
1200 | "requires": {
1201 | "nanoassert": "^1.1.0",
1202 | "nanotiming": "^7.2.0",
1203 | "remove-array-items": "^1.0.0"
1204 | }
1205 | },
1206 | "nanoscheduler": {
1207 | "version": "1.0.3",
1208 | "resolved": "https://registry.npmjs.org/nanoscheduler/-/nanoscheduler-1.0.3.tgz",
1209 | "integrity": "sha512-jBbrF3qdU9321r8n9X7yu18DjP31Do2ItJm3mWrt90wJTrnDO+HXpoV7ftaUglAtjgj9s+OaCxGufbvx6pvbEQ==",
1210 | "requires": {
1211 | "nanoassert": "^1.1.0"
1212 | }
1213 | },
1214 | "nanotiming": {
1215 | "version": "7.3.1",
1216 | "resolved": "https://registry.npmjs.org/nanotiming/-/nanotiming-7.3.1.tgz",
1217 | "integrity": "sha512-l3lC7v/PfOuRWQa8vV29Jo6TG10wHtnthLElFXs4Te4Aas57Fo4n1Q8LH9n+NDh9riOzTVvb2QNBhTS4JUKNjw==",
1218 | "requires": {
1219 | "nanoassert": "^1.1.0",
1220 | "nanoscheduler": "^1.0.2"
1221 | }
1222 | },
1223 | "negotiator": {
1224 | "version": "0.6.3",
1225 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1226 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
1227 | },
1228 | "object-assign": {
1229 | "version": "4.1.1",
1230 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1231 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
1232 | },
1233 | "object-inspect": {
1234 | "version": "1.12.2",
1235 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
1236 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
1237 | },
1238 | "on-finished": {
1239 | "version": "2.4.1",
1240 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
1241 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
1242 | "requires": {
1243 | "ee-first": "1.1.1"
1244 | }
1245 | },
1246 | "parseurl": {
1247 | "version": "1.3.3",
1248 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1249 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1250 | },
1251 | "path-to-regexp": {
1252 | "version": "0.1.7",
1253 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1254 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
1255 | },
1256 | "proxy-addr": {
1257 | "version": "2.0.7",
1258 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
1259 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
1260 | "requires": {
1261 | "forwarded": "0.2.0",
1262 | "ipaddr.js": "1.9.1"
1263 | }
1264 | },
1265 | "qs": {
1266 | "version": "6.11.0",
1267 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
1268 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
1269 | "requires": {
1270 | "side-channel": "^1.0.4"
1271 | }
1272 | },
1273 | "range-parser": {
1274 | "version": "1.2.1",
1275 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1276 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
1277 | },
1278 | "raw-body": {
1279 | "version": "2.5.1",
1280 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
1281 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
1282 | "requires": {
1283 | "bytes": "3.1.2",
1284 | "http-errors": "2.0.0",
1285 | "iconv-lite": "0.4.24",
1286 | "unpipe": "1.0.0"
1287 | }
1288 | },
1289 | "remove-array-items": {
1290 | "version": "1.1.1",
1291 | "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz",
1292 | "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA=="
1293 | },
1294 | "safe-buffer": {
1295 | "version": "5.2.1",
1296 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1297 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
1298 | },
1299 | "safer-buffer": {
1300 | "version": "2.1.2",
1301 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1302 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1303 | },
1304 | "send": {
1305 | "version": "0.18.0",
1306 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
1307 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
1308 | "requires": {
1309 | "debug": "2.6.9",
1310 | "depd": "2.0.0",
1311 | "destroy": "1.2.0",
1312 | "encodeurl": "~1.0.2",
1313 | "escape-html": "~1.0.3",
1314 | "etag": "~1.8.1",
1315 | "fresh": "0.5.2",
1316 | "http-errors": "2.0.0",
1317 | "mime": "1.6.0",
1318 | "ms": "2.1.3",
1319 | "on-finished": "2.4.1",
1320 | "range-parser": "~1.2.1",
1321 | "statuses": "2.0.1"
1322 | },
1323 | "dependencies": {
1324 | "ms": {
1325 | "version": "2.1.3",
1326 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1327 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
1328 | }
1329 | }
1330 | },
1331 | "serve-static": {
1332 | "version": "1.15.0",
1333 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
1334 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
1335 | "requires": {
1336 | "encodeurl": "~1.0.2",
1337 | "escape-html": "~1.0.3",
1338 | "parseurl": "~1.3.3",
1339 | "send": "0.18.0"
1340 | }
1341 | },
1342 | "setprototypeof": {
1343 | "version": "1.2.0",
1344 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1345 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1346 | },
1347 | "side-channel": {
1348 | "version": "1.0.4",
1349 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
1350 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
1351 | "requires": {
1352 | "call-bind": "^1.0.0",
1353 | "get-intrinsic": "^1.0.2",
1354 | "object-inspect": "^1.9.0"
1355 | }
1356 | },
1357 | "simple-signal-server": {
1358 | "version": "3.0.0",
1359 | "resolved": "https://registry.npmjs.org/simple-signal-server/-/simple-signal-server-3.0.0.tgz",
1360 | "integrity": "sha512-7nSmoU0wXG3wqoNVHlOV1rVlwB0sfpFxg0wYaUnB72QDN9r1oXkn0D7OyBv5NDSESPdUITsr18e1DayD64hu6Q==",
1361 | "requires": {
1362 | "inherits": "^2.0.3",
1363 | "nanobus": "^4.3.3"
1364 | }
1365 | },
1366 | "socket.io": {
1367 | "version": "4.5.4",
1368 | "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz",
1369 | "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==",
1370 | "requires": {
1371 | "accepts": "~1.3.4",
1372 | "base64id": "~2.0.0",
1373 | "debug": "~4.3.2",
1374 | "engine.io": "~6.2.1",
1375 | "socket.io-adapter": "~2.4.0",
1376 | "socket.io-parser": "~4.2.1"
1377 | },
1378 | "dependencies": {
1379 | "debug": {
1380 | "version": "4.3.4",
1381 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1382 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1383 | "requires": {
1384 | "ms": "2.1.2"
1385 | }
1386 | },
1387 | "ms": {
1388 | "version": "2.1.2",
1389 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1390 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1391 | }
1392 | }
1393 | },
1394 | "socket.io-adapter": {
1395 | "version": "2.4.0",
1396 | "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
1397 | "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
1398 | },
1399 | "socket.io-parser": {
1400 | "version": "4.2.1",
1401 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
1402 | "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
1403 | "requires": {
1404 | "@socket.io/component-emitter": "~3.1.0",
1405 | "debug": "~4.3.1"
1406 | },
1407 | "dependencies": {
1408 | "debug": {
1409 | "version": "4.3.4",
1410 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1411 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1412 | "requires": {
1413 | "ms": "2.1.2"
1414 | }
1415 | },
1416 | "ms": {
1417 | "version": "2.1.2",
1418 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1419 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1420 | }
1421 | }
1422 | },
1423 | "statuses": {
1424 | "version": "2.0.1",
1425 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1426 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
1427 | },
1428 | "toidentifier": {
1429 | "version": "1.0.1",
1430 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1431 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
1432 | },
1433 | "type-is": {
1434 | "version": "1.6.18",
1435 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1436 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1437 | "requires": {
1438 | "media-typer": "0.3.0",
1439 | "mime-types": "~2.1.24"
1440 | }
1441 | },
1442 | "unpipe": {
1443 | "version": "1.0.0",
1444 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1445 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
1446 | },
1447 | "utils-merge": {
1448 | "version": "1.0.1",
1449 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1450 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
1451 | },
1452 | "vary": {
1453 | "version": "1.1.2",
1454 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1455 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
1456 | },
1457 | "ws": {
1458 | "version": "8.2.3",
1459 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
1460 | "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
1461 | "requires": {}
1462 | }
1463 | }
1464 | }
1465 |
--------------------------------------------------------------------------------