127.0.0.1:8000 watch-together / fd47f42
Merge branch 'master' of 3.19.94.130:/home/ubuntu/git-repos/watch-together # Conflicts: # server/websocket/onmessage.js Seva Luchianov 4 years ago
5 changed file(s) with 956 addition(s) and 708 deletion(s). Raw diff Collapse all Expand all
33 "lockfileVersion": 1,
44 "requires": true,
55 "dependencies": {
6 "@babel/code-frame": {
7 "version": "7.10.3",
8 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
9 "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
10 "dev": true,
11 "requires": {
12 "@babel/highlight": "^7.10.3"
13 }
14 },
15 "@babel/core": {
16 "version": "7.10.3",
17 "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.3.tgz",
18 "integrity": "sha512-5YqWxYE3pyhIi84L84YcwjeEgS+fa7ZjK6IBVGTjDVfm64njkR2lfDhVR5OudLk8x2GK59YoSyVv+L/03k1q9w==",
19 "dev": true,
20 "requires": {
21 "@babel/code-frame": "^7.10.3",
22 "@babel/generator": "^7.10.3",
23 "@babel/helper-module-transforms": "^7.10.1",
24 "@babel/helpers": "^7.10.1",
25 "@babel/parser": "^7.10.3",
26 "@babel/template": "^7.10.3",
27 "@babel/traverse": "^7.10.3",
28 "@babel/types": "^7.10.3",
29 "convert-source-map": "^1.7.0",
30 "debug": "^4.1.0",
31 "gensync": "^1.0.0-beta.1",
32 "json5": "^2.1.2",
33 "lodash": "^4.17.13",
34 "resolve": "^1.3.2",
35 "semver": "^5.4.1",
36 "source-map": "^0.5.0"
37 },
38 "dependencies": {
39 "debug": {
40 "version": "4.1.1",
41 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
42 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
43 "dev": true,
44 "requires": {
45 "ms": "^2.1.1"
46 }
47 },
48 "json5": {
49 "version": "2.1.3",
50 "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
51 "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
52 "dev": true,
53 "requires": {
54 "minimist": "^1.2.5"
55 }
56 },
57 "ms": {
58 "version": "2.1.2",
59 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
60 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
61 "dev": true
62 }
63 }
64 },
65 "@babel/generator": {
66 "version": "7.10.3",
67 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz",
68 "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==",
69 "dev": true,
70 "requires": {
71 "@babel/types": "^7.10.3",
72 "jsesc": "^2.5.1",
73 "lodash": "^4.17.13",
74 "source-map": "^0.5.0"
75 },
76 "dependencies": {
77 "jsesc": {
78 "version": "2.5.2",
79 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
80 "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
81 "dev": true
82 }
83 }
84 },
85 "@babel/helper-function-name": {
86 "version": "7.10.3",
87 "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz",
88 "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==",
89 "dev": true,
90 "requires": {
91 "@babel/helper-get-function-arity": "^7.10.3",
92 "@babel/template": "^7.10.3",
93 "@babel/types": "^7.10.3"
94 }
95 },
96 "@babel/helper-get-function-arity": {
97 "version": "7.10.3",
98 "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz",
99 "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==",
100 "dev": true,
101 "requires": {
102 "@babel/types": "^7.10.3"
103 }
104 },
105 "@babel/helper-member-expression-to-functions": {
106 "version": "7.10.3",
107 "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz",
108 "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==",
109 "dev": true,
110 "requires": {
111 "@babel/types": "^7.10.3"
112 }
113 },
114 "@babel/helper-module-imports": {
115 "version": "7.10.3",
116 "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz",
117 "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==",
118 "dev": true,
119 "requires": {
120 "@babel/types": "^7.10.3"
121 }
122 },
123 "@babel/helper-module-transforms": {
124 "version": "7.10.1",
125 "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz",
126 "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==",
127 "dev": true,
128 "requires": {
129 "@babel/helper-module-imports": "^7.10.1",
130 "@babel/helper-replace-supers": "^7.10.1",
131 "@babel/helper-simple-access": "^7.10.1",
132 "@babel/helper-split-export-declaration": "^7.10.1",
133 "@babel/template": "^7.10.1",
134 "@babel/types": "^7.10.1",
135 "lodash": "^4.17.13"
136 }
137 },
138 "@babel/helper-optimise-call-expression": {
139 "version": "7.10.3",
140 "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz",
141 "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==",
142 "dev": true,
143 "requires": {
144 "@babel/types": "^7.10.3"
145 }
146 },
147 "@babel/helper-replace-supers": {
148 "version": "7.10.1",
149 "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz",
150 "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==",
151 "dev": true,
152 "requires": {
153 "@babel/helper-member-expression-to-functions": "^7.10.1",
154 "@babel/helper-optimise-call-expression": "^7.10.1",
155 "@babel/traverse": "^7.10.1",
156 "@babel/types": "^7.10.1"
157 }
158 },
159 "@babel/helper-simple-access": {
160 "version": "7.10.1",
161 "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz",
162 "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==",
163 "dev": true,
164 "requires": {
165 "@babel/template": "^7.10.1",
166 "@babel/types": "^7.10.1"
167 }
168 },
169 "@babel/helper-split-export-declaration": {
170 "version": "7.10.1",
171 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz",
172 "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==",
173 "dev": true,
174 "requires": {
175 "@babel/types": "^7.10.1"
176 }
177 },
178 "@babel/helper-validator-identifier": {
179 "version": "7.10.3",
180 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz",
181 "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==",
182 "dev": true
183 },
184 "@babel/helpers": {
185 "version": "7.10.1",
186 "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz",
187 "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==",
188 "dev": true,
189 "requires": {
190 "@babel/template": "^7.10.1",
191 "@babel/traverse": "^7.10.1",
192 "@babel/types": "^7.10.1"
193 }
194 },
195 "@babel/highlight": {
196 "version": "7.10.3",
197 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
198 "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
199 "dev": true,
200 "requires": {
201 "@babel/helper-validator-identifier": "^7.10.3",
202 "chalk": "^2.0.0",
203 "js-tokens": "^4.0.0"
204 },
205 "dependencies": {
206 "ansi-styles": {
207 "version": "3.2.1",
208 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
209 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
210 "dev": true,
211 "requires": {
212 "color-convert": "^1.9.0"
213 }
214 },
215 "chalk": {
216 "version": "2.4.2",
217 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
218 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
219 "dev": true,
220 "requires": {
221 "ansi-styles": "^3.2.1",
222 "escape-string-regexp": "^1.0.5",
223 "supports-color": "^5.3.0"
224 }
225 },
226 "js-tokens": {
227 "version": "4.0.0",
228 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
229 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
230 "dev": true
231 },
232 "supports-color": {
233 "version": "5.5.0",
234 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
235 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
236 "dev": true,
237 "requires": {
238 "has-flag": "^3.0.0"
239 }
240 }
241 }
242 },
243 "@babel/parser": {
244 "version": "7.10.3",
245 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz",
246 "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==",
247 "dev": true
248 },
249 "@babel/template": {
250 "version": "7.10.3",
251 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
252 "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
253 "dev": true,
254 "requires": {
255 "@babel/code-frame": "^7.10.3",
256 "@babel/parser": "^7.10.3",
257 "@babel/types": "^7.10.3"
258 }
259 },
260 "@babel/traverse": {
261 "version": "7.10.3",
262 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz",
263 "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==",
264 "dev": true,
265 "requires": {
266 "@babel/code-frame": "^7.10.3",
267 "@babel/generator": "^7.10.3",
268 "@babel/helper-function-name": "^7.10.3",
269 "@babel/helper-split-export-declaration": "^7.10.1",
270 "@babel/parser": "^7.10.3",
271 "@babel/types": "^7.10.3",
272 "debug": "^4.1.0",
273 "globals": "^11.1.0",
274 "lodash": "^4.17.13"
275 },
276 "dependencies": {
277 "debug": {
278 "version": "4.1.1",
279 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
280 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
281 "dev": true,
282 "requires": {
283 "ms": "^2.1.1"
284 }
285 },
286 "globals": {
287 "version": "11.12.0",
288 "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
289 "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
290 "dev": true
291 },
292 "ms": {
293 "version": "2.1.2",
294 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
295 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
296 "dev": true
297 }
298 }
299 },
300 "@babel/types": {
301 "version": "7.10.3",
302 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz",
303 "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==",
304 "dev": true,
305 "requires": {
306 "@babel/helper-validator-identifier": "^7.10.3",
307 "lodash": "^4.17.13",
308 "to-fast-properties": "^2.0.0"
309 },
310 "dependencies": {
311 "to-fast-properties": {
312 "version": "2.0.0",
313 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
314 "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
315 "dev": true
316 }
317 }
318 },
6319 "@nodelib/fs.scandir": {
7320 "version": "2.1.3",
8321 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
427740 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
428741 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
429742 },
430 "ansi-styles": {
431 "version": "2.2.1",
432 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
433 "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
434 "dev": true
435 },
436743 "anymatch": {
437744 "version": "2.0.0",
438745 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
591898 "follow-redirects": "1.5.10"
592899 }
593900 },
594 "babel-code-frame": {
595 "version": "6.26.0",
596 "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
597 "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
598 "dev": true,
599 "requires": {
600 "chalk": "^1.1.3",
601 "esutils": "^2.0.2",
602 "js-tokens": "^3.0.2"
603 }
604 },
605 "babel-core": {
606 "version": "6.26.3",
607 "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
608 "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
609 "dev": true,
610 "requires": {
611 "babel-code-frame": "^6.26.0",
612 "babel-generator": "^6.26.0",
613 "babel-helpers": "^6.24.1",
614 "babel-messages": "^6.23.0",
615 "babel-register": "^6.26.0",
616 "babel-runtime": "^6.26.0",
617 "babel-template": "^6.26.0",
618 "babel-traverse": "^6.26.0",
619 "babel-types": "^6.26.0",
620 "babylon": "^6.18.0",
621 "convert-source-map": "^1.5.1",
622 "debug": "^2.6.9",
623 "json5": "^0.5.1",
624 "lodash": "^4.17.4",
625 "minimatch": "^3.0.4",
626 "path-is-absolute": "^1.0.1",
627 "private": "^0.1.8",
628 "slash": "^1.0.0",
629 "source-map": "^0.5.7"
630 }
631 },
632 "babel-generator": {
633 "version": "6.26.1",
634 "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
635 "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
636 "dev": true,
637 "requires": {
638 "babel-messages": "^6.23.0",
639 "babel-runtime": "^6.26.0",
640 "babel-types": "^6.26.0",
641 "detect-indent": "^4.0.0",
642 "jsesc": "^1.3.0",
643 "lodash": "^4.17.4",
644 "source-map": "^0.5.7",
645 "trim-right": "^1.0.1"
646 }
647 },
648 "babel-helpers": {
649 "version": "6.24.1",
650 "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
651 "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
652 "dev": true,
653 "requires": {
654 "babel-runtime": "^6.22.0",
655 "babel-template": "^6.24.1"
656 }
657 },
658901 "babel-loader": {
659 "version": "7.1.5",
660 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz",
661 "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==",
662 "dev": true,
663 "requires": {
664 "find-cache-dir": "^1.0.0",
665 "loader-utils": "^1.0.2",
666 "mkdirp": "^0.5.1"
667 }
668 },
669 "babel-messages": {
670 "version": "6.23.0",
671 "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
672 "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
673 "dev": true,
674 "requires": {
675 "babel-runtime": "^6.22.0"
676 }
677 },
678 "babel-register": {
679 "version": "6.26.0",
680 "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
681 "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
682 "dev": true,
683 "requires": {
684 "babel-core": "^6.26.0",
685 "babel-runtime": "^6.26.0",
686 "core-js": "^2.5.0",
687 "home-or-tmp": "^2.0.0",
688 "lodash": "^4.17.4",
689 "mkdirp": "^0.5.1",
690 "source-map-support": "^0.4.15"
691 }
692 },
693 "babel-runtime": {
694 "version": "6.26.0",
695 "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
696 "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
697 "dev": true,
698 "requires": {
699 "core-js": "^2.4.0",
700 "regenerator-runtime": "^0.11.0"
701 }
702 },
703 "babel-template": {
704 "version": "6.26.0",
705 "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
706 "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
707 "dev": true,
708 "requires": {
709 "babel-runtime": "^6.26.0",
710 "babel-traverse": "^6.26.0",
711 "babel-types": "^6.26.0",
712 "babylon": "^6.18.0",
713 "lodash": "^4.17.4"
714 }
715 },
716 "babel-traverse": {
717 "version": "6.26.0",
718 "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
719 "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
720 "dev": true,
721 "requires": {
722 "babel-code-frame": "^6.26.0",
723 "babel-messages": "^6.23.0",
724 "babel-runtime": "^6.26.0",
725 "babel-types": "^6.26.0",
726 "babylon": "^6.18.0",
727 "debug": "^2.6.8",
728 "globals": "^9.18.0",
729 "invariant": "^2.2.2",
730 "lodash": "^4.17.4"
731 }
732 },
733 "babel-types": {
734 "version": "6.26.0",
735 "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
736 "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
737 "dev": true,
738 "requires": {
739 "babel-runtime": "^6.26.0",
740 "esutils": "^2.0.2",
741 "lodash": "^4.17.4",
742 "to-fast-properties": "^1.0.3"
743 }
744 },
745 "babylon": {
746 "version": "6.18.0",
747 "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
748 "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
749 "dev": true
902 "version": "8.1.0",
903 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
904 "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
905 "dev": true,
906 "requires": {
907 "find-cache-dir": "^2.1.0",
908 "loader-utils": "^1.4.0",
909 "mkdirp": "^0.5.3",
910 "pify": "^4.0.1",
911 "schema-utils": "^2.6.5"
912 },
913 "dependencies": {
914 "schema-utils": {
915 "version": "2.7.0",
916 "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
917 "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
918 "dev": true,
919 "requires": {
920 "@types/json-schema": "^7.0.4",
921 "ajv": "^6.12.2",
922 "ajv-keywords": "^3.4.1"
923 }
924 }
925 }
750926 },
751927 "balanced-match": {
752928 "version": "1.0.0",
815991 "dev": true
816992 },
817993 "bcrypt": {
818 "version": "4.0.1",
819 "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-4.0.1.tgz",
820 "integrity": "sha512-hSIZHkUxIDS5zA2o00Kf2O5RfVbQ888n54xQoF/eIaquU4uaLxK8vhhBdktd0B3n2MjkcAWzv4mnhogykBKOUQ==",
821 "requires": {
822 "node-addon-api": "^2.0.0",
823 "node-pre-gyp": "0.14.0"
994 "version": "5.0.0",
995 "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.0.tgz",
996 "integrity": "sha512-jB0yCBl4W/kVHM2whjfyqnxTmOHkCX4kHEa5nYKSoGeYe8YrjTYTc87/6bwt1g8cmV0QrbhKriETg9jWtcREhg==",
997 "requires": {
998 "node-addon-api": "^3.0.0",
999 "node-pre-gyp": "0.15.0"
8241000 }
8251001 },
8261002 "big.js": {
10481224 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
10491225 },
10501226 "cacache": {
1051 "version": "12.0.4",
1052 "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
1053 "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
1054 "dev": true,
1055 "requires": {
1056 "bluebird": "^3.5.5",
1057 "chownr": "^1.1.1",
1058 "figgy-pudding": "^3.5.1",
1227 "version": "15.0.4",
1228 "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz",
1229 "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==",
1230 "dev": true,
1231 "requires": {
1232 "@npmcli/move-file": "^1.0.1",
1233 "chownr": "^2.0.0",
1234 "fs-minipass": "^2.0.0",
10591235 "glob": "^7.1.4",
1060 "graceful-fs": "^4.1.15",
1061 "infer-owner": "^1.0.3",
1236 "infer-owner": "^1.0.4",
10621237 "lru-cache": "^5.1.1",
1063 "mississippi": "^3.0.0",
1064 "mkdirp": "^0.5.1",
1065 "move-concurrently": "^1.0.1",
1238 "minipass": "^3.1.1",
1239 "minipass-collect": "^1.0.2",
1240 "minipass-flush": "^1.0.5",
1241 "minipass-pipeline": "^1.2.2",
1242 "mkdirp": "^1.0.3",
1243 "p-map": "^4.0.0",
10661244 "promise-inflight": "^1.0.1",
1067 "rimraf": "^2.6.3",
1068 "ssri": "^6.0.1",
1069 "unique-filename": "^1.1.1",
1070 "y18n": "^4.0.0"
1071 },
1072 "dependencies": {
1073 "rimraf": {
1074 "version": "2.7.1",
1075 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
1076 "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
1077 "dev": true,
1078 "requires": {
1079 "glob": "^7.1.3"
1080 }
1245 "rimraf": "^3.0.2",
1246 "ssri": "^8.0.0",
1247 "tar": "^6.0.2",
1248 "unique-filename": "^1.1.1"
1249 },
1250 "dependencies": {
1251 "chownr": {
1252 "version": "2.0.0",
1253 "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
1254 "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
1255 "dev": true
1256 },
1257 "fs-minipass": {
1258 "version": "2.1.0",
1259 "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
1260 "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
1261 "dev": true,
1262 "requires": {
1263 "minipass": "^3.0.0"
1264 }
1265 },
1266 "minipass": {
1267 "version": "3.1.3",
1268 "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
1269 "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
1270 "dev": true,
1271 "requires": {
1272 "yallist": "^4.0.0"
1273 }
1274 },
1275 "minizlib": {
1276 "version": "2.1.0",
1277 "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
1278 "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
1279 "dev": true,
1280 "requires": {
1281 "minipass": "^3.0.0",
1282 "yallist": "^4.0.0"
1283 }
1284 },
1285 "mkdirp": {
1286 "version": "1.0.4",
1287 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1288 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1289 "dev": true
1290 },
1291 "p-map": {
1292 "version": "4.0.0",
1293 "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
1294 "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
1295 "dev": true,
1296 "requires": {
1297 "aggregate-error": "^3.0.0"
1298 }
1299 },
1300 "tar": {
1301 "version": "6.0.2",
1302 "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
1303 "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
1304 "dev": true,
1305 "requires": {
1306 "chownr": "^2.0.0",
1307 "fs-minipass": "^2.0.0",
1308 "minipass": "^3.0.0",
1309 "minizlib": "^2.1.0",
1310 "mkdirp": "^1.0.3",
1311 "yallist": "^4.0.0"
1312 }
1313 },
1314 "yallist": {
1315 "version": "4.0.0",
1316 "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1317 "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
1318 "dev": true
10811319 }
10821320 }
10831321 },
11131351 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
11141352 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
11151353 "dev": true
1116 },
1117 "chalk": {
1118 "version": "1.1.3",
1119 "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
1120 "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
1121 "dev": true,
1122 "requires": {
1123 "ansi-styles": "^2.2.1",
1124 "escape-string-regexp": "^1.0.2",
1125 "has-ansi": "^2.0.0",
1126 "strip-ansi": "^3.0.0",
1127 "supports-color": "^2.0.0"
1128 }
11291354 },
11301355 "chokidar": {
11311356 "version": "2.1.8",
17011926 }
17021927 }
17031928 },
1704 "core-js": {
1705 "version": "2.6.11",
1706 "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
1707 "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
1708 "dev": true
1709 },
17101929 "core-util-is": {
17111930 "version": "1.0.2",
17121931 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
19682187 "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
19692188 "dev": true
19702189 },
1971 "detect-indent": {
1972 "version": "4.0.0",
1973 "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
1974 "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
1975 "dev": true,
1976 "requires": {
1977 "repeating": "^2.0.0"
1978 }
1979 },
19802190 "detect-libc": {
19812191 "version": "1.0.3",
19822192 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
23082518 "requires": {
23092519 "md5.js": "^1.3.4",
23102520 "safe-buffer": "^5.1.1"
2311 }
2312 },
2313 "execa": {
2314 "version": "1.0.0",
2315 "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
2316 "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
2317 "dev": true,
2318 "requires": {
2319 "cross-spawn": "^6.0.0",
2320 "get-stream": "^4.0.0",
2321 "is-stream": "^1.1.0",
2322 "npm-run-path": "^2.0.0",
2323 "p-finally": "^1.0.0",
2324 "signal-exit": "^3.0.0",
2325 "strip-eof": "^1.0.0"
23262521 }
23272522 },
23282523 "expand-brackets": {
26962891 "dev": true
26972892 },
26982893 "file-type": {
2699 "version": "14.6.1",
2700 "resolved": "https://registry.npmjs.org/file-type/-/file-type-14.6.1.tgz",
2701 "integrity": "sha512-h8TJ6Ff9UuhSOHr44Xh2J2r7Gg5ED8jNZKQ2XA2WyFCRum9qTcY3Qy1Q6mG5xMTeIT3IJcLlSReD4WEr/nL9vw==",
2894 "version": "14.6.2",
2895 "resolved": "https://registry.npmjs.org/file-type/-/file-type-14.6.2.tgz",
2896 "integrity": "sha512-kSZTAJxPXBdBgJyoC7TexkBWoMI/D1Gas6aTtAn9VIRFwCehwiluGV5O8O2GwqO5zIqeEvXxEKl/xfcaAKB0Yg==",
27022897 "requires": {
27032898 "readable-web-to-node-stream": "^2.0.0",
2704 "strtok3": "^6.0.0",
2899 "strtok3": "^6.0.3",
27052900 "token-types": "^2.0.0",
27062901 "typedarray-to-buffer": "^3.1.5"
27072902 }
27492944 }
27502945 },
27512946 "find-cache-dir": {
2752 "version": "1.0.0",
2753 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
2754 "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
2947 "version": "2.1.0",
2948 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
2949 "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
27552950 "dev": true,
27562951 "requires": {
27572952 "commondir": "^1.0.1",
2758 "make-dir": "^1.0.0",
2759 "pkg-dir": "^2.0.0"
2953 "make-dir": "^2.0.0",
2954 "pkg-dir": "^3.0.0"
27602955 }
27612956 },
27622957 "find-up": {
2763 "version": "2.1.0",
2764 "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
2765 "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
2766 "dev": true,
2767 "requires": {
2768 "locate-path": "^2.0.0"
2958 "version": "3.0.0",
2959 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2960 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2961 "dev": true,
2962 "requires": {
2963 "locate-path": "^3.0.0"
27692964 }
27702965 },
27712966 "findup-sync": {
35163711 }
35173712 }
35183713 },
3714 "gensync": {
3715 "version": "1.0.0-beta.1",
3716 "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
3717 "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
3718 "dev": true
3719 },
35193720 "get-caller-file": {
35203721 "version": "2.0.5",
35213722 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
35293730 "requires": {
35303731 "gar": "^1.0.4",
35313732 "tiny-each-async": "2.0.3"
3532 }
3533 },
3534 "get-stream": {
3535 "version": "4.1.0",
3536 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
3537 "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
3538 "dev": true,
3539 "requires": {
3540 "pump": "^3.0.0"
35413733 }
35423734 },
35433735 "get-uri": {
36283820 "which": "^1.2.14"
36293821 }
36303822 },
3631 "globals": {
3632 "version": "9.18.0",
3633 "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
3634 "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
3635 "dev": true
3636 },
36373823 "globby": {
36383824 "version": "6.1.0",
36393825 "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
36703856 "function-bind": "^1.1.1"
36713857 }
36723858 },
3673 "has-ansi": {
3674 "version": "2.0.0",
3675 "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
3676 "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
3677 "dev": true,
3678 "requires": {
3679 "ansi-regex": "^2.0.0"
3680 }
3681 },
36823859 "has-flag": {
36833860 "version": "3.0.0",
36843861 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
37893966 "hash.js": "^1.0.3",
37903967 "minimalistic-assert": "^1.0.0",
37913968 "minimalistic-crypto-utils": "^1.0.1"
3792 }
3793 },
3794 "home-or-tmp": {
3795 "version": "2.0.0",
3796 "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
3797 "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
3798 "dev": true,
3799 "requires": {
3800 "os-homedir": "^1.0.0",
3801 "os-tmpdir": "^1.0.1"
38023969 }
38033970 },
38043971 "homedir-polyfill": {
41414308 "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
41424309 },
41434310 "interpret": {
4144 "version": "1.2.0",
4145 "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
4146 "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
4147 "dev": true
4148 },
4149 "invariant": {
4150 "version": "2.2.4",
4151 "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
4152 "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
4153 "dev": true,
4154 "requires": {
4155 "loose-envify": "^1.0.0"
4156 }
4157 },
4158 "invert-kv": {
4159 "version": "2.0.0",
4160 "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
4161 "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
4311 "version": "1.4.0",
4312 "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
4313 "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
41624314 "dev": true
41634315 },
41644316 "ip": {
42694421 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
42704422 "dev": true
42714423 },
4272 "is-finite": {
4273 "version": "1.1.0",
4274 "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
4275 "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
4276 "dev": true
4277 },
42784424 "is-fullwidth-code-point": {
42794425 "version": "2.0.0",
42804426 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
43984544 "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
43994545 "dev": true
44004546 },
4547 "jest-worker": {
4548 "version": "26.0.0",
4549 "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.0.0.tgz",
4550 "integrity": "sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==",
4551 "dev": true,
4552 "requires": {
4553 "merge-stream": "^2.0.0",
4554 "supports-color": "^7.0.0"
4555 },
4556 "dependencies": {
4557 "has-flag": {
4558 "version": "4.0.0",
4559 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
4560 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
4561 "dev": true
4562 },
4563 "supports-color": {
4564 "version": "7.1.0",
4565 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
4566 "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
4567 "dev": true,
4568 "requires": {
4569 "has-flag": "^4.0.0"
4570 }
4571 }
4572 }
4573 },
44014574 "jquery": {
44024575 "version": "3.5.1",
44034576 "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
44084581 "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
44094582 "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
44104583 },
4411 "js-tokens": {
4412 "version": "3.0.2",
4413 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
4414 "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
4415 "dev": true
4416 },
4417 "jsesc": {
4418 "version": "1.3.0",
4419 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
4420 "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
4421 "dev": true
4422 },
44234584 "json-parse-better-errors": {
44244585 "version": "1.0.2",
44254586 "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
44324593 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
44334594 "dev": true
44344595 },
4435 "json5": {
4436 "version": "0.5.1",
4437 "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
4438 "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
4439 "dev": true
4440 },
44414596 "kind-of": {
44424597 "version": "6.0.3",
44434598 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
44444599 "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
44454600 "dev": true
44464601 },
4447 "lcid": {
4448 "version": "2.0.0",
4449 "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
4450 "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
4451 "dev": true,
4452 "requires": {
4453 "invert-kv": "^2.0.0"
4454 }
4455 },
44564602 "levn": {
44574603 "version": "0.3.0",
44584604 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
44914637 }
44924638 },
44934639 "locate-path": {
4494 "version": "2.0.0",
4495 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
4496 "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
4497 "dev": true,
4498 "requires": {
4499 "p-locate": "^2.0.0",
4640 "version": "3.0.0",
4641 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
4642 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
4643 "dev": true,
4644 "requires": {
4645 "p-locate": "^3.0.0",
45004646 "path-exists": "^3.0.0"
45014647 }
45024648 },
45044650 "version": "4.17.15",
45054651 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
45064652 "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
4507 },
4508 "loose-envify": {
4509 "version": "1.4.0",
4510 "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
4511 "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
4512 "dev": true,
4513 "requires": {
4514 "js-tokens": "^3.0.0 || ^4.0.0"
4515 }
45164653 },
45174654 "lower-case": {
45184655 "version": "2.0.1",
45714708 }
45724709 },
45734710 "make-dir": {
4574 "version": "1.3.0",
4575 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
4576 "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
4577 "dev": true,
4578 "requires": {
4579 "pify": "^3.0.0"
4580 }
4581 },
4582 "map-age-cleaner": {
4583 "version": "0.1.3",
4584 "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
4585 "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
4586 "dev": true,
4587 "requires": {
4588 "p-defer": "^1.0.0"
4711 "version": "2.1.0",
4712 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
4713 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
4714 "dev": true,
4715 "requires": {
4716 "pify": "^4.0.1",
4717 "semver": "^5.6.0"
45894718 }
45904719 },
45914720 "map-cache": {
46194748 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
46204749 "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
46214750 },
4622 "mem": {
4623 "version": "4.3.0",
4624 "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
4625 "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
4626 "dev": true,
4627 "requires": {
4628 "map-age-cleaner": "^0.1.1",
4629 "mimic-fn": "^2.0.0",
4630 "p-is-promise": "^2.0.0"
4631 }
4632 },
46334751 "memory-fs": {
46344752 "version": "0.4.1",
46354753 "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
46444762 "version": "1.0.1",
46454763 "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
46464764 "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
4765 },
4766 "merge-stream": {
4767 "version": "2.0.0",
4768 "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
4769 "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
4770 "dev": true
46474771 },
46484772 "merge2": {
46494773 "version": "1.4.1",
47054829 "mime-db": "1.44.0"
47064830 }
47074831 },
4708 "mimic-fn": {
4709 "version": "2.1.0",
4710 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
4711 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
4712 "dev": true
4713 },
47144832 "minimalistic-assert": {
47154833 "version": "1.0.1",
47164834 "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
48794997 }
48804998 },
48814999 "moment": {
4882 "version": "2.26.0",
4883 "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz",
4884 "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw=="
5000 "version": "2.27.0",
5001 "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
5002 "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ=="
48855003 },
48865004 "moment-timezone": {
48875005 "version": "0.5.31",
49595077 }
49605078 },
49615079 "needle": {
4962 "version": "2.4.1",
4963 "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz",
4964 "integrity": "sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==",
5080 "version": "2.5.0",
5081 "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz",
5082 "integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==",
49655083 "requires": {
49665084 "debug": "^3.2.6",
49675085 "iconv-lite": "^0.4.4",
50215139 "integrity": "sha512-YTzGAJOo/B6hkodeT5SKKHpOhAzjMfkUCCXjLJwjWk2F4/InIg+HbdH9kmT7bKpleDuqLZDTRy2OdNtAj0IVyQ=="
50225140 },
50235141 "node-addon-api": {
5024 "version": "2.0.0",
5025 "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.0.tgz",
5026 "integrity": "sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA=="
5142 "version": "3.0.0",
5143 "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.0.tgz",
5144 "integrity": "sha512-sSHCgWfJ+Lui/u+0msF3oyCgvdkhxDbkCS6Q8uiJquzOimkJBvX6hl5aSSA7DR1XbMpdM8r7phjcF63sF4rkKg=="
50275145 },
50285146 "node-gyp-build": {
50295147 "version": "3.7.0",
50705188 }
50715189 },
50725190 "node-pre-gyp": {
5073 "version": "0.14.0",
5074 "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz",
5075 "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==",
5191 "version": "0.15.0",
5192 "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz",
5193 "integrity": "sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA==",
50765194 "requires": {
50775195 "detect-libc": "^1.0.2",
5078 "mkdirp": "^0.5.1",
5079 "needle": "^2.2.1",
5196 "mkdirp": "^0.5.3",
5197 "needle": "^2.5.0",
50805198 "nopt": "^4.0.1",
50815199 "npm-packlist": "^1.1.6",
50825200 "npmlog": "^4.0.2",
51345252 "npm-normalize-package-bin": "^1.0.1"
51355253 }
51365254 },
5137 "npm-run-path": {
5138 "version": "2.0.2",
5139 "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
5140 "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
5141 "dev": true,
5142 "requires": {
5143 "path-key": "^2.0.0"
5144 }
5145 },
51465255 "npmlog": {
51475256 "version": "4.1.2",
51485257 "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
53015410 "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
53025411 "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
53035412 },
5304 "os-locale": {
5305 "version": "3.1.0",
5306 "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
5307 "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
5308 "dev": true,
5309 "requires": {
5310 "execa": "^1.0.0",
5311 "lcid": "^2.0.0",
5312 "mem": "^4.0.0"
5313 }
5314 },
53155413 "os-tmpdir": {
53165414 "version": "1.0.2",
53175415 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
53265424 "os-tmpdir": "^1.0.0"
53275425 }
53285426 },
5329 "p-defer": {
5330 "version": "1.0.0",
5331 "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
5332 "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
5333 "dev": true
5334 },
5335 "p-finally": {
5336 "version": "1.0.0",
5337 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
5338 "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
5339 "dev": true
5340 },
5341 "p-is-promise": {
5342 "version": "2.1.0",
5343 "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
5344 "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
5345 "dev": true
5346 },
53475427 "p-limit": {
5348 "version": "1.3.0",
5349 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
5350 "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
5351 "dev": true,
5352 "requires": {
5353 "p-try": "^1.0.0"
5428 "version": "2.3.0",
5429 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
5430 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
5431 "dev": true,
5432 "requires": {
5433 "p-try": "^2.0.0"
53545434 }
53555435 },
53565436 "p-locate": {
5357 "version": "2.0.0",
5358 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
5359 "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
5360 "dev": true,
5361 "requires": {
5362 "p-limit": "^1.1.0"
5437 "version": "3.0.0",
5438 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
5439 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
5440 "dev": true,
5441 "requires": {
5442 "p-limit": "^2.0.0"
53635443 }
53645444 },
53655445 "p-map": {
53695449 "dev": true
53705450 },
53715451 "p-try": {
5372 "version": "1.0.0",
5373 "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
5374 "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
5452 "version": "2.2.0",
5453 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
5454 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
53755455 "dev": true
53765456 },
53775457 "pac-proxy-agent": {
55415621 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
55425622 "dev": true
55435623 },
5624 "path-parse": {
5625 "version": "1.0.6",
5626 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
5627 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
5628 "dev": true
5629 },
55445630 "path-proxy": {
55455631 "version": "1.0.0",
55465632 "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
55975683 "dev": true
55985684 },
55995685 "pify": {
5600 "version": "3.0.0",
5601 "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
5602 "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
5686 "version": "4.0.1",
5687 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
5688 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
56035689 "dev": true
56045690 },
56055691 "pinkie": {
56185704 }
56195705 },
56205706 "pkg-dir": {
5621 "version": "2.0.0",
5622 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
5623 "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
5624 "dev": true,
5625 "requires": {
5626 "find-up": "^2.1.0"
5707 "version": "3.0.0",
5708 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
5709 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
5710 "dev": true,
5711 "requires": {
5712 "find-up": "^3.0.0"
56275713 }
56285714 },
56295715 "posix-character-classes": {
56515737 "renderkid": "^2.0.1",
56525738 "utila": "~0.4"
56535739 }
5654 },
5655 "private": {
5656 "version": "0.1.8",
5657 "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
5658 "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
5659 "dev": true
56605740 },
56615741 "process": {
56625742 "version": "0.11.10",
58845964 "readable-stream": "^2.0.2"
58855965 }
58865966 },
5887 "regenerator-runtime": {
5888 "version": "0.11.1",
5889 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
5890 "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
5891 "dev": true
5892 },
58935967 "regex-not": {
58945968 "version": "1.0.2",
58955969 "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
59376011 "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
59386012 "dev": true
59396013 },
5940 "repeating": {
5941 "version": "2.0.1",
5942 "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
5943 "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
5944 "dev": true,
5945 "requires": {
5946 "is-finite": "^1.0.0"
5947 }
5948 },
59496014 "require-directory": {
59506015 "version": "2.1.1",
59516016 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
59576022 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
59586023 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
59596024 "dev": true
6025 },
6026 "resolve": {
6027 "version": "1.17.0",
6028 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
6029 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
6030 "dev": true,
6031 "requires": {
6032 "path-parse": "^1.0.6"
6033 }
59606034 },
59616035 "resolve-cwd": {
59626036 "version": "2.0.0",
61206194 }
61216195 },
61226196 "serialize-javascript": {
6123 "version": "3.1.0",
6124 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
6125 "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
6197 "version": "4.0.0",
6198 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
6199 "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
61266200 "dev": true,
61276201 "requires": {
61286202 "randombytes": "^2.1.0"
62076281 "version": "3.0.3",
62086282 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
62096283 "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
6210 },
6211 "slash": {
6212 "version": "1.0.0",
6213 "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
6214 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
6215 "dev": true
62166284 },
62176285 "smart-buffer": {
62186286 "version": "4.1.0",
63796447 "urix": "^0.1.0"
63806448 }
63816449 },
6382 "source-map-support": {
6383 "version": "0.4.18",
6384 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
6385 "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
6386 "dev": true,
6387 "requires": {
6388 "source-map": "^0.5.6"
6389 }
6390 },
63916450 "source-map-url": {
63926451 "version": "0.4.0",
63936452 "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
64096468 "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A="
64106469 },
64116470 "ssri": {
6412 "version": "6.0.1",
6413 "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
6414 "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
6415 "dev": true,
6416 "requires": {
6417 "figgy-pudding": "^3.5.1"
6471 "version": "8.0.0",
6472 "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz",
6473 "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==",
6474 "dev": true,
6475 "requires": {
6476 "minipass": "^3.1.1"
6477 },
6478 "dependencies": {
6479 "minipass": {
6480 "version": "3.1.3",
6481 "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
6482 "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
6483 "dev": true,
6484 "requires": {
6485 "yallist": "^4.0.0"
6486 }
6487 },
6488 "yallist": {
6489 "version": "4.0.0",
6490 "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
6491 "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
6492 "dev": true
6493 }
64186494 }
64196495 },
64206496 "static-extend": {
65736649 "ansi-regex": "^2.0.0"
65746650 }
65756651 },
6576 "strip-eof": {
6577 "version": "1.0.0",
6578 "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
6579 "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
6580 "dev": true
6581 },
65826652 "strip-json-comments": {
65836653 "version": "2.0.1",
65846654 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
66176687 "requires": {
66186688 "zero-fill": "^2.2.3"
66196689 }
6620 },
6621 "supports-color": {
6622 "version": "2.0.0",
6623 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
6624 "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
6625 "dev": true
66266690 },
66276691 "tapable": {
66286692 "version": "1.1.3",
66746738 }
66756739 },
66766740 "terser-webpack-plugin": {
6677 "version": "1.4.4",
6678 "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz",
6679 "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==",
6680 "dev": true,
6681 "requires": {
6682 "cacache": "^12.0.2",
6683 "find-cache-dir": "^2.1.0",
6684 "is-wsl": "^1.1.0",
6685 "schema-utils": "^1.0.0",
6686 "serialize-javascript": "^3.1.0",
6741 "version": "3.0.6",
6742 "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.6.tgz",
6743 "integrity": "sha512-z3HLOOPUHkCNGkeEHqqiMAIy1pjpHwS1o+i6Zn0Ws3EAvHJj46737efNNEvJ0Vx9BdDQM83d56qySDJOSORA0A==",
6744 "dev": true,
6745 "requires": {
6746 "cacache": "^15.0.4",
6747 "find-cache-dir": "^3.3.1",
6748 "jest-worker": "^26.0.0",
6749 "p-limit": "^3.0.1",
6750 "schema-utils": "^2.6.6",
6751 "serialize-javascript": "^4.0.0",
66876752 "source-map": "^0.6.1",
6688 "terser": "^4.1.2",
6689 "webpack-sources": "^1.4.0",
6690 "worker-farm": "^1.7.0"
6753 "terser": "^4.8.0",
6754 "webpack-sources": "^1.4.3"
66916755 },
66926756 "dependencies": {
66936757 "find-cache-dir": {
6694 "version": "2.1.0",
6695 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
6696 "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
6758 "version": "3.3.1",
6759 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
6760 "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
66976761 "dev": true,
66986762 "requires": {
66996763 "commondir": "^1.0.1",
6700 "make-dir": "^2.0.0",
6701 "pkg-dir": "^3.0.0"
6764 "make-dir": "^3.0.2",
6765 "pkg-dir": "^4.1.0"
67026766 }
67036767 },
67046768 "find-up": {
6705 "version": "3.0.0",
6706 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
6707 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
6708 "dev": true,
6709 "requires": {
6710 "locate-path": "^3.0.0"
6769 "version": "4.1.0",
6770 "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
6771 "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
6772 "dev": true,
6773 "requires": {
6774 "locate-path": "^5.0.0",
6775 "path-exists": "^4.0.0"
67116776 }
67126777 },
67136778 "locate-path": {
6714 "version": "3.0.0",
6715 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
6716 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
6717 "dev": true,
6718 "requires": {
6719 "p-locate": "^3.0.0",
6720 "path-exists": "^3.0.0"
6779 "version": "5.0.0",
6780 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
6781 "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
6782 "dev": true,
6783 "requires": {
6784 "p-locate": "^4.1.0"
67216785 }
67226786 },
67236787 "make-dir": {
6724 "version": "2.1.0",
6725 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
6726 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
6727 "dev": true,
6728 "requires": {
6729 "pify": "^4.0.1",
6730 "semver": "^5.6.0"
6788 "version": "3.1.0",
6789 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
6790 "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
6791 "dev": true,
6792 "requires": {
6793 "semver": "^6.0.0"
67316794 }
67326795 },
67336796 "p-limit": {
6734 "version": "2.3.0",
6735 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
6736 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
6797 "version": "3.0.1",
6798 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.1.tgz",
6799 "integrity": "sha512-mw/p92EyOzl2MhauKodw54Rx5ZK4624rNfgNaBguFZkHzyUG9WsDzFF5/yQVEJinbJDdP4jEfMN+uBquiGnaLg==",
67376800 "dev": true,
67386801 "requires": {
67396802 "p-try": "^2.0.0"
67406803 }
67416804 },
67426805 "p-locate": {
6743 "version": "3.0.0",
6744 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
6745 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
6746 "dev": true,
6747 "requires": {
6748 "p-limit": "^2.0.0"
6806 "version": "4.1.0",
6807 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
6808 "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
6809 "dev": true,
6810 "requires": {
6811 "p-limit": "^2.2.0"
6812 },
6813 "dependencies": {
6814 "p-limit": {
6815 "version": "2.3.0",
6816 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
6817 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
6818 "dev": true,
6819 "requires": {
6820 "p-try": "^2.0.0"
6821 }
6822 }
67496823 }
67506824 },
67516825 "p-try": {
67546828 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
67556829 "dev": true
67566830 },
6757 "pify": {
6758 "version": "4.0.1",
6759 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
6760 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
6831 "path-exists": {
6832 "version": "4.0.0",
6833 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
6834 "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
67616835 "dev": true
67626836 },
67636837 "pkg-dir": {
6764 "version": "3.0.0",
6765 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
6766 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
6767 "dev": true,
6768 "requires": {
6769 "find-up": "^3.0.0"
6770 }
6838 "version": "4.2.0",
6839 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
6840 "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
6841 "dev": true,
6842 "requires": {
6843 "find-up": "^4.0.0"
6844 }
6845 },
6846 "schema-utils": {
6847 "version": "2.7.0",
6848 "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
6849 "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
6850 "dev": true,
6851 "requires": {
6852 "@types/json-schema": "^7.0.4",
6853 "ajv": "^6.12.2",
6854 "ajv-keywords": "^3.4.1"
6855 }
6856 },
6857 "semver": {
6858 "version": "6.3.0",
6859 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
6860 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
6861 "dev": true
67716862 },
67726863 "source-map": {
67736864 "version": "0.6.1",
67746865 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
67756866 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
67766867 "dev": true
6868 },
6869 "source-map-support": {
6870 "version": "0.5.19",
6871 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
6872 "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
6873 "dev": true,
6874 "requires": {
6875 "buffer-from": "^1.0.0",
6876 "source-map": "^0.6.0"
6877 }
6878 },
6879 "terser": {
6880 "version": "4.8.0",
6881 "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
6882 "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
6883 "dev": true,
6884 "requires": {
6885 "commander": "^2.20.0",
6886 "source-map": "~0.6.1",
6887 "source-map-support": "~0.5.12"
6888 }
67776889 }
67786890 }
67796891 },
68126924 "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
68136925 "dev": true
68146926 },
6815 "to-fast-properties": {
6816 "version": "1.0.3",
6817 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
6818 "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
6819 "dev": true
6820 },
68216927 "to-object-path": {
68226928 "version": "0.3.0",
68236929 "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
68736979 "@tokenizer/token": "^0.1.0",
68746980 "ieee754": "^1.1.13"
68756981 }
6876 },
6877 "trim-right": {
6878 "version": "1.0.1",
6879 "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
6880 "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
6881 "dev": true
68826982 },
68836983 "tslib": {
68846984 "version": "1.11.1",
71107210 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
71117211 },
71127212 "uuid": {
7113 "version": "7.0.3",
7114 "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
7115 "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="
7213 "version": "8.1.0",
7214 "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz",
7215 "integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg=="
71167216 },
71177217 "v8-compile-cache": {
7118 "version": "2.0.3",
7119 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz",
7120 "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==",
7218 "version": "2.1.1",
7219 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
7220 "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
71217221 "dev": true
71227222 },
71237223 "vary": {
71717271 "terser-webpack-plugin": "^1.4.3",
71727272 "watchpack": "^1.6.1",
71737273 "webpack-sources": "^1.4.1"
7274 },
7275 "dependencies": {
7276 "cacache": {
7277 "version": "12.0.4",
7278 "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
7279 "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
7280 "dev": true,
7281 "requires": {
7282 "bluebird": "^3.5.5",
7283 "chownr": "^1.1.1",
7284 "figgy-pudding": "^3.5.1",
7285 "glob": "^7.1.4",
7286 "graceful-fs": "^4.1.15",
7287 "infer-owner": "^1.0.3",
7288 "lru-cache": "^5.1.1",
7289 "mississippi": "^3.0.0",
7290 "mkdirp": "^0.5.1",
7291 "move-concurrently": "^1.0.1",
7292 "promise-inflight": "^1.0.1",
7293 "rimraf": "^2.6.3",
7294 "ssri": "^6.0.1",
7295 "unique-filename": "^1.1.1",
7296 "y18n": "^4.0.0"
7297 }
7298 },
7299 "find-cache-dir": {
7300 "version": "2.1.0",
7301 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
7302 "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
7303 "dev": true,
7304 "requires": {
7305 "commondir": "^1.0.1",
7306 "make-dir": "^2.0.0",
7307 "pkg-dir": "^3.0.0"
7308 }
7309 },
7310 "find-up": {
7311 "version": "3.0.0",
7312 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
7313 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
7314 "dev": true,
7315 "requires": {
7316 "locate-path": "^3.0.0"
7317 }
7318 },
7319 "locate-path": {
7320 "version": "3.0.0",
7321 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
7322 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
7323 "dev": true,
7324 "requires": {
7325 "p-locate": "^3.0.0",
7326 "path-exists": "^3.0.0"
7327 }
7328 },
7329 "make-dir": {
7330 "version": "2.1.0",
7331 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
7332 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
7333 "dev": true,
7334 "requires": {
7335 "pify": "^4.0.1",
7336 "semver": "^5.6.0"
7337 }
7338 },
7339 "p-limit": {
7340 "version": "2.3.0",
7341 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
7342 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
7343 "dev": true,
7344 "requires": {
7345 "p-try": "^2.0.0"
7346 }
7347 },
7348 "p-locate": {
7349 "version": "3.0.0",
7350 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
7351 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
7352 "dev": true,
7353 "requires": {
7354 "p-limit": "^2.0.0"
7355 }
7356 },
7357 "p-try": {
7358 "version": "2.2.0",
7359 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
7360 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
7361 "dev": true
7362 },
7363 "pify": {
7364 "version": "4.0.1",
7365 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
7366 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
7367 "dev": true
7368 },
7369 "pkg-dir": {
7370 "version": "3.0.0",
7371 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
7372 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
7373 "dev": true,
7374 "requires": {
7375 "find-up": "^3.0.0"
7376 }
7377 },
7378 "rimraf": {
7379 "version": "2.7.1",
7380 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
7381 "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
7382 "dev": true,
7383 "requires": {
7384 "glob": "^7.1.3"
7385 }
7386 },
7387 "serialize-javascript": {
7388 "version": "3.1.0",
7389 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
7390 "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
7391 "dev": true,
7392 "requires": {
7393 "randombytes": "^2.1.0"
7394 }
7395 },
7396 "source-map": {
7397 "version": "0.6.1",
7398 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
7399 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
7400 "dev": true
7401 },
7402 "ssri": {
7403 "version": "6.0.1",
7404 "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
7405 "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
7406 "dev": true,
7407 "requires": {
7408 "figgy-pudding": "^3.5.1"
7409 }
7410 },
7411 "terser-webpack-plugin": {
7412 "version": "1.4.4",
7413 "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz",
7414 "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==",
7415 "dev": true,
7416 "requires": {
7417 "cacache": "^12.0.2",
7418 "find-cache-dir": "^2.1.0",
7419 "is-wsl": "^1.1.0",
7420 "schema-utils": "^1.0.0",
7421 "serialize-javascript": "^3.1.0",
7422 "source-map": "^0.6.1",
7423 "terser": "^4.1.2",
7424 "webpack-sources": "^1.4.0",
7425 "worker-farm": "^1.7.0"
7426 }
7427 }
71747428 }
71757429 },
71767430 "webpack-cli": {
7177 "version": "3.3.11",
7178 "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz",
7179 "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==",
7180 "dev": true,
7181 "requires": {
7182 "chalk": "2.4.2",
7183 "cross-spawn": "6.0.5",
7184 "enhanced-resolve": "4.1.0",
7185 "findup-sync": "3.0.0",
7186 "global-modules": "2.0.0",
7187 "import-local": "2.0.0",
7188 "interpret": "1.2.0",
7189 "loader-utils": "1.2.3",
7190 "supports-color": "6.1.0",
7191 "v8-compile-cache": "2.0.3",
7192 "yargs": "13.2.4"
7431 "version": "3.3.12",
7432 "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz",
7433 "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==",
7434 "dev": true,
7435 "requires": {
7436 "chalk": "^2.4.2",
7437 "cross-spawn": "^6.0.5",
7438 "enhanced-resolve": "^4.1.1",
7439 "findup-sync": "^3.0.0",
7440 "global-modules": "^2.0.0",
7441 "import-local": "^2.0.0",
7442 "interpret": "^1.4.0",
7443 "loader-utils": "^1.4.0",
7444 "supports-color": "^6.1.0",
7445 "v8-compile-cache": "^2.1.1",
7446 "yargs": "^13.3.2"
71937447 },
71947448 "dependencies": {
71957449 "ansi-styles": {
72237477 }
72247478 }
72257479 },
7226 "emojis-list": {
7227 "version": "2.1.0",
7228 "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
7229 "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
7230 "dev": true
7231 },
7232 "enhanced-resolve": {
7233 "version": "4.1.0",
7234 "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
7235 "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
7236 "dev": true,
7237 "requires": {
7238 "graceful-fs": "^4.1.2",
7239 "memory-fs": "^0.4.0",
7240 "tapable": "^1.0.0"
7241 }
7242 },
7243 "json5": {
7244 "version": "1.0.1",
7245 "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
7246 "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
7247 "dev": true,
7248 "requires": {
7249 "minimist": "^1.2.0"
7250 }
7251 },
7252 "loader-utils": {
7253 "version": "1.2.3",
7254 "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
7255 "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
7256 "dev": true,
7257 "requires": {
7258 "big.js": "^5.2.2",
7259 "emojis-list": "^2.0.0",
7260 "json5": "^1.0.1"
7261 }
7262 },
72637480 "supports-color": {
72647481 "version": "6.1.0",
72657482 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
74247641 "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
74257642 },
74267643 "yargs": {
7427 "version": "13.2.4",
7428 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz",
7429 "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==",
7644 "version": "13.3.2",
7645 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
7646 "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
74307647 "dev": true,
74317648 "requires": {
74327649 "cliui": "^5.0.0",
74337650 "find-up": "^3.0.0",
74347651 "get-caller-file": "^2.0.1",
7435 "os-locale": "^3.1.0",
74367652 "require-directory": "^2.1.1",
74377653 "require-main-filename": "^2.0.0",
74387654 "set-blocking": "^2.0.0",
74397655 "string-width": "^3.0.0",
74407656 "which-module": "^2.0.0",
74417657 "y18n": "^4.0.0",
7442 "yargs-parser": "^13.1.0"
7658 "yargs-parser": "^13.1.2"
74437659 },
74447660 "dependencies": {
74457661 "find-up": {
3131 },
3232 "dependencies": {
3333 "axios": "^0.19.2",
34 "bcrypt": "^4.0.1",
34 "bcrypt": "^5.0.0",
3535 "binary-search": "^1.3.6",
3636 "body-parser": "^1.19.0",
3737 "bufferutil": "^4.0.1",
4141 "express-mysql-session": "^2.1.4",
4242 "express-rate-limit": "^5.1.1",
4343 "express-session": "^1.17.1",
44 "file-type": "^14.6.1",
44 "file-type": "^14.6.2",
4545 "fluent-ffmpeg": "^2.1.2",
4646 "get-folder-size": "^2.0.1",
4747 "huge-uploader": "^1.0.6",
4949 "jquery": "^3.5.1",
5050 "js-cookie": "^2.2.1",
5151 "mailgun-js": "^0.22.0",
52 "moment": "^2.26.0",
52 "moment": "^2.27.0",
5353 "moment-timezone": "^0.5.31",
5454 "mysql": "^2.18.1",
5555 "no-scroll": "^2.1.1",
6161 "subtitle": "^2.0.3",
6262 "ua-parser-js": "^0.7.21",
6363 "utf-8-validate": "^5.0.2",
64 "uuid": "^7.0.3",
64 "uuid": "^8.1.0",
6565 "ws": "^7.3.0",
6666 "zxcvbn": "^4.4.2"
6767 },
6868 "devDependencies": {
69 "babel-core": "^6.26.3",
70 "babel-loader": "^7.1.5",
69 "@babel/core": "^7.10.3",
70 "babel-loader": "^8.1.0",
7171 "clean-webpack-plugin": "^3.0.0",
7272 "copy-webpack-plugin": "^6.0.0",
7373 "html-webpack-plugin": "^4.3.0",
74 "terser-webpack-plugin": "^1.4.4",
74 "terser-webpack-plugin": "^3.0.6",
7575 "webpack": "^4.42.1",
76 "webpack-cli": "^3.3.11"
76 "webpack-cli": "^3.3.12"
7777 },
7878 "export-symbol": "extension.exports"
7979 }
44 const rimraf = require("rimraf");
55
66 function createHandler(command, handler) {
7 return function(ws, user_id, data) {
8 handler(user_id, data, function(data) {
7 return function (ws, user_id, data) {
8 handler(user_id, data, function (data) {
99 ws.send(JSON.stringify({
1010 command: command + "-response",
1111 data: data
1515 }
1616
1717 const handlers = Object.entries({
18 "clock-sync": function(user_id, data, respond) {
18 "clock-sync": function (user_id, data, respond) {
1919 respond({
2020 clientTime: data.clientTime,
2121 serverTime: Date.now()
2222 });
2323
24 if (data.video_id) {
24 if (data.video_id && watchrooms.get(data.video_id)) {
2525 broadcast({
2626 command: "announce",
2727 data: {
3434 }, watchrooms.get(data.video_id).viewers);
3535 }
3636 },
37 "get-all-videos": function(user_id, data, respond) {
37 "get-all-videos": function (user_id, data, respond) {
3838 utils.query("SELECT * FROM videos WHERE ?", {
3939 created_by: user_id
40 }).then(function(rows) {
40 }).then(function (rows) {
4141 let videos = [];
4242 for (const row of rows) {
4343 videos.push({
5050 respond(utils.ok({
5151 videos: videos
5252 }));
53 }).catch(function(error) {
53 }).catch(function (error) {
5454 console.error(error);
5555 respond(utils.error({
5656 videos: []
5757 }));
5858 });
5959
60 utils.get_storage_remaining().then(function(bytes) {
60 utils.get_storage_remaining().then(function (bytes) {
6161 broadcast({
6262 command: "server-storage-info",
6363 data: bytes
6666 });
6767 }).catch(console.error);
6868 },
69 "get-all-watchrooms": function(user_id) {
69 "get-all-watchrooms": function (user_id) {
7070 for (const [video_id, watchroom] of Object.entries(watchrooms.get_all())) {
7171 broadcast({
7272 command: "announce",
8181 });
8282 }
8383 },
84 "start-watching": function(user_id, video_id, respond) {
84 "start-watching": function (user_id, video_id, respond) {
8585 let watchroom = watchrooms.get(video_id);
86 utils.get_display_name(user_id).then(function(display_name) {
86 utils.get_display_name(user_id).then(function (display_name) {
8787 if (watchroom) {
8888 console.log("watchroom already exists");
8989 watchrooms.join(user_id, display_name, video_id);
125125 host: watchroom.viewers[user_id]
126126 }
127127 });
128 utils.get_video_name(video_id).then(function(video_name) {
128 utils.get_video_name(video_id).then(function (video_name) {
129129 broadcast({
130130 command: "announce-message",
131131 data: `${display_name} has started watching ${video_name}`
134134 }
135135 });
136136 },
137 "stop-watching": function(user_id, video_id) {
137 "stop-watching": function (user_id, video_id) {
138138 // set video_id in case it was undefined
139139 video_id = watchrooms.leave(user_id, video_id);
140140 if (video_id) {
160160 }
161161 }
162162 },
163 "update-viewer": function(user_id, data) {
163 "update-viewer": function (user_id, data) {
164164 //console.log("Update viewer state for", user_id);
165165 //console.log(data);
166166 let watchroom = watchrooms.get(data.video_id);
203203 }
204204 }, watchroom.viewers);
205205 },
206 "set-server-video-state": function(user_id, data) {
206 "set-server-video-state": function (user_id, data) {
207207 let invokeAt = Date.now() + watchrooms.get_invoke_delay(data.video_id);
208208 let new_state = watchrooms.update_video(data.video_id, Object.assign({
209209 invoked_by: user_id
218218 }, watchrooms.get(data.video_id).viewers);
219219 }
220220 },
221 "renew-video": function(user_id, video_id, respond) {
221 "renew-video": function (user_id, video_id, respond) {
222222 let one_week_from_now = Date.now() + (time.one_day * 7);
223223 utils.query("UPDATE videos" + utils.set_where({
224224 expires: one_week_from_now
238238 type: "error"
239239 }));
240240 }
241 }).catch(function(error) {
241 }).catch(function (error) {
242242 console.error(error);
243243 respond(utils.error({
244244 message: "Error renewing video",
246246 }));
247247 });
248248 },
249 "delete-video": function(user_id, video_id, respond) {
249 "delete-video": function (user_id, video_id, respond) {
250250 utils.query("DELETE FROM videos WHERE video_id=? AND created_by=? AND status=?", [
251251 video_id, user_id, utils.status.video.ready
252 ]).then(function(result) {
252 ]).then(function (result) {
253253 if (result.affectedRows) {
254 rimraf(path.join(VIDEO_ROOT, video_id), function() {
254 rimraf(path.join(VIDEO_ROOT, video_id), function () {
255255 respond(utils.ok({
256256 video_id: video_id,
257257 reason: "deleted"
258258 }));
259259
260 utils.get_storage_remaining().then(function(bytes) {
260 utils.get_storage_remaining().then(function (bytes) {
261261 broadcast({
262262 command: "server-storage-info",
263263 data: bytes
270270 type: "error"
271271 }));
272272 }
273 }).catch(function(error) {
273 }).catch(function (error) {
274274 console.error(error);
275275 respond(utils.error({
276276 message: "Error deleting video",
278278 }));
279279 });
280280 }
281 }).reduce(function(acc, [command, handler]) {
281 }).reduce(function (acc, [command, handler]) {
282282 return Object.assign(acc, {
283283 [command]: createHandler(command, handler)
284284 });
299299
300300 let broadcast;
301301
302 module.exports = function(create_broadcast) {
302 module.exports = function (create_broadcast) {
303303 broadcast = create_broadcast;
304304 return {
305305 handlers: handlers,
306 process: function(ws, user_id, message) {
306 process: function (ws, user_id, message) {
307307 // console.log("WS - process", message.command, "from", user_id);
308308 handlers[message.command](ws, user_id, message.data);
309309 }
310310 };
311 };
311 };
127127 padding: 10px 0 15px 0;
128128 }
129129
130 .volume-wrapper {
131 display: inline-block;
132 width: 200px;
133 padding: 10px;
134 vertical-align: bottom;
135 }
136
130137 input[type=range]::-moz-focus-outer {
131138 border: 0;
132139 }
141148 background: white;
142149 }
143150
151 .seek-slider.volume {
152 width: 200px;
153 }
154
144155 .seek-slider::-moz-range-track {
145156 background: white;
146157 }
55 const qs = require('querystring');
66 const bs = require("binary-search");
77 const api = require('./api');
8
9 $(document.body).on("keydown", function(event) {
8 const jscookie = require('js-cookie');
9
10 $(document.body).on("keydown", function (event) {
1011 if (event.keyCode === keycodes.space) {
1112 togglePaused();
1213 event.preventDefault();
2728 let video;
2829 let $video_overlay;
2930
31 let video_defaults = function () {
32 try {
33 return JSON.parse(jscookie.get("video_defaults"));
34 } catch (e) {
35 return {
36 volume: 100
37 };
38 }
39 }();
40
3041 // timestamp in ms
3142 let curr_subtitle_index = -1;
3243 let subtitles;
104115 }
105116
106117 module.exports = {
107 video_id: function() {
118 video_id: function () {
108119 return video_id;
109120 },
110 open: function(data, new_websocket) {
121 open: function (data, new_websocket) {
111122 websocket = new_websocket;
112123 video_id = data.video_id;
113124 our_user_id = data.user_id;
114125
115126 video = document.createElement("video");
116127 $video_overlay = $(`<div class="video-overlay"></div>`).append(
117 $(`<div class="video-wrapper"></div>`).on("mousemove", function() {
128 $(`<div class="video-wrapper"></div>`).on("mousemove", function () {
118129 if (screenfull.isFullscreen && !video.paused) {
119130 $(".video-controls").removeClass("fullscreen");
120131 $(".subtitle-wrapper").addClass("fullscreen-controls");
121132 clearTimeout(hide_controls_timeout);
122 hide_controls_timeout = setTimeout(function() {
133 hide_controls_timeout = setTimeout(function () {
123134 if (!video.paused) {
124135 $(".video-controls").addClass("fullscreen");
125136 $(".subtitle-wrapper").removeClass("fullscreen-controls");
137148 `<div class="seek-wrapper"></div>`
138149 ).append($(
139150 `<input type="range" id="seek" class="seek-slider" min="0" max="1" value="0">`
140 ).on("change", function() {
151 ).on("change", function () {
141152 $(this).blur();
142153 console.log(document.getElementById("seek").value);
143154 let $button = $("#play-pause-button");
156167 document.getElementById("seek").value = video.currentTime * 1000;
157168 }
158169 }))).append(
159 $(`<button class="video-control-button" id="subtitles-button" style="display: none;">Enable Subtitles</button>`).click(function() {
170 $(`<button class="video-control-button" id="subtitles-button" style="display: none;">Enable Subtitles</button>`).click(function () {
160171 let $this = $(this).blur();
161172 let $subtitle_wrapper = $(".subtitle-wrapper");
162173 if ($subtitle_wrapper.is(":visible")) {
167178 $this.text("Disable Subtitles");
168179 }
169180 }),
170 $(`<button class="video-control-button" id="play-pause-button">Play</button>`).click(function() {
181 $(`<button class="video-control-button" id="play-pause-button">Play</button>`).click(function () {
171182 $(this).blur();
172183 togglePaused();
173184 }),
174 $(`<button class="video-control-button" id="fullscreen-button">Enter Fullscreen</button>`).click(function() {
185 $(`<div class="volume-wrapper"></div>`).append(
186 `<label for="volume">Volume</label>`,
187 $(`<input type="range" id="volume" class="seek-slider volume" min="0" max="100" value="${video_defaults.volume}">`).on("change", function () {
188 $(this).blur();
189 console.log(document.getElementById("volume").value);
190 video_defaults.volume = document.getElementById("volume").value;
191 video.volume = video_defaults.volume / 100;
192 jscookie.set("video_defaults", JSON.stringify(video_defaults));
193 })
194 ),
195 $(`<button class="video-control-button" id="fullscreen-button">Enter Fullscreen</button>`).click(function () {
175196 $(this).blur();
176197 toggleFullscreen();
177198 }),
178 $(`<button class="video-control-button">Leave Room</button>`).click(function() {
199 $(`<button class="video-control-button">Leave Room</button>`).click(function () {
179200 $(this).blur();
180201 if (screenfull.isEnabled && screenfull.isFullscreen) {
181202 screenfull.exit();
202223 const source = document.createElement("source");
203224 source.setAttribute("src", "/api/video/" + data.video_id);
204225
205 video.ondurationchange = function() {
226 video.ondurationchange = function () {
206227 console.log("duration set to", video.duration);
207228
208229 let seek = document.getElementById("seek");
212233
213234 seek.max = video.duration * 1000;
214235 };
215 video.ontimeupdate = function() {
236 video.ontimeupdate = function () {
216237 //console.log("Time updated to", video.currentTime);
217238 let time_ms = video.currentTime * 1000;
218239
220241 if (video.paused) {
221242 console.log("Current time", time_ms);
222243 // binary search for correct subtitle index
223 curr_subtitle_index = bs(subtitles, time_ms, function(element, needle) {
244 curr_subtitle_index = bs(subtitles, time_ms, function (element, needle) {
224245 return element.start - needle;
225246 });
226247 if (curr_subtitle_index < 0) {
261282
262283 seek.value = time_ms;
263284 };
264 video.oncanplay = function() {
285 video.oncanplay = function () {
265286 console.log("Video can play");
266287 };
267 video.oncanplaythrough = function() {
288 video.oncanplaythrough = function () {
268289 console.log("Video can play without buffering");
269290 ready = true;
270291 sendViewerState();
271292 };
272 video.onstalled = function() {
293 video.onstalled = function () {
273294 console.log("Video stopped loading");
274 ready = false;
275 sendViewerState("Buffering...");
295 //ready = false;
296 //sendViewerState("Buffering...");
276297 };
277298
278299 video.appendChild(source);
285306
286307 api.post("/video/subtitle", {
287308 video_id: video_id
288 }).then(function(data) {
309 }).then(function (data) {
289310 console.log("Got back subtitles:", data);
290311 if (data.subtitles) {
291312 $("#subtitles-button").show();
301322 console.log("Video state", video.readyState, "immediately after load");
302323 }
303324 },
304 set_state: function(state) {
325 set_state: function (state) {
305326 console.log("set state to", state);
306327 if (state.hasOwnProperty("paused") && state.paused !== video.paused) {
307328 if (state.paused) {
359380 </div>`
360381 );
361382 if (viewer.user_id === our_user_id) {
362 let $viewer_state_menu = $user_status.find(".viewer-state").addClass("self").click(function() {
383 let $viewer_state_menu = $user_status.find(".viewer-state").addClass("self").click(function () {
363384 let $this = $(this);
364385 if (!$this.hasClass("viewer-state-menu-open")) {
365386 $this.addClass("viewer-state-menu-open").hide().empty().append(
381402 }
382403
383404 function update_viewer_state($viewer_state_menu) {
384 return function(event) {
405 return function (event) {
385406 event.stopPropagation();
386407 selected_state = event.target.innerText;
387408 sendViewerState();