mikmc commited on
Commit
c7d731b
1 Parent(s): 036f747

Upload 7 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ explicitdronez.pw_series_data.json filter=lfs diff=lfs merge=lfs -text
37
+ r00tv.ddns.me_series_data.json filter=lfs diff=lfs merge=lfs -text
38
+ vodrus.ath.cx_series_data.json filter=lfs diff=lfs merge=lfs -text
catindex.js ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const express = require('express');
2
+ const { addonBuilder, getRouter } = require('stremio-addon-sdk');
3
+ const cors = require('cors');
4
+ const fs = require('fs');
5
+ const path = require('path');
6
+
7
+ const manifest = {
8
+ id: 'hy.yourtvshows.org',
9
+ version: '1.0.0',
10
+ name: 'TV Club',
11
+ description: 'Stream TV series categorized by genre with search capability',
12
+ resources: ['catalog', 'stream', 'meta'],
13
+ types: ['series'],
14
+ idPrefixes: ['tt'],
15
+ catalogs: [
16
+ {
17
+ id: 'main-catalog',
18
+ type: 'series',
19
+ name: 'All Series',
20
+ extra: [
21
+ { name: 'genre', options: [] },
22
+ { name: 'search', isRequired: false }
23
+ ]
24
+ }
25
+ ]
26
+ };
27
+
28
+ const builder = new addonBuilder(manifest);
29
+
30
+ // Function to read JSON files
31
+ function readJSONFile(filename) {
32
+ const filePath = path.join(__dirname, filename);
33
+ return JSON.parse(fs.readFileSync(filePath, 'utf8'));
34
+ }
35
+
36
+ // Load and parse series data files
37
+ const seriesDataFiles = fs.readdirSync(__dirname)
38
+ .filter(file => file.endsWith('_series_data.json'));
39
+
40
+ console.log("Found series data files:", seriesDataFiles);
41
+
42
+ // Store catalogs and metadata
43
+ const catalogs = [];
44
+ const metaData = {};
45
+
46
+ // Process each series data file dynamically
47
+ seriesDataFiles.forEach(filename => {
48
+ const data = readJSONFile(filename);
49
+ const catalogType = 'series'; // Assuming 'series' for all catalogs
50
+
51
+ // Add categories to genre options in manifest
52
+ Object.keys(data).forEach(category => {
53
+ if (!manifest.catalogs[0].extra[0].options.includes(category)) {
54
+ manifest.catalogs[0].extra[0].options.push(category);
55
+ }
56
+ });
57
+
58
+ // Process each category in the file
59
+ Object.entries(data).forEach(([category, seriesList]) => {
60
+ // Add series metadata for each series in the category
61
+ seriesList.forEach(series => {
62
+ const seriesMeta = {
63
+ id: series.id,
64
+ type: catalogType,
65
+ name: series.name,
66
+ genres: [category],
67
+ poster: series.poster || null
68
+ };
69
+
70
+ // Store metadata and catalog information
71
+ metaData[series.id] = {
72
+ ...seriesMeta,
73
+ seasons: series.seasons.map(season => ({
74
+ season: season.season,
75
+ episodes: season.episodes.map(ep => ({
76
+ episode: ep.episode,
77
+ stream_url: ep.stream_url
78
+ }))
79
+ }))
80
+ };
81
+
82
+ catalogs.push({
83
+ category,
84
+ meta: seriesMeta
85
+ });
86
+ });
87
+ });
88
+ });
89
+
90
+ // Catalog handler to list series by genre and enable search
91
+ builder.defineCatalogHandler(({ type, extra }) => {
92
+ return new Promise((resolve) => {
93
+ if (type === 'series') {
94
+ const genre = extra.genre;
95
+ const searchQuery = extra.search ? extra.search.toLowerCase() : null;
96
+
97
+ let seriesCatalog = catalogs
98
+ .filter(catalog => !genre || catalog.category === genre) // Filter by genre if provided
99
+ .map(catalog => catalog.meta);
100
+
101
+ // Filter by search query if provided
102
+ if (searchQuery) {
103
+ seriesCatalog = seriesCatalog.filter(meta =>
104
+ meta.name.toLowerCase().includes(searchQuery)
105
+ );
106
+ }
107
+
108
+ resolve({ metas: seriesCatalog });
109
+ } else {
110
+ resolve({ metas: [] });
111
+ }
112
+ });
113
+ });
114
+
115
+ // Meta handler to get details of a specific series
116
+ builder.defineMetaHandler(({ id }) => {
117
+ return new Promise((resolve) => {
118
+ const seriesMeta = metaData[id];
119
+ if (seriesMeta) {
120
+ resolve({
121
+ meta: {
122
+ id: seriesMeta.id,
123
+ type: 'series',
124
+ name: seriesMeta.name,
125
+ poster: seriesMeta.poster,
126
+ genres: seriesMeta.genres,
127
+ seasons: seriesMeta.seasons.map(season => ({
128
+ number: season.season,
129
+ episodes: season.episodes.map(ep => ({
130
+ id: `${seriesMeta.id}:${season.season}:${ep.episode}`,
131
+ title: `Episode ${ep.episode}`,
132
+ season: season.season,
133
+ number: ep.episode
134
+ }))
135
+ }))
136
+ }
137
+ });
138
+ } else {
139
+ resolve({});
140
+ }
141
+ });
142
+ });
143
+
144
+ // Stream handler to fetch specific episode streams
145
+ builder.defineStreamHandler(({ type, id }) => {
146
+ return new Promise((resolve) => {
147
+ if (type === 'series') {
148
+ const [seriesId, seasonNumber, episodeNumber] = id.split(':');
149
+ const seriesMeta = metaData[seriesId];
150
+ if (seriesMeta) {
151
+ const season = seriesMeta.seasons.find(s => s.season == seasonNumber);
152
+ if (season) {
153
+ const episode = season.episodes.find(e => e.episode == episodeNumber);
154
+ if (episode) {
155
+ resolve({
156
+ streams: [{
157
+ title: `${seriesMeta.name} S${seasonNumber}E${episodeNumber}`,
158
+ url: episode.stream_url
159
+ }]
160
+ });
161
+ return;
162
+ }
163
+ }
164
+ }
165
+ }
166
+ resolve({ streams: [] });
167
+ });
168
+ });
169
+
170
+ const addonInterface = builder.getInterface();
171
+
172
+ const app = express();
173
+ app.use(cors());
174
+ app.use('/', getRouter(addonInterface));
175
+ app.use((err, req, res, next) => {
176
+ console.error(err.stack);
177
+ res.status(500).send('Something went wrong!');
178
+ });
179
+
180
+ const PORT = process.env.PORT || 7000;
181
+ app.listen(PORT, () => {
182
+ console.log(`TV Club Stremio Addon running on port ${PORT}`);
183
+ });
explicitdronez.pw_series_data.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7bb84e1f2592a6ca69ce0c6a709480cca109091ed7e6a0a0b3bfb1ee62d9cc35
3
+ size 72988399
id_cache.json ADDED
The diff for this file is too large to render. See raw diff
 
package-lock.json ADDED
@@ -0,0 +1,1232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "your-tv-streams",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "your-tv-streams",
9
+ "version": "1.0.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "axios": "^1.6.2",
13
+ "cors": "^2.8.5",
14
+ "express": "^4.17.1",
15
+ "stremio-addon-sdk": "^1.2.0"
16
+ }
17
+ },
18
+ "node_modules/accepts": {
19
+ "version": "1.3.8",
20
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
21
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
22
+ "dependencies": {
23
+ "mime-types": "~2.1.34",
24
+ "negotiator": "0.6.3"
25
+ },
26
+ "engines": {
27
+ "node": ">= 0.6"
28
+ }
29
+ },
30
+ "node_modules/ansi-escapes": {
31
+ "version": "3.2.0",
32
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
33
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
34
+ "engines": {
35
+ "node": ">=4"
36
+ }
37
+ },
38
+ "node_modules/ansi-regex": {
39
+ "version": "4.1.1",
40
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
41
+ "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
42
+ "engines": {
43
+ "node": ">=6"
44
+ }
45
+ },
46
+ "node_modules/ansi-styles": {
47
+ "version": "3.2.1",
48
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
49
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
50
+ "dependencies": {
51
+ "color-convert": "^1.9.0"
52
+ },
53
+ "engines": {
54
+ "node": ">=4"
55
+ }
56
+ },
57
+ "node_modules/array-flatten": {
58
+ "version": "1.1.1",
59
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
60
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
61
+ },
62
+ "node_modules/asynckit": {
63
+ "version": "0.4.0",
64
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
65
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
66
+ },
67
+ "node_modules/axios": {
68
+ "version": "1.7.7",
69
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
70
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
71
+ "dependencies": {
72
+ "follow-redirects": "^1.15.6",
73
+ "form-data": "^4.0.0",
74
+ "proxy-from-env": "^1.1.0"
75
+ }
76
+ },
77
+ "node_modules/body-parser": {
78
+ "version": "1.20.3",
79
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
80
+ "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
81
+ "dependencies": {
82
+ "bytes": "3.1.2",
83
+ "content-type": "~1.0.5",
84
+ "debug": "2.6.9",
85
+ "depd": "2.0.0",
86
+ "destroy": "1.2.0",
87
+ "http-errors": "2.0.0",
88
+ "iconv-lite": "0.4.24",
89
+ "on-finished": "2.4.1",
90
+ "qs": "6.13.0",
91
+ "raw-body": "2.5.2",
92
+ "type-is": "~1.6.18",
93
+ "unpipe": "1.0.0"
94
+ },
95
+ "engines": {
96
+ "node": ">= 0.8",
97
+ "npm": "1.2.8000 || >= 1.4.16"
98
+ }
99
+ },
100
+ "node_modules/bytes": {
101
+ "version": "3.1.2",
102
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
103
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
104
+ "engines": {
105
+ "node": ">= 0.8"
106
+ }
107
+ },
108
+ "node_modules/call-bind": {
109
+ "version": "1.0.7",
110
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
111
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
112
+ "dependencies": {
113
+ "es-define-property": "^1.0.0",
114
+ "es-errors": "^1.3.0",
115
+ "function-bind": "^1.1.2",
116
+ "get-intrinsic": "^1.2.4",
117
+ "set-function-length": "^1.2.1"
118
+ },
119
+ "engines": {
120
+ "node": ">= 0.4"
121
+ },
122
+ "funding": {
123
+ "url": "https://github.com/sponsors/ljharb"
124
+ }
125
+ },
126
+ "node_modules/chalk": {
127
+ "version": "2.4.2",
128
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
129
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
130
+ "dependencies": {
131
+ "ansi-styles": "^3.2.1",
132
+ "escape-string-regexp": "^1.0.5",
133
+ "supports-color": "^5.3.0"
134
+ },
135
+ "engines": {
136
+ "node": ">=4"
137
+ }
138
+ },
139
+ "node_modules/chardet": {
140
+ "version": "0.7.0",
141
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
142
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
143
+ },
144
+ "node_modules/cli-cursor": {
145
+ "version": "2.1.0",
146
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
147
+ "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
148
+ "dependencies": {
149
+ "restore-cursor": "^2.0.0"
150
+ },
151
+ "engines": {
152
+ "node": ">=4"
153
+ }
154
+ },
155
+ "node_modules/cli-width": {
156
+ "version": "2.2.1",
157
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
158
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="
159
+ },
160
+ "node_modules/color-convert": {
161
+ "version": "1.9.3",
162
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
163
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
164
+ "dependencies": {
165
+ "color-name": "1.1.3"
166
+ }
167
+ },
168
+ "node_modules/color-name": {
169
+ "version": "1.1.3",
170
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
171
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
172
+ },
173
+ "node_modules/combined-stream": {
174
+ "version": "1.0.8",
175
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
176
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
177
+ "dependencies": {
178
+ "delayed-stream": "~1.0.0"
179
+ },
180
+ "engines": {
181
+ "node": ">= 0.8"
182
+ }
183
+ },
184
+ "node_modules/content-disposition": {
185
+ "version": "0.5.4",
186
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
187
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
188
+ "dependencies": {
189
+ "safe-buffer": "5.2.1"
190
+ },
191
+ "engines": {
192
+ "node": ">= 0.6"
193
+ }
194
+ },
195
+ "node_modules/content-type": {
196
+ "version": "1.0.5",
197
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
198
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
199
+ "engines": {
200
+ "node": ">= 0.6"
201
+ }
202
+ },
203
+ "node_modules/cookie": {
204
+ "version": "0.7.1",
205
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
206
+ "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
207
+ "engines": {
208
+ "node": ">= 0.6"
209
+ }
210
+ },
211
+ "node_modules/cookie-signature": {
212
+ "version": "1.0.6",
213
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
214
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
215
+ },
216
+ "node_modules/cors": {
217
+ "version": "2.8.5",
218
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
219
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
220
+ "dependencies": {
221
+ "object-assign": "^4",
222
+ "vary": "^1"
223
+ },
224
+ "engines": {
225
+ "node": ">= 0.10"
226
+ }
227
+ },
228
+ "node_modules/debug": {
229
+ "version": "2.6.9",
230
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
231
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
232
+ "dependencies": {
233
+ "ms": "2.0.0"
234
+ }
235
+ },
236
+ "node_modules/define-data-property": {
237
+ "version": "1.1.4",
238
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
239
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
240
+ "dependencies": {
241
+ "es-define-property": "^1.0.0",
242
+ "es-errors": "^1.3.0",
243
+ "gopd": "^1.0.1"
244
+ },
245
+ "engines": {
246
+ "node": ">= 0.4"
247
+ },
248
+ "funding": {
249
+ "url": "https://github.com/sponsors/ljharb"
250
+ }
251
+ },
252
+ "node_modules/delayed-stream": {
253
+ "version": "1.0.0",
254
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
255
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
256
+ "engines": {
257
+ "node": ">=0.4.0"
258
+ }
259
+ },
260
+ "node_modules/depd": {
261
+ "version": "2.0.0",
262
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
263
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
264
+ "engines": {
265
+ "node": ">= 0.8"
266
+ }
267
+ },
268
+ "node_modules/destroy": {
269
+ "version": "1.2.0",
270
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
271
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
272
+ "engines": {
273
+ "node": ">= 0.8",
274
+ "npm": "1.2.8000 || >= 1.4.16"
275
+ }
276
+ },
277
+ "node_modules/ee-first": {
278
+ "version": "1.1.1",
279
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
280
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
281
+ },
282
+ "node_modules/encodeurl": {
283
+ "version": "2.0.0",
284
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
285
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
286
+ "engines": {
287
+ "node": ">= 0.8"
288
+ }
289
+ },
290
+ "node_modules/es-define-property": {
291
+ "version": "1.0.0",
292
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
293
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
294
+ "dependencies": {
295
+ "get-intrinsic": "^1.2.4"
296
+ },
297
+ "engines": {
298
+ "node": ">= 0.4"
299
+ }
300
+ },
301
+ "node_modules/es-errors": {
302
+ "version": "1.3.0",
303
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
304
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
305
+ "engines": {
306
+ "node": ">= 0.4"
307
+ }
308
+ },
309
+ "node_modules/escape-html": {
310
+ "version": "1.0.3",
311
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
312
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
313
+ },
314
+ "node_modules/escape-string-regexp": {
315
+ "version": "1.0.5",
316
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
317
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
318
+ "engines": {
319
+ "node": ">=0.8.0"
320
+ }
321
+ },
322
+ "node_modules/etag": {
323
+ "version": "1.8.1",
324
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
325
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
326
+ "engines": {
327
+ "node": ">= 0.6"
328
+ }
329
+ },
330
+ "node_modules/express": {
331
+ "version": "4.21.1",
332
+ "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
333
+ "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
334
+ "dependencies": {
335
+ "accepts": "~1.3.8",
336
+ "array-flatten": "1.1.1",
337
+ "body-parser": "1.20.3",
338
+ "content-disposition": "0.5.4",
339
+ "content-type": "~1.0.4",
340
+ "cookie": "0.7.1",
341
+ "cookie-signature": "1.0.6",
342
+ "debug": "2.6.9",
343
+ "depd": "2.0.0",
344
+ "encodeurl": "~2.0.0",
345
+ "escape-html": "~1.0.3",
346
+ "etag": "~1.8.1",
347
+ "finalhandler": "1.3.1",
348
+ "fresh": "0.5.2",
349
+ "http-errors": "2.0.0",
350
+ "merge-descriptors": "1.0.3",
351
+ "methods": "~1.1.2",
352
+ "on-finished": "2.4.1",
353
+ "parseurl": "~1.3.3",
354
+ "path-to-regexp": "0.1.10",
355
+ "proxy-addr": "~2.0.7",
356
+ "qs": "6.13.0",
357
+ "range-parser": "~1.2.1",
358
+ "safe-buffer": "5.2.1",
359
+ "send": "0.19.0",
360
+ "serve-static": "1.16.2",
361
+ "setprototypeof": "1.2.0",
362
+ "statuses": "2.0.1",
363
+ "type-is": "~1.6.18",
364
+ "utils-merge": "1.0.1",
365
+ "vary": "~1.1.2"
366
+ },
367
+ "engines": {
368
+ "node": ">= 0.10.0"
369
+ }
370
+ },
371
+ "node_modules/external-editor": {
372
+ "version": "3.1.0",
373
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
374
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
375
+ "dependencies": {
376
+ "chardet": "^0.7.0",
377
+ "iconv-lite": "^0.4.24",
378
+ "tmp": "^0.0.33"
379
+ },
380
+ "engines": {
381
+ "node": ">=4"
382
+ }
383
+ },
384
+ "node_modules/figures": {
385
+ "version": "2.0.0",
386
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
387
+ "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
388
+ "dependencies": {
389
+ "escape-string-regexp": "^1.0.5"
390
+ },
391
+ "engines": {
392
+ "node": ">=4"
393
+ }
394
+ },
395
+ "node_modules/finalhandler": {
396
+ "version": "1.3.1",
397
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
398
+ "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
399
+ "dependencies": {
400
+ "debug": "2.6.9",
401
+ "encodeurl": "~2.0.0",
402
+ "escape-html": "~1.0.3",
403
+ "on-finished": "2.4.1",
404
+ "parseurl": "~1.3.3",
405
+ "statuses": "2.0.1",
406
+ "unpipe": "~1.0.0"
407
+ },
408
+ "engines": {
409
+ "node": ">= 0.8"
410
+ }
411
+ },
412
+ "node_modules/follow-redirects": {
413
+ "version": "1.15.9",
414
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
415
+ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
416
+ "funding": [
417
+ {
418
+ "type": "individual",
419
+ "url": "https://github.com/sponsors/RubenVerborgh"
420
+ }
421
+ ],
422
+ "engines": {
423
+ "node": ">=4.0"
424
+ },
425
+ "peerDependenciesMeta": {
426
+ "debug": {
427
+ "optional": true
428
+ }
429
+ }
430
+ },
431
+ "node_modules/form-data": {
432
+ "version": "4.0.1",
433
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
434
+ "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
435
+ "dependencies": {
436
+ "asynckit": "^0.4.0",
437
+ "combined-stream": "^1.0.8",
438
+ "mime-types": "^2.1.12"
439
+ },
440
+ "engines": {
441
+ "node": ">= 6"
442
+ }
443
+ },
444
+ "node_modules/forwarded": {
445
+ "version": "0.2.0",
446
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
447
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
448
+ "engines": {
449
+ "node": ">= 0.6"
450
+ }
451
+ },
452
+ "node_modules/fresh": {
453
+ "version": "0.5.2",
454
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
455
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
456
+ "engines": {
457
+ "node": ">= 0.6"
458
+ }
459
+ },
460
+ "node_modules/function-bind": {
461
+ "version": "1.1.2",
462
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
463
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
464
+ "funding": {
465
+ "url": "https://github.com/sponsors/ljharb"
466
+ }
467
+ },
468
+ "node_modules/get-intrinsic": {
469
+ "version": "1.2.4",
470
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
471
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
472
+ "dependencies": {
473
+ "es-errors": "^1.3.0",
474
+ "function-bind": "^1.1.2",
475
+ "has-proto": "^1.0.1",
476
+ "has-symbols": "^1.0.3",
477
+ "hasown": "^2.0.0"
478
+ },
479
+ "engines": {
480
+ "node": ">= 0.4"
481
+ },
482
+ "funding": {
483
+ "url": "https://github.com/sponsors/ljharb"
484
+ }
485
+ },
486
+ "node_modules/gopd": {
487
+ "version": "1.0.1",
488
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
489
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
490
+ "dependencies": {
491
+ "get-intrinsic": "^1.1.3"
492
+ },
493
+ "funding": {
494
+ "url": "https://github.com/sponsors/ljharb"
495
+ }
496
+ },
497
+ "node_modules/has-flag": {
498
+ "version": "3.0.0",
499
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
500
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
501
+ "engines": {
502
+ "node": ">=4"
503
+ }
504
+ },
505
+ "node_modules/has-property-descriptors": {
506
+ "version": "1.0.2",
507
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
508
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
509
+ "dependencies": {
510
+ "es-define-property": "^1.0.0"
511
+ },
512
+ "funding": {
513
+ "url": "https://github.com/sponsors/ljharb"
514
+ }
515
+ },
516
+ "node_modules/has-proto": {
517
+ "version": "1.0.3",
518
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
519
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
520
+ "engines": {
521
+ "node": ">= 0.4"
522
+ },
523
+ "funding": {
524
+ "url": "https://github.com/sponsors/ljharb"
525
+ }
526
+ },
527
+ "node_modules/has-symbols": {
528
+ "version": "1.0.3",
529
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
530
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
531
+ "engines": {
532
+ "node": ">= 0.4"
533
+ },
534
+ "funding": {
535
+ "url": "https://github.com/sponsors/ljharb"
536
+ }
537
+ },
538
+ "node_modules/hasown": {
539
+ "version": "2.0.2",
540
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
541
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
542
+ "dependencies": {
543
+ "function-bind": "^1.1.2"
544
+ },
545
+ "engines": {
546
+ "node": ">= 0.4"
547
+ }
548
+ },
549
+ "node_modules/http-errors": {
550
+ "version": "2.0.0",
551
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
552
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
553
+ "dependencies": {
554
+ "depd": "2.0.0",
555
+ "inherits": "2.0.4",
556
+ "setprototypeof": "1.2.0",
557
+ "statuses": "2.0.1",
558
+ "toidentifier": "1.0.1"
559
+ },
560
+ "engines": {
561
+ "node": ">= 0.8"
562
+ }
563
+ },
564
+ "node_modules/iconv-lite": {
565
+ "version": "0.4.24",
566
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
567
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
568
+ "dependencies": {
569
+ "safer-buffer": ">= 2.1.2 < 3"
570
+ },
571
+ "engines": {
572
+ "node": ">=0.10.0"
573
+ }
574
+ },
575
+ "node_modules/inherits": {
576
+ "version": "2.0.4",
577
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
578
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
579
+ },
580
+ "node_modules/inquirer": {
581
+ "version": "6.5.2",
582
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
583
+ "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
584
+ "dependencies": {
585
+ "ansi-escapes": "^3.2.0",
586
+ "chalk": "^2.4.2",
587
+ "cli-cursor": "^2.1.0",
588
+ "cli-width": "^2.0.0",
589
+ "external-editor": "^3.0.3",
590
+ "figures": "^2.0.0",
591
+ "lodash": "^4.17.12",
592
+ "mute-stream": "0.0.7",
593
+ "run-async": "^2.2.0",
594
+ "rxjs": "^6.4.0",
595
+ "string-width": "^2.1.0",
596
+ "strip-ansi": "^5.1.0",
597
+ "through": "^2.3.6"
598
+ },
599
+ "engines": {
600
+ "node": ">=6.0.0"
601
+ }
602
+ },
603
+ "node_modules/ipaddr.js": {
604
+ "version": "1.9.1",
605
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
606
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
607
+ "engines": {
608
+ "node": ">= 0.10"
609
+ }
610
+ },
611
+ "node_modules/is-fullwidth-code-point": {
612
+ "version": "2.0.0",
613
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
614
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
615
+ "engines": {
616
+ "node": ">=4"
617
+ }
618
+ },
619
+ "node_modules/is-wsl": {
620
+ "version": "1.1.0",
621
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
622
+ "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==",
623
+ "engines": {
624
+ "node": ">=4"
625
+ }
626
+ },
627
+ "node_modules/lodash": {
628
+ "version": "4.17.21",
629
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
630
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
631
+ },
632
+ "node_modules/media-typer": {
633
+ "version": "0.3.0",
634
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
635
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
636
+ "engines": {
637
+ "node": ">= 0.6"
638
+ }
639
+ },
640
+ "node_modules/merge-descriptors": {
641
+ "version": "1.0.3",
642
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
643
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
644
+ "funding": {
645
+ "url": "https://github.com/sponsors/sindresorhus"
646
+ }
647
+ },
648
+ "node_modules/methods": {
649
+ "version": "1.1.2",
650
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
651
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
652
+ "engines": {
653
+ "node": ">= 0.6"
654
+ }
655
+ },
656
+ "node_modules/mime": {
657
+ "version": "1.6.0",
658
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
659
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
660
+ "bin": {
661
+ "mime": "cli.js"
662
+ },
663
+ "engines": {
664
+ "node": ">=4"
665
+ }
666
+ },
667
+ "node_modules/mime-db": {
668
+ "version": "1.52.0",
669
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
670
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
671
+ "engines": {
672
+ "node": ">= 0.6"
673
+ }
674
+ },
675
+ "node_modules/mime-types": {
676
+ "version": "2.1.35",
677
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
678
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
679
+ "dependencies": {
680
+ "mime-db": "1.52.0"
681
+ },
682
+ "engines": {
683
+ "node": ">= 0.6"
684
+ }
685
+ },
686
+ "node_modules/mimic-fn": {
687
+ "version": "1.2.0",
688
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
689
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
690
+ "engines": {
691
+ "node": ">=4"
692
+ }
693
+ },
694
+ "node_modules/minimist": {
695
+ "version": "1.2.8",
696
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
697
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
698
+ "funding": {
699
+ "url": "https://github.com/sponsors/ljharb"
700
+ }
701
+ },
702
+ "node_modules/mkdirp": {
703
+ "version": "0.5.6",
704
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
705
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
706
+ "dependencies": {
707
+ "minimist": "^1.2.6"
708
+ },
709
+ "bin": {
710
+ "mkdirp": "bin/cmd.js"
711
+ }
712
+ },
713
+ "node_modules/ms": {
714
+ "version": "2.0.0",
715
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
716
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
717
+ },
718
+ "node_modules/mute-stream": {
719
+ "version": "0.0.7",
720
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
721
+ "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ=="
722
+ },
723
+ "node_modules/negotiator": {
724
+ "version": "0.6.3",
725
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
726
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
727
+ "engines": {
728
+ "node": ">= 0.6"
729
+ }
730
+ },
731
+ "node_modules/node-fetch": {
732
+ "version": "2.7.0",
733
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
734
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
735
+ "dependencies": {
736
+ "whatwg-url": "^5.0.0"
737
+ },
738
+ "engines": {
739
+ "node": "4.x || >=6.0.0"
740
+ },
741
+ "peerDependencies": {
742
+ "encoding": "^0.1.0"
743
+ },
744
+ "peerDependenciesMeta": {
745
+ "encoding": {
746
+ "optional": true
747
+ }
748
+ }
749
+ },
750
+ "node_modules/object-assign": {
751
+ "version": "4.1.1",
752
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
753
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
754
+ "engines": {
755
+ "node": ">=0.10.0"
756
+ }
757
+ },
758
+ "node_modules/object-inspect": {
759
+ "version": "1.13.2",
760
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
761
+ "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
762
+ "engines": {
763
+ "node": ">= 0.4"
764
+ },
765
+ "funding": {
766
+ "url": "https://github.com/sponsors/ljharb"
767
+ }
768
+ },
769
+ "node_modules/on-finished": {
770
+ "version": "2.4.1",
771
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
772
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
773
+ "dependencies": {
774
+ "ee-first": "1.1.1"
775
+ },
776
+ "engines": {
777
+ "node": ">= 0.8"
778
+ }
779
+ },
780
+ "node_modules/onetime": {
781
+ "version": "2.0.1",
782
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
783
+ "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
784
+ "dependencies": {
785
+ "mimic-fn": "^1.0.0"
786
+ },
787
+ "engines": {
788
+ "node": ">=4"
789
+ }
790
+ },
791
+ "node_modules/opn": {
792
+ "version": "5.5.0",
793
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
794
+ "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
795
+ "dependencies": {
796
+ "is-wsl": "^1.1.0"
797
+ },
798
+ "engines": {
799
+ "node": ">=4"
800
+ }
801
+ },
802
+ "node_modules/os-tmpdir": {
803
+ "version": "1.0.2",
804
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
805
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
806
+ "engines": {
807
+ "node": ">=0.10.0"
808
+ }
809
+ },
810
+ "node_modules/parseurl": {
811
+ "version": "1.3.3",
812
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
813
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
814
+ "engines": {
815
+ "node": ">= 0.8"
816
+ }
817
+ },
818
+ "node_modules/path-to-regexp": {
819
+ "version": "0.1.10",
820
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
821
+ "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w=="
822
+ },
823
+ "node_modules/proxy-addr": {
824
+ "version": "2.0.7",
825
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
826
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
827
+ "dependencies": {
828
+ "forwarded": "0.2.0",
829
+ "ipaddr.js": "1.9.1"
830
+ },
831
+ "engines": {
832
+ "node": ">= 0.10"
833
+ }
834
+ },
835
+ "node_modules/proxy-from-env": {
836
+ "version": "1.1.0",
837
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
838
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
839
+ },
840
+ "node_modules/qs": {
841
+ "version": "6.13.0",
842
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
843
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
844
+ "dependencies": {
845
+ "side-channel": "^1.0.6"
846
+ },
847
+ "engines": {
848
+ "node": ">=0.6"
849
+ },
850
+ "funding": {
851
+ "url": "https://github.com/sponsors/ljharb"
852
+ }
853
+ },
854
+ "node_modules/range-parser": {
855
+ "version": "1.2.1",
856
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
857
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
858
+ "engines": {
859
+ "node": ">= 0.6"
860
+ }
861
+ },
862
+ "node_modules/raw-body": {
863
+ "version": "2.5.2",
864
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
865
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
866
+ "dependencies": {
867
+ "bytes": "3.1.2",
868
+ "http-errors": "2.0.0",
869
+ "iconv-lite": "0.4.24",
870
+ "unpipe": "1.0.0"
871
+ },
872
+ "engines": {
873
+ "node": ">= 0.8"
874
+ }
875
+ },
876
+ "node_modules/restore-cursor": {
877
+ "version": "2.0.0",
878
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
879
+ "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
880
+ "dependencies": {
881
+ "onetime": "^2.0.0",
882
+ "signal-exit": "^3.0.2"
883
+ },
884
+ "engines": {
885
+ "node": ">=4"
886
+ }
887
+ },
888
+ "node_modules/router": {
889
+ "version": "1.3.8",
890
+ "resolved": "https://registry.npmjs.org/router/-/router-1.3.8.tgz",
891
+ "integrity": "sha512-461UFH44NtSfIlS83PUg2N7OZo86BC/kB3dY77gJdsODsBhhw7+2uE0tzTINxrY9CahCUVk1VhpWCA5i1yoIEg==",
892
+ "dependencies": {
893
+ "array-flatten": "3.0.0",
894
+ "debug": "2.6.9",
895
+ "methods": "~1.1.2",
896
+ "parseurl": "~1.3.3",
897
+ "path-to-regexp": "0.1.7",
898
+ "setprototypeof": "1.2.0",
899
+ "utils-merge": "1.0.1"
900
+ },
901
+ "engines": {
902
+ "node": ">= 0.8"
903
+ }
904
+ },
905
+ "node_modules/router/node_modules/array-flatten": {
906
+ "version": "3.0.0",
907
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz",
908
+ "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA=="
909
+ },
910
+ "node_modules/router/node_modules/path-to-regexp": {
911
+ "version": "0.1.7",
912
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
913
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
914
+ },
915
+ "node_modules/run-async": {
916
+ "version": "2.4.1",
917
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
918
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
919
+ "engines": {
920
+ "node": ">=0.12.0"
921
+ }
922
+ },
923
+ "node_modules/rxjs": {
924
+ "version": "6.6.7",
925
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
926
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
927
+ "dependencies": {
928
+ "tslib": "^1.9.0"
929
+ },
930
+ "engines": {
931
+ "npm": ">=2.0.0"
932
+ }
933
+ },
934
+ "node_modules/safe-buffer": {
935
+ "version": "5.2.1",
936
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
937
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
938
+ "funding": [
939
+ {
940
+ "type": "github",
941
+ "url": "https://github.com/sponsors/feross"
942
+ },
943
+ {
944
+ "type": "patreon",
945
+ "url": "https://www.patreon.com/feross"
946
+ },
947
+ {
948
+ "type": "consulting",
949
+ "url": "https://feross.org/support"
950
+ }
951
+ ]
952
+ },
953
+ "node_modules/safer-buffer": {
954
+ "version": "2.1.2",
955
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
956
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
957
+ },
958
+ "node_modules/semver": {
959
+ "version": "5.7.2",
960
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
961
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
962
+ "bin": {
963
+ "semver": "bin/semver"
964
+ }
965
+ },
966
+ "node_modules/send": {
967
+ "version": "0.19.0",
968
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
969
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
970
+ "dependencies": {
971
+ "debug": "2.6.9",
972
+ "depd": "2.0.0",
973
+ "destroy": "1.2.0",
974
+ "encodeurl": "~1.0.2",
975
+ "escape-html": "~1.0.3",
976
+ "etag": "~1.8.1",
977
+ "fresh": "0.5.2",
978
+ "http-errors": "2.0.0",
979
+ "mime": "1.6.0",
980
+ "ms": "2.1.3",
981
+ "on-finished": "2.4.1",
982
+ "range-parser": "~1.2.1",
983
+ "statuses": "2.0.1"
984
+ },
985
+ "engines": {
986
+ "node": ">= 0.8.0"
987
+ }
988
+ },
989
+ "node_modules/send/node_modules/encodeurl": {
990
+ "version": "1.0.2",
991
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
992
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
993
+ "engines": {
994
+ "node": ">= 0.8"
995
+ }
996
+ },
997
+ "node_modules/send/node_modules/ms": {
998
+ "version": "2.1.3",
999
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1000
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
1001
+ },
1002
+ "node_modules/serve-static": {
1003
+ "version": "1.16.2",
1004
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
1005
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
1006
+ "dependencies": {
1007
+ "encodeurl": "~2.0.0",
1008
+ "escape-html": "~1.0.3",
1009
+ "parseurl": "~1.3.3",
1010
+ "send": "0.19.0"
1011
+ },
1012
+ "engines": {
1013
+ "node": ">= 0.8.0"
1014
+ }
1015
+ },
1016
+ "node_modules/set-function-length": {
1017
+ "version": "1.2.2",
1018
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
1019
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
1020
+ "dependencies": {
1021
+ "define-data-property": "^1.1.4",
1022
+ "es-errors": "^1.3.0",
1023
+ "function-bind": "^1.1.2",
1024
+ "get-intrinsic": "^1.2.4",
1025
+ "gopd": "^1.0.1",
1026
+ "has-property-descriptors": "^1.0.2"
1027
+ },
1028
+ "engines": {
1029
+ "node": ">= 0.4"
1030
+ }
1031
+ },
1032
+ "node_modules/setprototypeof": {
1033
+ "version": "1.2.0",
1034
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1035
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1036
+ },
1037
+ "node_modules/side-channel": {
1038
+ "version": "1.0.6",
1039
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
1040
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
1041
+ "dependencies": {
1042
+ "call-bind": "^1.0.7",
1043
+ "es-errors": "^1.3.0",
1044
+ "get-intrinsic": "^1.2.4",
1045
+ "object-inspect": "^1.13.1"
1046
+ },
1047
+ "engines": {
1048
+ "node": ">= 0.4"
1049
+ },
1050
+ "funding": {
1051
+ "url": "https://github.com/sponsors/ljharb"
1052
+ }
1053
+ },
1054
+ "node_modules/signal-exit": {
1055
+ "version": "3.0.7",
1056
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
1057
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
1058
+ },
1059
+ "node_modules/statuses": {
1060
+ "version": "2.0.1",
1061
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1062
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
1063
+ "engines": {
1064
+ "node": ">= 0.8"
1065
+ }
1066
+ },
1067
+ "node_modules/stremio-addon-linter": {
1068
+ "version": "1.7.0",
1069
+ "resolved": "https://registry.npmjs.org/stremio-addon-linter/-/stremio-addon-linter-1.7.0.tgz",
1070
+ "integrity": "sha512-ck1L1Wp2qvAhvXLj+4Lq1XRn8K3r2gx1i/f+e1W6K0+Et/oIYYDmaIVoh3SvExiNbCBcbJjH9WWEeDYKoqaMqQ==",
1071
+ "dependencies": {
1072
+ "semver": "^5.5.0"
1073
+ }
1074
+ },
1075
+ "node_modules/stremio-addon-sdk": {
1076
+ "version": "1.6.10",
1077
+ "resolved": "https://registry.npmjs.org/stremio-addon-sdk/-/stremio-addon-sdk-1.6.10.tgz",
1078
+ "integrity": "sha512-+U/lDGv73JPZa7OOy8eMb+SkUFhnHuZGBRXuKNeXcz706oDdwC/sQe9r8Wxw2A7Cw05+f/CQIJSl4zIcmKBkGg==",
1079
+ "dependencies": {
1080
+ "chalk": "^2.4.2",
1081
+ "cors": "^2.8.4",
1082
+ "express": "^4.16.3",
1083
+ "inquirer": "^6.2.2",
1084
+ "mkdirp": "^0.5.1",
1085
+ "node-fetch": "^2.3.0",
1086
+ "opn": "^5.4.0",
1087
+ "router": "^1.3.3",
1088
+ "stremio-addon-linter": "^1.7.0"
1089
+ },
1090
+ "bin": {
1091
+ "addon-bootstrap": "cli/bootstrap.js"
1092
+ }
1093
+ },
1094
+ "node_modules/string-width": {
1095
+ "version": "2.1.1",
1096
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1097
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1098
+ "dependencies": {
1099
+ "is-fullwidth-code-point": "^2.0.0",
1100
+ "strip-ansi": "^4.0.0"
1101
+ },
1102
+ "engines": {
1103
+ "node": ">=4"
1104
+ }
1105
+ },
1106
+ "node_modules/string-width/node_modules/ansi-regex": {
1107
+ "version": "3.0.1",
1108
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
1109
+ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
1110
+ "engines": {
1111
+ "node": ">=4"
1112
+ }
1113
+ },
1114
+ "node_modules/string-width/node_modules/strip-ansi": {
1115
+ "version": "4.0.0",
1116
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1117
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
1118
+ "dependencies": {
1119
+ "ansi-regex": "^3.0.0"
1120
+ },
1121
+ "engines": {
1122
+ "node": ">=4"
1123
+ }
1124
+ },
1125
+ "node_modules/strip-ansi": {
1126
+ "version": "5.2.0",
1127
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1128
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1129
+ "dependencies": {
1130
+ "ansi-regex": "^4.1.0"
1131
+ },
1132
+ "engines": {
1133
+ "node": ">=6"
1134
+ }
1135
+ },
1136
+ "node_modules/supports-color": {
1137
+ "version": "5.5.0",
1138
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1139
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1140
+ "dependencies": {
1141
+ "has-flag": "^3.0.0"
1142
+ },
1143
+ "engines": {
1144
+ "node": ">=4"
1145
+ }
1146
+ },
1147
+ "node_modules/through": {
1148
+ "version": "2.3.8",
1149
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1150
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
1151
+ },
1152
+ "node_modules/tmp": {
1153
+ "version": "0.0.33",
1154
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1155
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1156
+ "dependencies": {
1157
+ "os-tmpdir": "~1.0.2"
1158
+ },
1159
+ "engines": {
1160
+ "node": ">=0.6.0"
1161
+ }
1162
+ },
1163
+ "node_modules/toidentifier": {
1164
+ "version": "1.0.1",
1165
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1166
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
1167
+ "engines": {
1168
+ "node": ">=0.6"
1169
+ }
1170
+ },
1171
+ "node_modules/tr46": {
1172
+ "version": "0.0.3",
1173
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
1174
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
1175
+ },
1176
+ "node_modules/tslib": {
1177
+ "version": "1.14.1",
1178
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
1179
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
1180
+ },
1181
+ "node_modules/type-is": {
1182
+ "version": "1.6.18",
1183
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1184
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1185
+ "dependencies": {
1186
+ "media-typer": "0.3.0",
1187
+ "mime-types": "~2.1.24"
1188
+ },
1189
+ "engines": {
1190
+ "node": ">= 0.6"
1191
+ }
1192
+ },
1193
+ "node_modules/unpipe": {
1194
+ "version": "1.0.0",
1195
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1196
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
1197
+ "engines": {
1198
+ "node": ">= 0.8"
1199
+ }
1200
+ },
1201
+ "node_modules/utils-merge": {
1202
+ "version": "1.0.1",
1203
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1204
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
1205
+ "engines": {
1206
+ "node": ">= 0.4.0"
1207
+ }
1208
+ },
1209
+ "node_modules/vary": {
1210
+ "version": "1.1.2",
1211
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1212
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
1213
+ "engines": {
1214
+ "node": ">= 0.8"
1215
+ }
1216
+ },
1217
+ "node_modules/webidl-conversions": {
1218
+ "version": "3.0.1",
1219
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
1220
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
1221
+ },
1222
+ "node_modules/whatwg-url": {
1223
+ "version": "5.0.0",
1224
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
1225
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
1226
+ "dependencies": {
1227
+ "tr46": "~0.0.3",
1228
+ "webidl-conversions": "^3.0.0"
1229
+ }
1230
+ }
1231
+ }
1232
+ }
package.json ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "your-tv-streams",
3
+ "version": "1.0.0",
4
+ "description": "A Stremio add-on for streaming TV series.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "start": "node index.js",
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "keywords": [
11
+ "stremio",
12
+ "addon",
13
+ "stream",
14
+ "tv",
15
+ "series"
16
+ ],
17
+ "author": "Your Name",
18
+ "license": "ISC",
19
+ "dependencies": {
20
+ "axios": "^1.6.2",
21
+ "cors": "^2.8.5",
22
+ "express": "^4.17.1",
23
+ "stremio-addon-sdk": "^1.2.0"
24
+ }
25
+ }
r00tv.ddns.me_series_data.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:98c2ac5e007553700153983bc1d8b5cb0b71a086d52c8a641dc659946b2c5330
3
+ size 24282234
vodrus.ath.cx_series_data.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e0340c67354b776ff8d50c60fedfb433ee7880179ea02e4c04a82038c2259317
3
+ size 41996000